#include <amxmodx>
stock const PluginName[] = "GameCMS: Rcon Ban";
stock const PluginVersion[] = "1.0";
stock const PluginAuthor[] = "notihng to say.";
/**
* The command that will be sent to the server console.
* This command will be used on the website.
*/
new const szRconCommand[] = "rcon_amx_ban";
public plugin_init() {
register_plugin(PluginName, PluginVersion, PluginAuthor);
register_srvcmd(szRconCommand, "Command__RconBan");
}
public Command__RconBan() {
enum { arg_time = 1, arg_username, arg_reason };
if(read_argc() < arg_reason + 1 || read_argc() > arg_reason + 1) {
console_print(0, "Usage '%s <time> <name> <reason>'.", szRconCommand);
return PLUGIN_HANDLED;
}
new iTime = read_argv_int(arg_time);
if(iTime < 0) {
console_print(0, "Time cannot be negative.");
return PLUGIN_HANDLED;
}
new szUserName[MAX_NAME_LENGTH * 2];
read_argv(arg_username, szUserName, charsmax(szUserName));
if(szUserName[0] == EOS) {
console_print(0, "Name cannot be empty.");
return PLUGIN_HANDLED;
}
new szReason[256];
read_argv(arg_reason, szReason, charsmax(szReason));
if(szReason[0] == EOS) {
console_print(0, "Reason cannot be empty.");
return PLUGIN_HANDLED;
}
new pTarget = find_player_ex(FindPlayer_MatchName, szUserName);
if(!pTarget) {
console_print(0, "Name not found.");
return PLUGIN_HANDLED;
}
new UserId = get_user_userid(pTarget);
server_cmd("amx_ban %i #%i ^"%s^"", iTime, UserId, szReason);
server_print("Command sent. Attempting to ban player %s (UID: %i) for %i minutes for reason: %s.^nCheck the server console or ban list.", szUserName, UserId, iTime, szReason);
return PLUGIN_HANDLED;
}