Ban System Fail.

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,
    ja wie ihr seht hab ich wiedermal ein Problem. Ich hab ein Ban system erstellt (Mit MrMonat Tuts).
    Aber wenn ich mich Banne und ich in mein Account Ordner reingehe und dann auf mein Namen steht da
    baned=0
    Es muss aber
    baned=1
    stehen.
    InGame kann ich auch wieder gehen ohne das ich gekickt werde, weil ich gebannt wurde und ich hab keine Errors.






    Ich hoffe ihr könnt mir weiterhelfen.



    Mit freundlichen Grüßen
    iMan

  • Wird doch gespeichert.



  • ocmd:ban(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
    new pID, reason[128],string[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,GRAU,"Nutze /ban [ID] [GRUND]");
    format(string,sizeof(string),"%s wurde von Admin %s gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
    SendClientMessageToAll(ORANGE,string);
    SetPVarInt(pID,"Baned",1);
    /*Achtung, das fehlt(e):*/ SpielerSpeichern;
    Kick(pID);
    return 1;
    }



    Zitat
    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,"Passwort",key);
    SendClientMessage(playerid,0x00FF00FFF,"Du hast dich Erfolgreich auf unserem Server registriert.");
    dini_IntSet(Spielerdatei,"Level",0);
    dini_IntSet(Spielerdatei,"Geld",5000);
    dini_IntSet(Spielerdatei,"Adminlevel",0);
    dini_IntSet(Spielerdatei,"Baned",0);
    GivePlayerMoney(playerid,5000);
    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,"Passwort"),false))
    {
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
    SendClientMessage(playerid,0x00FF00FFF,"Du hast dich Erfolgreich eingeloggt.");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,0xFF0A00FF,"Falsches Passwort!");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Gib dein Passwort ein um dich einzuloggen.","Login","Abbrechen");
    return 1;
    }
    }


    stock LoadAccount(playerid)
    {
    new Spielederdatei[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,"Baned",dini_Int(Spielerdatei,"Baned"));
    if(GetPVarInt(playerid,"Baned")==1)
    {
    SendClientMessage(playerid,ROT,"Du bist vom Server gebannt!");
    Kick(playerid);
    }
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }
    stock SpielerSpeichern(playerid)
    {
    new Spielederdatei[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,"Baned",GetPVarInt(playerid,"Baned"));
    return 1;
    }


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


    Liebe Grüße


    Marcel

  • Das ist ja iwie nich das Problem.
    Also ich werd allgemein nicht gebannt.
    Also ich bann mich dann steht da ja ich wurde gebannt aber,
    wenn ich versuche inGame zu kommen klappt es sogar.
    Und in mein Account Ordner hat sich auch nix geändert.
    baned=0 (heißt nicht gebannt)
    baned=1 (heist gebannt)


    Und bei mir bleibt es 0.

  • Marcel wenn ich SpielerSpeichern; eingebe bekomme ich error.



    C:\Users\Arash\Desktop\World~of~Reallife\gamemodes\World~of~Reallife.pwn(147) : error 076: syntax error in the expression, or invalid function call
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

  • Versuchs mal so Master:


    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,"Passwort",key);
    SendClientMessage(playerid,0x00FF00FFF,"Du hast dich Erfolgreich auf unserem Server registriert.");
    dini_IntSet(Spielerdatei,"Level",0);
    dini_IntSet(Spielerdatei,"Geld",5000);
    dini_IntSet(Spielerdatei,"Adminlevel",0);
    dini_IntSet(Spielerdatei,"Baned",0);
    GivePlayerMoney(playerid,5000);
    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,"Passwort"),false))
    {
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
    SendClientMessage(playerid,0x00FF00FFF,"Du hast dich Erfolgreich eingeloggt.");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,0xFF0A00FF,"Falsches Passwort!");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Gib dein Passwort ein um dich einzuloggen.","Login","Abbrechen");
    return 1;
    }
    }


    stock LoadAccount(playerid)
    {
    new Spielederdatei[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,"Baned",dini_Int(Spielerdatei,"Baned"));
    if(GetPVarInt(playerid,"Baned")==1)
    {
    SendClientMessage(playerid,ROT,"Du bist vom Server gebannt!");
    Kick(playerid);
    }
    SetPVarInt(playerid,"loggedin",1);
    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,"Baned",GetPVarInt(playerid,"Baned"));
    return 1;
    }


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


    ocmd:ban(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
    new pID, reason[128],string[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,GRAU,"Nutze /ban [ID] [GRUND]");
    format(string,sizeof(string),"%s wurde von Admin %s gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
    SendClientMessageToAll(ORANGE,string);
    SetPVarInt(pID,"Baned",1);
    SpielerSpeichern(pID);
    Ban(pID);
    return 1;
    }




  • Zitat


    stock Register (playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));


    Zitat


    stock Login (playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];


    Zitat


    stock LoadAccount(playerid)
    {
    new Spielederdatei[64];
    new name[MAX_PLAYER_NAME];