Timer speichern und auslesen?

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
  • OnPlayerSpawn:
    //Knast
    if(GetPVarInt(playerid,"Knast")==1)
    {
    SendClientMessage(playerid,ROT,"Zurück in den Knast! Du hast deine Strafe noch nicht abgesessen");
    SetPlayerPos(playerid,216.6484, 108.4219, 998.6719); //Im Knast
    SetPlayerInterior(playerid,10);
    arrestback = SetTimerEx("arrestzeitt", speichern[playerid], true,"i",playerid);
    }
    public:
    public arrestzeitt(playerid)
    {
    KillTimer(arrestback);
    SetPVarInt(playerid,"Knast",0);
    SendClientMessage(playerid,GREEN,"Du bist aus dem Knast gekommen!");
    SendClientMessage(playerid,GREEN,"Benimm dich in Zunkunft!");
    SpawnPlayer(playerid);
    }


    Denn rest kennst du ja.

  • Geladen:
    speichern[playerid] = GetPVarInt(playerid,"Knastzeit");


    Speicher:
    public speichert(playerid)
    {
    speichern[playerid] -= 1000;
    SetPVarInt(playerid,"Knastzeit",speichern[playerid]);
    if(GetPVarInt(playerid,"Knast")==0)
    {
    KillTimer(speicher);
    }
    }


    In der Spielerdatei steht auch Knastzeit: 60000 (Beispiel)

  • Habe ich!!!! Hör doch zu! Es steht doch alles in der Spieler Datei! Das habe ich auch gerade gesagt.
    Ich benutze Dini!


    LoadAcccount:
    SetPVarInt(playerid,"Knast",dini_Int(Spielerdatei,"Knast"));
    SetPVarInt(playerid,"Knastzeit",dini_Int(Spielerdatei,"Knastzeit"));


    SpielerSpeichern:
    dini_IntSet(Spielerdatei,"Knast",GetPVarInt(playerid,"Knast"));
    dini_IntSet(Spielerdatei,"Knastzeit",GetPVarInt(playerid,"Knastzeit"));

  • Genau diese 2. Funktionen meinte ich.
    Gut, wo werden die Timer gesetzt?


    Edit: Ah, vielleicht solltest du speichern[playerid] nicht um 1000 sondern nur um Eins verringern, da es sich ja um Sekunden handelt.


    #Brotfischbaron


    In schā'a llāh

  • Ne...
    daran liegt es nicht.
    Die Normale Arrest zeit wird so gesetzt:
    arrest = SetTimerEx("arrestzeit", zeit*1000*60, true,"i",playerid);


    Also 60000 ist eine Minute.
    Und dann halt immer -1000 also eine Sekunden, oder nicht?


    Und es funktioniert ja ALLES. Man kommt im Knast. Man kommt auch wieder nach der Zeit raus.
    NURR nach dem Relogg geht das nicht...


    E: Rechtschreibung
    E: Brauche Hilfe ;(