/kick funktioniert 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
  • Servus.


    Hab mal einen /kick Befehl mit OCMD gescriptet.
    Dieser Befehl funktioniert allerdings nicht, bekomme 4 Errors.



    C:\Users\user\Desktop\Server\gamemodes\Script.pwn(404) : error 017: undefined symbol "MAX_PLAYERNAME"
    C:\Users\user\Desktop\Server\gamemodes\Script.pwn(404) : error 029: invalid expression, assumed zero
    C:\Users\user\Desktop\Server\gamemodes\Script.pwn(404) : error 017: undefined symbol "reason"
    C:\Users\user\Desktop\Server\gamemodes\Script.pwn(404) : fatal error 107: too many error messages on one line



    ocmd:kick(playerid, params[])
    {
    if (sSpieler[playerid][Adminlevel] < 1)return SendClientMessage(playerid, rot, "Du darfst diesen Befehl nicht verwenden!");
    new pID[MAX_PLAYERNAME], reason, Aname[MAX_PLAYERNAME];
    GetPlayerName(playerid, Aname, sizeof(Aname));
    if (sscanf(params, "ii", pID))return SendClientMessage(playerid, rot, "Fehlerhafter Parameter! Verwende: /kick [ID/Name] [Grund]");
    {
    SetCameraBehindPlayer(pID);
    SetPlayerVirtualWorld(pID, 0);
    TogglePlayerControllable(pID, 0);
    format(string, sizeof(string), "%s wurde von %d gekickt. Grund: %i", SpielerName(pid), Aname, reason);
    Kick(pID)
    }
    return 1;
    }


    Der Fehler liegt bei " new pID[MAX_PLAYERNAME], reason, Aname[MAX_PLAYERNAME];"
    Weiß aber nicht was da falsch sein soll ._.


    Hier übrigends der Stock SpielerName (könnte ja vllt relevant sein):

    stock SpielerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    return name;
    }


    Grüße :)

  • So hier hast du den Code!

    Code
    ocmd:kick(playerid, params[])
    {
    	if(sSpieler[playerid][Adminlevel] < 1)return SendClientMessage(playerid, rot, "Du darfst diesen Befehl nicht verwenden!");
        new pID, reason[32], string[128];
        if(sscanf(params, "us[32]", pID, reason))return SendClientMessage(playerid, rot, "Fehlerhafter Parameter! Verwende: /kick [ID/Name] [Grund]");
    	format(string, sizeof(string), "%s [%d] wurde von %s [%d] gekickt! Grund: %s", SpielerName(pID), pID, SpielerName(playerid), playerid, reason);
    	SendClientMessageToAll(-1, string);
    	Kick(pID);
    	return 1;
    }
  • Beitrag von Fernando1337 ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Beitrag von Fernando1337 ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Funktioniert wohl doch nicht.
    Ist von pawno her alles fehlerfrei, allerdings wenn ich Ingame bin und einen Spieler versuche zu kicken, erscheint immer folgende Meldung:
    Fehlerhafter Parameter! Verwende: /kick [ID/Name] [Grund]