Teraz jest Cz 28 mar, 2024 20:18


Problem z eskortą konwoju

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

Boris

Szeregowy

Szeregowy

  • Posty: 39
  • Dołączył(a): Pt 23 maja, 2008 01:43
  • Lokalizacja: Łódź

Problem z eskortą konwoju

PostCz 01 wrz, 2011 15:00

Witam. Mój problem i pytanie wyda się pewnie trywialne, aczkolwiek sam nie mam pomysłów.

Zrobiłem sobie mały konwój (2 pojazdy + 1 Ural z eskortą w środku). W pewnym momencie, konwój ma zostać zaatakowany przez oddział gracza. W założeniu, w momencie ataku, eskorta (albo wszyscy) wyskakują z pojazdów i odpowiadają ogniem.
Próbowałem kilkoma sposobami, ale efekt jest mizerny. Wygląda to tak, że eskorta faktycznie wysiada z pojazdu, ale dostaje ataku głupoty i paniki - i albo leży na ziemi i nic nie robi, albo biega sobie bez celu, udając że walczy. W efekcie, z moich testów wynika, że cały konwój może rozwalić jeden wrogi piechociarz AI.
Wiadomo, że lepiej by było gdyby dać osłonę jakiegoś bewupa czy czołgu, ale to właśnie ma być konwój bez wsparcia.

Rozumiem, że AI nie zmienię, ale czy dało by się je jakoś uskutecznić? Problemem jest tu to, że miejsce ataku na konwój NIE JEST z góry ustalone, więc nie mogę specjalnie AI pomóc.

Było kilka tematów z konwojami, ale nic tam nie znalazłem.
Offline
Avatar użytkownika

Sejtan

Major

Major

  • Posty: 676
  • Dołączył(a): Pn 19 lip, 2004 21:26
  • Lokalizacja: Starogard Gdański

PostCz 01 wrz, 2011 15:53

Zrobimy tak... Zakładam że wszystkie pojazdy w konwoju są w jednej grupie.
Dowódcy grupy wpisz konwoj = group this. Następnie postaw wyzwalacz i:

sposób pierwszy - wielkość wyzwalacza obejmująca trasę konwoju,
aktywacja zachód wykryty przez wschód,
przy aktywacji [] exec "wysiadka.sqs".

sposób drugi - wielkość wyzwalacza bez znaczenia,
warunek ru1 knowsAbout player > 0, (ru1 = dowódca grupy konwoj),
aktywacja brak,
przy aktywacji [] exec "wysiadka.sqs".

I teraz skrypt wysiadka.sqs:

Kod: Zaznacz cały
{doStop _x} forEach units konwoj
~3
{_x action ["EJECT", car1]} forEach units konwoj
{_x allowFleeing 0} forEach units konwoj
{_x setCombatMode "RED"} forEach units konwoj
{_x setBehaviour "COMBAT"} forEach units konwoj


Trochę to prymitywne, ale powinno działać. :]
Offline
Avatar użytkownika

Boris

Szeregowy

Szeregowy

  • Posty: 39
  • Dołączył(a): Pt 23 maja, 2008 01:43
  • Lokalizacja: Łódź

PostCz 01 wrz, 2011 16:11

Dzięki za odpowiedź.

Sposób pierwszy odpada, bo po mapie porusza się duża liczba innych jednostek, przez które gracz może zostać wykryty (co na konwój ma nie wpływać).

Co do sposobu drugiego, to myślę, że właśnie o to mi chodziło :). Sam próbowałem to zrobić, ale skryptów pisać za dobrze nie umiem. Teraz powinno zadziałać. :spoko:
Offline
Avatar użytkownika

Sejtan

Major

Major

  • Posty: 676
  • Dołączył(a): Pn 19 lip, 2004 21:26
  • Lokalizacja: Starogard Gdański

PostCz 01 wrz, 2011 16:23

Zapomniałem napisać... Mała ciekawostka. Jeżeli grupie pojazdów w tym przypadku konwoj, napiszemy {_x action ["EJECT", car1]} forEach units konwoj, jednostki wysiadają z każdego pojazdu w grupie, a nie tylko z car1. Sam o tym nie wiedziałem, przekonałem się jak testowałem to moje rozwiązanie w grze. :)
Offline
Avatar użytkownika

Cerberus094

Chorąży

Chorąży

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

PostCz 01 wrz, 2011 16:45

Boris napisał(a):dostaje ataku głupoty i paniki - i albo leży na ziemi i nic nie robi, albo biega sobie bez celu, udając że walczy


Czasem pomaga danie paru jednostkom, a w szczególności dowódcy, wyższego poziomu umiejętności (suwakiem w prawo). Często jest automatycznie ustawiony na najniższy poziom.
ehh anoni
Offline
Avatar użytkownika

Sejtan

Major

Major

  • Posty: 676
  • Dołączył(a): Pn 19 lip, 2004 21:26
  • Lokalizacja: Starogard Gdański

PostCz 01 wrz, 2011 17:01

Cerberus094 napisał(a):Czasem pomaga danie paru jednostkom, a w szczególności dowódcy, wyższego poziomu umiejętności (suwakiem w prawo). Często jest automatycznie ustawiony na najniższy poziom.


...albo dodanie parametru {_x setSkill 0.8} forEach units konwoj na czas walki żeby za łatwo nie było :D
(działa od ver. 1.75 Resistance)

Przedział oczywiście od 0 do 1.
Moim zdaniem szybciej i łatwiej takie coś napisać niż edytować kilkanaście jednostek jedna po drugiej :|
Offline
Avatar użytkownika

Cerberus094

Chorąży

Chorąży

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

PostPt 02 wrz, 2011 18:43

Sejtan napisał(a):
Cerberus094 napisał(a):Czasem pomaga danie paru jednostkom, a w szczególności dowódcy, wyższego poziomu umiejętności (suwakiem w prawo). Często jest automatycznie ustawiony na najniższy poziom.


...albo dodanie parametru {_x setSkill 0.8} forEach units konwoj na czas walki żeby za łatwo nie było :D
(działa od ver. 1.75 Resistance)

Przedział oczywiście od 0 do 1.
Moim zdaniem szybciej i łatwiej takie coś napisać niż edytować kilkanaście jednostek jedna po drugiej :|

Masz rację, z tym że wtedy mamy klony o tym samym skillu. Ja tam lubię różnorodność podczas misji ;-)
ehh anoni
Offline
Avatar użytkownika

Sejtan

Major

Major

  • Posty: 676
  • Dołączył(a): Pn 19 lip, 2004 21:26
  • Lokalizacja: Starogard Gdański

PostPt 02 wrz, 2011 20:13

Cerberus094 napisał(a):Masz rację, z tym że wtedy mamy klony o tym samym skillu. Ja tam lubię różnorodność podczas misji ;-)


Niby też masz racje..., ale skill to umiejętności, a nie linie papilarne żeby mówić o tym klony :) AI w simach jest nadal słabe, nawet w A2 (tylko nie wyskakiwać mi tu z BFem albo CoDem i innymi takimi bo to nie są symulatory!), dlatego wolę dać szeregowemu skill 0.6 ~ 0.8 i allowFleeing 0.2, żeby walczył, a nie kładł się na ziemi i wstawał,... biegając od czasu do czasu :]

Powrót do Operation Flashpoint

Kto przegląda forum

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

cron