Aby pomóc w tworzeniu konkurencyjnych doświadczeń opartych na walkach, kilka zatwierdzonych broni jest dostępnych do użycia w każdym doświadczeniu.Główny system zawiera broń opartą na pociskach z kamerą na ramieniu i ustawieniem prędkości pocisku wystarczająco wysoką, aby symulować broń promieniową, taką jak laserowe pistolety.

Aby użyć zatwierdzonej broni w swoim doświadczeniu:
- Wybierz broń z poniżej, przechodząc do łączyćbiblioteki zasobów.
Na stronie przedmiotu broni kliknij zielony przycisk Zdobądź i potwierdź transakcję.
W Studio otwórz przybornik ( Zobacz → przybornik ).
Wybierz sekcję koszyka narzędzi Inwentarz .
Zlokalizuj broń i kliknij ją, aby dodać ją na miejsce.Kiedy zostaniesz zapytany, czy chcesz umieścić narzędzie w pakiecie startowym, kliknij Tak , jeśli chcesz, aby gracze rozpoczynali z bronią w plecaku, lub kliknij Nie , aby po prostu umieścić broń w świecie 3D jako pickup.
Jeśli jest to pierwszy raz przyniesienie końca wdrażając zatwierdzoną broń, przenieś jej folder SystemWojenny do ServerScriptService , aby służyć jako jednolity folder systemowy dla wszystkich zatwierdzonych broni w doświadczeniu.
Struktura katalogu systemowego
Katalog System broni jest jednolitym katalogiem, który zawiera zasoby, konfiguracje i skrypty, które zasilają wszystkie zatwierdzone bronie w doświadczeniu.Jeśli znajduje się w ServerScriptService , zastępuje dowolne równoważne foldery WeaponsSystem , które mogą występować w poszczególnych broniach.

Katalog WeaponsSystem zawiera następujące instancje:
- Rodzaje broni ( Folder ) – Określa wszystkie rodzaje broni.
- Skrypt broni serwerowej ( Script)
- Wersja ( )
- Skrypt broń klienta ( LocalScript)
- Wezwania sieciowe ( ModuleScript )
- Dane o broni ( RemoteEvent )
- System broni ( ModuleScript )
W ramach katalogu WeaponsSystem kontrolowane są różne aspekty przez następujące ModuleScripts :
Aspekt | Przetwarzane głównie w... |
---|---|
Funkcjonalność broni |
|
Kamera na ramię |
|
Interfejs broni GUI |
|
Struktura broni
Zatwierdzone bronie są Tools i są nazywane tak, jak pojawią się w plecaku gracza. Każda broń jest strukturyzowana z podobną hierarchią.
wpisywaćbroni
Typ broni WeaponType odpowiada typowi broni w folderze WeaponsSystem / WeaponTypes.Dwie podstawowe wartości to Pistoletowa broń i Łukowa broń .
Model brońi
Każda broń zawiera Model składającą się z jednego lub więcej BaseParts tworzącą fizyczną broń.Jeden z nich powinien zostać ustawiony jako model PrimaryPart.

