#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