AP-aP10 wysiadają z veh i łączą się z innymi aP - jak?

Moderator: Inkwizytor

ODPOWIEDZ
stypol9
Posty: 28
Rejestracja: 10 kwietnia 2009, 17:57
ID Steam:
ID gracza: 0

AP-aP10 wysiadają z veh i łączą się z innymi aP - jak?

Post autor: stypol9 »

Witam.
W edytorze siedzę od 2 dni. Chcę zrobić misję, w której 10 Polaków w ciężarówce jedzie do dwóch zwiadowców, zabiera ich (tamci mają dołączyć do grupy) i jadą oczyścić małą wioskę (UPS). Dalej jeszcze nie wymyśliłem :).

No i do rzeczy:
10-osobowy oddział (aP, aP2...), zwiadowcy (aP11, aP12), ciężarówka (star) - zrobione.
Waypointy dla star też. 9 wsiada przez rozkaz gracza, 10 to gracz. AP11-12 są połączeni w drużynę i mają wp o parę metrów dalej od miejsca ich startu.
Gdy aP-aP10 wsiadają do star to 1 wp dla star rusza i ciężarówka jedzie. Końcowy wp dla star jest niedaleko wp dla aP11-12. Zwiadowcy są na miejscu, ciężarówka także. I teraz chciałbym, aby aP-aP10 wysiedli i aP11-12 dołączyli się do nich. Pewnie trzeba użyć synchronizacji(F5), ale jak to zrobić, gdy żołnierze są w ciężarówce? Najpierw muszą chyba wysiąść, albo tamci musieliby do niej wsiąść i dołączyć do grupy. Rozumiem, że trzeba użyć skryptu, gdzie byłyby komendy: aP-aP10 wysiadają, aP11-12 się dołączają do grupy. Nie wiem jak go zrobić i w jaki sposób go zaexecować (wyzwalacz?). Mam nadzieję, że mi pomożecie w miarę szybko. :)
Awatar użytkownika
Maćko
Posty: 653
Rejestracja: 10 grudnia 2007, 15:08
ID Steam:
ID gracza: 1
Lokalizacja: Radom
Kontakt:

Re: AP-aP10 wysiadają z veh i łączą się z innymi aP - jak?

Post autor: Maćko »

Najpierw daj WP wysiądź.

W tym wp w polu uruchamianie daj takie polecenie:

[aP11, aP12] join (group aP)

"[aP11, aP12]" - jednostki które mają się dołączyć do twojej grupy.
"(group aP)" - drużyna do której mają się dołączyć, zakładam że aP to nazwa gracza a zarazem dowódcy grupy.
Obrazek
Obrazek

-------------
MOBO: MSI H110M PRO-D | CPU: Core i3 [email protected] | RAM: 8GB DDR4 2400@2133 MHz CL14 Goodram Play |
GPU: Asus GTX 760 DirectCU II 2GB GDDR5 | SSD: Samsung 850 EVO 250GB | HDD: Samsung HD502HJ 500GB |
PSU: Corsair VS450 | Case: SilentiumPC Brutus S20 | FAN: SilentiumPC Mistral 120 mm
stypol9
Posty: 28
Rejestracja: 10 kwietnia 2009, 17:57
ID Steam:
ID gracza: 0

Re: AP-aP10 wysiadają z veh i łączą się z innymi aP - jak?

Post autor: stypol9 »

Ale komu ja mam dać wp "wysiądź"? Ciężarówce? Nie, bo wtedy wyjdzie kierowca, który nie jest z mojej drużyny tylko normalnym, samodzielnym AI przypisanym do ciężarówki. Jak dam wp "wyładuj/unload", to nic się nie dzieje. Gdy próbuję dać wp dla aP-aP10 to mi się robi wp dla star. Wpisałem to:

Kod: Zaznacz cały

[aP11, aP12] join (group aP)
w polu uruchamianie przy ostatnim wp dla star i tamci dołączyli do grupy, no ale wolałbym, żeby moi najpierw wysiedli.
Jak się z pierwszą wersją nie uda, to można by spróbować tak:
1. Ciężarówka [star] podjeżdża do ostatniego wp w pobliżu tej dwójki [aP11, aP12].
2. Oni się dołączają do grupy gracza [aP].
3. Nasi nie wysiadają z pojazdu, tylko aP11-12 wchodzą do niego (od razu jak się połączą, sami, automatycznie, bo teraz muszę im wydać rozkaz: F12, F1, F2, 4, 2, 1).
4. To be continued.
Trzeci wariant:
1. Ciężarówka [star] podjeżdża do ostatniego wp w pobliżu tej dwójki [aP11, aP12].
2. Wysiada dowódca grupy [gracz aP].
3. Podchodzi do nich i w tym momencie oni się do niego dołączają (wyzwalacz na krótki zasięg, powiedzmy kilka metrów [warunek: aP jest w zasięgu wyzwalacza, czyli jeśli gracz jest w ich okolicy])
Awatar użytkownika
Maćko
Posty: 653
Rejestracja: 10 grudnia 2007, 15:08
ID Steam:
ID gracza: 1
Lokalizacja: Radom
Kontakt:

