Speicherungs Problem

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
  • Guten Tag,


    ich habe ein Problem mit der Speicherung der Spieler.
    Wenn ich Ingame gehe werden alle Dinge normal geladen und wenn ich /q mache auch gespeichert.
    Wenn ich aber einen Serverrestart mache wird aber nur gespeichert: Skin, Geld, Score und Fightstyle, also alles was es in Pawn schon gibt, solche Dinge wie Bank, oder Perso (also selbst dazugescriptete Dinge) werden aber immer wieder auf 0 gesetzt.
    Ich weiß nicht wo das Problem liegt oder ob es an dem stock liegt in dem der Spieler gespeichert wird.
    Hier mal mein Spieler speichern stock:
    stock SaveAccount(playerid)
    {
    new name[128], save[128];
    GetPlayerName(playerid,name,sizeof(name));
    format(save,sizeof(save),"/Spieler/%s.ini",name);
    dini_IntSet(save,"Geld",GetPlayerMoney(playerid)); // speichert das aktuelle Geld, was der Spieler zum schluss hatte
    dini_IntSet(save,"Skin",GetPlayerSkin(playerid)); // speichert den aktuellen Skin, welchne der Spieler zum schluss hatte
    dini_IntSet(save,"Bank",GetPVarInt(playerid,"Bank"));
    dini_IntSet(save,"Perso",GetPVarInt(playerid,"Perso"));
    dini_IntSet(save,"Fightstyle",GetPlayerFightingStyle(playerid));
    dini_IntSet(save,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(save,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(save,"Level",GetPlayerScore(playerid));
    return 1;
    }


    Ich hoffe jemand kann mir irgendwie helfen.


    Mit freundlichen Grüßen,
    Mr.Cro997

    Einmal editiert, zuletzt von Mr.Cro997 ()

  • Mach die Schleife bei deinem Restart Command, den OnGameModeExit wird aufgerufen wenn kein Spieler mehr auf dem Server ist, soweit ich es weiß, die Schleife unter den /restart Command Packen und dann Probieren:


    for(new i = 0; i < GetMaxPlayers(); i++)
    {
    SaveAccount(i);
    }

  • Mach die Schleife bei deinem Restart Command, den OnGameModeExit wird aufgerufen wenn kein Spieler mehr auf dem Server ist, soweit ich es weiß, die Schleife unter den /restart Command Packen und dann Probieren:


    for(new i = 0; i < GetMaxPlayers(); i++)
    {
    SaveAccount(i);
    }

    Hat nicht geklappt...
    Mein Restart Befehl sieht so aus:
    if(strcmp(cmdtext, "/gmx", true) == 0)
    {
    if(IsPlayerAnAdmin(playerid,2000))
    {
    SendClientMessageToAll(COLOR_YELLOW,"[Server-Restart] Der Server wird neugestartet, wir sind gleich wieder zurück.");
    SendRconCommand("gmx");
    SaveAccount(playerid);
    for(new i = 0; i < GetMaxPlayers(); i++)
    {
    SaveAccount(i);
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast nicht das ausreichende Adminlevel.");
    }
    return 1;
    }

  • public OnPlayerDisconnect(playerid, reason)
    {
    new name[128], save[128];
    GetPlayerName(playerid,name,sizeof(name));
    format(save,sizeof(save),"/Spieler/%s.ini",name);
    if(dini_Exists(save))
    {
    SaveAccount(playerid);
    }
    return 1;
    }


    [quote='Bluescreen','san-andreas-multiplayer/scripting-base/152717-speicherungs-problem/'Wie Speicherst du es den bei OnPlayerDisconnect?
    Vielleicht hast du es ja dort anderst[/quote]

    2 Mal editiert, zuletzt von Mr.Cro997 ()