ALGUEM PODERIA ME PASSAR O SMA DO PLUGIN DE ANT DIVULGACAO QUE DA KICK NA HORA MESMO SE O CARA ESTIVER COM O IP NO NICK ??
Código:
#define PLUGINNAME "Anti/Divulgacao"
#define VERSION "0.1"
#define AUTHOR "DOno"
/*
Copyleft 2005
Plugin topic: elitegamesbr.forumeiros.com
Don't say IPs
=============
Messages like "hey join my server 213.34.231.23" are automatically blocked... and another message is printed instead. :-P
Or, you can choose to just ban violators by setting cvar ip_banviolators to 1 and ip_banminutes to how many minutes the violator should be banned. 0 is permanent, 5 is default.
/JGHG
VERSIONS
========
050204 0.1 First version
CREDITS
=======
Requested by lord_inuyasha88.
*/
#include <amxmodx>
#include <regex>
#define PATTERN "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" // \b
#define REASON "IP advertising"
#define CVAR_BANMINUTES "ip_banminutes"
#define CVAR_BANVIOLATORS "ip_banviolators"
// Globals below
new Regex:g_result
new g_returnvalue
new g_error[64]
new g_allArgs[1024]
// Globals above
public plugin_modules() {
require_module("regex")
}
public hook_say(id, level, cid) {
read_args(g_allArgs, 1023)
g_result = regex_match(g_allArgs, PATTERN, g_returnvalue, g_error, 63)
switch (g_result) {
case REGEX_MATCH_FAIL: {
log_amx("REGEX_MATCH_FAIL! %s", g_error)
return PLUGIN_CONTINUE
}
case REGEX_PATTERN_FAIL: {
log_amx("REGEX_PATTERN_FAIL! %s", g_error)
return PLUGIN_CONTINUE
}
case REGEX_NO_MATCH: {
return PLUGIN_CONTINUE
}
default: {
if (get_cvar_num(CVAR_BANVIOLATORS)) {
new userid = get_user_userid(id)
new minutesString[10]
get_cvar_string(CVAR_BANMINUTES, minutesString, 9)
new temp[64], banned[16], minutes = get_cvar_num(CVAR_BANMINUTES)
if (minutes)
format(temp, 63, "%L", id, "FOR_MIN", minutesString)
else
format(temp, 63, "%L", id, "PERM")
format(banned, 15, "%L", id, "BANNED")
new authid[32]
get_user_authid(id, authid, 31)
new name[32]
get_user_name(id, name, 31)
log_amx("%s (%s), %s %s because of advertising an IP address. This was written: ^"%s^"", name, authid, banned, temp, g_allArgs)
server_cmd("kick #%d ^"%s (%s %s)^";wait;banid ^"%d^" ^"%s^";wait;writeid", userid, REASON, banned, temp, minutes, authid)
}
else {
client_cmd(id, "say ^"Proibido Divulgacao no Servidor [IP] - Bloqueado!^"")
}
regex_free(g_result)
return PLUGIN_HANDLED // block msg
}
}
return PLUGIN_CONTINUE
}
public plugin_init() {
register_plugin(PLUGINNAME, VERSION, AUTHOR)
register_clcmd("say", "hook_say")
register_cvar(CVAR_BANVIOLATORS, "0")
register_cvar(CVAR_BANMINUTES, "30")
register_dictionary("admincmd.txt")
}
Código:
#define PLUGINNAME "Anti/Divulgacao"
#define VERSION "0.1"
#define AUTHOR "DOno"
/*
Copyleft 2005
Plugin topic: elitegamesbr.forumeiros.com
Don't say IPs
=============
Messages like "hey join my server 213.34.231.23" are automatically blocked... and another message is printed instead. :-P
Or, you can choose to just ban violators by setting cvar ip_banviolators to 1 and ip_banminutes to how many minutes the violator should be banned. 0 is permanent, 5 is default.
/JGHG
VERSIONS
========
050204 0.1 First version
CREDITS
=======
Requested by lord_inuyasha88.
*/
#include <amxmodx>
#include <regex>
#define PATTERN "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" // \b
#define REASON "IP advertising"
#define CVAR_BANMINUTES "ip_banminutes"
#define CVAR_BANVIOLATORS "ip_banviolators"
// Globals below
new Regex:g_result
new g_returnvalue
new g_error[64]
new g_allArgs[1024]
// Globals above
public plugin_modules() {
require_module("regex")
}
public hook_say(id, level, cid) {
read_args(g_allArgs, 1023)
g_result = regex_match(g_allArgs, PATTERN, g_returnvalue, g_error, 63)
switch (g_result) {
case REGEX_MATCH_FAIL: {
log_amx("REGEX_MATCH_FAIL! %s", g_error)
return PLUGIN_CONTINUE
}
case REGEX_PATTERN_FAIL: {
log_amx("REGEX_PATTERN_FAIL! %s", g_error)
return PLUGIN_CONTINUE
}
case REGEX_NO_MATCH: {
return PLUGIN_CONTINUE
}
default: {
if (get_cvar_num(CVAR_BANVIOLATORS)) {
new userid = get_user_userid(id)
new minutesString[10]
get_cvar_string(CVAR_BANMINUTES, minutesString, 9)
new temp[64], banned[16], minutes = get_cvar_num(CVAR_BANMINUTES)
if (minutes)
format(temp, 63, "%L", id, "FOR_MIN", minutesString)
else
format(temp, 63, "%L", id, "PERM")
format(banned, 15, "%L", id, "BANNED")
new authid[32]
get_user_authid(id, authid, 31)
new name[32]
get_user_name(id, name, 31)
log_amx("%s (%s), %s %s because of advertising an IP address. This was written: ^"%s^"", name, authid, banned, temp, g_allArgs)
server_cmd("kick #%d ^"%s (%s %s)^";wait;banid ^"%d^" ^"%s^";wait;writeid", userid, REASON, banned, temp, minutes, authid)
}
else {
get_user_name(id, name, 31)
server_cmd("amx_kick "%s" "Proibido Divulgar IPs"", name)
}
regex_free(g_result)
return PLUGIN_HANDLED // block msg
}
}
return PLUGIN_CONTINUE
}
public plugin_init() {
register_plugin(PLUGINNAME, VERSION, AUTHOR)
register_clcmd("say", "hook_say")
register_cvar(CVAR_BANVIOLATORS, "0")
register_cvar(CVAR_BANMINUTES, "30")
register_dictionary("admincmd.txt")
}
Código:
#define PLUGINNAME "Anti/Divulgacao"
#define VERSION "0.1"
#define AUTHOR "DOno"
/*
Copyleft 2005
Plugin topic: elitegamesbr.forumeiros.com
Don't say IPs
=============
Messages like "hey join my server 213.34.231.23" are automatically blocked... and another message is printed instead. :-P
Or, you can choose to just ban violators by setting cvar ip_banviolators to 1 and ip_banminutes to how many minutes the violator should be banned. 0 is permanent, 5 is default.
/JGHG
VERSIONS
========
050204 0.1 First version
CREDITS
=======
Requested by lord_inuyasha88.
*/
#include <amxmodx>
#include <regex>
#define PATTERN "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" // b
#define REASON "IP advertising"
#define CVAR_BANMINUTES "ip_banminutes"
#define CVAR_BANVIOLATORS "ip_banviolators"
// Globals below
new Regex:g_result
new g_returnvalue
new g_error[64]
new g_allArgs[1024]
new name[32]
// Globals above
public plugin_modules() {
require_module("regex")
}
public hook_say(id, level, cid) {
read_args(g_allArgs, 1023)
g_result = regex_match(g_allArgs, PATTERN, g_returnvalue, g_error, 63)
switch (g_result) {
case REGEX_MATCH_FAIL: {
log_amx("REGEX_MATCH_FAIL! %s", g_error)
return PLUGIN_CONTINUE
}
case REGEX_PATTERN_FAIL: {
log_amx("REGEX_PATTERN_FAIL! %s", g_error)
return PLUGIN_CONTINUE
}
case REGEX_NO_MATCH: {
return PLUGIN_CONTINUE
}
default: {
if (get_cvar_num(CVAR_BANVIOLATORS)) {
new userid = get_user_userid(id)
new minutesString[10]
get_cvar_string(CVAR_BANMINUTES, minutesString, 9)
new temp[64], banned[16], minutes = get_cvar_num(CVAR_BANMINUTES)
if (minutes)
format(temp, 63, "%L", id, "FOR_MIN", minutesString)
else
format(temp, 63, "%L", id, "PERM")
format(banned, 15, "%L", id, "BANNED")
new authid[32]
get_user_authid(id, authid, 31)
get_user_name(id, name, 31)
log_amx("%s (%s), %s %s because of advertising an IP address. This was written: ^"%s^"", name, authid, banned, temp, g_allArgs)
server_cmd("kick #%d ^"%s (%s %s)^";wait;banid ^"%d^" ^"%s^";wait;writeid", userid, REASON, banned, temp, minutes, authid)
}
else {
get_user_name(id, name, 31)
server_cmd("amx_kick %s", name)
}
regex_free(g_result)
return PLUGIN_HANDLED // block msg
}
}
return PLUGIN_CONTINUE
}
public plugin_init() {
register_plugin(PLUGINNAME, VERSION, AUTHOR)
register_clcmd("say", "hook_say")
register_cvar(CVAR_BANVIOLATORS, "0")
register_cvar(CVAR_BANMINUTES, "30")
register_dictionary("admincmd.txt")
}