Adminlevel's im Filterscript!

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
  • Im Gamemode hab ich die Sachen:


    #include <a_samp>
    #include <dini>


    #define DIALOG_REGISTER 4
    #define DIALOG_LOGIN 5
    #define ADMINLVL Adminlevel


    enum SInfo
    {
    Adminlevel,
    Fraktion,
    ChangeHC
    }
    new SpielerInfo[MAX_PLAYERS][SInfo];




    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","Your Account has been found, please Enter your Password:","Login","Cancel");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Please enter your Password for the Registration:","Register","Cancel");
    }
    return 1;
    }


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


    public OnPlayerSpawn(playerid)
    {
    if(SpielerInfo[playerid][ADMINLVL] >= 1) //da musste deine definitions von den Adminlvls einfügen
    {
    SetPlayerColor(playerid,0x00FF00FF);
    }
    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid==DIALOG_LOGIN)
    {
    if(response==0)
    {
    SendClientMessage(playerid,0x00FF00FF,"You have not Logged. Your Data was not loaded!");
    return 1;
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,0x00FF00FF,"Please write your Password!");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Your Account has been found, please Enter your Password:","Login","Cancel");
    return 1;
    }
    else
    {
    Login(playerid,inputtext);
    return 1;
    }
    }
    }
    if(dialogid==DIALOG_REGISTER)
    {
    if(response==0)
    {
    SendClientMessage(playerid,0x00FF00FF,"You are not Registered. Your Data will not be saved!");
    return 1;
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,0x00FF00FF,"Please write a Password!");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Please enter your Password for the Registration:","Register","Cancel");
    return 1;
    }
    else
    {
    Register(playerid,inputtext);
    return 1;
    }
    }
    }
    return 1;
    }


    stock Register(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_Create(Spielerdatei);
    dini_Set(Spielerdatei,"Password",key);
    SendClientMessage(playerid,0x00FF00FF,"You have successfully Registered!");
    SetPlayerScore(playerid,0);
    return 1;
    }


    stock Login(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(!strcmp(key,dini_Get(Spielerdatei,"Password"),false))
    {
    LoadAccount(playerid);
    SendClientMessage(playerid,0x00FF00FF,"You have successfully Logged!");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,0x00FF00FF,"Wrong Password!");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Your Account has been found, please Enter your Password:","Login","Cancel");
    return 1;
    }
    }


    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"));
    SpielerInfo[playerid][Adminlevel]=dini_Int(Spielerdatei,"Adminlevel");
    SpielerInfo[playerid][Fraktion]=dini_Int(Spielerdatei,"Fraktion");
    SpielerInfo[playerid][ChangeHC]=dini_Int(Spielerdatei,"ChangeHC");
    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",SpielerInfo[playerid][Adminlevel]);
    dini_IntSet(Spielerdatei,"Fraktion",SpielerInfo[playerid][Fraktion]);
    dini_IntSet(Spielerdatei,"ChangeHC",SpielerInfo[playerid][ChangeHC]);
    return 1;
    }


    stock ResetVariablen(playerid)
    {
    SpielerInfo[playerid][Adminlevel]=0;
    SpielerInfo[playerid][Fraktion]=0;
    SpielerInfo[playerid][ChangeHC]=0;
    return 1;
    }


    Nun, die Klammern stimmen hier nicht, aber in meinem Gamemode funzt es!
    Also alle die Adminlvl 1 und höher haben sind grün.



    Jetzt wollte ich das in einen Filterscript für Admincommandos einbauen und des funktionert bei mir nicht.
    Der FS:
    http://pastebin.com/cbN1RqP0


    Ohne if(adminlvl....), also mit if(isplayeradmin...) funktioniert es.
    Das ist ja nicht der ganze FS ich hab nur des hier gezeigt, was ich mit den adminlvls eingebaut hab.


    Es kommen zwar keine errors beim compli, aber wenn ich im spiel die kommandos wähle, kommt nichts.


    Ich hoffe jemand kann mir helfen, ich hab schon so viel ausprobiert, aber bekomme es nicht hin.

    Zocke kein GTA SA mehr !
    Nur noch GTA SA-Multiplayer!

    Einmal editiert, zuletzt von Alex007 ()

  • IsPlayerAdmin(playerid) überprüft auch, ob man RconAdmin ist, und nicht Admin von deinem Script aus.

    mfg RedDragon 8)


    Was ist GFKD?


    Ein revolutionärer Clan, dessen Eröffnung kurz bevorsteht.
    Mehr Informationen folgen bald.

  • Ich würde mal sagen:


    if(SpielerInfo[playerid][Adminlevel] >= 2) // falls man Level 2 oder höher ist...

    mfg RedDragon 8)


    Was ist GFKD?


    Ein revolutionärer Clan, dessen Eröffnung kurz bevorsteht.
    Mehr Informationen folgen bald.

  • Schreib mal zu onplayerspawn das er sich einloggt da er die sachen nicht läd fir den filterscript bist und bleibst du admin level 0


    EDIT: dan must du im filterscript noch sowas wie /makeadmin machen ;)