# Descriere: acesta da kick la playeri care intra cu 3 ip-uri identice si kick daca repeta aceasi mesaj , ii extras dintr-o protectie mare # Download:http://www.amxmodx.org/webcompiler.cgi?go=dl&id=1796128 # Nume: RF_Spam # Versiunea:1.0 # Instalare: => Fisierul RF_Spam.sma il puneti in addons/amxmodx/scripting => Fisierul RF_Spam.amxx il puneti in addons/amxmodx/plugins => Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma: RF_Spam.amxx
Sma=>
#include <amxmodx>
new g_msg_saytext, g_maxplayers;
new g_messages[33];
public plugin_init()
{
register_plugin("RF_Spam", "1.0", "Bumi");
register_clcmd("say", "check_say");
g_msg_saytext = get_user_msgid("SayText");
g_maxplayers = get_maxplayers();
}
public client_connect(id)
{
if(fnGetSameIP(id) > 3)
server_cmd("kick #%d ^"Nu au voie mai multi de 3 jucatori cu acelasi IP!", get_user_userid(id));
}
public block_jointeam(id)
return PLUGIN_HANDLED;
public client_putinserver(id)
{
g_messages[id] = 0;
if(!(get_user_flags(id) & ADMIN_SLAY))
{
set_user_info(id, "vgui_menus", "0");
set_user_info(id, "_vgui_menus", "0");
}
}
public check_say(id)
{
if(get_user_team(id) == 0)
{
g_messages[id]++
if(g_messages[id] > 3)
kickBot(id);
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
public kickBot(id)
{
static name[32];
get_user_name(id, name, charsmax(name));
color(0, ".v[RF].e %s.g a fost dat afara pentru spambot.", name);
server_cmd("kick #%d ^"Bot pentru chat detectat^"", get_user_userid(id));
}
stock color(const id, const input[], any:...)
{
new count = 1, players[32];
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, ".v", "^4")
replace_all(msg, 190, ".g", "^1")
replace_all(msg, 190, ".e", "^3")
if(id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if(is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, g_msg_saytext, _, players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
}
public fnGetSameIP(id)
{
static same_ip, ip[32], ip_from_player[32];
get_user_ip(id, ip, charsmax(ip), 1);
same_ip = 0;
for(new x = 1; x <= g_maxplayers; x++)
{
if(!is_user_connected(x) || id == x)
continue;
get_user_ip(x, ip_from_player, charsmax(ip_from_player), 1);
if(equal(ip, ip_from_player))
same_ip++
}
return same_ip;
}