Multi Timer

Uczymy się edytowania P2 i rozwiązujemy nasze problemy. Nowi adepci mile widziani!

Moderatorzy: Moderatorzy, Admini

Awatar użytkownika
seebeek17
Modder
Modder
Posty: 8399
Rejestracja: 10 cze 2013, 13:25
Lokalizacja: Z Zewnątrz
Kontakt:

21 sie 2014, 11:41

elo.
Czy jest jakaś możliwość, by zrobić kilka osobnych Timer'ów w jednym skrypcie?
Wiem, że np. w UDK można zrobić coś w tym stylu:

Kod: Zaznacz cały

function Main()
{
	SetTimer(2.0, false, 'FirstTimer');
	//
	SetTimer(2.0, false, 'SecondTimer');
}

function FirstTimer()
{
	Log("FirstTimer");
}

function SecondTimer()
{
	Log("SecondTimer");
}
A czy da się zrobić coś takiego w Postalu?


Awatar użytkownika
Tiquill
V.I.P.
V.I.P.
Posty: 14479
Rejestracja: 25 sty 2007, 02:00
Lokalizacja: z naprzeciwka
Postawił piwo: 1 raz
Otrzymał  piwo: 1 raz
Kontakt:

21 sie 2014, 12:38

A co chcesz przez to osiągnąć? Bo jeśli kilka wartości to podajesz po prostu

Kod: Zaznacz cały

SetTimer(5, false);
SetTimer(MyTime, false);
SetTimer(5, false);
SetTimer(MyTime+FRand()*0.4*MyTime, false);
No bo nie widzę potrzeby określania odrębnego mechanizmu timera...

Aha, w Postalu SetTimer nie ma trzeciej zmiennej, ma tylko czas i bLoop. A co do czasu to możesz sobie go tam kombinować wystarczająco bogato (też FRand()), że nowa funkcja nie jest potrzebna.
Ostatnio zmieniony 21 sie 2014, 12:47 przez Tiquill, łącznie zmieniany 1 raz.


Zawsze jest ryzyko, że wyczerpałeś już limit dobrych dni i czeka cię już tylko samo zło...
Obrazek
Awatar użytkownika
seebeek17
Modder
Modder
Posty: 8399
Rejestracja: 10 cze 2013, 13:25
Lokalizacja: Z Zewnątrz
Kontakt:

21 sie 2014, 12:46

No tamto to wiem.

Przykładowo jak bym chciał to użyć w broni.
NormalFire, by odpaliło jeden timer, który po kilku sekundach odpali fajerwerki, a AltFire po 10 sekundach odpali drugi timer, który rozwali miasto w pizd*. 8-)


Awatar użytkownika
Tiquill
V.I.P.
V.I.P.
Posty: 14479
Rejestracja: 25 sty 2007, 02:00
Lokalizacja: z naprzeciwka
Postawił piwo: 1 raz
Otrzymał  piwo: 1 raz
Kontakt:

21 sie 2014, 13:23

Powinno coś takiego działać:

Kod: Zaznacz cały

simulated function LocalFire()
{
	SetTimer(2, false); 
	Fajerwerki();
}		

simulated function LocalAltFire()
{
	SetTimer(10, false); 
	WielkieBum();
}
Przykładowo. Bo już radzić edycji samego Timer() nie będę, nie ogarniam do końca go.

W powerupie możesz po prostu w Begin dać Sleep().


Zawsze jest ryzyko, że wyczerpałeś już limit dobrych dni i czeka cię już tylko samo zło...
Obrazek
ODPOWIEDZ