added amb786 - sm_banip can take a user name, redid access permissions, and prevented a bad mistake
--HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401380
This commit is contained in:
parent
07b04432a2
commit
ec8413193f
@ -61,7 +61,7 @@ public OnPluginStart()
|
|||||||
RegAdminCmd("sm_ban", Command_Ban, ADMFLAG_BAN, "sm_ban <#userid|name> <minutes|0> [reason]");
|
RegAdminCmd("sm_ban", Command_Ban, ADMFLAG_BAN, "sm_ban <#userid|name> <minutes|0> [reason]");
|
||||||
RegAdminCmd("sm_unban", Command_Unban, ADMFLAG_UNBAN, "sm_unban <steamid>");
|
RegAdminCmd("sm_unban", Command_Unban, ADMFLAG_UNBAN, "sm_unban <steamid>");
|
||||||
RegAdminCmd("sm_addban", Command_AddBan, ADMFLAG_RCON, "sm_addban <time> <steamid> [reason]");
|
RegAdminCmd("sm_addban", Command_AddBan, ADMFLAG_RCON, "sm_addban <time> <steamid> [reason]");
|
||||||
RegAdminCmd("sm_banip", Command_BanIp, ADMFLAG_RCON, "sm_banip <time> <ip> [reason]");
|
RegAdminCmd("sm_banip", Command_BanIp, ADMFLAG_BAN, "sm_banip <time> <ip|#userid|name> [reason]");
|
||||||
RegAdminCmd("sm_reloadadmins", Command_ReloadAdmins, ADMFLAG_BAN, "sm_reloadadmins");
|
RegAdminCmd("sm_reloadadmins", Command_ReloadAdmins, ADMFLAG_BAN, "sm_reloadadmins");
|
||||||
RegAdminCmd("sm_cancelvote", Command_CancelVote, ADMFLAG_VOTE, "sm_cancelvote");
|
RegAdminCmd("sm_cancelvote", Command_CancelVote, ADMFLAG_VOTE, "sm_cancelvote");
|
||||||
|
|
||||||
@ -86,7 +86,7 @@ public Action:Command_BanIp(client, args)
|
|||||||
{
|
{
|
||||||
if (args < 2)
|
if (args < 2)
|
||||||
{
|
{
|
||||||
ReplyToCommand(client, "[SM] Usage: sm_banip <time> <ip> [reason]");
|
ReplyToCommand(client, "[SM] Usage: sm_banip <time> <ip|#userid|name> [reason]");
|
||||||
return Plugin_Handled;
|
return Plugin_Handled;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -94,6 +94,40 @@ public Action:Command_BanIp(client, args)
|
|||||||
GetCmdArg(1, time, sizeof(time));
|
GetCmdArg(1, time, sizeof(time));
|
||||||
GetCmdArg(2, arg, sizeof(arg));
|
GetCmdArg(2, arg, sizeof(arg));
|
||||||
|
|
||||||
|
if (StrEqual(arg, "0"))
|
||||||
|
{
|
||||||
|
ReplyToCommand(client, "[SM] %t", "Cannot ban that IP");
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
|
||||||
|
new clients[1];
|
||||||
|
new numClients = SearchForClients(arg, clients, 1);
|
||||||
|
|
||||||
|
new bool:has_rcon;
|
||||||
|
|
||||||
|
if (client == 0 || (client == 1 && !IsDedicatedServer()))
|
||||||
|
{
|
||||||
|
has_rcon = true;
|
||||||
|
} else {
|
||||||
|
new AdminId:id = GetUserAdmin(client);
|
||||||
|
has_rcon = (id == INVALID_ADMIN_ID) ? false : GetAdminFlag(id, Admin_RCON);
|
||||||
|
}
|
||||||
|
|
||||||
|
new bool:hit_client = false;
|
||||||
|
if (numClients == 1
|
||||||
|
&& !IsFakeClient(clients[0])
|
||||||
|
&& (has_rcon || CanUserTarget(client, clients[0])))
|
||||||
|
{
|
||||||
|
GetClientIP(clients[0], arg, sizeof(arg));
|
||||||
|
hit_client = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!hit_client && !has_rcon)
|
||||||
|
{
|
||||||
|
ReplyToCommand(client, "[SM] %t", "No Access");
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
|
||||||
new minutes = StringToInt(time);
|
new minutes = StringToInt(time);
|
||||||
|
|
||||||
decl String:reason[128];
|
decl String:reason[128];
|
||||||
@ -118,7 +152,7 @@ public Action:Command_BanIp(client, args)
|
|||||||
|
|
||||||
if (act < Plugin_Stop)
|
if (act < Plugin_Stop)
|
||||||
{
|
{
|
||||||
ServerCommand("banip %d %s", minutes, arg);
|
ServerCommand("addip %d %s", minutes, arg);
|
||||||
ServerCommand("writeip");
|
ServerCommand("writeip");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -385,7 +385,7 @@ native SetAdminFlag(AdminId:id, AdminFlag:flag, bool:enabled);
|
|||||||
* @param mode Access mode to check.
|
* @param mode Access mode to check.
|
||||||
* @return True if enabled, false otherwise.
|
* @return True if enabled, false otherwise.
|
||||||
*/
|
*/
|
||||||
native bool:GetAdminFlag(AdminId:id, AdminFlag:flag, AdmAccessMode:mode);
|
native bool:GetAdminFlag(AdminId:id, AdminFlag:flag, AdmAccessMode:mode=Access_Effective);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the bitstring of access flags on an admin.
|
* Returns the bitstring of access flags on an admin.
|
||||||
|
@ -221,4 +221,9 @@
|
|||||||
{
|
{
|
||||||
"en" "Failed to query database."
|
"en" "Failed to query database."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
"Cannot ban that IP"
|
||||||
|
{
|
||||||
|
"en" "You cannot ban that IP address."
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user