Spieler wird nicht gebannd?

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 ihr Fische..


    Ich habe gerade ein Warn befehl gemacht, aber wenn der Spieler 3/3 WARNS hat dann wird der nicht gebannd?...weis einer wo das problem sein kann?...


    ocmd:warn(playerid,params[])
    {
    new pID, reason, string[150], aName[MAX_PLAYER_NAME], oName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,aName, sizeof(aName));
    GetPlayerName(pID,oName, sizeof(oName));
    if(SpielerInfo[playerid][pAdmin] < 2)return SendClientMessage(playerid,COLOR_GREY,"Du darfst dieses Befehl nicht benutzen.");
    if(sscanf(params,"us",pID, reason))return SendClientMessage(playerid,COLOR_GREY,"FEHLER: /warn [playerid] [Grund]");
    SpielerInfo[playerid][pWarns] ++;
    format(string, sizeof string,"AdmCmd: %s wurde von %s verwarnt, Grund: %s",oName, aName, reason);
    SendClientMessageToAll(COLOR_LIGHTRED,string);
    if(SpielerInfo[pID][pWarns] > 2)
    {
    format(string, sizeof string,"AdmCmd: %s wurde vom Anti-System gebannt, Grund: 3/3 Verwarnungen",oName);
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    SpielerInfo[pID][pBan] = 1;
    Kick(pID);
    }
    SavePlayer(pID);
    return 1;
    }

  • Das geht immer noch nicht, und wenn ich dieses befehl benutze steht da "Unknown Command" aber ich habe dort ein return stehen?....



    bei mir siehts jetz so aus.
    ocmd:warn(playerid,params[])
    {
    new pID, reason, string[150], aName[MAX_PLAYER_NAME], oName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,aName, sizeof(aName));
    GetPlayerName(pID,oName, sizeof(oName));
    if(SpielerInfo[playerid][pAdmin] < 2)return SendClientMessage(playerid,COLOR_GREY,"Du darfst dieses Befehl nicht benutzen.");
    if(sscanf(params,"us",pID, reason))return SendClientMessage(playerid,COLOR_GREY,"FEHLER: /warn [playerid] [Grund]");
    SpielerInfo[pID][pWarns] ++;
    format(string, sizeof string,"AdmCmd: %s wurde von %s verwarnt, Grund: %s",oName, aName, reason);
    SendClientMessageToAll(COLOR_LIGHTRED,string);
    if(SpielerInfo[pID][pWarns] > 2)
    {
    format(string, sizeof string,"AdmCmd: %s wurde vom Anti-System gebannt, Grund: 3/3 Verwarnungen",oName);
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    SpielerInfo[pID][pBan] = 1;
    Kick(pID);
    }
    SavePlayer(pID);
    return 1;
    }

    Einmal editiert, zuletzt von TimTom ()


  • ocmd:warn(playerid,params[])
    {
    new pID, reason, string[150], aName[MAX_PLAYER_NAME], oName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,aName, sizeof(aName));
    GetPlayerName(pID,oName, sizeof(oName));
    if(SpielerInfo[playerid][pAdmin] < 2)return SendClientMessage(playerid,COLOR_GREY,"Du darfst dieses Befehl nicht benutzen.");
    if(sscanf(params,"us",pID, reason))return SendClientMessage(playerid,COLOR_GREY,"FEHLER: /warn [playerid] [Grund]");
    SpielerInfo[pID][pWarns] ++;
    format(string, sizeof string,"AdmCmd: %s wurde von %s verwarnt, Grund: %s",oName, aName, reason);
    SendClientMessageToAll(COLOR_LIGHTRED,string);
    if(SpielerInfo[pID][pWarns] > 2)
    {
    format(string, sizeof string,"AdmCmd: %s wurde vom Anti-System gebannt, Grund: 3/3 Verwarnungen",oName);
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    SpielerInfo[pID][pBan] = 1;
    SavePlayer(pID);
    Kick(pID);
    }
    return 1;
    }


    Erstmal hast du die playerid verwechselt und dann Speicherst du den Spieler erst nachdem er gekickt wird.
    Probiers mal so!

  • du hast in den params "reason" als string angegeben..
    if(sscanf(params,"us",pID, reason))
    aber du hast reason nicht als string deklariert
    new pID, reason, string[150], aName[MAX_PLAYER_NAME], oName[MAX_PLAYER_NAME];

  • Okay, nun ist alles gefixxt, nur da ist noch ein problem,...z.B wenn ich die id 0 habe und "/warn 7863 cbug eingebe dann gibt der an id 0 den Warn...
    wie kann ich das so machen, wenn die id nicht onliene ist, das dort auch angezeigt wird "Dieser Spieler ist nicht onliene"


    Danke im Vorraus