Teraz jest Wt 24 cze, 2025 01:42


W kwestii losowości w misji

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

alderous

Pułkownik

Pułkownik

  • Posty: 1784
  • Dołączył(a): Cz 19 sie, 2004 13:20
  • Lokalizacja: Łódź

W kwestii losowości w misji

PostŚr 11 maja, 2005 07:16

Teoretycznie sam edytor oferuje pewną losowość poprzez rozrzut i prawdopodobieństwo obecności. Problem w tym że to nie zawsze wystarcza.

Z rozrzutem jest ten problem że nie można wybrać kilku możliwych miejsc i zawsze ma się do wyboru jeden kolisty obszar. Uniemożliwia to na przykład w prostu sposób sprawienie że gracz znajdzie się z różnej strony jakiejś wioski, bo może równie dobrze zostać umieszczony "w niej". Podobnie nie można sprawić by grupa zatrzymała się na brzegu lasu w róznym miejscu, bo punkt trasy może równie dobrze znaleźć się w lesie jak i poza lasem.

Co do warunku obecności to niestety na przeszkodzie jest rachunek prawdopodobieństwa. Im więcej warunków obecności tym coraz trudniej przewidzieć jak wiele jednostek będzie obecnych. Może to doprowadzić do sytuacji że nie pojawią się żadne i misja będzie za prosta albo że pojawią się akurat wszystkie i misja będzie za trudna. Generalnie nie ma możliwości żeby sprawić aby pojawiał się albo jednostka A albo jednostka B.

Tak na marginesie mały hint - wystarczy nazwać dowódcę grupy np. szef i dać mu pewne prawdopodobieństwo obecności, a reszcie grupy dać warunek obecności alive szef - albo się pojawi cała grupa albo nikt.

Na szczęście są skrypty, które ratują sytuację. Kluczowa jest komenda random() która po prostu generuje losowe liczby rzeczywiste czyli los = random (1) przypisze zmiennej los wartość od 0 do 1. Pewnym problemem jest to że losowanie musi nastąpić podczas misji, czyli nie można tego umieszczać w inicjacji (tak mi się przynajmniej wydaje).

Moja metoda to odpalić na początku misji skrypt z niezbędną pierwszą linijką ?!(local serwer): exit (w misji musi być też element logiczny o nazwie serwer), co jest konieczne jeśli misja ma być MP, który w zależności od wylosowanej wartości wykasuje pewne grupy komendą deleteVehicle.

Czyli np. gracze są w mieście, a wróg może nadjechać z trzech stron. Wstawiamy trzy silne grupy (na tyle silne by pokonanie jednej stanowiło wyzwanie) dając mi punkty trasy kierujące je przeciw graczom. W wyzwalaczu z warunkiem true (odpala się na początku misji, ale po komendach umieszczonych w initach) odpalamy skrypt który może wyglądać tak:


Kod: Zaznacz cały
?!(local serwer): exit

_los = random(3)

?(_los <= 1): "deleteVehicle _x" forEach units grupa2
?(_los <= 1): "deleteVehicle _x" forEach units grupa3

?(_los > 1 && _los <=2): "deleteVehicle _x" forEach units grupa1
?(_los > 1 && _los <= 2): "deleteVehicle _x" forEach units grupa3

?(_los >2): "deleteVehicle _x" forEach units grupa1
?(_los >2): "deleteVehicle _x" forEach units grupa2

exit


Oczywiście trzeba również stworzyć grupy wpisując ich dowódcom odpowiednio grupa1 = group this albo grupa2 = group this bądź grupa3 =group this.

W efekcie zawsze dwie z trzech grup zostaną usunięte i nadjedzie tylko jedna wykonując wszystkie przydzielone jej punkty trasy.

Z komendą random należy uważać o tyle (o czym się na własnej skórze przekonałem), że w przypadku MP nie powinna być wykonywana na wszystkich komputerach, a tylko na serwerze. W przeciwnym razie na każdym komputerze może wyjść inna wartość zmiennej losowej i inne grupy zostać skasowane, co przy sporej liczbie graczy gwarantuje że zostaną skasowane wszystkie.

Tyle na razie. Dalej dopisze o losowych trasach (takich gdzie oddział wybiera albo trasę A albo B).

--------------------------------------------------------------------------------------------------------

