Ocmd /kick problem

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 Leute folgendes problem ich habe ein grobes /kick id grund erstellt nur erkennt er den namen vom dem der gekickt werden soll nicht und kick ihn auch nicht..
    der gekickte ist das new player;


    ocmd:kick(playerid, params[])
    {

    new player, grund;
    if(sscanf(params,"is",player,grund))
    {
    return SendClientMessage(playerid,ADMG,"Verwende /kick [ID] [Grund]");
    }
    new string[128];
    new xname[MAX_PLAYER_NAME];
    new xname2[MAX_PLAYER_NAME];
    GetPlayerName(playerid,xname,sizeof(xname));
    GetPlayerName(player,xname2,sizeof(xname2));
    format(string,sizeof(string),"%s wurde von %s gekickt. Grund: %s",xname2,xname,grund);
    SendClientMessageToAll(ADMG,string);
    Kick(player);
    return 1;
    }

  • ocmd:kick(playerid, params[])
    {

    new player, grund[50]; // grund muss ein String sein
    if(sscanf(params,"us",player,grund)) return SendClientMessage(playerid,ADMG,"Verwende /kick [ID] [Grund]"); // "u" damit man auch den Spielername eingeben kann
    new string[128];
    new xname[MAX_PLAYER_NAME];
    new xname2[MAX_PLAYER_NAME];
    GetPlayerName(playerid,xname,sizeof(xname));
    GetPlayerName(player,xname2,sizeof(xname2));
    format(string,sizeof(string),"%s wurde von %s gekickt. Grund: %s",xname2,xname,grund);
    SendClientMessageToAll(ADMG,string);
    Kick(player);
    return 1;
    }

  • ocmd:kick(playerid, params[])
    {


    new player, grund[256];
    if(sscanf(params,"us",player,grund))
    {
    return SendClientMessage(playerid,ADMG,"Verwende /kick [ID] [Grund]");
    }
    new string[128];
    new xname[128];
    new xname2[128];
    GetPlayerName(playerid,xname,sizeof(xname));
    GetPlayerName(player,xname2,sizeof(xname2));
    format(string,sizeof(string),"%s wurde von %s gekickt. Grund: %s",xname2,xname,grund);
    SendClientMessageToAll(ADMG,string);
    Kick(player);
    return 1;
    }


    Probiere es mal so!


    Auserdem,wenn du einen String wiedergeben willst,musst du auch eine Zeichenangabe machen!
    Nicht nur new grund; sondern new grund[128] oder [256];!



    Hoffe ich konnte helfen


    Lg
    [FoR]Hard/MultiCore

  • Nicht nur new grund; sondern new grund[128] oder [256];!


    Was für ein Schwachsinn für einen Grund der aus maximal 1-2 Worten besteht einen String mit 256 Zeichen zu erstellen, schon allein da die maximale Zeichenlänge bei 128 liegt.
    32 Zeichen reichen da vollkommen aus und belasten den Server nicht so stark ...

  • Es ist völlig egal wieviele Zeichen man maximal in nem String verwenden kann...
    Solange es ein leistungsstarker Server ist,ist dass meines Erachtens nach völlig in Ordnung!


    Auserdem ist 128 nicht die maximale Länge sondern 256!


    Egal,Thema ist erledigt...Niko...du kannst es nun schliesen;)