Frage bezüglich Timern.

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
  • Hallo,
    ich habe eine Frage bezüglich Timern. Ist es möglich die verbliebene Zeit eines bereits laufenden Timers in einem Befehl anzeigen zu lassen, oder funktioniert das nicht so einfach?
    Wenn ja, könnte mir vielleicht einer ein Bespiel hierzu geben:


    Mein Timer:
    SetTimerEx("PersoWarten",1000*60*5,false,"i",playerid);


    und diese Zeile hinter der string Nachricht mit der passenden Bezeichnung vervollständigen? Falls es möglich ist?
    format(string,sizeof string,"* Verbliebende Wartezeit: %d", //// HIER ////);


    Danke im Voraus :)

    | Green Day - Nickelback - Rise Against - 3 Doors Down | \m/

  • Man kann leider nicht auf den Timer zugreifen und auslesen wie lange dieser noch läuft bis er die Funktion aufruft.
    Gibt verschiedene Wege wie man es lösen kann.
    Einen Timer der eine Funktion jede Sekunden aufruft und dort eine Variable runter zählt. Ist dort für den Spieler bis auf 0 runter gezählt worden, richtige Funktion aufrufen. Anhand der Variable kannst du dann auslesen,wie lange der Timer noch läuft.
    Der Andere Weg wäre über Unix Timestamps. Du würdest in einer Variable ablegen,welchen Wert der Unix Timestamp für den Spieler mindestens haben muss damit die Zeit abgelaufen ist. Zusätzlich müsstet du aber trotzdem ein Timer laufen lassen. Allerdings wird es dort zu kleineren Problemen kommen. Denn die Timer sind nie exakt ( siehst du hier ) . So kann der Timer noch laufen,obwohl der genannte Timestamp bereits lange überschritten ist und die Zeit in Wirklichkeit bereits vorbei ist.
    Ein Mix aus Beidem wäre meine Wahl.