SetTimer & SetTimerEx

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
  • Manche von euch kennen das bestimmt , SetTimer & SetTimerEx aber wo ist der unterschied ?


    Das erkläre ich euch mal etwas Präziser ...


    SetTimer("Funktion",Interval,Wiederholen);


    • Funktion ist die Klasse die ihr wiedergeben wollt
    • Interval sehr bekannter fach Begriff für einen Zeitraum , dieser muss in Millisekunden angegeben werden
    • Wiederholen , soll die angegebene Funktion noch einmal ausgeführt werden nach dem verstreichen der Zeit ( Der Zeitraum startet von neu )


    SetTimerEx("Funktion",interval,wiederholen,"Format",{Parameter});


    • Format ist die Angabe für die ganzen Typen die im Parameter Bereich folgen (i = Integer , s = string , x = Hex , c = Char usw. )
    • Parameter sind die Variablen die in der Format Angabe als Typ angegeben sind , ist z.b. als erstes ein i muss die Variable vom Typ Integer sein


    Wieso nutzt man SetTimer & SetTimerEx ?


    SetTimer ist eine sehr gute Funktion aber sie übergibt keine Variablen wie SetTimerEx , wie man sieht kann der Format in SetTimerEx verschiedene
    Variablen übergeben an die gewünschte Klasse, das kann SetTimer nicht jedoch kann man dies bei SetTimer durch eine schleife Regeln



    SetTimer...


    SetTimer("sayid",1000,0);


    public sayid()
    {
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    printf("%i",i); // gibt leider alle Id's wieder =(
    }
    }



    Und nun SetTimerEx ...


    SetTimerEx("sayid",1000,0,"i",playerid); // Formatieren wir die Erste Variable als Integer und geben einen Integer Wert in der Parameter Angabe an


    public sayid(playerid) // wie man sieht ist hier ein Wert definiert der das ganze entgegen nehmen kann , er muss nicht unbedingt gleich Namig sein!
    {
    printf("%i",playerid);
    }


    Wie ihr seht SetTimerEx regelt alles nur für einen Wert , bei SetTimer kann man mehrere Werte regeln lassen bzw. abfragen aber
    nur durch eine schleife nicht damit ihr das Falsch versteht .


    Nochmal Kurz


    • SetTimer : gibt eine Klasse wieder aber ohne Parameter also werden die Header Werte nicht verändern!
    • SetTimerEx : Diese Funktion gibt eine Klasse wieder nur mit Parameter Angabe so kann man die gewünschten Werte Weitergeben


    Have Fun

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • wenn ich jetzt einen timer erstellen will, der per befehl aktiviert wird und sich solange wiederholen soll in z.b. 2 sek bis ich ihn per befehl wieder beende,
    brauche ich dann SetTimerEx?

  • Nein.
    SetTimerEx ist für Parameter gedacht und wird nur selten benötigt, da man mit ein wenig umschreiben eine schonendere Variante mit SetTimer hinbekommt.
    Zum Beenden kannst du einfach Killtimer nutzen, du brauchst allerdings die ID des erstellten Timers (am besten in einer Variable speichern).


    OT: Datum...

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.