Jest dosyć prosta metoda uzyskania kilku losowo wybieranych tras. Na przykład chcąc uzyskać trzy trasy wystarczy umieścić punkty trasy w sposób przedstawiony na screenie (coś jakby litera "z") i dodać trzy wyzwalacze.

tu był kiedyś obrazek, ale gdzieś go wcięło

Jeden ma warunek true (odpala się na początku misji) i losuje wartość zmiennej los za pomocą los = random(3). Dwa pozostałe są zsynchronizowane z punktami trasy i są typu Przełącz przy czym warunki aktywacji to odpowiednio los>1 i los<2. Dzięki temu jeden lub dwa punkty trasy zostają zaliczone od razu tak jakby nie istniały, a grupa skoryguje odpowiednio swoją trasę czyli w przypadku trasy B po prostu ruszy z pierwszego punktu trasy od razu do ostatniego.

Oczywiście może być więcej punktów trasy i wariantów, ale im bardziej skomplikowane trasy chcemy uzyskać tym bardziej staje się to pracochłonne, w związku z czym jest to dobra metoda na mało skomplikowane przypadki. Sądzę że powinna zadziałać bez problemu w MP, bo choć na każdym komputerze wylosowana zostanie inna wartość zmiennej los to ostatecznie jakaś zostanie wybrana (mniejsza o to która), a ponieważ są losowane niezależnie więc w niczym to nie zmienia prawdopodobieństwa wystąpienia poszczególnych tras.
Ostatnio edytowano So 30 sie, 2008 13:13 przez alderous, łącznie edytowano 2 razy
Offline
Avatar użytkownika

Jon

Generał

Generał

  • Posty: 10721
  • Dołączył(a): Wt 20 lip, 2004 00:43
  • Lokalizacja: Kraków

PostŚr 11 maja, 2005 13:25

Dzięki Ci Alderousie! Jesteś wielki :]
http://www.pajacyk.pl

“Politics is supposed to be the second oldest profession. I have come to realize that it bears a very close resemblance to the first.”
~ Ronald Reagan
Offline
Avatar użytkownika

MatKat

Chorąży

Chorąży

  • Posty: 131
  • Dołączył(a): Pn 26 lip, 2004 21:31

Re: W kwestii losowości w misji

PostŚr 11 maja, 2005 23:07

You are the best from the best!
Super!


[HAV] po jaką cholerę cytujesz całą wypowiedź..... :???:
Offline
Avatar użytkownika

alderous

Pułkownik

Pułkownik

  • Posty: 1784
  • Dołączył(a): Cz 19 sie, 2004 13:20
  • Lokalizacja: Łódź

PostCz 12 maja, 2005 00:04

...
Ostatnio edytowano Wt 31 maja, 2005 16:31 przez alderous, łącznie edytowano 1 raz
Offline
Avatar użytkownika

Marshal

Major

Major

  • Posty: 882
  • Dołączył(a): Pn 19 lip, 2004 21:03
  • Lokalizacja: K-Lin

PostPt 13 maja, 2005 18:14

Napewno każdy grał w pierwszą misję sp - Kradzież w której trzeba ukraśc UAZa cała misja to jedna wielka losowośc - start gracza, miejsce uaza i oczywiście drogi patrolów w mieście. Losowosc jest tak duża że misja prawie za każdym razem jest inna choc tak samo się kończy przez co jest dośc grywalna w swoim banale.
Ale nie otym chciałem....

Czy ktoś zna może w spozób jakim można umieścic/przemieścic jednostkę skryptem na miejsce a ; b lub c dajmy na to jednostka to sol

Czyli przy aktywacji scryptu jednostka sol zajmuje miejsce wyzwalacza a,b lub c - mozna by wtedy tez w bardzo latwy sposób zrobic scrypt artyleri.
Obrazek
Offline

Oscypek

Major

Major

  • Posty: 858
  • Dołączył(a): Pn 01 lis, 2004 12:12
  • Lokalizacja: Maków Podhalański

PostPt 13 maja, 2005 18:59

:)
Masz obiekt o nazwie sol, np: H niewidzialne
Stawiasz markery "empty" i łączysz je grupą z obiektem. Obiekt stawi się losowo na miejscu któregoś z markerów.

