Korzystając ostano z wolnego czasu, postanowiłem pobawić się w sprawdzanie działania modułów w ARMA 2. Na ruszt rzuciłem moduł o nazwie
Walka w tle. Jak sama nazwa wskazuje, moduł generuje na mapie jednostki różnych frakcji niedaleko gracza, gdzie czasami, naturalnie dochodzi do walk między frakcjami. Oczywiście moduł można dostosować do własnych potrzeb. Można za pomocą komend ustawić które frakcje jednostek będą się generowały, w jakiej ilości i w jakim rodzaju grupy, oraz w jakiej odległości od gracza grupy będą się pojawiały.
Najlepiej umieścić te komendy np. w pliku init.sqf, tym samym tworząc uniwersalny skrypt, którego łatwo można edytować na własne potrzeby.
No to Jedziemy:
Źródło:
http://community.bistudio.com/wiki/Ambi ... at_Manager
Na mapie ustawiamy moduł o nazwie Walka w tle i synchronizujemy go z graczem (synchronizacja: nr. F5 przeciągnięcie niebieskiej linii między graczem a modułem) Moduł nazywamy
BIS_ACM
W pliku init.sqf wrzucamy listę komend:
Kod: Zaznacz cały
waitUntil {!isNil {BIS_ACM getVariable "initDone"}};
waitUntil {BIS_ACM getVariable "initDone"};
sleep 5;
[1, BIS_ACM] call BIS_ACM_setIntensityFunc;
[BIS_ACM, 200, 500] call BIS_ACM_setSpawnDistanceFunc;
[["RU","USMC"], BIS_ACM] call BIS_ACM_setFactionsFunc;
[0.1, 0.7, BIS_ACM] call BIS_ACM_setSkillFunc;
[0.2, 0.5, BIS_ACM] call BIS_ACM_setAmmoFunc;
["ground_patrol", 1, BIS_ACM] call BIS_ACM_setTypeChanceFunc;
["air_patrol", 0, BIS_ACM] call BIS_ACM_setTypeChanceFunc;
[[Let this empty], BIS_ACM] call BIS_ACM_setFactionsFunc;
[BIS_ACM, ["USMC_InfSquad"," RU_TankPlatoon "," RU_SniperTeam " ," USMC_FireTeam_AT "]] call BIS_ACM_addGroupClassesFunc;
Objaśnienie:
[
0.5, BIS_ACM] call BIS_ACM_setIntensityFunc;
Komenda ta ustawia liczbę i częstotliwość generowania jednostek na mapie. Liczby od
0 do
1 (pomiędzy 0 a 1 będzie
0.5)
[BIS_ACM,
200, 500] call BIS_ACM_setSpawnDistanceFunc;
Komenda ta ustawia odległość generowania się jednostek od gracza. W tym przypadku, jednostki pojawiać się będą, nie bliżej jak 200m i nie dalej jak 500m Domyślne wartości w module to min. 500m oraz max. 1000
[["
RU","
USMC"], BIS_ACM] call BIS_ACM_setFactionsFunc;
Komenda ta odpowiada za frakcje, czyli rodzaj strony które mają się generować na mapie. W tym przypadku będą to: Wschód – Rosja i Zachód – USA Marines.
Dostępne inne frakcje to:
GUE – Partyzanci NAPA
INS – Powstańcy CzDKZ
CDF – Wojska obrony Czarnorusi WOC
Arma 2:
Kod: Zaznacz cały
"USMC", "INS", "CDF", "RU", "CIV", "GUE", "CIV_RU"
Arma 2 OA:Kod: Zaznacz cały
"BIS_US", "BIS_CZ", "BIS_GER", "BIS_TK", "BIS_TK_INS", "BIS_TK_GUE", "BIS_UN", "BIS_TK_CIV", "BIS_CIV_special"
[
0.1, 0.7, BIS_ACM] call BIS_ACM_setSkillFunc;
Ta komenda ustawia umiejętność (doświadczenie bojowe) generowanym jednostkom. Wartości min. I max. Dostępne od 0 do 1. W tym przypadku doświadczenie bojowe generowanym jednostkom, będzie się wahać w przedziale od 0.1 do 0.7
[
0.2, 0.5, BIS_ACM] call BIS_ACM_setAmmoFunc;
Tutaj ustawiamy ilość amunicji generowanym jednostkom. Zasada jak wyżej, wartość min. I max. Dostępne od 0 do 1
["ground_patrol",
1, BIS_ACM] call BIS_ACM_setTypeChanceFunc;
Dość ważna komenda, która decyduje o prawdopodobieństwu pojawienia się patroli naziemnych. Wartość
1 to 100% pojawienia się grup. Przedział wartości od 0 do 1
["air_patrol",
0, BIS_ACM] call BIS_ACM_setTypeChanceFunc;
Ta komenda tyczy się patroli powietrznych, w tym przypadku ustawione jest na 0 czyli 0% na pojawienie się Latadeł.
[BIS_ACM, ["
USMC_InfSquad","
RU_TankPlatoon ","
RU_SniperTeam " ,"
USMC_FireTeam_AT "]] call BIS_ACM_addGroupClassesFunc;
Dość Fajna i przydatna komenda która typuje, które z rodzajów grup będzie generowanych na mapie. W tym przypadku będą to :
USMC_InfSquad – Piechota morska USA, oddział strzelców.
RU_TankPlatoon – Rosja, pluton czołgów.
RU_SniperTeam – Rosja, zespół snajperów.
USMC_FireTeam_AT - Piechota morska USA, zespół ogniowy (ppanc).
Dostępne klasy grup Arma2 oraz Arma2 OA:
http://community.bistudio.com/wiki/Ambi ... roup_types
Istnieje możliwość ustawienia miejsc, gdzie nie będą się generowały jednostki. Robi się to za pomocą markerów. Markery muszą mieć nazwę
BIS_ACM_X gdzie
X to liczba, oraz należy ustawić rozmiar markera, czyli obwód rozmiaru określając tym samym strefę nie generujących się jednostek. Jeśli chcemy ustawić więcej takich miejsc, liczby nie mogą być pominięte. Musi być po kolei. BIS_ACM_1 , BIS_ACM_2 itd.
Uwagi:
Podczas testowania, wędrując po Czarnorusi pojazdem, musiało minąć trochę czasu zanim zaczęły się generować grupy. Należy dostosować ilość grup i częstość generowania się grup, jeśli wszystko ustawimy na max. Po upływie jakiegoś tam czasu, zaczną się dość intensywnie generować grupy do tego stopnia, że biada jest się wyrwać z oblężenia patroli.
Zachęcam do przetestowania.
