Teraz jest Cz 28 mar, 2024 22:01


Policzenie stanu osobowego cywili na mapie

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

Cerberus094

Chorąży

Chorąży

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

Policzenie stanu osobowego cywili na mapie

PostCz 30 gru, 2010 15:08

Chcę uzyskać taki efekt, że jeżeli gracz zabije cywila, to uruchomi się skrypt kończący misję.
W tym celu wstawiłem wyzwalacz, nazwałem go trigger, a potem jednemu z cywili dałem w init [] exec "cywile.sqs". Skrypt cywile.sqs wygląda tak:
Kod: Zaznacz cały
_stan = civilian countSide list trigger
#check
~1
_stan2 = civilian countSide list trigger
?(_stan2 < _stan):goto "kara"
goto "check"
#kara
TitleCut ["","BLACK OUT",5]
~5
TitleText ["Zabicie cywila może mieć szerokie konsekwencje nie tylko dla Ciebie...","PLAIN",2]
~5
forceEnd


No i niestety po zabiciu choćby nie wiem ilu cywili nic się nie uruchamia :neutral:
ehh anoni
Offline
Avatar użytkownika

ktos

Porucznik

Porucznik

  • Posty: 315
  • Dołączył(a): Pn 14 lis, 2005 21:55

PostCz 30 gru, 2010 22:57

Połącz tego cywila z wyzwalaczem a jak nie pomoże to [] exec "cywile.sqs" wpisz w inicjacji w wyzwalaczu. Możesz jeszcze dać aktywacją wyzwalacza przez konkretną stronę (wschód/zachód/cywile).
Offline
Avatar użytkownika

Rafalsky

Major

Major

  • Posty: 748
  • Dołączył(a): Cz 21 sty, 2010 23:27
  • Lokalizacja: Londyn

PostPt 31 gru, 2010 01:35

Najlepiej aby wszystkim cywilom (human) przypisac event handler na zabicie, wywolujacy skrypt ktory sprawdzi kto zabil (zabojca jest przekazywany w event handler) czy strona czy player itp. A ten skrypt moze zakonczyc misje, lub np odliczac zabitych cywilow przez strone.

Przypisanie event handler uzyskamy triggerem odpalanym na obecnosc cywili, (thislist bedzie zawierala wszystkich cywilow z danego triggera).
Offline
Avatar użytkownika

Kadryl

Major

Major

  • Posty: 883
  • Dołączył(a): Cz 14 wrz, 2006 14:04
  • Lokalizacja: Wa-wa

PostPt 31 gru, 2010 10:34

@Cerberus094

Czy trigger aktywuje się na cywili ?
Czy nadałeś nazwę triggerowi ?

Kod: Zaznacz cały
_stan = civilian countSide list nazwa_triggera
#check
~1
_stan2 = civilian countSide list nazwa_triggera
?(_stan2 < _stan):goto "kara"
goto "check"
#kara
TitleCut ["","BLACK OUT",5]
~5
TitleText ["Zabicie cywila może mieć szerokie konsekwencje nie tylko dla Ciebie...","PLAIN",2]
~5
forceEnd
Offline
Avatar użytkownika

Cerberus094

Chorąży

Chorąży

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

PostPt 31 gru, 2010 11:38

Kluczem okazała się tak banalna sprawa jak ustawienie wyzwalacza (BTW o nazwie "trigger")
na aktywacje cywili.

Trzeba mi było uważniej spojrzeć na opis komendy "list" na OFPEC-u :]

List of units that would activate given trigger.

A jeżeli aktywacja jest żadna, to żadna jednostka nie może go uaktywnić, czyli zarówno _stan, jak i _stan2 = 0.

Natomiast nie działa mi polecenie forceEnd :co:
ehh anoni

Powrót do Operation Flashpoint

Kto przegląda forum

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

cron