edytor - planowanie czasowe

Edytor Arma (Arma, Arma2, Arma2OA)

Moderatorzy: kondor, Inkwizytor

ODPOWIEDZ
elgyd
Posty: 113
Rejestracja: 11 sierpnia 2011, 18:27
ID Steam:

edytor - planowanie czasowe

Post autor: elgyd »

Czy da się stworzyć misję gdzie cała misja zaczyna się np o godz 19:00. Wszystkie jednostki zaczynają zaplanowaną trasę a jednostka X rusza w drogę dopiero o godz np 21:45. Czy da się ustawiać czas rozpoczęcia ruchu przez jednostkę?
Awatar użytkownika
Sejtan
Posty: 112
Rejestracja: 03 kwietnia 2007, 20:54
ID Steam: sejtan24
Numer GG: 6538171
Lokalizacja: Starogard Gdański

Re: edytor - planowanie czasowe

Post autor: Sejtan »

elgyd pisze:Czy da się stworzyć misję gdzie cała misja zaczyna się np o godz 19:00. Wszystkie jednostki zaczynają zaplanowaną trasę a jednostka X rusza w drogę dopiero o godz np 21:45. Czy da się ustawiać czas rozpoczęcia ruchu przez jednostkę?
Od tego masz wyzwalacze i pola "Min, Śred, Maks"... To właśnie w te pola wpisujesz wartości w sekundach, którymi określasz opóźnienie aktywacji wyzwalacza. W tym przypadku, przed pierwszym pkt. trasy jednostki X wstaw waypoint "PRZEŁĄCZ" (koniecznie jako pierwszy!!!), obok wstaw wyzwalacz o parametrach: rozmiar - 0x0, aktywacja - brak, obecny, odliczanie, w pola min, śred, maks, opóźnienie jakie Cie interesuje w tym przypadku 2h i 45min to chyba 9900 sekund :?: typ - zmiana, warunek - true. Następnie zsynchronizuj (F5) pkt trasy z wyzwalaczem i gotowe ;)
elgyd
Posty: 113
Rejestracja: 11 sierpnia 2011, 18:27
ID Steam:

Re: edytor - planowanie czasowe

Post autor: elgyd »

No ok. Ale to zmusza mnie do tego pewnego schematu, tak mi się przynajmniej wydaje, a chodzi mi o to żeby jednostka X nie zależnie od tego o której godzinie zacznę moją misję czy będzie to 19 czy 13 to żeby jednostka X ruszyła w drogę zawsze o 21:45, a nie o jakiś ustalony czas od rozpoczęcia mojej misji. Czy w ogóle to co napisałem jest zrozumiałe?
Awatar użytkownika
kondor
Posty: 1522
Rejestracja: 13 marca 2007, 11:50
ID Steam: Przemek_kondor
Kontakt:

Re: edytor - planowanie czasowe

Post autor: kondor »

Warunek tego wyzwalacza może być prostszy:

Kod: Zaznacz cały

(abs (daytime - 21.75)) < 0.0003
czyli słownie: "jeśli bieżąca godzina jest mniej więcej 21:45 (z dokładnością do sekundy)"

Wyzwalacz powinien być niepowtarzający się (czy jak to tam się nazywa)

*21.75 to 21:45 (45 / 60 = 0.75) patrz: http://community.bistudio.com/wiki/daytime
**0.0003 to około 1 sekunda wyrażona w godzinach (1 / 3600)
***przy liczbach "rzeczywistych" (tzn. z przecinkiem) nie stosuje się porównania (np daytime == 21.75), gdyż jest wysoce prawdopodobne, że się nie trafi dokładnie w podaną liczbę. To zdanie jest prawdziwe nie tylko w Armie
elgyd
Posty: 113
Rejestracja: 11 sierpnia 2011, 18:27
ID Steam:

Re: edytor - planowanie czasowe

Post autor: elgyd »

NO EXTRA. Wielkie dzięki kondor. Działa!!!

Wygląda to tak. Banan o 21:45 biegnie z punktu A do punktu B, potem do pkt C i zaczyna patrol między tymi dwoma punktami (B i C),
a o 22:00 biegnie do punktu D. Punkt D to PRZEŁĄCZ z punktem A. Czy to znaczy że następnego dnia w grze nastąpi ta sama akcja?

I jeszcze dwa pytania ( nie za bardzo rozumiem):

1) (abs (daytime - 21.75)) < 0.0003 - po co jest to 0.0003 ?
2) Na ile dzieli się cała tarcza zegara skoro 21:45 to 21:75 ?



Dzięki :D
Awatar użytkownika
kondor
Posty: 1522
Rejestracja: 13 marca 2007, 11:50
ID Steam: Przemek_kondor
Kontakt:

Re: edytor - planowanie czasowe

Post autor: kondor »

1. napisałem już, że przy liczbach rzeczywistych nie stosuje się równości, bo ciężko trafić w dokładną wartość (w tym przypadku w 21.75). Wyzwalacz będzie np sprawdzany w momentach, gdy czas będzie odpowiednio np: 21.72232, 21.7253, 22.7292, 22.7323, 22.73773, 22.74001, 22.74334, 22.74901, 22.75341 - i nie trafiło w 21.75. Co prawda szansę na trafienie masz większą niż w totku, ale lepiej po prostu sprawdzać, czy bieżący czas nie jest bardzo blisko szukanej godziny (np z dokładnością np 1 sekundy = 0.0003)
2. nie 21:75 tylko 21.75 ("dwadzieścia jeden i siedemdziesiąt pięć setnych") godziny są normalnie, a minuty zapisywane są "po przecinku" (akurat format używany w informatyce używa kropki jako znaku oddzielającego część całkowitą od ułamkowej).
Minuty zapisuje się jako "jaka to część godziny" (matematycznie: minuta / 60), np.: 0.5 oznacza połowę godziny czyli 30 (30/60 = 0.5) minut, 0.25 to ćwiartka, czyli 15 minut (15/60 = 0.25), (45/60=0.75)
ODPOWIEDZ

Wróć do „Edycja oraz tworzenie misji, skrypty oraz programowanie”