Timer auslesen und wieder einsetzen beim einloggen

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


    hab mal eine Frage: Wie kann ich einen Timer (SetTimer) auslesen, d.h. wie kann ich die Zeit raus bekommen, die jetzt noch runtergezählt werden müsste.


    Mein Beispiel:


    Ich stecke jemanden ins Prison mit dem /arrest. Dabei geb ich eine Zeit an, die mit einem Timer runter gezählt wird. Das Problem der Spieler loggt sich aus. Jetzt müsste man den Timer halt auslesen und in die Datenbank eingetragen werden. Wenn der Spieler sich wieder einloggt, dann sollte die Restzeit aus der Datenbank ausgelesen und in den Timer wieder eingelesen werden und der Timer sollte wieder starten. Wie kann ich machen?



    Gruß Dario

  • Es gibt da denke ich mehrere Möglichkeiten.
    z.B. könnte man wenn jmd. ins Jail kommt die Uhrzeit speichern.
    Beim ausloggen wird dann errechnet wie viel Zeit vergangen ist.
    Dies wird mit GetTickCount() gemacht.

    Einmal editiert, zuletzt von mbcool ()

  • Es gibt da denke ich mehrere Möglichkeiten.
    z.B. könnte man wenn jmd. ins Jail kommt die Uhrzeit speichern.
    Beim ausloggen wird dann errechnet wie viel Zeit vergangen ist.
    Dies wird mit GetTickCount() gemacht.


    Und das GettickCount() füg ich wo ein? In den Timer oder in OnPlayerDisconnect?

  • Damit man später die Zeit errechnen kann,musst du direkt beim Arrest befehl die Zeit auslesen.


    .... Befehl
    count =GetTickCount();
    //Achtung es müssen möglichst für jeden Spieler eine Variable geben , sonst dürfte man nur einen ins Jail schicken, weil sich sonst die Zeiten überschneiden.


    SetPVarInt(pid"jailtime",time) //muss angepasst werden. Ausserdem nur eine Notlösung in einem Enum wäre das übersichtlicher.


    OnPlayerDisconnect....
    new jailzeit;
    jailzeit = GetPVarInt(playerid,"jailtime")-(GetTickCount()-count);
    //Hier wird.das Restjail berechnet.


    diniIntSet(.......) // Speicherung der Daten
    DeletePVar(playerid,"jailtime");




    //Habe das.heute früh am Handy gemacht.
    Es ist ungetestet, Rechtschreibfehler dürft ihr behalten