Adminlevel setzt sich immerwieder auf 0

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
  • jop momentstock LoadAccount(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,"Fraktion"));
    //SpielerInfo[playerid][Adminlevel]=dini_Int(Spielerdatei,"Adminlevel");
    //SpielerInfo[playerid][Fraktion]=dini_Int(Spielerdatei,"Fraktion");
    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"));
    return 1;
    }


    Script by xbluehazzex
    Server-Start : -
    Forum : In Bearbeitung...
    TS3: In Bearbeitung...
    Standt 10.03.2013


  • Zitat

    setzt sich nach jeden restart auf 0.


    Was hast du bei OnPlayerDisconnect und bei OnGameModeExit stehen?

  • Zitat

    Deinen Adminmake Befehl bitte


    Wenn man keine Ahnung hat..


    Zitat

    setzt sich nach jeden restart auf 0.


    Heißt bei OnGameModeExit speichert er nicht ;)

  • Ich habe noch keinen Adminmake Befehl. Ich ändere es über die Datei und Speicher es ab.
    onPlayer Dis/Connect...
    public OnPlayerConnect(playerid)
    {
    SendClientMessage(playerid,GELB,"Herzlich Willkommen auf iLife.");
    SendClientMessage(playerid,GELB,"Wir sind noch in der Beta-Phase.");
    SendClientMessage(playerid,ROT,"Deshalb melde Bugs den Admins. Danke!");


    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(fexist(Spielerdatei))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Account gefunden... Gib bitte dein Passwort ein.","Login","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib das gewünschte Passwort ein.","Register","Abbrechen");
    }
    return 1;
    }

    public OnPlayerDisconnect(playerid, reason)
    {
    SpielerSpeichern(playerid);
    return 1;
    }


    Script by xbluehazzex
    Server-Start : -
    Forum : In Bearbeitung...
    TS3: In Bearbeitung...
    Standt 10.03.2013


  • public OnGameModeExit(){
    for(new i = 0; i <MAX_PLAYERS; i++){
    if(IsPlayerConnected(i)){
    Speichern(i); //Deine Speicher Funktion hier hin
    }
    }
    return 1;
    }


    Erklärung: Wenn du ein GMX machst, dann speichert er alle Spieler die Online sind ;)

  • Hat er doch schon oben gepostet! -.-


    /e:


    [align=center]

  • Zitat

    en stock und nicht connect und disconnect


    Wenn man kein Plan hat.. Meine Lösung steht da ;)

  • Kriege 1 Errors
    C:\Program Files (x86)\Symnatec\Selfmade-Server\gamemodes\iLife-Alpha.pwn(72) : error 017: undefined symbol "playerid"
    C:\Program Files (x86)\Symnatec\Selfmade-Server\gamemodes\iLife-Alpha.pwn(76) : warning 217: loose indentation
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.



    Fehler zeilen public OnGameModeExit()
    {
    for(new i = 0; i <MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    SpielerSpeichern(playerid);
    return 1;
    }
    }
    return 1;


    }


    Script by xbluehazzex
    Server-Start : -
    Forum : In Bearbeitung...
    TS3: In Bearbeitung...
    Standt 10.03.2013


  • Arbeitest du mit OCMD?


    Wenn ja, bau diesen Befehl bei dir ein:
    ocmd:adm(playerid, params[])
    {
    Spieler[playerid][Admin] = 5; //Anpassen
    SendClientMessage(playerid, Lila, "Du hast dich zum Level 5 Admin gemacht!"); //Farbe anpassen
    SpielerSpeichern(playerid);
    return 1;
    }

    Dann tippe im Spiel "/adm" ein, mach einen Serverrestart und schau ob es sich verändert hat.


    Hier ein Befehl um dein Adminlevel zu Checken:
    ocmd:getadmlevel(playerid, params[])
    {
    new string[64];
    new AdmLevel = Spieler[playerid][Admin]; //Anpassen
    format(string, sizeof(string), "Dein Adminlevel: %d", AdmLevel);
    SendClientMessage(playerid, Blau, string); //Farbe anpassen
    return 1;
    }

    [align=center]