1. pID should not be an array, 2. pID is never assigned any value here.
pawn Код:
CMD:kick(playerid, params[])
{
if(!IsPlayerAdmin(playerid))
return SendClientMessage(playerid, COLOR_RED, "[ERROR]: You need to be an admin!");
new pID, reason[80];
if (sscanf(params, "ds", pID, reason))
return SendClientMessage(playerid, COLOR_RED, "Usage: /kick [ID] [reason]");
new string[128], PlayerName[MAX_PLAYER_NAME], AdminName[MAX_PLAYER_NAME];
if (!GetPlayerName(pID, PlayerName, sizeof(PlayerName)))
return SendClientMessage(playerid, COLOR_RED, "[ERROR]: Invalid player ID!");
GetPlayerName(playerid, AdminName, sizeof(AdminName));
format(string, sizeof(string), "[SERVER]: %s has been kicked by %s. Reason: %s", PlayerName, AdminName, reason);
SendClientMessageToAll(COLOR_RED, string);
return Kick(pID);
}
And sscanf can always be used to retrieve a certain format of data from a string.
I hope this helps.