Re: AP-aP10 wysiadają z veh i łączą się z innymi aP - jak?

Post autor: Maćko »

Daj "sobie" - znaczy twojej grupie punkt trasy wysiądź a potem ruszaj do pozycji aikow 11 i 12. Wysiadasz ty i dajesz komendę przez radio żeby wysiedli (tylda->4->wysiadać) i gdy dojdziesz do punktu "ruszaj" to aktywuje się przyłączanie do grupy.


Prościej - misja pokazowa jak to ma wyglądać:
Załączniki
test1.Sara.rar
(1.2 KiB) Pobrany 174 razy
Obrazek
Obrazek

-------------
MOBO: MSI H110M PRO-D | CPU: Core i3 [email protected] | RAM: 8GB DDR4 2400@2133 MHz CL14 Goodram Play |
GPU: Asus GTX 760 DirectCU II 2GB GDDR5 | SSD: Samsung 850 EVO 250GB | HDD: Samsung HD502HJ 500GB |
PSU: Corsair VS450 | Case: SilentiumPC Brutus S20 | FAN: SilentiumPC Mistral 120 mm
stypol9
Posty: 28
Rejestracja: 10 kwietnia 2009, 17:57
ID Steam:
ID gracza: 0

Re: AP-aP10 wysiadają z veh i łączą się z innymi aP - jak?

Post autor: stypol9 »

OK, to pomogło, ale teraz jak wszyscy są już w ciężarówce [star], to ona nie rusza po dalszych waypointach, a przedtem ruszała (wariant 3 z mojego poprzedniego posta). W pierwszym wp dla [star] mam warunek:

Kod: Zaznacz cały

(aP in star) and (aP2 in star) and (aP3 in star) (...) (aP9 in star) and (aP10 in star)
i ciężarówka rusza dopiero jak wszyscy wsiądą. A ten wp po przyłączeniu się tamtych ma warunek:

Kod: Zaznacz cały

(aP in star) and (aP2 in star) and (aP3 in star) (...) (aP11 in star) and (aP12 in star)
Może wszyscy mają wysiąść i dopiero wtedy wejść ponownie? Nie wiem już zupełnie. Możliwe, że przez usunięcie kilku wp ciężarówki (na początku nie wiedziałem, że jak dam jednego wp to wystarczy i ciężarówka nie będzie jechała off-road, tylko po drogach), ale chyba nie, bo jak pierwsza trasa działa ok, to i druga musi.
Dobra, czekam na odpowiedź.
Awatar użytkownika
aszek
Posty: 133
Rejestracja: 11 lipca 2008, 06:17
ID Steam:
Numer GG: 8568774
ID gracza: 0

Re: AP-aP10 wysiadają z veh i łączą się z innymi aP - jak?

Post autor: aszek »

Procedura którą chcesz wykonać jest skąplikowanym problem (ale tylko w edytorze) z transportem wieloetapowym (grupa wielokrotnie wsiada do transportu). Wymaga, abyś o edytorze wiedział, że:

- transport jak i jednostki mające być transportowane powinny mieć osobne WPty (scieżki). Każąc wsiadać grupie do transportu (WP na cieżarówce) dalsze rozkazy (domyślnie, bo można i z Shiftem wybrać pojazd 'pod' WPtem) tworzysz dla ciężarówki, a nie dla grupy, która ma się jakiś czas nią przemieszczać. Utwórz więc OSOBNĄ trasę dla transportu, oraz utwórz OSOBNĄ trasę dla grupy. W WPcie transportu typu ZAŁADUJ daj synchronizację z WPtem grupy typu WSIADAJ DO NAJBLIŻSZEGO. W tym samym WP transportu sprecyzuj kiedy WP jest zakończony (grupa w ciężarówce).

- kiedy grupie tworzysz WP typu WSIADAJ (na ciężarówce) dalsza trasa przebiega według rozkazów dowódcy (starszego stopniem). Jeśli chcesz aby transport podporządkował się rozkazą grupy, to kierowca (ciężarówka) musi mieć stopień niższy niż dowódca grupy, wedy dowódca grupy wyda rozkaz ciężarówce (grupa pojedzie po własnych WPtach), co jest dobre tylko kiedy transport JEST CZĘŚCIĄ grupy. Jeśli transport ma być niezależny, to musi mieć własne WPty i stopień wyższy niż dowódca grupy.