Innym sposobem jest postawienie 3 wyzwalaczy i obiektów.

Kod: Zaznacz cały
_radek = random 2

? (_radek > 1) : obiekt setpos getpos a; exit
? (_radek < 1) : obiekt setpos getpos b; exit
? (_radek ==1 ) : obiekt setpos getpos c; exit



I to jest tyle
Offline
Avatar użytkownika

alderous

Pułkownik

Pułkownik

  • Posty: 1784
  • Dołączył(a): Cz 19 sie, 2004 13:20
  • Lokalizacja: Łódź

PostPt 13 maja, 2005 21:15

Oscypek napisał(a)::)
Masz obiekt o nazwie sol, np: H niewidzialne
Stawiasz markery "empty" i łączysz je grupą z obiektem. Obiekt stawi się losowo na miejscu któregoś z markerów.


Hmm...grupowanie markera z obiektem? :?
Offline

Oscypek

Major

Major

  • Posty: 858
  • Dołączył(a): Pn 01 lis, 2004 12:12
  • Lokalizacja: Maków Podhalański

PostSo 14 maja, 2005 10:59

A czemu by nie ? :) Jak się da to czemu by tego nie używać :) ?

Obrazek
Ostatnio edytowano So 14 maja, 2005 11:45 przez Oscypek, łącznie edytowano 1 raz
Offline
Avatar użytkownika

alderous

Pułkownik

Pułkownik

  • Posty: 1784
  • Dołączył(a): Cz 19 sie, 2004 13:20
  • Lokalizacja: Łódź

PostSo 14 maja, 2005 11:19

Jestem po prostu zaskoczony, bo o tej metodzie nie słyszałem, a grupowanie żołnierza z markerem nie przyszło mi nigdy do głowy (bo i po co?). W każdym razie działa - zgrupowałem żołnierza z markerem i czasem pojawiał się tam gdzie go postawiłem, a czasem tam gdzie był marker. Ciekawa sprawa - muszę zbadać jak to się sprawdza w przypadku grup i lecących samolotów.

{dodane} Działa bez zarzutu. Cała grupa jest przenoszona, śmigłowce zawsze są w locie

Szkoda, że nie ma jakiejś możliwości określenia jakie jest prawdopodobieństwo, że pojawi się w tym czy innym miejscu.
Offline

Oscypek

Major

Major

  • Posty: 858
  • Dołączył(a): Pn 01 lis, 2004 12:12
  • Lokalizacja: Maków Podhalański

PostPn 16 maja, 2005 16:58

Hę? Mi grup nie chce przenosić :/ Tylko pojedyńczą jednostkę
Jak ci to działa?
Offline
Avatar użytkownika

alderous

Pułkownik

Pułkownik

  • Posty: 1784
  • Dołączył(a): Cz 19 sie, 2004 13:20
  • Lokalizacja: Łódź

PostPn 16 maja, 2005 17:38

Oscypek napisał(a):Hę? Mi grup nie chce przenosić :/ Tylko pojedyńczą jednostkę
Jak ci to działa?


A mają ustawione "w szyku"?
Offline
Avatar użytkownika

kaczka

Szeregowy

Szeregowy

  • Posty: 18
  • Dołączył(a): Pt 24 gru, 2004 16:56

PostSo 06 sie, 2005 15:30

Wystarczy że obiekt przenoszony za pomocą pustych markerów będzie miał nazwę i można zapomnieć że pojawi się w jakimkolwiek innym miejscu niż tym, gdzie został sam wstawiony.
Online

xersius

Pułkownik

Pułkownik

  • Posty: 99987
  • Dołączył(a): Pn 29 lip, 2024 15:01

Re: W kwestii losowości w misji

Online

xersius

Pułkownik

Pułkownik

  • Posty: 99987
  • Dołączył(a): Pn 29 lip, 2024 15:01

Re: W kwestii losowości w misji

PostN 08 wrz, 2024 20:08

сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайт
сайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтсайтtuchkasсайтсайт
Online

xersius

Pułkownik

Pułkownik

  • Posty: 99987
  • Dołączył(a): Pn 29 lip, 2024 15:01

Re: W kwestii losowości w misji

Następna strona

Powrót do Operation Flashpoint

Kto przegląda forum

Użytkownicy przeglądający ten dział: xersius i 16 gości

cron