18.06.2011, 04:21
How would I make a kick command where the user (logged into RCON) can enter a custom reason?
CMD:kick(playerid, params[])
{
new
pID,
reason[24],
string[128]
;
if(!IsPlayerAdmin(playerid)) return 0;
else if(sscanf(params, "us[24]", pID, reason)) SendUsage(playerid, "/kick [playerid] [reason]");
else if(pID == INVALID_PLAYER_ID) return SendError(playerid, "Invalid playerid.");
else if(pID == playerid) return SendError(playerid, "You cant kick yourself.");
else if(GetPVarInt(pID, "Admin") > GetPVarInt(playerid, "Admin")) return SendError(playerid, "You cannot use this command on admins");
else {
format(string, sizeof(string), "%s has been kicked by %s. (REASON: %s)", ReturnPlayerName(pID), ReturnPlayerName(playerid), reason);
SendClientMessageToAll(COLOR_YELLOW, string);
Kick(pID);
}
return 1;
}
CMD:kick(playerid, params[])
{
new target, reason[128], output[128];
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "You must be logged into rcon to use this!");
if(sscanf(params, "us[128]", target, reason)) return SendClientMessage(playerid, 0xFFFF00AA, "Syntax: /kick id reason");
if(!IsPlayerConnected(target)) return SendClientMessage(playerid, -1, "Invalid playerid!");
format(output, sizeof(output), "[Admin] %s has kicked %s Reason: %s", GetName(playerid), GetName(target), reason);
SendClientMessageToAll(0xFFFF00AA, output);
Kick(target);
return 1;
}
stock GetName(playerid)
{
new name[48];
GetPlayerName(playerid, name, sizeof(name));
return name;
}