- synchronizacja WPtów powoduje, że wszystkie synchronizowane WPty muszą równocześnie spełnić warunki, aby jednostki udały się do swoich dalszych WPtów.


Wracając do problemu. Utwórz cieżarówce 'aSTAR' WPty:
WP[0] - ZAŁADUJ (grupę aP1..aP10)
warunek: (aP1 in aSTAR) and (...) and (aP10 in aSTAR)

WP[1] - WYŁADUJ (grupę aP1..aP10)
warunek: NOT ((aP1 in aSTAR) or (...) or (aP10 in aSTAR))

WP[2] - ZAŁADUJ (grupę aP1..aP12)
warunek: (aP1 in aSTAR) and (...) and (aP12 in aSTAR)

WP[3] - RUSZAJ DO

WP[4] - WYŁADUJ (grupę aP1..aP12)
warunek: NOT ((aP1 in aSTAR) or (...) or (aP12 in aSTAR))

WP[5..n] - RUSZAJ DO (powrót transportu do bazy/czekanie na zabranie grupy z powrotem)



Piechocie (dowódcy nadaj nazwę 'aP_group') utwórz osobne WPty:
WP[0] - RUSZAJ DO (pobliże 'aSTAR')

WP[1] - WSIADAJ DO NAJBLIŻSZEGO (grupa pakuje się na pokład)
uruchomienie: {_x assignAsCargo aSTAR; [_x] OrderGetIn true} forEach units group this;
synchronizacja z WP[0] 'aStar'

WP[2] - WYSIADAJ (w okolicy zabrania aP11,12)
uruchomienie: {unassignVehicle _x; [_x] OrderGetIn false; _x leaveVehicle aSTAR} forEach units group aP_group
synchronizacja z WP[1] 'aStar'

WP[3] - RUSZAJ DO (dowódca podchodzi do aP11,12)
zdefiniowanie czasu, np: min/max = 60, da Ci moment na możliwość stworzenie dialogu z przyłączanymi jednostkami

WP[4] - WSIADAJ DO NAJBLIŻSZEGO (kompletna grupa wsiada)
uruchomienie: {_x assignAsCargo aSTAR; [_x] OrderGetIn true} forEach units group this;
synchronizacja z WP[2] 'aStar'

WP[3] - RUSZAJ DO (pobliże celu misji)

WP[4] - WYSIADAJ (kompletna grupa wysiada)
uruchomienie: {unassignVehicle _x; [_x] OrderGetIn false; _x leaveVehicle aSTAR} forEach units group aP_group
synchronizacja z WP[4] 'aStar'

WP[5..n] - RUSZAJ DO/ZNAJDŹ I ZNISZCZ (normalne przemieszczanie dla grupy w misji)



Dla aP11 i 12 (we własnej grupie), WP:

WP[0] - RUSZAJ DO (miejsce czekania)

WP[1] - RUSZAJ DO (czekanie na dowódce)
warunek: ((leader this) distance (leader aP_group)) < 3
uruchomienie: {[_x] join leader aP_group} forEach units group this; <- dołączają (do dowódcy a nie do grupy), więc napewno NIE objemą dowodzenia (bez względu na stopień wojskowy)
synchrronizacja: z WP[3] 'aP_group'


Słowo wyjaśnienia dla:

NOT ((aP1 in aSTAR) or (...) or (aP10 in aSTAR))

Dla warunków łączonych z 'and' wszystkie muszą być równocześnie 'true', aby cały warunek był 'true'. Warunki łaczone operatorem 'or' powodują, że jakikolowek warunek składowy może być 'true' i to wystarcza, aby cały warunek był 'true' (ktoś jest na pokładzie). Dla potrzeb czekania na całkowite opuszczenie transportu budujemy warunki z użyciem 'or' i dodajemy zaprzeczenie całego warunku z 'NOT'. Czyli, jeśli jakakolwiek jednosta jest jeszcze na pokładzie cały warunek 'or' (w nawiasach) jest 'true', zaprzeczamy, jest już 'false' (ktoś został). Jeśli żadna jesnostka nie została już na pokładzie, cały warunek jest 'false', zaprzeczamy, jest 'true' (nikt nie został). Niektórzy robią to też (not (coś In coś)) and (not (coś in coś)), ale dla 12 jednostek zrobi się z tego niezły tasiemiec.
"True glory consists in doing what deserves to be written, in writing what deserves to be read." - Pliny The Elder
ODPOWIEDZ

Wróć do „Edytor - tworzenie misji, skrypty oraz programowanie”