Teraz jest Wt 16 kwi, 2024 08:07


Grupa podąża za graczem nienależącym do grupy

Archiwum działów sekcji Operation Flashpoint
  • Autor
  • Wiadomość
Offline
Avatar użytkownika

Jethro

Szeregowy

Szeregowy

  • Posty: 29
  • Dołączył(a): Pt 07 maja, 2010 22:04

Grupa podąża za graczem nienależącym do grupy

PostWt 16 lis, 2010 22:25

Chodzi mi o następującą sytuację. Mianowicie mam 3 grupy oraz stado cywili ;)
I teraz jest sprawa, że gracz, dowodzący jedną z drużyn na poprowadzić za sobą grupę składającą się z ciężarówki i KTO. W ciężarówce tłoczą się cywile, a w KTO jedzie trzecia grupa, którą stanowią piechurzy. A teraz w czym rzecz...
Chodzi o ewakuację cywili z rejonu walk (np walki na terenie trzeciego państwa i jedno z biorących udział w wojnie chce ewakuować swoich obywateli). Tłoczą się w ciężarówce i liczą na bezpieczną podróż na lotnisko, skąd zabierze ich samolot transportowy. Chciałbym, żeby gracz mógł decydować o trasie przejazdu (konwój pojedzie za nim), jednocześnie nie musząc się martwić, że nie zdąży wyeliminować wroga, zanim samochód z cywilami wjedzie w sam środek walk. Czyli żeby mógł w każdej chwili zatrzymać konwój (stąd moje porównanie do misji z cwc).
Kolejną sprawą jest, żeby drużyna siedząca w KTO w chwili zatrzymania konwoju wysiadła z pojazdu i dodatkowo osłaniała stojące pojazdy.
Największy problem mam z pierwszym punktem. Patrzyłem, jak problem zatrzymywania konwoju rozwiązano w cwc, ale w misji jest tyle różnych wyzwalaczy, że nie jestem w stanie się w tym do końca połapać. Ponadto nie mam nawet pomysłu, jak sprawić, żeby konwój poruszał się za graczem. Bo to piechur, który różnymi drogami może poruszać się bez większego problemu. A konwój powinien jechać po drodze. Myślałem, żeby konwój podążał za samochodem, który ma do dyspozycji gracz, ale co w przypadku, jeśli zostałby on zniszczony? Czy w ogóle możliwe jest, żeby konwój poruszał się w ślad za graczem, ale tylko po drogach?
Offline
Avatar użytkownika

Cerberus094

Chorąży

Chorąży

  • Posty: 138
  • Dołączył(a): N 13 cze, 2010 18:15
  • Lokalizacja: Podlasie

PostŚr 17 lis, 2010 17:27

Łojej :twisted:

No to jedziemy.

Potrzebne: ciężarówka nazwana "truck" z cywilami zapakowanymi na pokład poleceniem "this moveInCargo truck" oraz KTO (nazwany "KTO") z żołnierzami zapakowanymi na pokład tym samym poleceniem. Dowódca grupy żołnierzy niech ma wpisane w nazwie "ochrona".

1. Jeżeli konwój ma podążać ładnie za graczem po drodze, to ten gracz lepiej niech kieruje jakimś pojazdem. Jeżeli gracz - lider konwoju jest "na piechotę", to nie ma opcji żeby inne pojazdy trzymały się drogi. Niemniej będą podążać za tobą jak wysiądziesz.

Poza tym piechur prowadzący konwój to nie jest zbyt realistyczne ani użyteczne rozwiązanie - inne pojazdy mogą cię przez przypadek... rozjechać (serio, przed chwilą sprawdzałem).

2. Kwestia zatrzymania konwoju - wstaw dwa wyzwalacze
Pierwszy - ustaw aktywacja: Cyklicznie, Radio Alpha, a w polu Tekst wpisz co chcesz, np. "Konwój - Stop!". Teraz w w efektach wyzwalacza wpisz w aktywacji: truck stop true
Drugi wyzwalacz - Analogicznie, tylko zmieniasz na: Radio Bravo, inny tekst (np. "Konwój stop!") oraz na truck stop false.

3. Kwestia pomocy grupy z KTO.

Musisz wstawić wyzwalacz, aktywowany cyklicznie w którym w polu Warunek ustawisz coś, co uaktywni tenże wyzwalacz, np.
"(getDammage car)>0" (jeżeli twój pojazd nazwiesz car) - wtedy gdy twój wózek zostanie uszkodzony, wyzwalacz sie uaktywni.

