Unban command geht nicht

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
  • Hallo Community!
    dieser Command entbannt den Spieler nicht was ahbe ich falsch gemacht?


    ocmd:unban(playerid,params[])
    {
    if(pInfo[playerid][padmin] >= 1337)
    {
    new pID, string[128];
    if(pInfo[pID][pbanned] == 1)
    {
    SendClientMessage(playerid,COLOR_GRAU,"Der Spieler ist nicht gebannt.");
    }
    else
    {
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_GRAU,"Verwendung: /unban [playerid]");
    format(string,sizeof(string),"Du hast %s entbannt. Er kann wieder auf dem Server.",SpielerName(pID));
    SendClientMessage(playerid,COLOR_BLAU,string);
    pInfo[pID][pbanned] = 0;
    SpielerSpeichern(pID);
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht befugt diesen befehl zu nutzen!");
    }
    return 1;
    }

  • Wieso willst du einen Spieler entbannen, der bereits auf dem Server drauf ist ? ?(
    Da musst du anders rangehen. MySQL oder anderes Speichersys ?

  • falls ich das richtig in erinnerung hab söllte das hier die lösung sein, schaue dir den code mal an und ändere bei dini das bann ding.
    dann wirst du deinen fehler sehen :)

    ocmd:unban(playerid,params[])
    {
    new pID[MAX_PLAYER_NAME],string[128],var;
    if(pInfo[playerid][padmin] >= 1337)//adminabfrage
    {
    if(sscanf(params,"s",pID))return SendClientMessage(playerid,COLOR_GRAU,"Verwendung: /unban [Spielername]");
    format(string,sizeof(string),"/accounts/%s",pID);
    if(!dini_Exists(string))return SendClientMessage(playerid,COLOR_GRAU,"Der Spieler existiert nicht!");
    var=dini_Int(string,"pbanned");
    if(var!=1)return SendClientMessage(playerid,COLOR_GRAU,"Der Spieler ist nicht gebannt!");
    dini_IntSet(string,"pbanned",0);
    format(string,sizeof(string),"Du hast %s entbannt. Er kann wieder auf dem Server.",SpielerName(pID));
    SendClientMessage(playerid,COLOR_BLAU,string);
    }
    else return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht befugt diesen befehl zu nutzen!");
    return 1;
    }

    @west123:
    das machts auch nicht besser

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • tut mir ja leid das ich das nur sage das es schwachsinn ist ob ==1 oder !=1 ,


    /e zumindest wie es oben stand.



    Kann ich das mit dem dini_Int weg machen weil diese sachen mit Banned und so habe ich schon im SpielerSpeichern/Spielerladen stock drinne..


    stock LadeAccount(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    new Spielerdatei[264];
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    pInfo[playerid][plevel] = SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    pInfo[playerid][pgeld] = GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    pInfo[playerid][padmin] = dini_Int(Spielerdatei,"Adminlevel");
    pInfo[playerid][premium] = dini_Int(Spielerdatei,"Premium");
    pInfo[playerid][pbanned] = dini_Int(Spielerdatei,"Banned");
    if(pInfo[playerid][pbanned] == 1)
    {
    SendClientMessage(playerid,COLOR_GRAU,"Du bist vom Server gebannt.");
    Kick(playerid);
    }
    pInfo[playerid][plogged] = 1;
    return 1;
    }


    stock SpielerSpeichern(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    new Spielerdatei[264];
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",pInfo[playerid][plevel]);
    dini_IntSet(Spielerdatei,"Geld",pInfo[playerid][pgeld]);
    dini_IntSet(Spielerdatei,"Adminlevel",pInfo[playerid][padmin]);
    dini_IntSet(Spielerdatei,"Premium",pInfo[playerid][premium]);
    dini_IntSet(Spielerdatei,"Banned",pInfo[playerid][pbanned]);
    return 1;
    }

  • Die stocks werden aber nur beim Verlassen und Betreten aufgerufen, was eben nicht der Fall ist, wenn man nicht auf den
    Server kommen kann.
    Logik ftw.

  • Ja nun sagt er mir ein Fehler...
    format(string,sizeof(string),"Du hast %s entbannt er kann den Server absofort wieder betretten.",SpielerName(pID));


    Zeile (215) : Falscher Variablentyp als Parameter (Parameter #1)


    1 Errors, 0 Warnungen
    Du hast Errors im Skript. Kompilierung abgebrochen


    PWNMod Compiler Version 1.2
    (c) Trooper[Y]
    In Kooperation mit GTA-Servers.de

  • Ups Sorry danke.
    Nein ich arbeite halt viel mit dem SpielerName xD


    //EDIT:
    Habe nochw as kleines geändert jetzt geht er Danke ;)
    Und eins brauche ich noch, wenn ich als gebannter den server betrette Kommt das Login Dialog.
    Ich muss erst das Passwort eingeben und wenn ichd as gemacht habe steht erst dort du bist vom server gebannt und werde gekickt.
    Wie mache ich das wenn der Spieler connected soll er sofort wieder vom server geschmissen werden?

    Einmal editiert, zuletzt von Pascal1998 ()