Daten gehen beim Restart verloren

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 Leute,
    ich habe mir einen Restart befehl gemacht. Er startet dort einen Timer und soll die Accounts speichern.
    Das habe ich gemacht. Nach dem Timer kommt dann halt der "SendRconCommand("gmx");
    Wenn man sich dann wieder einloggt sind alle Daten weg. Also mein ist registriert aber Level usw. ist nicht mehr gespeichert.
    Ich habe auch einen Timer gemacht, dass der Server jede Minute die Accounts speichert, falls er crasht, aber bringt auch nichts.
    Die werden irgendwie beim Serverrestart immer gelöscht.
    Wenn ich den Server per Desktop ausschalte sind sie noch da.


    Hoffe ihr könnt mir helfen.


    Danke :)

  • Code ?( Wo ist der Code...?( kann hier jemand ein Code sehen ?
    Speicherart ? ?(

    Oh sorry ist auf Dini.
    Code:
    ocmd:restart(playerid,params[])
    {
    if(IsPlayerAnAdmin(playerid,5))
    {
    new reason[128],string[128];
    if(sscanf(params,"s",reason)) return SendClientMessage(playerid,ROT,"/restart [Grund]");
    format(string,sizeof(string),"AdmCmd: Der Server wird in 60 Sekunden neu gestartet. Grund: %s",reason);
    SendClientMessageToAll(ROT,string);
    SendClientMessageToAll(ROT,"Bitte jetzt keine Invites, Rangvergaben, usw. machen!");
    GameTextForAll("Server wird in 60 Sekunden neu gestartet!",5000,3);
    SaveAllPlayerAccounts();
    SetTimer("restart",30000,false);
    }
    return 1;
    }



    public restart7()
    {
    SaveAllPlayerAccounts();
    GameTextForAll("Serverrestart! ",3000,3);
    SendRconCommand("gmx");
    }



    stock SaveAllPlayerAccounts()
    {
    for(new playerid = 0; playerid < GetMaxPlayers(); playerid++)
    {
    if(IsPlayerConnected(playerid) && playerid != INVALID_PLAYER_ID)
    {
    SpielerSpeichern(playerid);
    }
    }
    return 1;
    }


    stock SpielerSpeichern(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Rang",GetPVarInt(playerid,"Rang"));
    dini_IntSet(Spielerdatei,"Geschlecht",GetPVarInt(playerid,"Geschlecht"));
    dini_IntSet(Spielerdatei,"Leader",GetPVarInt(playerid,"Leader"));
    dini_IntSet(Spielerdatei,"timeban",GetPVarInt(playerid,"timeban"));
    dini_IntSet(Spielerdatei,"banned",GetPVarInt(playerid,"banned"));
    return 1;
    }


    Also dazwischen kommen halt noch Timer für den Countdown sind aber unwichtig


    Reicht das ?