#include <amxmodx>
#include <amxmisc>
#include <regex>
// Preprocessor macros (Config)
#define KICK_NICK_REASON "Spam in nick!"
#define KICK_MSG_REASON "Spam message!"
public plugin_init()
{
register_plugin("Anti-Spam Lite", "1.0.4", "NullWarez")
}
// Check the nick when connecting
public client_connect(id)
{
if(is_user_admin(id))
return PLUGIN_CONTINUE
new g_name[32]
get_user_name(id, g_name,31)
if(is_invalid(g_name))
{
server_cmd("kick #%d Zmien Nazwe!", get_user_userid(id))
return PLUGIN_CONTINUE
}
set_task(20.0, "showWarning", id)
return PLUGIN_CONTINUE
}
// Checks the message for spam
bool:is_invalid(const text[])
{
new error[50], num
new Regex:regex = regex_match (text, "[a-z0-9-]{3,}\.[a-z]{1,2}(\S)", num, error, 49, "i")
if(regex >= REGEX_OK)
{
regex_free(regex)
return true
}
regex = regex_match(text, "([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}", num, error, 49)
if(regex >= REGEX_OK)
{
regex_free(regex)
return true
}
return false
}
// Called when set name
public client_infochanged(id)
{
if(is_user_admin(id))
return PLUGIN_CONTINUE
if(!is_user_alive(id)) // loop fix
return PLUGIN_CONTINUE
new g_name[32]
get_user_name(id, g_name,31)
if(is_invalid(g_name))
{
server_cmd("kick #%d Zmien Nazwe!", get_user_userid(id))
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
}Dodano 12 grudzień 2010 - 11:56:
Odswiezam
Dodano 12 grudzień 2010 - 12:05:
Zapomnialem mam tutaj plugin ten sam i ma banowac ale tego nie robi
#include <amxmodx>
#include <amxmisc>
#include <regex>
// Preprocessor macros (Config)
#define BAN_TIME 200
#define BAN_NICK_REASON "Spam in nick!"
#define BAN_MSG_REASON "Spam message!"
#define IN_GAME_WARNING_MSG "Warning! Do not advertise sites or other servers"
public plugin_init()
{
register_plugin("Anti-Spam Lite", "1.0.4", "NullWarez")
register_clcmd("say","check_player_msg")
register_clcmd("say_team","check_player_msg")
}
// Check the nick when connecting
public client_connect(id)
{
if(is_user_admin(id))
return PLUGIN_CONTINUE
new g_name[32]
get_user_name(id, g_name,31)
if(is_invalid(g_name))
{
server_cmd("amx_ban BAN_TIME #%d BAN_NICK_REASON", get_user_userid(id))
return PLUGIN_CONTINUE
}
set_task(20.0, "showWarning", id)
return PLUGIN_CONTINUE
}
// Checks the message for spam
bool:is_invalid(const text[])
{
new error[50], num
new Regex:regex = regex_match (text, "[a-z0-9-]{3,}\.[a-z]{1,2}(\S)", num, error, 49, "i")
if(regex >= REGEX_OK)
{
regex_free(regex)
return true
}
regex = regex_match(text, "([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}", num, error, 49)
if(regex >= REGEX_OK)
{
regex_free(regex)
return true
}
return false
}
// Displays a warning ban for spam
public showWarning(id)
{
if(is_user_connected(id))
client_print(id, print_chat, "IN_GAME_WARNING_MSG")
}
// Check say or say_team message
public check_player_msg(id)
{
if(is_user_admin(id))
return PLUGIN_CONTINUE
new text[128]
read_args(text,127)
if(is_invalid(text))
{
server_cmd("amx_ban BAN_TIME #%d BAN_MSG_REASON", get_user_userid(id))
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
// Called when set name
public client_infochanged(id)
{
if(is_user_admin(id))
return PLUGIN_CONTINUE
if(!is_user_alive(id)) // loop fix
return PLUGIN_CONTINUE
new g_name[32]
get_user_name(id, g_name,31)
if(is_invalid(g_name))
{
server_cmd("amx_ban BAN_TIME #%d BAN_NICK_REASON", get_user_userid(id))
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
}A i przy kickowaniu jest pewien blad bo jak chce sie polaczyc z serverem to jest ok i kicka, ale jak w czasie gry zmienie nazwe to juz nie kickuje a najlepiej byloby ze jak ktos podczas gry zmieni nazwe na ip jakiegos serwa to zeby banowalo i jak wbija z nazwa ip serwa jakiegos to tez zeby banowalo
Dodano 12 grudzień 2010 - 15:59:
Odswiezam.
Dodano 13 grudzień 2010 - 14:48:
odswiezam 2x
Dodano 14 grudzień 2010 - 15:31:
Odswiezam 3x proszę o pomoc!
Dodano 16 grudzień 2010 - 14:44:
Odswiezam ponownie pomoze ktos?
Dodano 17 grudzień 2010 - 18:07:
odswiezam
Użytkownik gameman edytował ten post 12.12.2010 11:56


Dodatki SourceMod



Temat jest zamknięty







