ArmA 2 - Podstawowe komendy
NAJWAŻNIEJSZE KOMENDY UŻYWANE DO OPEROWANIA JEDNOSTKAMI W EDTYORZE.Poniższy spis zawiera odpowiedzi na najpopularniejsze pytania dot. podstawowego operowania jednostkami i obiektami w procesie tworzenia misji.
Znakomitą większość poniższych komend używa się albo w inicjacji jednostki (pole INIT\Inicjacja\Uruchamianie w edytorowym okienku jednostki - wtedy używamy "this"), albo w polu aktywacji wyzwalacza lub waypointa (czasem działa "this", ale lepiej operować nazwami jednostek, np. "banan1" - pewniejsze). Komend owych możemy oczywiście używać kilka naraz, oddzielając kolejne komendy skryptowe średnikami (np Jarek disableAI "MOVE";Jarek SetUnitPos "UP").
This (jako określenie jednostki) można prawie zawsze zamienić nazwą jednostki, np do wspomnianego już użytku w wyzwalaczu czy skrypcie; Nazwę jednostki ustalamy w polu "Nazwa" w edytorowym oknie jednostki (Patrz: Artykuł "Podstawy").
- WYSOKOŚĆ JEDNOSTKI
this setpos [(getpos this select 0),(getpos this select 1),(getpos this select 2) + X] |
Jeśli chcesz użyć jakieś wartości pośredniej to używasz kropki, np. 2.5 da Ci 2 i pół metra wys.
Przykład:
banan1 setpos [(getpos this select 0),(getpos this select 1),(getpos this select 2) + 4.5] |
- POZYCJE POSTACI
Stojąca:
This SetUnitPos "UP" |
Kucająca:
This SetUnitPos "MIDDLE" |
Leżąca:
This SetUnitPos "DOWN" |
By przywrócić AI (jednostce banan1) możliwość decydowania o tym w jakiej powinno być pozycji wpisz:
Kod: |
banan1 SetUnitPos "AUTO" |
- TELEPORT
banan1 setpos (getpos bananowe_pole) |
by przenieść więcej bananów:
{_x setpos (Getpos bananowe_pole)}foreach [banan1,banan2] |
- KOMUNIKATY
banan1 sidechat "Baza Foxtrot, tu Alfa, brakuje nam alkoholu" |
By komunikaty wysyłał lider grupy:
(leader group banan1) sidechat "Baza Foxtrot, tu Alfa, brakuje nam alkoholu" |
banan1 to w tym wypadku nazwa jednostki, nie grupy!
Możliwe kanały komunikacji:
globalchat |
sidechat |
groupchat |
- BEZ ODWROTU
group this allowfleeing 0 |
- NAZWANIE GRUPY
banany = group this |
- DOŁĄCZENIE / ODŁĄCZENIE JEDNOSTEK DO GRUPY
By przyłączyć jednostki "przyszly_banan1" i "przyszly_banan2" do grupy o zadeklarowanej wcześniej nazwie "banany":
[przyszly_banan1,przyszly_banan2] Join banany |
Jeśli nie deklarowaliśmy nazwy, a mamy nazwanego dowódcę danej grupy możemy zrobić to tak:
[przyszly_banan1,przyszly_banan2] Join (Group banan3) |
Można też użyć polecenia JoinSilent. Polecenie działa tak samo, jak "Join" tylko nie aktywuje okrzyków dowódcy oddziału (Five follow one, itp).
[przyszly_banan1,przyszly_banan2] JoinSilent banany |
Aby odłączyć jednostki od grupy, wpisujemy następujące polecenie:
[byly_banan1,byly_banan2] Join GrpNull |
- WŁASNE IMIĘ KODOWE GRUPY
this setGroupID ["Banans",""] |
- WSADZANIE JEDNOSTEK DO POJAZDÓW
banan1 MoveInDriver helikopter_bananów6 |
banan1 MoveInGunner helikopter_bananów6 |
banan1 MoveInCargo helikopter_bananów6 |
By umieścić jednostkę na konkretnej pozycji strzelca (gdy pojazd posiada kilka):
banan1 moveInTurret [bmp4, [0, 0]] |
- DESANT
banan1 action ["eject", helikopter_bananów6] |
Warto też wpisać:
[banan1] OrderGetIn false[/code]by jednostka nie próbowała wsiąść z powrotem do pojazdu tuż po jej wyrzuceniu (zdarza się).
- NATYCHMIASTOWE UŚMIERCENIE JEDNOSTKI
banan1 setdammage X |
- ZNISZCZENIE OBIEKTU (via ID)
Ustaw marker (nazwij go np. demolka1) w pobliżu kawałka mostu który ma zostać zniszczony i wpisz w wyzwalaczu albo w init dowolnej jednostki:
((getmarkerpos "demolka1") nearestObject IDmostu) setdammage 1 |
- ZMIANA ILOŚCI PALIWA W POJEŹDZIE
banan1 SetFuel 0 |
- EKSPLOZJA
bum = "Sh_125_SABOT" createVehicle position TuMaBycBum |
TuMaBycBum - nazwa elementu logicznego, jednostki, etc (nie markera).
- ZAPALANIE / GASZENIE OGNISK BĄDŹ LATARNI
banan1 inflame true |
banan1 inflame false |
Działa to także na latarnie. Żeby zgasić latarnię potrzebujemy jej numeru ID na mapie a następnie wstawić w tym miejscu marker i użyć takiego polecenia:
((getmarkerpos "latarnia") nearestObject nrIDlatarni) inflame false |
- ZMIANA POGODY
Y setOvercast X |
1800 setOvercast 0.5 |
Jeśli chcesz być pewien, że będzie padać, warto także użyć komendy:
- ZMIANA ZASIĘGU WIDZENIA
setviewdistance X |
setviewdistance 2000 |
- ZMIANA CZASU W GRZE
skipTime X |
Gdzie X to żądana liczba godzin.
Żeby efekt wyglądał porządnie, należy go używać razem ze ściemnieniem i rozjaśnieniem ekranu, czyli:
cutText ["","BLACK OUT",3] ~3 skipTime 5 cutText ["","BLACK IN",3] |
- PRZYSPIESZENIE / SPOWOLNIENIE UPŁYWU CZASU
setacctime X |
gdzie X jest wartością (pośrednią) z przedziału od 0 do 4 gdzie 1 to normalny upływ czasu.
UWAGA: użycie wartości 0 zawiesi grę.
Przydatne do wykreowania efektu "slow motion" (w wypadku użycia wartości albo pokazania wędrówki słońca po niebie.
- ZAMYKANIE / OTWIERANIE POJAZDÓW
banan1 lock true |
Z kolei by z danego pojazdu można było skorzystać:
pojazd lock false |
Polecenia działa lokalnie, co znaczy, że do prostego użytku nadaje się tylko w misjach singleplayer.
- JEŃCY
banan SetCaptive true |
Polecenie wyłączamy podobnie, z tym, że zamiast true umieszczamy false.
UWAGA: Jednostka "banan", mimo iż nie nękana wrogimi atakami, sama dalej będzie strzelać do każdego napotkanego przeciwnika. Ponadto jednostka z wpisanym tym poleceniem nie jest rozpoznawana przez wyzwalacze ustawione na aktywację przez obecność danej strony.
- WYŁĄCZANIE POSZCZEGÓLNYCH ZACHOWAŃ AI
banan DisableAI "MOVE" |
By wyłączyć sekcję sztucznej inteligencji odpowiedzialnej za celowanie i ostrzał wrogich jednostek:
banan DisableAI "TARGET" |
By wyłączyć sekcję sztucznej inteligencji odpowiedzialnej za samodzielne wyszukiwanie celów i obserwację nieznanych jednostek:
banan DisableAI "AUTOTARGET" |
By uniemożliwić jednostce zmianę obecnej animacji:
banan DisableAI "ANIM" |
Każdą sekcję AI można ponownie włączyć, używając analogicznie polecenia EnableAI w miejsce DisableAI.
- ZMIANA ZACHOWANIA
"Stealth":
banan setBehaviour "STEALTH" |
Bojowe:
banan setBehaviour "COMBAT" |
Uważne:
banan setBehaviour "AWARE" |
Spokojne:
banan setBehaviour "SAFE" |
Beztroskie:
banan setBehaviour "CARELESS" |
- ZMIANA UZBROJENIA JEDNOSTKI
removeallweapons this |
kompletnie rozbroi (usunie całe uzbrojenie) jednostkę, której to wpisałeś
this addweapon "M16" |
tym damy żołnierzowi broń określoną klasą "M16"
this addmagazine "M16_mag" |
tym damy żołnierzowi magazynek określany klasą "M16_mag"
this addweaponcargo ["M16",2] |
doda do pojazdu lub skrzyni 2 m16
this addmagazinecargo ["M16_mag",10] |
doda do pojazdu lub skrzyni 10 magazynków do m16
clearweaponcargo this |
clearmagazinecargo this |
UWAGA - Po odebraniu całej broni żołnierzowi należy wpisać:
this addweapon "PUT";this addweapon "THROW"; |
by mógł on podnosić\używać granatów, i innych rzucanych czy 'kładzionych' rzeczy.
Większość nazw klas broni i magazynków z ArmA 2 i dodatków znajdziesz u nas na stronie oraz forum. Gdy w grę wchodzą mody - należy sprawdzić pliki tekstowe dołączone do modu bądź addonu. Jeśli jednak z jakiegoś powodu chcesz dowiedzieć się jak nazywa się klasa broni i amunicji danej jednostki*:
Wyświetla nazwę klasy używanej broni (podczas wystrzału):
this addeventhandler ["fired",{hint format ["Name of shot is: %1", (_this select 2)]}] |
Wyświetla nazwę klas posiadanych przez "banan1" magazynków:
hint format["%1",magazines banan1] |
*Bo np. masz addon bez spisu klas - pozdrawiamy leniwych addonmakerów ;)
- NIEWIDZIALNY MARKER
Kod: |
"nazwa_markera" setMarkerAlpha 0 |
Przykład:
Kod: |
"oboz_wroga" setMarkerAlpha 0 |
Jeśli chcemy by markery nie wyświetlały się już w briefingu (np. ze względu na użycie wspomnianego skryptu), kod ów należy wpisać do naszego init.sqf - należy przy tym pamiętać o średnikach oddzielających komendy!
- ODPALANIE SKRYPTU SQS\SQF
nul=[this] exec "nazwa_skryptu.sqs" |
dla pliku .sqs, bądź
nul=[this] execVM "nazwa_skryptu.sqf" |
dla pliku SQF.