Hilfe beim Kick Befehl

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
  • Ich habe ein Kick Befehl erstellt aber wenn ich es Ingame Teste returnt er mir Server Unknow Command


    ocmd:kick(playerid,params[]){
    if(SpielerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, COLOR_ROT, "Du darfst diesen Befehl nicht nutzen.");
    new pID,grund,string[128];
    if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,COLOR_ROT,"Benutzung: /kick [ID] [Grund]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,COLOR_ROT,"Dieser Spieler ist nicht Online");
    format(string,128,"Info: Der Spieler %s wurde vom %s gekickt Grund: %s",GetSpielerName(pID),GetSpielerName(playerid),grund);
    SendClientMessageToAll(COLOR_ROT,string);
    Kick(playerid);
    return 1;
    }

    In der Console Steht
    sscanf warning: Strings without a length are deprecated, please add a destination size.


    Aber ich weiß net wo ich eine Size angeben soll also bei welchen String :wacko:

  • sscanf warning: Strings without a length are deprecated, please add a destination size.


    Dies ist weil du in deiner sscanf Anfrage vergessen hast eine String Größe anzugeben.


    if(sscanf(params,"us",pID,grund) //Falsch
    if(sscanf(params,"us[128]",pID,grund) //Als Beispiel richtig


    In dem erstellen der Variable grund hast du zudem auch vergessen eine Stringgröße zu definieren. Ohne diese Größe kannst du maximal dezimal Zahlen setzen und da Grund ja normallerweisse mindestens ein Wort ist, ist es logischer weisse ein string, was auch in deiner sscanf Abfrage definiert wurde.


    EDIT


    Somit wird aus:


    new pID,grund,string[128];
    if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,COLOR_ROT,"Benutzung: /kick [ID] [Grund]");


    Dies:


    new pID,grund[56],string[128];
    if(sscanf(params,"us[56]",pID,grund))return SendClientMessage(playerid,COLOR_ROT,"Benutzung: /kick [ID] [Grund]");