Model obejmuje również następujące ważne potomstwo, które może być powiązane z jednym z potomstw modelu BaseParts :
- Przyłączenie wskazówki – Attachment której pozycja na rodzicu BasePart określa, gdzie wychodzą pociski/strzały.
- Uchwyt dołączony – Attachment którego pozycja na rodzicu BasePart określa, gdzie jest spawany uchwyt .
- Wystrzelone – Sound to odtwarza się, gdy broń jest wystrzeliwana.
- Przeładowanie – Sound to, które odtwarza się, gdy broń jest ponownie przeładowana.
- Dodatkowe potomstwo dla dowolnych opcji specjalistycznych.
Uchwyt na broń
Część Uchwyt określa, gdzie postać gracza trzyma broń.Musi to być Part, musi mieć nazwę Uchwyt i musi być bezpośrednim dzieckiem broni (narzędzia).
Katalog konfiguracyjny
Katalog Konfiguracja zawiera określone typy "wartości" dla zachowania broni.Poza domyślnymi elementami konfiguracyjnymi możesz dodać dodatkowe przedmioty konfiguracyjne dla specjalistycznych opcji w przypadku mające zastosowaniezastosowania.
Następujące są podstawowe konfiguracje i ich domyślne wartości:
Przedmiot | Opis | Domyślny |
---|---|---|
Pojemność amunicji | Liczba strzałów w każdym "magazynie amunicji" przed graczem musi ponownie załadować.Zauważ, że amunicja jest nieograniczona i nie określa, ile amunicji nosi gracz. | 30 |
Tryb strzelania | Wybierz jedną z następujących opcji: Półautomatyczny (strzał za każde kliknięcie/dotknięcie), Automatyczny (ciągły strzał), lub Wybuch (eksplozja strzałów równa się NumBurstShots na każde kliknięcie/dotknięcie). | Półautomatyczny |
Odnawianie strzału | Minimalny czas oczekiwania między kliknięciami.Dla broni z trybem ognia automatycznym , jest to również czas między strzałami, gdy naciśniesz przycisk strzelania lub przytrzymasz klikać. | 0.1 |
Odnawianie strzału wybuchowego | Czas między każdym strzałem w serii; ważne tylko wtedy, gdy ustawisz tryb ognia na eksplozję . | Wartość czasu odnowienia strzału |
Strzały NumBurst | Liczba strzałów na kliknięcie/eksplozję; ważne tylko wtedy, gdy ustawisz tryb ognia na eksplozję . | 3 |
Obrażenia uderzeniowe | Ilość obrażeń, jakie każdy bezpośredni trafienie zadaje. | 10 |
Pełny dystans obrażeń | Maksymalna odległość, na której strzały zadadzą pełne obrażenia.Wszystko, co uderzy poza tym dystansem, otrzyma coraz mniej obrażeń, gdy dystans zbliża się do ZeroDamageDistance . | 1000 |
Zerowy dystans obrażeń | Wszystko, co uderzy w odległości tej lub większej, nie otrzyma obrażeń. | 10000 |
Prędkość pocisku | Prędkość, z jaką podróżują pociski/promienie, gdy są strzelane. Ustawienie tego na bardzo wysoką wartość, taką jak 20000, symuluje broń promieniową, taką jak lasery. | 1000 |
Maksymalna odległość | Maksymalna odległość pocisków/strzałów przed zniknięciem. | 2000 |
Minimalny rozrzut | Minimalna ilość rozprzestrzeniania dla broni. | 0 |
Rozproszenie maksymalne | Maksymalna ilość rozrzutu dla broni. | Wartość MinSpread |
Faktor grawitacji | Ilość, na którą grawitacja powinna wpłynąć na każdą pocisk/pocisk.Na przykład wartość ta dla kuszy wynosi 1, ponieważ strzały krzyżują się podczas lotu, ale wartość ta dla wyrzutni rakiet wynosi 0, ponieważ napędzane rakiety przelatują prosto. | 0 |
Ma zakres | Ustaw na prawdę , jeśli chcesz używać zakresu określonego w Weapons System GUI. | fałsz |
Animacja przeładowania | Nazwa ścieżki animacji ponownego ładowania w Zasoby / Animacje z katalogu systemowego. | Przeładowanie karabinu |
Celuj w śladzie | Nazwa ścieżki animacji celu w Zasoby / Animacje z katalogu systemowego. | Celowanie z karabinu |
Celuj w śledzenie zoomu | Nazwa ścieżki animacji celu zoomowania w Zasoby / Animacje z katalogu systemowego. | Celowniki na strzały z karabinu |
OdrzutMin | Minimalny odrzut dodany dla każdego strzału. | 0.05 |
OdrzutMax | Maksymalny odrzut dodany dla każdego strzału. | 0.5 |
Całkowity odrzut maksymalny | Całkowita maksymalna gromadzona odrzut. Odrzut obecnej broni nigdy nie przekroczy tej wartości. | 2 |
Odrzut dekadencji | Mnożnik rozkładu dla odrzutu; zasadniczo szybkość, w jakiej odrzut zmniejsza się po strzelaniu. | 0.825 |
Czas odrzutu | Czas oczekiwania po strzelaniu/kliknięciu przed odrzutem dodany do kamery. | 0.07 |
Czas uruchamiania | Długość czasu po wyposażeniu broni, zanim gracz będzie mógł strzelić.Uniemożliwia to graczom strzelanie jednym strzałem z wielu różnych broni w szybkiej kolejności. | 0.2 |
Zakres prędkości odtwarzania ognia | Ilość, która może się różnić dla strzelanego dźwięku broni. Ustaw to na 0, aby zawsze odtwarzać go na tej samej wysokości. | 0.1 |
NumProjektyle | Liczba pocisków/strzałów, które wystrzelą jednocześnie, gdy klikniesz/dotkniesz raz.Jest to przydatne dla broni takiej jak Strzelba, która wystrzeliwuje wiele pocisków jednocześnie.Zauważ, że jeden strzał zawsze użyje dokładnie jednej amunicji niezależnie od tej wartości. | 1 |
Specjalistyczne opcje
Możesz dodać/zmodyfikować następujące opcje dla dowolnej broni.Te niestandardowe modyfikacje wymagają zmiany Model broni, Configuration broni lub obu.Niektóre konfiguracje są zależne od innych, takich jak cząstki wylotowe, które wymagają niezbędnych dzieci dla efektów pociskowych/celnych i dźwięków.
Animacje i dźwięki błyskawicy
Sprężyna broni bolt jest częścią, która porusza się wzdłuż i wzdłuż za każdym razem, gdy jest strzelana.
- Potomkowie modelu broni modelu broni
Błyskawica | BasePart poruszająca się, gdy broń jest wystrzeliwana. | |
Silnik Błyskawicy | Motor6D używany do animowania śruby.Upewnij się, że ustawisz silnik Part0 na model broni PrimaryPart i Part1 na część Błyskawica . | |
Rozruch silnika Bolt | Attachment której pozycja na rodzicu BasePart określa, gdzie jest śruba, gdy jest w stanie spoczynku. | |
Celownik silnika BoltMotorTarget | Attachment której pozycja na rodzicu BasePart określa, gdzie błyskawica animuje się podczas strzelania. | |
BoltOpenSound | Sound który odtwarza się, gdy bolot się otwiera. | optional |
BoltCloseSound | Sound który odtwarza się, gdy śruba się zamyka. | optional |
- Dzieci folderu konfiguracyjnego broni Konfiguracja
Przedmiot | Opis | Domyślny |
---|---|---|
Czas otwarcia akcji | Czas, jaki zajmuje naanimowanie śruby do otwarcia pozycji. | 0.025 |
Czas zamknięcia akcji | Czas, jaki zajmuje naanimowanie śruby do pozycji zamkniętej. | 0.075 |
Wysuwaj pociski
Bronie mogą zawierać fizyczne kasety pocisków, które wysuwają się po strzelaniu i spadają na ziemię.
- Potomkowie modelu broni modelu broni
Punkt wysuwania kratownicy | Attachment której pozycja na rodzicu BasePart określa, gdzie chcesz, aby pociski wystrzeliwały.Zauważ, że jego orientacja określa kierunek, w którym wyskakują osłony. |
- Dzieci folderu konfiguracyjnego broni Konfiguracja
Przedmiot | Opis | Domyślny |
---|---|---|
Efekt obudowy | Nazwa obudowy BasePart w Aktywach / Efektach / Obudach systemu folderu . | |
Prędkość wysuwania osłonyMin | Minimalna prędkość wysuwania kaset | 15 |
Prędkość wysuwania kasyMax | Maksymalna prędkość wysuwania pocisków | 18 |
Dźwięk trafienia do obudowy | Sound który odtwarza się, gdy obudowy trafiają na ziemię. | optional |
Efekty pocisków/uderzeń i dźwięki
Możesz skonfigurować fizyczne pociski dla każdej broni, wraz z Sounds , Beams i ParticleEmitters dla efektów trafień i innych specjalnych efektów.
- Dzieci folderu konfiguracyjnego broni Konfiguracja
Przedmiot | Opis | Domyślny |
---|---|---|
Efekt strzelania | Nazwa efektu strzelania przechowywana w Aktywach / Efektach / Strzałach z katalogu systemowego. | |
PowinnoPrzesuwaćCzęść | Ustaw na prawdę , jeśli efekt strzelania broni powinien się poruszać z pociskiem lub fałsz jeśli nie.Powinieneś ustawić to na prawdę , jeśli istnieje widoczny obiekt, który porusza się za każdym strzałem, tak jak strzałka lub rakieta. | fałsz |
Czas zanikania promienia | Czas, jaki upływa na promieniu0 lub promieniu1 ( patrz poniżej ), aby zniknąć po tym, jak pocisk/projektyl trafi w coś.Domyślnie żadna ręczna redukcja nie zostanie zastosowana przez kod. | 0 |
Szerokość promienia0 | Grubość promienia0 lub promienia1 w załączniku0 ( patrz poniżej ). | 1.5 |
Szerokość promienia1 | Grubość promienia0 lub promienia1 w załączniku1 ( patrz poniżej ). | 1.8 |
NumHitParticles | Liczba cząstek, które emiter HitParticles (zobacz poniżej) wyemituje. | 3 |
Użyj koloru części HitParticles | Ustaw na prawdę , jeśli chcesz, aby uderzające cząstki były kolorem powierzchni trafienia; fałsz , jeśli chcesz, aby uderzające cząstki nie zmieniały koloru. | prawda |
- Potomkowie określonego ShotEffect zauważone w poprzednim sekcji
Latanie | Sound które odtwarza się, gdy pocisk/strzał podróżuje. | optional |
Promień0 | Pierwszy slot dla śladującego Beam za pociskiem/projektilem.Nie zapomnij ustawić załącznika0 i załącznika1 . | optional |
Promień1 | Drugi slot dla śladującego Beam za pociskiem/strzałem.Nie zapomnij ustawić załącznika0 i załącznika1 . | optional |
Załącznik0 | Attachment którego pozycja na rodzicu BasePart określa tylne krawędzie promieni śledzących; upewnij się, że ustawisz Beam.Attachment0 na obu promieniach0 i promieni1 na to. | optional |
Załącznik1 | Attachment którego pozycja na rodzicu BasePart określa przednie krawędzie promieni śledzących; upewnij się, że ustawisz Beam.Attachment1 na obu promieniach0 i promieni1 na to. | optional |
Cząsteczki śladu | ParticleEmitter pochodzące jako bezpośrednie dziecko załącznika0 ; będą emitowane, gdy pocisk/strzał podróżuje. | optional |
Wiodące cząstki | ParticleEmitter pochodzące jako bezpośrednie dziecko załącznika1 ; będą emitowane, gdy pocisk/strzał podróżuje. | optional |
Efekt trafienia | Attachment którego pozycja zostanie ustawiona na Beam.Attachment1 z promieniem0 kiedy pocisk/strzał trafi.Musisz określić Beam0 i jego załączniki, aby to działało prawidłowo. | optional |
Dźwięk trafienia | Sound połączony jako bezpośrednie dziecko efektu trafienia ; odtwarza się, gdy pocisk/projektil trafi. | optional |
HitParticles | Sound podporządkowane jako bezpośrednie dziecko HitEffect ; emituje, gdy pocisk/strzał trafi. | optional |
[Część projektu] | Dowolne Part lub MeshPart które chcesz pojawić się jako fizyczny pocisk.Upewnij się, że ustawiłeś Powinno się przenieść część wymienioną w poprzednim rozdziale na prawdę , jeśli masz tutaj widoczny obiekt. | optional |
Cząstki wylotowe
Ta opcja emituje cząstki z określonego ParticleEmitter w przypadku broni TipAttachment Attachment po wystrzeleniu.
Konfiguracja potomków:

- Efekt strzelania ( StringValue ) — nazwa efektu strzelania przechowywana w WeaponsSystem/Assets/Effects/Shots .
- NumMuzzleParticles ( IntValue ) (opcjonalnie) — Liczba cząstek muzzlowych, które zostaną emitowane; domyślna jest 50 .
Dla określonego efektu strzelania dodaj zasób Emiter cząstek w WeaponsSystem/Assets/Effects/Shots o nazwie Pociskowe cząstki .

Błyski odrzutowe
Ta opcja tworzy efekt błysku Beam podczas wystrzeliwania broni.
Potomkowie modelu:

- MuzzleFlash0 ( Attachment ) — Używany do określenia jednej strony błysku muszlowego. Pozycja nie ma znaczenia.
- MuzzleFlash1 ( Attachment ) — Używany do określenia przeciwnej strony błysku muszli. Pozycja nie ma znaczenia.
- Błysk odrzutowy ( Beam ) — Upewnij się, że ustawiłeś Attachment0 na MuzzleFlash0 i Attachment1 na MuzzleFlash1 .
Konfiguracja potomków:

- MuzzleFlashTime ( NumberValue ) (opcjonalnie) — Długość czasu, przez który będzie się pokazywać muzzle flash; domyślna jest 0.03 .
- MuzzleFlashRotation0 ( NumberValue ) (opcjonalnie) — minimalna rotacja błysku muszlowego; domyślna jest -math.pi .
- MuzzleFlashRotation1 ( NumberValue ) (opcjonalnie) — Maksymalna rotacja błysku muszlowego; domyślna jest math.pi .
- MuzzleFlashSize0 ( NumberValue ) (opcjonalnie) — minimalna wielkość błysku muszlowego; domyślna jest 1 .
- MuzzleFlashSize1 ( NumberValue ) (opcjonalnie) — maksymalna wielkość błysku muszlowego; domyślna jest 1 .
Ślady cząstek
Ta opcja tworzy ślad o różnej długości od broni do punktu uderzenia pocisku.
Konfiguracja potomków:

