Ban wird nocht auf 1 gesetzt

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,
    Ich habe einen Problem undzwar wenn ich /ban [ID] [Grund] eingebe wird er vom Server gebannt, aber er kann ganznormal wieder Connecten und auff der Datenbank wird es bei pBan nicht auf 1 gesetzt!


    stock SpielerLaden(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.ini",Sname);
    if(dini_Exists(Spieler))
    {
    sInfo[playerid][Adminlevel] = dini_Int(Spieler,"Adminlevel");
    GivePlayerMoney(playerid,dini_Int(Spieler,"pGeld"));
    dini_IntSet(Spieler,"pBan",GetPVarInt(playerid,"pBan"));
    }
    if(GetPVarInt(playerid,"pBan")==1)
    {
    SendClientMessage(playerid,0xEB0000FF,"Du bist auf diesem Server gebannt!");
    }
    return 1;
    }


    ocmd:ban(playerid, params[])
    {
    if(!isAdmin(playerid,4))return SendClientMessage(playerid,GRAU,"Dir ist es nicht erlaubt, diesen Befehl zu benutzen!");
    new pID, reason[128],string[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,GRAU,"Verwendung: /ban [PlayerID] [Grund]");
    format(string,sizeof(string),"SERVER: %s wurde von %s gebannt. Grund: %s",GetName(pID),GetName(playerid),reason);
    SendClientMessageToAll(ROT,string);
    sInfo[playerid][pBan] = 1;
    Kick(pID);
    return 1;
    }


    stock SpielerSpeichern(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.ini",Sname);
    if(dini_Exists(Spieler))
    {
    dini_IntSet(Spieler,"Adminlevel",sInfo[playerid][Adminlevel]);
    dini_IntSet(Spieler,"pGeld",GetPlayerMoney(playerid));
    dini_IntSet(Spieler,"pBan",GetPVarInt(playerid,"pBan"));
    }
    return 1;
    }

  • Wird immer noch nicht auf 1 gesetet

  • Der Lösungsvorschlag ist nicht korrekt. Mache es so wie ich es dir geschrieben habe.
    Achte aber darauf, dass du von dem Code aus startest, den du anfangs gepostet hast, also mache diese Änderung zuerst rückgängig.


    ...
    Fehler in 2 Sekunden gesehen.

    Code
    sInfo[playerid][pBan] = 1;

    zu

    Code
    sInfo[pID][pBan] = 1;

    Sonst settet der Admin sich selbst die 1 in der Datenbank lel.

    Habe ich Jeffrey


    Probiere ich gleich aus