Guten Tag ich würde gerne wissen was genau der unterschied zwischen SetTimer und SetTimerEx ist. Bei nem normalen Timer benutzt man ja nen forward, SetTimer zeitbla, und nen Public und was ist nun der Unterschied zum SetTimerEx ist der resourcensparender?
SetTimer und SetTimerEx?
- TPO
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Nein es sind die Parameter worin sie sich unterscheiden. Ansonsten gibt es keine Unteschiede zumindest ist mir keiner bekannt
-
Jupp es gibt Parameter die du direkt verwenden kannst, wie z.B playerid.
So erspart man sich die for schleifen. -
Ah danke. Kann mir mal jemand ein Beispiel machen?
User gibt /sucide ein mit SetTimer nach 15Sek stirbt er
Und logischer weise zum Vergleich das selbe mit SetTimerEx -
// Beispiel
if(!strcmp(cmdtext,"/sterbenftw",true))return SetTimerEx("GehSterben",500,0,"i",playerid);// Funktion
forward GehSterben(playerid);
public GehSterben(playerid)return SetPlayerHealth(playerid,0.0); -
Im Vgl dazu ohne Ex:
Ein sich wiederholender 1 Sekunden Timer wird gebraucht.
public SucideTimer()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(WillSterben[i] > 0)
{
WillSterben[i]++;
}
if(WillSterben[i] == 16)
{
SetPlayerHealth(i,0.0);
WillSterben[i] = 0;
}
}
}if(strcmp(cmdtext,"/sucide",true,7)
{
WillSterben[playerid] = 1;
return 1;
} -
Ahh nochmal danke nur verstehe das zweite Beispiel nicht ganz
Geht das nicht genau so?
Ich benutze einen forward TIMERNAME;
Dann irgendnen Befehl z.B /verreckensofortblubb
Dort im Befehl SetTimer.. playerid ..15000
Dann im Public vom Timer
SetPlayerHealth(playerid, 0) -
Du kannst ohne Ex keinen Übergabeparameter an den Timer verwenden, deswegen musst du den Scheiß per forschleife machen
-
Ahh danke euch beiden =)
~Closed