/kick problem (finde simplen fehler 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
  • hi
    ich habe das problem wenn ich /kick eingebe es mich selber kickt. Dabei sollte eighentlich wenn ich keine id und grund angebe nichts machen.
    hier mein code:
    if(!strcmp(cmdtext,"/kick",true))
    {
    if(Spieler[playerid][admin] > 0)
    {
    new kickid = strval(strget(cmdtext, 1));
    new grund = strval(strget(cmdtext, 2));
    new pname[MAX_PLAYER_NAME];
    new kickplayer[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof(pname));
    GetPlayerName(kickid,kickplayer,sizeof(kickplayer));
    Kick(kickid);
    new string[200];
    format(string,sizeof(string),"%s wurde von %s gekickt. Grund: %s",kickplayer,pname,grund);
    SendClientMessageToAll(0xFF0037FF,string);
    return 1;}
    else {
    SendClientMessage(playerid, 0x004BFFFF,"Du bist kein Admin");
    return 1;
    }}


    Hoffe einer weiß rat

  • Hallo,
    ich habe ein anderes Problem mit /kick.
    Jedes mal wenn ich jemanden kicken möchte hat mein Server einen Crash.
    Bitte um Hilfe.


    Hier mein Code:
    if(strcmp(cmd, "/kick", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /kick [ID/NAME] [reason]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
    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 [ID/NAME] [reason]");
    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);
    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 is not an active player.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }


    PS: Sehe zwar deinen Fehler nicht aber du kannst dir ja meinen Teil einbauen. ;)


    danke im vorraus
    mfg
    humen

  • if(!strcmp(cmdtext,"/kick",true))
    {
    if(Spieler[playerid][admin] > 0)
    {
    if(!strlen(strget(cmdtext,2))) return SendClientMessage(playerid,FARBE,"/kick ID Grund");
    new kickid = strval(strget(cmdtext, 1));
    if(IsPlayerConnected(kickid)) {
    new grund = strlen(strget(cmdtext, 1))+6;
    new pname[MAX_PLAYER_NAME];
    new kickplayer[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof(pname));
    GetPlayerName(kickid,kickplayer,sizeof(kickplayer));
    new string[128];
    format(string,sizeof(string),"%s wurde von %s gekickt. Grund: %s",kickplayer,pname,cmdtext[grund]);
    SendClientMessageToAll(0xFF0037FF,string);
    Kick(kickid);
    return 1;}}
    else {
    SendClientMessage(playerid, 0x004BFFFF,"Du bist kein Admin");
    return 1;
    }}
    Hast du dich vllt selbst gekickt, weil du keine ID angegen hast?


    Humen: Kicklog vorhanden?

  • ja wenn ich keine id angebe. Aber dies sollte nicht sein.

  • im scriptfiles muss eine DATEI kick.log sein, kein ordner :O