W aktywacji tego wyzwalacza:
"UnAssignVehicle _x" Foreach Units Group ochrona - wtedy żołnierze wyskoczą z transportera.

Hm, jest jednak problem z ich powrotem do KTO po oczyszczeniu terenu - będzie chyba trzeba podporządkować ich graczowi albo coś takiego. Zastanów się.
ehh anoni
Offline
Avatar użytkownika

Jethro

Szeregowy

Szeregowy

  • Posty: 29
  • Dołączył(a): Pt 07 maja, 2010 22:04

PostŚr 17 lis, 2010 21:44

Jasne, że gracz będzie miał do dyspozycji pojazd (samochód z KM), który otwiera kolumnę. Problem w tym, że jadąc samochodem jest się narażonym na ostrzał z granatników i taką ochronę łatwo wyeliminować. Dlatego sprawdzenie podejrzanego terenu na piechotę będzie dość częstym zdarzeniem. Ponadto zawsze istnieje ryzyko utraty wozu. Ponadto stojący KTO również stanowi łatwy cel, dlatego chciałem wyładować z niego piechotę, kiedy konwój dostaje polecenie zatrzymania się.
Myślałem też, żeby konwój może poruszał się po trasie określonej konkretnymi punktami, lub choćby zwyczajnie wstawić mu trasę waypointami. Z tym, że wówczas gracz nie ma najmniejszego wpływu na to, przez jakie tereny będzie jechał konwój. Byłoby to ciekawe urozmaicenie - np po zauważeniu, że w miejscowości, przez którą wiedzie trasa przejazdu znajdują się duże siły wroga, to zamiast czyścić drogę konwojowi, można by było znaleźć objazd. Jednak jeśli będzie to niemożliwe, to wówczas skłonię się jednak ku rozwiązaniu z określoną odgórnie trasą.
Ale tak się zapędziłem z przemyśleniami, że nadal nie zadałem pytania ;) Jak zmusić pojazd (czy jakąkolwiek jednostkę) do poruszania się za inną jednostką?
Jeśli chodzi o drużynę ochrony z KTO, to jeszcze pomyślę. Może uda mi się jakoś zsynchronizować ich wsiadanie do wozu z poleceniem wyruszenia konwoju. Przy dodatkowych warunkach dla lidera konwoju setFuel 0 (przy zatrzymaniu) i setFuel 1 (przy poleceniu ruchu, ale z warunkiem obecności grupy ochrony w KTO). Dam znać, czy coś wyszło, jak tylko to sprawdzę.

/EDIT/
Problem wsiadania załatwiłem w taki sposób:
Kod: Zaznacz cały
"_x doMove (position kto)" Foreach Units Group eskorta
~7
_wsparcie = Units Group eskorta
_stan = count units group eskorta
_i = 0
#get_in
?(_stan == _i): goto "c_go"
_m = (_wsparcie select _i)
_m action ["GETIN CARGO",kto]
_i = _i + 1
goto "get_in"


Wadą tego jest to, że jeśli któryś z żołnierzy wsparcia nie zdąży w ciągu 7 sekund dotrzeć do KTO, to zostanie tam teleportowany... ale poza tym wszystko gra.

Jeśli zaś chodzi o podążanie konwoju za graczem, to mam 2 pomysły.
Pierwszy, póki co, nie wypalił. Tzn niby działa, ale... Wygląda to tak:

Kod: Zaznacz cały
#loop
star move (position aP)
~0.01
?(stac) :goto exit
goto "loop"


gdzie stac przyjmuje wartość true przy zatrzymaniu konwoju.
Problem jest taki, że choć konwój cały czas obiera trasę do praktycznie aktualnej pozycji gracza, to jednak co 0.01 się zatrzymuje i rusza... i tak w kółko. Efektem jest to, że jakikolwiek postęp ruchu widać dopiero przy maksymalnym przyspieszeniu czasu.
Podejrzewam, że przy dobrze dobranej wartości można osiągnąć dość dobry efekt, ale póki co na takową nie trafiłem. Konwój albo obiera nowy punkt docelowy za szybko, przez co nie jest się w stanie porządnie rozpędzić, albo obiera go za późno, przez co przez pewien czas stoi w miejscu, gdzie gracz był jakiś czas wcześniej.

Drugi pomysł to waypointy. Działa bardzo dobrze, ale nie pozwala na pełną kontrolę nad konwojem :/

A wracając do konwoju podążającego za graczem, to co by uniknąć sytuacji, że ktoś wysiądzie z samochodu i zapomni zatrzymać konwój, przez co później znajdzie się on w jakiś krzakach (albo, co chyba jeszcze gorsze, rozjedzie gracza)... konwój zatrzymać można na dwa sposoby - standardowy, czyli radiem, oraz automatycznie przy opuszczeniu samochodu przez aP (gracza).

Jeśli ktoś ma inne pomysły (zwłaszcza w kwestii sterowania konwojem), to jestem otwarty na wszelkie propozycje :)
Offline
Avatar użytkownika

Cerberus094

Chorąży

Chorąży

  • Posty: 138
  • Dołączył(a): N 13 cze, 2010 18:15
  • Lokalizacja: Podlasie

PostCz 18 lis, 2010 16:28

Sterowanie konwojem... (zmuszenie jednostki do poruszania się za inną)

Nie wiem czy do końca Cię rozumiem, ale...

Wstaw gracza + pusty samochód. Samochód "car", a graczowi w inicjacji "this moveInDriver car". W ten sposób nawet jak wysiądziesz z samochodu albo zostanie on zniszczony, to ciężarówka i KTO będą za tobą podążać. Wtedy jednak pozostaje wcześniejszy problem że mogą Cię rozjechać i będą jechać "na siłę" podążać za Tobą przez pola, krzaki itp. Ty pojedziesz drogą w lewo - oni zrobią to samo.

Jednak nawet gdybyś chciał jakoś skryptem zmusić ich do podążania za graczem (no bo za jaką inną jednostką?) to wyjdzie to samo.

Rozwiązanie w którym gracz nie byłby dowódcą, tylko wydawał konwojowi polecenia (w lewo czy prawo) byłoby najlepsze i jest zastosowane, tak jak wspomniałeś, w misji Guardian z CWC. Gracz nie jest dowódcą konwoju, ten trzyma się drogi a gracz wydaje tylko polecenia "w lewo, w prawo" oraz "naprzód i stop." Jednak gdy podejrzałem tę misję w edytorze to masakra :/ Zauważyłem tylko tyle że trzeba wstawić konwojowi waypointy i kombinowac z wyzwalaczami, synchronizacją i elementami logicznymi.
ehh anoni
Offline
Avatar użytkownika

gremdek

Porucznik

Porucznik

  • Posty: 428
  • Dołączył(a): Pn 27 lut, 2006 15:02

PostCz 18 lis, 2010 16:37

aby nie jechał za graczem gdy jest poza pojazdem(jakimkolwiek) taki warunek daj:
Kod: Zaznacz cały
vehicle player != player

możesz też dodać sprawdzenie czy nie jest pasażerem tylko kierowcą(driver sobie zobacz w comrefie)
zamiast move jak dawał jethro tull, możesz użyć follow.

stop na przykład na radio możesz robić.

pomyśl trochę a to zrobisz, najlepiej każdą małą część z osobna przetestuj, a potem to łącz.
:(
Offline
Avatar użytkownika

Jethro

Szeregowy

Szeregowy

  • Posty: 29
  • Dołączył(a): Pt 07 maja, 2010 22:04

PostCz 18 lis, 2010 16:46

O to mi właśnie chodzi, że gracz nie jest dowódcą konwoju, tylko dowodzi osobną grupą, której zadaniem jest czyszczenie drogi przed konwojem.

Też właśnie zacząłem od podglądnięcia misji guardian w cwc i zwątpiłem :/
I próbowałem to załatwić poleceniem move, jednak nie bardzo to wychodzi.
Ostatecznie ustawiłem trasę konwoju tak, że nie bardzo jest możliwość kombinowania, bo tylko w jednym miejscu można znaleźć objazd. Z tym, że ów objazd baaardzo wydłuża trasę oraz wiedzie z dala od obszaru zajętego przez wroga. A co to za przyjemność gry, kiedy nic się nie dzieje? Dlatego postanowiłem nie kombinować z podążaniem za graczem i ustawiłem konwojowi ściśle ustaloną trasę jazdy. Do tego 3 miejsca gdzie nie można się na wroga nie natknąć i kilka mniejszych grup przeciwnika, co do których szansa, że podejdą do drogi i zaatakują konwój jest losowa ;) i wszystko gra, jest gitara :)

Jedyne, czego nie udało mi się obejść, to właśnie ta teleportacja żołnierzy z KTO, jeśli któryś idzie do wozu dłużej, niż 7 sek. (co prawda mógłbym ustawić taką wartość, że wszyscy z pewnością by doszli, jednak wówczas każdy załadunek musiałby trwać kilkanaście lub kilkadziesiąt sekund, a to trochę bez sensu).

Powrót do Operation Flashpoint

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 gości

cron