Acoount wird nach Restart resetet

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 ein Problem.
    Undzwar ich habe funktionen wie SpielerSpeichern und SpielerLaden.
    Sobald ich mir Manuel das Adminlevel 5 gebe und dannach Ingame gehe habe ich das Level.
    Wen ich aber Gmx in der Konsole oder Ingame mache resetet sich dies.
    Aber wen ich die Konsole ausschalte und dan ausmache dan gehts.
    stock LoadAcoount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Frakiton"));
    SetPVarInt(playerid,"Banned",dini_Int(Spielerdatei,"Banned"));
    if(GetPVarInt(playerid,"Banned")==1)
    {
    SendClientMessage(playerid,0xFF1400FF,"Dieser Account ist gebannt.");
    Kick(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,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Banned",GetPVarInt(playerid,"Banned"));
    return 1;
    }

  • mach das lieber so!



    if (strcmp("/gmx", cmdtext, true, 10) == 0)
    {
    if(SpielerInfo[playerid][pAdminlevel]) // Adminabfrage
    {
    new string[200];
    format(string,sizeof(string),"Der Server wird Restartet!");
    SendClientMessageToAll(ORANGE, string);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    SpielerSpeichern(i);
    SendClientMessage(i,GELB,"Dein Account wurde erfolgreich in der Datenbank gespeichert!");
    }
    }
    SendRconCommand("gmx");
    }
    else
    {
    SendClientMessage(playerid,0xFFFFFFFF,"Du bist kein Teammitglied!"); // Nachricht wenn derjenige nicht dem Adminlevel entspricht!
    }
    return 1;
    }

  • Zitat

    public OnGameModeExit()
    {
    SpielerSpeichern(playerid)
    return 1;
    }


    Da wird kommen Error Undefined Symbol playerid da es in dem Public nicht definiert ist


    for(new i = 0; i<MAX_PLAYERS; i++)
    {
    SpielerSpeichern(i);
    }


    Pr0x: Wir sprechen gerade über OnGameModeExit und nicht über einen /gmx befehl

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen

  • achso, ja dann das von dir T4125Gamer


    #edit "Aber InGame ist das viel praktischer und besser :)"

  • und- /oder vor einem Restart alle User kicken kannst ja einen Befehl machen /kickall oderso :b


    unnötig. wenn man das Normal machen kann wieso sollte man dan alle kicken er muss das nur bei OnGameModeExit() das machen was wir schon die ganze Zeit
    Posten -.-


    und wenn er die Abfrage mit /kickall macht ist das doch das gleiche nur mit Kick(i);


  • unnötig. wenn man das Normal machen kann wieso sollte man dan alle kicken er muss das nur bei OnGameModeExit() das machen was wir schon die ganze Zeit
    Posten -.-


    und wenn er die Abfrage mit /kickall macht ist das doch das gleiche nur mit Kick(i);

    Habs so gemacht .. -.- Geht nicht!

  • public OnPlayerConnect(playerid)
    {
    LoadAcoount(playerid);
    }


    ladet der Account eigentlich bei dir Speichern & Laden?


    wenn du ein Registersystem hast muss da beim Login über Spawn(playerid);
    LoadAcoount(playerid); machen und bei OnPlayerConnect LoadAcoount(playerid); wegmachen!

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen