/kick Befehl buggt ?!
Hallo Cm,
ich habe ein problem mit dem Kick Befehl , wenn ich zb /kick 3 Cheater mache wird die ID 0 Gekickt.
PLS
Help
/kick Befehl buggt ?!
Hallo Cm,
ich habe ein problem mit dem Kick Befehl , wenn ich zb /kick 3 Cheater mache wird die ID 0 Gekickt.
PLS
Help
i
f(strcmp(cmd, "/kick", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /kick [playerid] [Grund]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pSupporter] >= 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, "FEHLER: /kick [playerid] [Grund]");
return 1;
}
if(PlayerInfo[giveplayerid][pAdmin] > PlayerInfo[playerid][pAdmin])
{
SendClientMessage(playerid, COLOR_GRAD2, "Du kannst diesen Spieler nicht kicken, da er ein höheres Adminlevel hat als du!");
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);
SetPlayerPos(giveplayerid,279.7885,1867.9598,8.7578);
SetPlayerInterior(giveplayerid,0);
ResetPlayerWeapons(giveplayerid);
SendClientMessage(giveplayerid,COLOR_YELLOW,"Du wurdes gekickt überlege warum gehe unter www.gbcl-city-live.tk beschwerde über Admins wen es ein problem gibt!");
TogglePlayerControllable(giveplayerid,0);
Kick(giveplayerid);
return 1;
}
}
}
else
{
format(string, sizeof(string), " %d ist kein aktiver Spieler.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}
Ich wollte eig nur wissen warum der die ID 0 immer kickt ?
DAs kannst du nicht mit strcmp machen, das geht nur mit ocmd, dcmd ect.
weil du ja eine ID angeben musst.
Mach es so:ocmd:kick(playerid,params[])
{
new pID;
if (IsPlayerAnAdmin(pID,1)) return SendClientMessage(playerid,0xE10000FF,"Du kannst keine Admins kicken!");
if (!IsPlayerAnAdmin(playerid,1)) return SendClientMessage(playerid,0xE10000FF,"Du bist kein Admin/Rang zu niedrig!");
new reason[128], string[128];
if(sscanf(params,"us",pID,reason)) return SendClientMessage(playerid,ROT,"Nutze /kick [Playerid] [Grund]");
format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s.",SpielerName(pID),SpielerName(playerid),reason);
SendClientMessageToAll(ROT,string);
Kick(pID);
return 1;
}