Adminlevel wird nicht gespeichert...

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 liebe Community...


    Seit gestern habe ich mich entschlossen, wieder ein wenig in das scripten rein zu kommen und habe mir daraufhin MrMonat Tuts reingezogen...
    Ich bin mitlerweile bei 12 ;)


    Nun wird aber mein Adminlevel i-wie nur halb gespeichert....
    Wenn ich normal disconnecte und wieder drauf joine, wird es gespeichert...
    Wenn ich allerdings einen gmx mache nicht...


    stock 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;
    }


    stock IsPlayerAnAdmin(playerid,Rang)
    {
    if(GetPVarInt(playerid,"AdminLevel")>=Rang)return 1;
    return 0;
    }


    public OnPlayerConnect(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(dini_Exists(Spielerdatei))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden.\nGebe bitte dein Passwort ein!","Login","Abbruch");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registration","Gib bitte dein gewünschtes Passwort ein","Registration","Disconnect");
    }
    return 1;
    }


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


    Wäre nett, wenn mir wer helfen könnt :love:

  • Ist der Unterordner Accounts unter Scriptfiles vorhanden?

  • Jo klar.
    Es wird ja auch Level etc. gespeichert...
    Nur das AdminLevel halt nicht....


    Unterordner:


    SAMP\scriptfiles\Accounts\TakeItEasy

  • Ich glaube hier liegt der Fehler:


    GetPVarInt(playerid,"Adminlevel"));



    Schreib das l mal groß, daran liegt dass ;)


    -Unknown

  • geht leider immernoch nicht...


    Kann das sein, dass ich das so machen muss?


    anstatt
    if(strcmp(cmdtext,"/gmx",true)==0)
    {
    if(IsPlayerAnAdmin(playerid,5))
    {
    SendRconCommand("gmx");
    return 1;
    }
    SendClientMessage(playerid,ROT,"Du hast nicht die Berechtigung, diesen Befehl auszuführen!");
    return 1;
    }


    so:
    if(strcmp(cmdtext,"/gmx",true)==0)
    {
    if(IsPlayerAnAdmin(playerid,5))
    {
    SpielerSpeichern(playerid);
    SendRconCommand("gmx");
    return 1;
    }
    SendClientMessage(playerid,ROT,"Du hast nicht die Berechtigung, diesen Befehl auszuführen!");
    return 1;
    }

  • Eigentlich specihert das bei Disconnect eigentlich?



    -Unknown


  • Wenn musst du allle Spieler speichern ;)


  • stock IsPlayerAnAdmin(playerid,Rang)
    {
    if(GetPVarInt(playerid,"AdminLevel")>=Rang)return 1;
    return 0;
    }


    Eigentlich specihert das bei Disconnect eigentlich?

    Wie gesagt.
    Beim normalen DC speichert er es...
    Beim GMX nicht..

  • Und bei Disconnect, speichert dass das da ab?


    Unknown

  • Wie meinst du es?


    wenn ichs so mache:


    public OnGameModeExit()
    {

    SpielerSpeichern(playerid);
    return 1;
    }


    kommt:
    C:\Users\---\Desktop\SAMP\gamemodes\Selfmade.pwn(68) : error 017: undefined symbol "playerid"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

  • public OnGameModeExit()
    {
    for(new i;i<MAX_PLAYERS,i++)
    {
    SpielerSpeichern(i);
    }
    return 1;
    }


    C:\Users\---\Desktop\SAMP\gamemodes\Selfmade.pwn(67) : error 001: expected token: ";", but found ")"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

  • oh okay ;D


    Sorry ^^


    ich probier es mal ebend aus.


    Edit:


    Es funktioniert immernochnicht...
    Sobald ich ingame /gmx eingebe kommt beim nächsten Admincommand:


    "Du bist nicht berechtigt diesen Befehl auszuführen!"

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