10.01.2013, 11:17
with sscanf+zcmd /kick id reason
CMD:kick(playerid, params[])
{
if(!IsPlayerAdmin(playerid) && PlayerInfo[playerid][Level] < 1) return SendClientMessage(playerid, 0xFF0000FF, "Only Administrators can use this command."); //Replace PlayerInfo with your own enum/variables
new id, reason[60];
if(sscanf(params, "uS(No Reason)[60]", id, reason)) return SendClientMessage(playerid, 0xFF0000FF, "SYNTAX: /kick [Player ID] [Optional: Reason]");
if(strlen(reason) > 60) return SendClientMessage(playerid, 0xFF0000FF, "Your reason must be less than 60 characters long.");
new string[150];
format(string,sizeof(string),"Administrator %s Has Kicked %s | Reason: %s", Name(playerid), Name(id), reason);
SendClientMessageToAll(0xFF0000FF, string);
Kick(id);
return 1;
}
stock Name(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
return name;
}
CMD:kick(playerid, params[])
{
new pID,
aName[MAX_PLAYER_NAME], // Name of the admin that kicked player
pName[MAX_PLAYER_NAME], // Name of the kicked player
reason[64],
kickstring[256];
if(sscanf(params, "us[64]", pID, reason) return SCM(playerid, COL_WHITE, " USAGE:/kick [playerid/name] [reason]");
if(!IsPlayerAdmin(playerid))
{
SendClientMessage(playerid, COL_RED, " You are not allowed to do that!");
}
else
{
format(kickstring, sizeof(kickstring), "AdmCmd:%s has kicked %s for : %s", aName, pName, reason);
SendClientMessageToAll(COL_RED, kickstring);
Kick(pID);
}
return 1;
}