Here's any example how to gag by ip.
PHP Code:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <nVault>
#define PLUGIN "AMXX GAG CHAT BY IP"
#define VERSION "1.0"
#define AUTHOR "Natsheh"
new Vvault, is_user_gagged_byip[33]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_message(get_user_msgid("SayText"), "message_handle")
register_concmd("amx_gag_byip", "cmd_gag_byip", ADMIN_LEVEL_A, "< Nick name - #id >")
register_concmd("amx_ungag_byip", "cmd_ungag_byip", ADMIN_LEVEL_A, "< Nick name - #id >")
}
public message_handle(msgid, msgdest, ent)
{
new id = get_msg_arg_int(1)
if(!is_user_gagged_byip[id])
return
set_msg_block(msgid, BLOCK_ONCE)
}
public plugin_cfg()
{
Vvault = nvault_open("amx_gag_byip")
if(!Vvault)
{
set_fail_state("Error to open nVault")
}
}
public plugin_end()
{
nvault_close(Vvault)
}
public client_putinserver(id)
{
load_data(id)
}
public cmd_gag_byip(id, level, cid)
{
if(!cmd_access(id, level, cid, 1))
return
new Arg_player[32]
read_argv(1, Arg_player, charsmax(Arg_player))
new player = cmd_target(id, Arg_player)
if(!player)
{
console_print(id, "[GAG] unable to find the player #id")
return
}
new Admin_name[32], Player_name[32]
get_user_name(id, Admin_name, charsmax(Admin_name))
get_user_name(player, Player_name, charsmax(Player_name))
client_print(0, print_chat, "Admin %s: has gagged %s by ip from say/say_team", Admin_name, Player_name)
is_user_gagged_byip[player] = true
save_data(player)
}
public cmd_ungag_byip(id, level, cid)
{
if(!cmd_access(id, level, cid, 1))
return
new Arg_player[32]
read_argv(1, Arg_player, charsmax(Arg_player))
new player = cmd_target(id, Arg_player)
if(!player)
{
console_print(id, "[GAG] unable to find the player #id")
return
}
new Admin_name[32], Player_name[32]
get_user_name(id, Admin_name, charsmax(Admin_name))
get_user_name(player, Player_name, charsmax(Player_name))
client_print(0, print_chat, "Admin %s: has ungagged %s from say/say_team", Admin_name, Player_name)
is_user_gagged_byip[player] = false
save_data(player)
}
public save_data(id)
{
new IPa[32], sKey[64]
get_user_ip(id, IPa, charsmax(IPa), 1)
formatex(sKey, charsmax(sKey), "IP-%s", IPa)
nvault_set(Vvault, sKey, is_user_gagged_byip[id] ? "1":"0")
}
public load_data(id)
{
new IPa[32], sKey[64], sValue
get_user_ip(id, IPa, charsmax(IPa), 1)
formatex(sKey, charsmax(sKey), "IP-%s", IPa)
sValue = nvault_get(Vvault, sKey)
is_user_gagged_byip[id] = sValue
}