- Długość ścieżki ( NumberValue ) (opcjonalnie) — Długość ścieżki za pociskiem/pociskiem; domyślna jest nil co oznacza, że długość ścieżki zostanie obliczona za pomocą Faktora długości ścieżki .
- Faktor długości ścieżki ( NumberValue ) (opcjonalnie) — długość ścieżki zostanie ustawiona na tę wartość pomnożoną przez odległość, jaką pocisk/promień przeszedł w ostatnim ramie; domyślną wartością jest 1 .Zauważ, że zostanie to anulowane, jeśli dodasz Długość ścieżki .
- Pokaż całą ścieżkę do momentu trafienia ( BoolValue ) (opcjonalnie) — Ustaw na prawdę renderowanie ścieżki z końca broni aż do miejsca, w którym padnie pocisk; spowoduje to zastąpienie obu długość ścieżki i czynnik długości ścieżki , a ścieżka zniknie tylko po tym, jak pocisk trafi w coś.Ustaw na fałsz , aby wykorzystać jedną z powyższych dwóch opcji do obliczenia długości ścieżki.Domyślnie jest fałszywy .
Oznaczenia trafień
Ta wizualna dodatkowa pojawia się na powierzchni, na której trafiają pociski, i jest przydatna do strzałek, dziur po pociskach, znaków spalenia itp.
Konfiguracja potomków:

