Teraz jest Cz 28 mar, 2024 23:52


Losowanie skryptów -> losowanie zadań/wydarzeń

Dział poświęcony edytorowi ArmA II i Operation Arrowhead, czyli tworzeniu misji.
  • Autor
  • Wiadomość
Offline
Avatar użytkownika

Blackburn

Pułkownik

Pułkownik

  • Posty: 1437
  • Dołączył(a): Cz 15 lip, 2010 11:36
  • Lokalizacja: Raz tu, raz tam...

Losowanie skryptów -> losowanie zadań/wydarzeń

PostCz 19 kwi, 2012 14:19

Chciałem zrobic misję, w której od momentu X będą 2 możliwości przebiegu. Są one opisane prostymi komendami pod skryptem- troche gadki na radiu i wyznaczenie nowego zadania. tutaj nie mam problemów, skrypty odpalaja po spełnieniu warunków z wyzwalaczy.
Natomiast zastanawiam się jak zrobić, żeby były 2 mozliwości scenariusza od momentu X. Wiem, że nalezy uzyc funkcji losowania. Próbowałem przerabiać skrypt z tematu Gustlika losujący postaci, ale nie mam pojęcia jak zrobić żeby zamiast jednostek istniejących na mapie losował skrypt albo sam wyzwalacz.

Podsumowując:
Spełnione warunki mają odpalić losowanie przebiegu wydarzeń, lub losowanie spośród 2ch skryptów które opisują te wydarzenia.
Offline
Avatar użytkownika

Mustang185

Pułkownik

Pułkownik

  • Posty: 1032
  • Dołączył(a): N 04 kwi, 2010 00:30
  • Lokalizacja: Jasło

PostCz 19 kwi, 2012 14:28

Może tak:
W wyzwalaczu w polu warunek wpisz wszystko, co chcesz aby nim bylo. A w on act coś w ten deseń:
numer = random 10;
if (numer >=5) then
{
null = execVM "skrypt1.sqf";
}
else
{
null = execVM "skrypt2.sqf";
};


Może zadziała. Ale pamiętaj, że to ja jestem naczelnym twórcą bugów :P
Offline
Avatar użytkownika

Blackburn

Pułkownik

Pułkownik

  • Posty: 1437
  • Dołączył(a): Cz 15 lip, 2010 11:36
  • Lokalizacja: Raz tu, raz tam...

PostCz 19 kwi, 2012 14:46

Ale z tego co widzę wylosuje tylko jeden skrypt bo nie ma warunku co będzie jak wylosuje więcej niż 5. Czy else to juz załatwia?
Offline
Avatar użytkownika

Mustang185

Pułkownik

Pułkownik

  • Posty: 1032
  • Dołączył(a): N 04 kwi, 2010 00:30
  • Lokalizacja: Jasło

PostCz 19 kwi, 2012 14:50

Jeśli (numer >=5) = false, wtedy wykonuje kod, który wpiszesz pod else :)
Offline

Exe

Major

Major

  • Posty: 762
  • Dołączył(a): Pn 28 cze, 2010 18:35
  • Lokalizacja: Rzeszów

PostCz 19 kwi, 2012 15:30

Lepiej zrobić albo 0 albo 1. Przy 10 niby jest 50% szans na trafienie, ale może kilka razy z rzędu trafić się 1, 2, 3, 4 - jest przecież na to 50% szansy.

Tak btw: niema czegoś takiego jak losowość, to tylko taki pic na wodę :)
Widocznie bug tak chciał.
Offline
Avatar użytkownika

Blackburn

Pułkownik

Pułkownik

  • Posty: 1437
  • Dołączył(a): Cz 15 lip, 2010 11:36
  • Lokalizacja: Raz tu, raz tam...

PostCz 19 kwi, 2012 15:36

Wiesz Exe, może i 10 razy trafić liczby z przedzialu 1-5, na tym polega losowość. Właśnie, czy 0 (zero) wchodzi w skład losowania czy jest pomijane, tzn przedział jest od 0- 10 czy 1-10?
Offline
Avatar użytkownika

Mustang185

Pułkownik

Pułkownik

  • Posty: 1032
  • Dołączył(a): N 04 kwi, 2010 00:30
  • Lokalizacja: Jasło

PostCz 19 kwi, 2012 16:39

Random 10 losuje liczbę z przedziału 0-9.999(nie wiem, ile po przecinku). Nigdy nie wylosuje 10.
Offline
Avatar użytkownika

gremdek

Porucznik

Porucznik

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

PostCz 19 kwi, 2012 17:11

polecam takie rzeczy załatwiać poza wyzwalaczami. można porobić wcięcia i inne bajery i łatwiej to ogarnąć.

a czy losowość będzie przechylona na 50.001% czy może 49.999% chyba nie ma żadnego znaczenia.
I czy wylosuje się z przedziału 0:10 czy 0:1 też nie ma, bo generatory liczb pseudolosowych i tak muszą być skalowane po "losowaniu".
:(
Offline

damian508

Porucznik

Porucznik

  • Posty: 440
  • Dołączył(a): Pt 06 sie, 2010 15:03

PostCz 19 kwi, 2012 17:14

Nie lepiej zrobić tak że dany skrypt odpala się gdy jakaś jednostka znajduje się w określonym miejscu, a tej jednostce dać prawdopodobieństwo obecności 50% i tyle.
Offline
Avatar użytkownika

Blackburn

Pułkownik

Pułkownik

  • Posty: 1437
  • Dołączył(a): Cz 15 lip, 2010 11:36
  • Lokalizacja: Raz tu, raz tam...

PostCz 19 kwi, 2012 17:23

Tez o tym myslałem Damian. Jak sposób mustanga nie zadziała na dedyku to zrobie w taki sposob.

Więc losowanie pod wyzwalaczem zadziałało jakimś cudem. jeszcze pozostaje kwestia działania tego rozwiazania na dedyku.
Offline
Avatar użytkownika

gremdek

Porucznik

Porucznik

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

PostCz 19 kwi, 2012 20:01

zrób jak radzi damian, chyba że chcesz się bawić w sprawdzanie które komendy są rozporowadzane globalnie, które gdzie się uruchamiają i tak dalej. bo u każdego klienta wylosuje się inna liczba.
:(
Offline
Avatar użytkownika

Blackburn

Pułkownik

Pułkownik

  • Posty: 1437
  • Dołączył(a): Cz 15 lip, 2010 11:36
  • Lokalizacja: Raz tu, raz tam...

PostCz 19 kwi, 2012 23:04

Od początku o tym myslałem, ale chciałem żeby to jakos bardziej profesjonalnie wyglądało. No cóż, jednak najlepsze rozwiązania to proste rozwiązania. :spoko:

Powrót do [ArmA II] Edytor

Kto przegląda forum

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

cron