nach gmx level gelöscht, dringend Hilfe!

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Abend,
    nach dem ich eine gmx auslöse sollen die accounts nochmal alle gespeichert werden das geht auch, bis auf der level das wird auf 0 zurückgesetzt. Warum?


    ocmd:gmx(playerid,params[]){for (new i = 0; i < MAX_PLAYERS; i++) {SendClientMessage(i,COLOR_GREEN,"PayDay + 5000$!");SendClientMessage(i,COLOR_REDD,"Server is restarted, all accounts are stored");GivePlayerMoney(i, 5000);SetPlayerLevel(i, GetPlayerLevel(i)+1);
    // Spieler Speichernif(IsPlayerNPC(playerid))return 1;new pname[MAX_PLAYERS],accFormat[128];GetPlayerName(playerid,pname,sizeof pname);format(accFormat,sizeof accFormat,"acc/%s.sav",pname);if(fexist(accFormat) && Player[playerid][eingeloggt]){dini_IntSet(accFormat,"Adminlvl",Player[playerid][admin]);dini_IntSet(accFormat,"Shop",Player[playerid][shop]);dini_IntSet(accFormat,"lvl",GetPlayerLevel(playerid)); das wird nicht gespeichert sondern auf 0 zurückgesetzt bei allendini_IntSet(accFormat,"Kills",Player[playerid][Kills]);dini_IntSet(accFormat,"Deaths",Player[playerid][Deaths]);dini_IntSet(accFormat,"Geld",GetPlayerMoney(playerid));dini_IntSet(accFormat,"Score",GetPlayerScore(playerid));}SetTimer("gmx", 4000, false);}return 1;}



    public gmx(playerid){SendRconCommand("gmx");return 1;}



    PWN geht nicht:



    ocmd:gmx(playerid,params[])
    {
    for (new i = 0; i < MAX_PLAYERS; i++) {
    SendClientMessage(i,COLOR_GREEN,"PayDay + 5000$!");
    SendClientMessage(i,COLOR_REDD,"Server is restarted, all accounts are stored");
    GivePlayerMoney(i, 5000);
    SetPlayerLevel(i, GetPlayerLevel(i)+1);


    // Spieler Speichern
    if(IsPlayerNPC(playerid))return 1;
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"acc/%s.sav",pname);
    if(fexist(accFormat) && Player[playerid][eingeloggt])
    {
    dini_IntSet(accFormat,"Adminlvl",Player[playerid][admin]);
    dini_IntSet(accFormat,"Shop",Player[playerid][shop]);
    dini_IntSet(accFormat,"lvl",GetPlayerLevel(playerid)); //das wird nicht gespeichert sondern auf 0 zurückgesetzt bei allen
    dini_IntSet(accFormat,"Kills",Player[playerid][Kills]);
    dini_IntSet(accFormat,"Deaths",Player[playerid][Deaths]);
    dini_IntSet(accFormat,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(accFormat,"Score",GetPlayerScore(playerid));
    }
    SetTimer("gmx", 4000, false);
    }
    return 1;
    }



    public gmx(playerid)
    {
    SendRconCommand("gmx");
    return 1;
    }

  • ocmd:gmx(playerid,params[])
    {
    for (new i = 0; i < MAX_PLAYERS; i++) {
    SendClientMessage(i,COLOR_GREEN,"PayDay + 5000$!");
    SendClientMessage(i,COLOR_REDD,"Server is restarted, all accounts are stored");
    GivePlayerMoney(i, 5000);
    SetPlayerLevel(i, GetPlayerLevel(i)+1);


    // Spieler Speichern
    if(IsPlayerNPC(playerid))return 1;
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"acc/%s.sav",pname);
    if(fexist(accFormat) && Player[playerid][eingeloggt])
    {
    dini_IntSet(accFormat,"Adminlvl",Player[playerid][admin]);
    dini_IntSet(accFormat,"Shop",Player[playerid][shop]);
    dini_IntSet(accFormat,"lvl",GetPlayerLevel(playerid)); //das wird nicht gespeichert sondern auf 0 zurückgesetzt bei allen
    dini_IntSet(accFormat,"Kills",Player[playerid][Kills]);
    dini_IntSet(accFormat,"Deaths",Player[playerid][Deaths]);
    dini_IntSet(accFormat,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(accFormat,"Score",GetPlayerScore(playerid));
    }
    SetTimer("gmx", 4000, false);
    }
    return 1;
    }



    public gmx(playerid)
    {
    SendRconCommand("gmx");
    return 1;
    }


    War das so schwer zu formatieren?

    MfG SkrilLinux


    Ich habe euch erfolgreich geholfen?
    -Dann wäre es nett wenn ihr 1x auf Bedanken klickt :)

  • Wenn der Rest abgespeichert wird solltest du dir mal GetPlayerLevel() anschauen und dir evt. vor dem Speichern mal den Wert mit printf() ausgeben lassen, um den Wert mit seinem Soll-Wert zu überprüfen.

  • Campbell sry, versteh nicht ganz was du meinst.. bei normal disconnect wird alles gespeichert nur wenn eine gmx darauf folgt.


    So sieht der stock aus GetPlayerLevel



    stock GetPlayerLevel(playerid)
    {
    return GetPVarInt(playerid,"lvl");
    }


    stock SetPlayerLevel(playerid,Level)
    {
    SetPVarInt(playerid,"lvl",Level);
    }