- HitMarkEffect ( StringValue ) (opcjonalnie) — nazwa efektu znacznika trafienia przechowywana w WeaponsSystem/Assets/Effects/HitMarks ; domyślną jest Dziura po pocisku .
- Dostosuj znacznik trafienia do normalnego ( BoolValue ) (opcjonalnie) — Ustaw na prawdę jeśli znacznik trafienia powinien zawsze przylegać płasko do powierzchni jak dziura po pocisku, lub fałsz jeśli znacznik trafienia powinien pojawić się przyklejony do powierzchni z kierunku, z którego wystrzelił pocisk (jak strzał).Domyślnie jest prawdą .
Możesz dodać następujący opcjonalny zasób w ciągu WeaponsSystem/Assets/Effects/HitMarks :

- Świeci ( Decal ) (opcjonalnie) — Pojawia się na powierzchni trafienia w pełni nieprzezroczysta, a następnie szybko staje się bardziej przejrzysta, tak jak efekt świecący na powierzchni, który szybko zanika.Przydatne do rzeczy takich jak pokazanie świecącej czerwonej znaczki, gdzie uderzają materiały wybuchowe.
- Dziura po pocisku ( Decal ) (opcjonalnie) — Pojawia się na powierzchni uderzenia w pełni niewidoczna i po 4 sekundach zanika na przezroczystą przez 1 sekundę.
- Billboard wpływu ( BillboardGui ) (opcjonalnie) — Wyświetla na powierzchni uderzenia, zawsze w kierunku kamery.
- Wpływ ( ImageLabel ) (opcjonalnie) — bezpośrednie dziecko ImpactBillboard ; zaczyna się w pełni niedostępne, rośnie do pełnego rozmiaru ImpactBillboard w ciągu 0,1 sekundy, a następnie kurczy się do połowy swojego rozmiaru i zanika do pełnej przejrzystości w ciągu 0,1 sekundy.
- Każdy Part / MeshPart / SpecialMesh, który chcesz wyświetlić jako fizyczny pocisk (opcjonalnie).Na przykład, włączenie strzału MeshPart i ustawienie AlignHitMarkToNormal zauważone powyżej do fałszu sprawi, że strzał wystrzeli z powierzchni w kierunku, w którym go strzeliłeś.
Wybuchające pociski
Pociski mogą zawierać obiekt wybuchu, aby zadać obrażenia postaciom gracza w obszarze wokół punktu uderzenia.
Konfiguracja potomków:

- Wybuch na skutek uderzenia ( BoolValue ) (opcjonalnie) — Ustaw na prawdę jeśli chcesz, aby pociski/projektile dla broni eksplodowały przy uderzeniu, fałsz w przeciwnym razie.Domyślnie jest fałszywy .
- Obrażenia wybuchowe ( NumberValue ) (opcjonalnie) — Obrażenia zadane rzeczom w centrum wybuchu.Zauważ, że wybuch zadaje mniej obrażeń, im dalej znajdują się trafione obiekty od centrum wybuchu.Domyślnie jest 100 .
Ładowanie broni
Broń ładowana, tak jak Railgun, musi być naładowana między strzałami, zanim będzie mogła ponownie strzelić.
Potomkowie modelu:

- Ładowanie ( Sound ) (opcjonalnie) — Grana jest, gdy broń się ładuje.
- Rozładowanie ( Sound ) (opcjonalnie) — Grana jest, gdy broń się rozładowuje, na przykład, jeśli naładujesz broń tylko częściowo i uwolnisz przycisk strzelania.
- ChargeComplete ( Sound ) (opcjonalnie) — odtwarza się, gdy broń osiągnie pełne opłata.
- Rozładowanie kompletne ( Sound ) (opcjonalnie) — Grana, gdy broń została w pełni rozładowana.
- ChargeGlow ( BasePart ) (opcjonalnie) — ten obiekt stanie się mniej przejrzysty, gdy broń się naładowa, tak że będzie w pełni niedostępna przy opłata100%.
- ChargeCompleteParticles ( ParticleEmitter ) (opcjonalnie) — Emituje, gdy broń skończyła się ładować.Ten emiter może być dzieckiem dowolnego modelu BasePart lub dzieckiem dowolnego Attachment w ramach BasePart.
- Rozładowane cząstki ( ParticleEmitter ) (opcjonalnie) — emituje, gdy broń została w pełni rozładowana.Ten emiter może być dzieckiem dowolnego modelu BasePart lub dzieckiem dowolnego Attachment w ramach BasePart.
- Cząstki ładowania ( ParticleEmitter ) (opcjonalnie) — Emituje, gdy broń się ładuje.Możesz dodać wiele nadawców tej nazwy i każdy będzie emitowany podczas ładowania.Ten emiter może być dzieckiem dowolnego modelu BasePart lub dzieckiem dowolnego Attachment w ramach BasePart.
Konfiguracja potomków:

- Szybkość ładowania ( NumberValue ) — Szybkość, z jaką broń będzie się opłata. Ta wartość musi być określona, aby wskazać, że broń używa ładowania.
- Szybkość rozładowania ( NumberValue ) (opcjonalnie) — Szybkość, z jaką broń będzie rozładowywana; domyślną wartością jest 0 , co oznacza, że broń nie będzie rozładowywana w wszystko.
- Ładowanie pasywnie ( BoolValue ) (opcjonalnie) — Ustaw na prawdę jeśli chcesz, aby broń ładowała pasywnie, więc strzeli natychmiast po naciśnięciu, lub fałsz jeśli chcesz kliknąć/dotknąć, aby naładować broń i miała strzelać, gdy osiągnie pełne naładowanie.Domyślnie jest fałszywy .
- Szybkość ładowania cząstek na jedno ładowanie ( IntValue ) (opcjonalnie) — Liczba cząstek, które będą emitować się ze wszystkich ładowarek cząstek emitujących, pomnożona przez obecne obciążenie broni.Domyślnie jest 20 , co oznacza, że jeśli ładowanie broni wynosi 10%, każdy emiter cząstek ładowania wyemituje 2 cząstki (20×0.1), a jeśli ładowanie broni wynosi 90%, każdy emiter wyemituje 18 cząstek (20×0.9).
- Rozładowanie ognia ( NumberValue ) (opcjonalne) — Ilość energii, jaką broń straci po wystrzeleniu w pełni naładowanego strzału; domyślna jest 1 .
- NumChargeCompleteParticles ( IntValue ) (opcjonalnie) — Liczba cząstek, które emiter - ChargeCompleteParticles wyemituje, gdy broń będzie w pełni naładowana.Domyślnie jest 25 .
- NumDischargeCompleteParticles ( IntValue ) (opcjonalnie) — Liczba cząstek, które emiter - DischargeCompleteParticles wyemituje, gdy broń zostanie w pełni rozładowana.Domyślnie jest 25 .
Łukowa broń
Broń łukowa, tak jak kusza, może zawierać realistyczną konstrukcję sznura i ramion, a także wizualną strzałę skierowaną do ciąg.
Oprócz dodawania potomków modelu musisz zastosować obserwuje:
- Zrób broń w ładowaną bronią.Na przykład, dodaj wymagany ChargeRate w ramach Configuration broni, który określa, jak szybko jest rysowany ciąg.Ponadto rozważ dodanie opcjonalnych potomków do broni Model takich jak dźwięk Ładowania dla strun/ramion, które są wsteczz powrotem.
Potomkowie modelu:

- Lewe stringi ( Beam ) (opcjonalnie) — Wizualna lewa połowa ciąg.
- Prawy ciąg ( ) (opcjonalnie) — wizualna prawa połowa ciągu.
- Strzałka ( BasePart ) (opcjonalnie) — strzałka, która pojawia się, gdy łuk jest w pełni wyciągnięty.Zauważ, że jest to tylko dla wizualnego wyglądu na łuku (rzeczywistą strzeloną strzałkę będzie Efekt strzelania jak opisano w efektach pocisków/celów i dźwięków).
- String1 ( Attachment ) (opcjonalnie) — punkt środkowy ciągu.
- StringLoose ( Attachment ) (opcjonalnie) — Punkt, w którym String1 powinien być, gdy łuk jest w spoczynku.
- StringTight ( Attachment ) (opcjonalnie) — Punkt, w którym String1 powinien być, gdy łuk jest w pełni wyciągnięty.
- Ręce (Part) (opcjonalnie) — Część, która służy jedynie jako wewnętrzny wskaźnik, że ramiona łuku zostaną animowane.Może to zawierać następujące bezpośrednie dzieci:
- LeftString0 ( Attachment ) (opcjonalnie) — Punkt, w którym lewa strona ciągu jest przymocowana do łuku.
- RightString0 ( Attachment ) (opcjonalnie) — Punkt, w którym prawa strona ciągu jest przymocowana do łuku.
- Lewe Luźne ( Attachment ) (opcjonalnie) — Punkt, w którym LeftString0 powinien być, gdy łuk jest w spoczynku.
- Prawy luźny ( Attachment ) (opcjonalnie) — Punkt, w którym RightString0 powinien być, gdy łuk jest w spoczynku.
- Lewe napięcie ( Attachment ) (opcjonalnie) — Punkt, w którym LeftString0 powinien być, gdy łuk jest w pełni wyciągnięty.
- Prawy napięty ( Attachment ) (opcjonalnie) — Punkt, w którym RightString0 powinien być, gdy łuk jest w pełni wyciągnięty.
- [Specjalna siatka] ( SpecialMesh ) (opcjonalnie) — część łuku, która rzeczywiście się złamie, gdy łuk zostanie wyciągnięty.Zauważ, że musisz określić następujące cztery obiekty Vector3Value , aby to animować.
- Napięty offset ( Vector3Value ) (opcjonalnie) — przesunięcie SpecialMesh gdy strzał jest w pełni wyciągnięty.
- Skala elastyczna ( Vector3Value ) (opcjonalnie) — Skala SpecialMesh gdy łuk jest w pełni wyciągnięty.
Interfejs systemu uzbrojenia
Główny system uzbrojenia interfejsuje z tym systemem, aby aktualizować interfejs GUI na podstawie takich rzeczy, jak rozprzestrzenianie broni, wskaźniki, kiedy zostaniesz trafiony lub trafisz innych, itp.
The WeaponsSystemGui jest obiektem ScreenGui w WeaponsSystem/Assets, który jest powiązany z PlayerGui podczas rozpoczęcia doświadczenia.WeaponSystemGui ma 4 potomków:
- Skalowane elementy - A Folder z elementów na ekranie.
- Duży ekran dotykowy - A Frame dla przycisków na dużych ekranach dotykowych.
- Mały ekran dotykowy - A Frame dla przycisków na małych ekranach dotykowych.
Skalowanie elementów
ScalingElements jest rodzicem Folder pod systemem WojennySystemGui z następującymi potomkami:
Nazwa | wpisywaćinstancji | Opis |
---|---|---|
Wskaźniki kierunkowe | Folder | A Folder, gdzie przechowywane są wszystkie wskazniki kierunkowe. |
Przybliżenie | Frame | A Frame zawierający następujące obiekty:[UIAspectRationConstraint] - UIAspectRatioConstraint Dół - ImageLabel Lewo - ImageLabel Prawo - ImageLabel Góra - ImageLabel |
Znak trafienia | Frame | A Frame zawierający następujące obiekty:[UIAspectRatioConstraint] - UIAspectRatioConstraint HitMarkerImage - ImageLabel który pojawia się i zanika, gdy gracz pomyślnie trafi na innego gracza. |
Duży ekran dotykowy
Duży ekran dotykowy to Frame zawierający przyciski wyświetlane na dużych ekranach dotykowych. Duży ekran dotykowy ma następujące potomki:
- Przycisk celowania ( ImageButton )
- Przycisk ognia ( ImageButton )
Zakres
Zasięg to Frame zawierający Zdjęcie Zasięgu ( ImageLabel ), który pojawia się podczas przesuwania broni z włączonym Zasięgiem (patrz Struktura broni ). Zakres ma następujące potomstwo:
Nazwa | wpisywaćinstancji | Opis |
---|---|---|
Przykład instancji zakresu | Frame | A Frame zawierająca następujące zasoby używane podczas powiększania broni z włączonym HasScope:[UIAspectRationConstraint] - UIAspectRatioConstraint BottomBlack - Frame LeftBlack - Frame RightBlack - Frame TopBlack - Frame |
Mały ekran dotykowy
Mały ekran dotykowy to Frame zawierający przyciski wyświetlane na małych ekranach dotykowych. Mały ekran dotykowy ma następujące potomki:
- Przycisk celowania ( ImageButton )
- Przycisk ognia ( ImageButton )
Utwórz wskaźnik kierunkowy
Wskaźniki kierunkowe są używane do wyświetlania kierunku czegoś wokół celownika gracza.Na przykład, jeśli ktoś cię zastrzeli, czerwony półokrąg może pojawić się wokół twojego celownika w kierunku, w którym padła strzał.Innymi przykładami są wskaźniki pokazujące kierunek kroków, pośrednie ostrzał lub nawet obiekty środowiskowe, takie jak skrzynie.
Aby utworzyć nowy wskaźnik, dodaj nowy wskaźnik Frame w WeaponsSystemGui/ScalingElements/DirectionalIndicators z następną strukturą:
Nazwa | wpisywaćinstancji | Opis |
---|---|---|
[Ograniczenie aspektu interfejsu] | UIAspectRatioConstraint > | |
[Etykieta obrazu] | ImageLabel | Obraz wskaznika kierunkowego.Dostosowanie obrotu obrazu w Studio może być wymagane, chyba że przesłałeś obraz tak, aby był skierowany w dół i miał niewiele lub żadnej pustej przestrzeni wokół niego.Ta etykieta obrazu musi również zawierać własną UIAspectRatioConstraint . |
[Konfiguracja] | Configuration | Zawiera opcjonalne właściwości do dostosowania. Zobacz Konfiguracja wskaźnika dla więcej informacji. |
Po utworzeniu możesz aktywować wskaźnik za pomocą następującej komendy w WeaponsSystem/Libraries/WeaponsGui, gdzie indicatorName jest nazwą ciągu znaków wskaźnika do aktywacji, a worldPos jest pozycją świata, na który wskazuje wskaźnik kierunkowy:
self.DirectionalIndicatorGuiManager:ActivateDirectionalIndicator(indicatorName, worldPos)
Konfiguracja wskaźnika
Wskaźniki kierunkowe mogą być dalej modyfikowane poprzez dostosowanie obiektu Configuration poddanego pod [Indicator] .Wszystkie te ustawienia mają domyślną wartość, więc nie ma potrzeby ustawiania konfiguracji, gdy nie modyfikujesz ustawienie.
Można ustawiaćnastępujące konfiguracje:
Nazwa | wpisywaćinstancji | Opis |
---|---|---|
Poziom odległości od centrum | NumberValue | Liczba poziomów odległości od centrum ekranu (każdy poziom odległości wynosi około 0,03 skali ekranu); domyślny jest 6 . |
Czas zanikania | NumberValue | Czas zanikania wskaźnika po jego aktywacji i czas TimeBeforeFade ; domyślny jest 1 . |
Nazwa | StringValue | Nazwa wskaźnika kierunkowego, jak chcesz go odwołać w kodzie; domyślną nazwą jest nazwa najwyższego poziomu wskaźnika Frame . |
Czas przed zaniknięciem | NumberValue | Liczba sekund, przez które wskaźnik będzie się pojawiać, zanim zniknie; domyślnie jest to 1 . |
Przezroczystość przed zaniknięciem | NumberValue | Przezroczystość wskaźnika, zanim zacznie zanikać; domyślnie jest to 0 . |
Poziom szerokości | NumberValue | Liczba poziomów szerokości od środka (każdy poziom szerokości wynosi około 0,03 skali ekranu); domyślną wartością jest wartość DistanceLevelFromCenter . |
Pokaż billboard obrażeń
Billboard obrażeń jest używany do wyświetlania małych liczb nad głową postaci, gdy są uszkodzone.Pojawią się one tylko dla gracza, który uszkodził postać innego gracza, a nie dla oglądających graczy.
Billboardy obrażeń są obsługiwane w WeaponsSystem/Libraries/DamageBillboardHandler i mogą być aktywowane z dowolnego kodu strony klienta w następujący sposób, gdzie obrażenia to ilość zadanych obrażeń i adornmentPart to część, na której można przystroić billboard, tak jak głowa ofiary:
DamageBillboardHandler:ShowDamageBillboard(damage, adornmentPart)
Kamera na ramię
Kamera na ramieniu to kamera trzecioosobowa, która patrzy na prawe ramię postaci gracza.Aby dostosować kamerę na ramieniu, zmodyfikuj zmienne pod komentarzem -- Parametry konfiguracyjne (konstante) w funkcji .Możesz modyfikować rzeczy takie jak pole widzenia, odległość od postaci, prędkość chodzenia podczas biegu lub zoomowania itp.
Kontrola sprintu i zoomu
Domyślnie system broni dodaje zdolność "biegu", więc gracze mogą biec, trzymając klawisz Shift, naciskając w pełni w górę na dynamicznym thumbsticku (urządzenie mobilne) lub naciskając w pełni w lewym joysticku (gamepad).Jeśli chcesz wyłączyć sprint, ustaw wartość SprintEnabled w systemie broni / konfiguracji na fałsz .
System również zmniejsza prędkość gracza, gdy celuje/przybliża, ale możesz wyłączyć to zachowanie, ustawiając wartość SlowZoomWalkEnabled na fałsz .
