CMD:kick(playerid, params[])
{
new string[128], str[356], id, reason[128];
if(PlayerAcc[playerid][Log] == 0) return SendClientMessage(playerid, COLOR_ORANGE, "** You are not logged in, please login first.");
if(PlayerAcc[playerid][Admin] == 0) return SendClientMessage(playerid, -1,""orange"** Sorry, only admins level 4+ can do that command.");
if(PlayerAcc[playerid][Admin] >= 4)
{
if(sscanf(params, "us[128]", id, reason)) return SendClientMessage(playerid, COLOR_ORANGE, "** You must be type /kick <playerid> <reason>");
if(PlayerAcc[playerid][Admin] < PlayerAcc[id][Admin]) return ErrorMessages(playerid, 3);
if(id == INVALID_PLAYER_ID) return ErrorMessages(playerid, 2);
if(id == playerid) return ErrorMessages(playerid, 4);
format(str, sizeof(str), "** %s(%d) has been kicked by Admin %s(ID:%d) (Reason: %s)", GetName(id), id, GetName(playerid), playerid, reason);
SaveIn("kicklog", str);
format(string, sizeof(string), "** You have been kicked %s(ID:%d) (Reason: %s)", GetName(id), id, reason);
SendClientMessage(playerid, COLOR_RED, string);
format(string, sizeof(string), "** %s(ID:%d) has been kicked by Admin %s(ID:%d) (Reason: %s)", GetName(id), id, GetName(playerid), playerid, reason);
SendClientMessageToAll(COLOR_RED, string);
format(string, sizeof(string), "** You have been kicked by Admin %s(ID:%d) (Reason: %s)", GetName(playerid), playerid, reason);
SendClientMessage(playerid, COLOR_RED, string);
Kick(id);
}
else return ErrorMessages(playerid, 1);
return 1;
}
** You have been kicked by Admin %s(ID:%d) (Reason: %s) |
Originally Posted by <!> Important Note
As of SA-MP 0.3x, any action taken directly before Kick() (such as sending a message with SendClientMessage) will not reach the player. A timer must be used to delay the kick.
|
CMD:kick(playerid, params[]) { new string[128], str[356], id, reason[128]; if(PlayerAcc[playerid][Log] == 0) return SendClientMessage(playerid, COLOR_ORANGE, "** You are not logged in, please login first."); if(PlayerAcc[playerid][Admin] == 0) return SendClientMessage(playerid, -1,""orange"** Sorry, only admins level 4+ can do that command."); if(PlayerAcc[playerid][Admin] >= 4) { if(sscanf(params, "us[128]", id, reason)) return SendClientMessage(playerid, COLOR_ORANGE, "** You must be type /kick <playerid> <reason>"); if(PlayerAcc[playerid][Admin] < PlayerAcc[id][Admin]) return ErrorMessages(playerid, 3); if(id == INVALID_PLAYER_ID) return ErrorMessages(playerid, 2); if(id == playerid) return ErrorMessages(playerid, 4); format(str, sizeof(str), "** %s(%d) has been kicked by Admin %s(ID:%d) (Reason: %s)", GetName(id), id, GetName(playerid), playerid, reason); SaveIn("kicklog", str); format(string, sizeof(string), "** You have been kicked %s(ID:%d) (Reason: %s)", GetName(id), id, reason); SendClientMessage(playerid, COLOR_RED, string); format(string, sizeof(string), "** %s(ID:%d) has been kicked by Admin %s(ID:%d) (Reason: %s)", GetName(id), id, GetName(playerid), playerid, reason); SendClientMessageToAll(COLOR_RED, string); format(string, sizeof(string), "** You have been kicked by Admin %s(ID:%d) (Reason: %s)", GetName(playerid), playerid, reason); SendClientMessage(playerid, COLOR_RED, string); SetTimerEx("KickMessage", 950, false, "i", playerid); } else return ErrorMessages(playerid, 1); return 1; }
forward KickMessage(playerid); public KickMessage(playerid) { Kick(playerid); }