Befehle funktionieren 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
  • Moinmoin,


    ich habe ein Problem, unzwar ist es so dass, wenn ich zum Beispiel /kick eingebe noch z.B. /kick 0 eingeben kann aber ab dem Grund dahinter will er es nicht mehr. wenn ich die 0 oder ne andere Zahl durch ein 'ß' ersetze funktioniert das und der erste in der Tabliste wird gekickt mit dem angegebenen Grund. Und das ist bei jedem Befehl mit mindestens ner ID die man auch eingeben muss. Woran könnte das liegen?


    Mfg,
    Seb

  • if(strcmp(cmd, "/kick", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    giveplayerid = ReturnUser(tmp);
    if(Spieler[playerid][Admin] >= 3)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_HELLBLAU, "Verwendung: /kick [Name/ID] [Grund]");
    return 1;
    }
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_HELLBLAU, "Verwendung: /kick [Name/ID] [Grund]");
    return 1;
    }
    new year, month,day;
    getdate(year, month, day);
    new std, minute, sek;
    gettime(std,minute,sek);
    format(string, sizeof(string), "AdmCmd: %s wurde von %s gekickt, Grund: %s (%d.%d.%d)(%d:%d:%d)", giveplayer,sendername,(result),day,month,year,std,minute,sek);
    KickLog(string);
    Kick(giveplayerid);
    format(string, sizeof(string), "AdmCmd: %s wurde von %s gekickt, Grund: %s", giveplayer, sendername, (result));
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    return 1;
    }
    }
    }
    else
    {
    format(string, sizeof(string), "%d ist kein aktiver Spieler.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAU, string);
    }
    }
    return 1;
    }

  • Machs mit OCMD, ist viel leichter ;)
    Musst halt jetzt nur anpassen.



    ocmd:kick(playerid,params[])
    {
    new pID, reason[128], string[128];
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,rot,"Du bist kein Administrator!");
    if(sscanf(params,"us"))return SendClientMessage(playerid,hellblau,"Benutzung: /kick [ID] [Grund]");
    format(string,sizeof(string),"NYCR-Bot: %s wurde von Admin %s gekickt! Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
    SendClientMessageToAll(rot,string);
    GameTextForPlayer(pID,"~r~ GEKICKT!",50000,3);
    TogglePlayerControllable(playerid,0);
    Kick(pID);
    return 1;
    }

    Mit unfreundlichen Grüßen
    Buschmensch

  • if(strcmp(cmd, "/kick", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "BENUTZE: /kick [PlayerID/Name] [Grund]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(Spieler[playerid][Admin] >= 3)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result)) { SendClientMessage(playerid, COLOR_GRAD2, "BENUTZE: /kick [PlayerID/Name] [Grund]");
    return 1;
    }
    new year, month,day;
    getdate(year, month, day);
    format(string, sizeof(string), "AdmCmd: %s wurde von %s gekickt, Grund: %s (%d-%d-%d)", giveplayer, sendername, (result),month,day,year);
    KickLog(string);
    format(string, sizeof(string), "AdmCmd: %s wurde von %s gekickt, Grund: %s", giveplayer, sendername, (result));
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    Kick(giveplayerid);
    return 1;
    }
    }
    else
    {
    format(string, sizeof(string), "%d ist kein aktiver Spieler.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }