Mensajes: 206
Temas: 75
Registro en: Jul 2017
hola estado recibiendo spam de un sv argentino
https://www.gametracker.com/server_info/
por
say_team 185.148.145.215:27015 #01 POWER-ARENA DUST2 [1000 FPS]
el mensaje solo le llega al admin , no es que los player lo veo pero es molestoso
tonces queria ver la forma que si hace o tira 2 veces el spam lo kick el sv
nose si me exploque bien o bloquiar el spam de say_team
Mensajes: 1
Temas: 0
Registro en: Apr 2020
Reputación:
0
02/04/2020, 07:41 PM
(Última modificación: 02/04/2020, 07:47 PM por argent1n0. Edited 2 times in total.)
Hola como estas, yo tenia el mismo problema y lo pude solucionar bastante facil. Mandame solicitud a discord: A R G Skill#7604
Mensajes: 3,077
Temas: 33
Registro en: May 2017
Reputación:
34
(02/04/2020, 07:41 PM)argent1n0 escribió: Hola como estas, yo tenia el mismo problema y lo pude solucionar bastante facil. Mandame solicitud a discord: A R G Skill#7604
La solución dejala por acá pibe.
Mensajes: 206
Temas: 75
Registro en: Jul 2017
la solucion es que son wns que anda haciendo spam no son bot ya que a mi sv no pueden entrar bot de ningun tipo , incluso steam con nombre de la ip
solucion es bloquiar o kick a los que usen say_team @
Mensajes: 1,342
Temas: 21
Registro en: Jun 2015
Reputación:
9
03/04/2020, 05:41 PM
(Última modificación: 03/04/2020, 05:41 PM por Pan Bimbo (?. Edited 1 time in total.)
(03/04/2020, 05:07 PM)subsero1 escribió: la solucion es que son wns que anda haciendo spam no son bot ya que a mi sv no pueden entrar bot de ningun tipo , incluso steam con nombre de la ip
solucion es bloquiar o kick a los que usen say_team @
(la ip es unica asique
containi( loquedijo, "ip" ) == 0
kick
Mensajes: 659
Temas: 97
Registro en: Feb 2016
Reputación:
12
03/04/2020, 07:08 PM
(Última modificación: 03/04/2020, 07:09 PM por Alejandro. Edited 2 times in total.)
Aqui tienes tu solucion
Código PHP: #include <amxmodx> #include <amxmisc> #include <fakemeta>
#if AMXX_VERSION_NUM < 183
#define client_disconnected client_disconnect #define print_team_default 0
stock client_print_color(index, fakevar, const input[], any:...) { #pragma unused fakevar static szMsg[191], g_iMsgSayText; if(!g_iMsgSayText) g_iMsgSayText = get_user_msgid("SayText");
vformat(szMsg, 190, input, 3);
message_begin(index ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, g_iMsgSayText, .player = index); write_byte(index ? index : 33); write_string(szMsg); message_end(); } #endif
new PLUGIN [] = "Anti Spam 2"; new VERSION [] = "1.0"; new AUTHOR [] = "Alejandro-."; new TAG [] = "^4[^3 VLP ^4]^1"; new iIntentos[33] = 0;
new publicity[][]= { ".www", ".com", ".ve", ".ga", ".tk", ".es" } new g_names[33][32] new pCvar_intentos;
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say", "HookSay"); register_clcmd("say_team", "HookSay"); register_forward(FM_ClientUserInfoChanged, "fwdCliUserInfoChanged"); pCvar_intentos = register_cvar("intentos_de_spam", "3"); }
public client_disconnected(id) { g_names[id][0] = 0 }
public fwdCliUserInfoChanged(id, buffer) { static name[33][32] new count_num[33];
if(g_names[id][0]) { engfunc(EngFunc_InfoKeyValue, buffer, "name", name[id], charsmax(name[]))
for(new i = 0; i < sizeof publicity; i++) { if(containi(name[id], publicity[i]) != -1) { iIntentos[id]++ client_print_color(0, print_team_default, "%s El jugador ^4%s^1 hizo intento de spam por name.", TAG, g_names[id]); engfunc(EngFunc_SetClientKeyValue, id, buffer, "name", g_names[id]) return FMRES_SUPERCEDE } } for(new i = 0 ; i < strlen(name[id]); ++i ) { if(!str_to_num(name[id][i])) continue;
count_num[id]++
if(count_num[id] >= 5) { client_print_color(0, print_team_default, "%s El jugador ^4%s^1 hizo intento de spam por name.", TAG, g_names[id]); engfunc(EngFunc_SetClientKeyValue, id, buffer, "name", g_names[id]) return FMRES_SUPERCEDE } } } return FMRES_IGNORED }
public client_putinserver(id) {
new count_num[33] new ip[15] get_user_info(id, "name", g_names[id], charsmax(g_names[])); get_user_ip(id, ip, charsmax(ip)); for(new i = 0 ; i < strlen(g_names[id]); ++i ) { if(!str_to_num(g_names[id])) continue;
count_num[id]++ if(count_num[id] >= 5) { client_print_color(0, print_team_default, "%s El jugador con la ip ^4%s^1 fue kickeado por tener un nombre de spam.", TAG, ip); server_cmd("kick #%i 'Razon: el nombre no puede tener 5 o mas numeros.'", get_user_userid(id)); server_cmd("kick ^"%n^" 'Razon: el nombre no puede tener 5 o mas numeros.'", id); } } for(new i = 0; i < sizeof publicity; i++) { if(containi(g_names[id], publicity[i]) != -1) { client_print_color(0, print_team_default, "%s El jugador con la ip ^4%s^1 fue kickeado por tener un nombre con spam.", TAG, ip); server_cmd("kick #%i 'Razon: Nombre contiene spam.'", get_user_userid(id)); server_cmd("kick ^"%n^" 'Razon: Nombre contiene spam.'", id); } } } public HookSay(id) {
static said[33][192]; read_args(said[id], charsmax(said[])); new count_num[33] = 0; remove_quotes(said[id]); new name[33]; get_user_name(id, name, charsmax(name));
for(new i = 0 ; i < strlen(said[id]); ++i ) { if(!str_to_num(said[id][i])) continue;
count_num[id]++
if(count_num[id] >= 5) { iIntentos[id]++ set_hudmessage(255, 255, 255, -1.0, 0.40, 0, 6.0, 12.0, 0.1, 0.2) show_hudmessage(id, "Deja de spamear te quedan %d/%d para ser kickeado", iIntentos[id], get_pcvar_num(pCvar_intentos)) client_print_color(0, print_team_default, "^3%s^1 : * MENSAJE BLOQUEADO CONSIDERADO SPAM *", name); Chequeo(id) count_num[id] = 0; return PLUGIN_HANDLED; } }
for(new i = 0; i < sizeof publicity; i++) { if(containi(said[id], publicity[i]) != -1) { iIntentos[id]++ set_hudmessage(255, 255, 255, -1.0, 0.40, 0, 6.0, 12.0, 0.1, 0.2) show_hudmessage(id, "Deja de spamear te quedan %d/%d para ser kickeado", iIntentos[id], get_pcvar_num(pCvar_intentos)) client_print_color(0, print_team_default, "^3%s^1 : * MENSAJE BLOQUEADO CONSIDERADO SPAM *", name) Chequeo(id) return PLUGIN_HANDLED; } }
return PLUGIN_CONTINUE; }
Chequeo(id) { new name[32]; get_user_name(id, name, 31); if(iIntentos[id] >= get_pcvar_num(pCvar_intentos)) { server_cmd("kick ^"#%d^" 'Deja de spamear sabandija!!'", get_user_userid(id)); iIntentos[id] = 0; client_print_color(0, print_team_default, "%s El jugador ^4%s^1 fue kickeado por intento de spam", TAG, name); } }
Mensajes: 3,238
Temas: 47
Registro en: Feb 2015
Reputación:
34
Código PHP: #include <amxmodx>
#define PLUGIN "Anti-MultiCuentas" #define VERSION "1.0" #define AUTHOR "AGustiN"
new g_maxplayers
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) g_maxplayers = get_maxplayers() // Add your code here... }
public client_putinserver(id) { new SteamID[32], SteamID2[32], ip[32], ip2[32]
get_user_authid( id, SteamID, charsmax( SteamID ) ) get_user_ip(id, ip, charsmax(ip))
for(new i = 0; i < g_maxplayers; i++) { if(!is_user_connected(i) || id == i) continue; get_user_authid(i, SteamID2, charsmax( SteamID2 ) ) get_user_ip(i,ip2, charsmax(ip2)) if (equal(SteamID, SteamID2) || equal(ip, ip2)){ server_cmd("kick #%d ^"Ya hay un usuario con el mismo STEAM_ID y/o IP conectado^"", get_user_userid(id)); break; } } }
Mensajes: 206
Temas: 75
Registro en: Jul 2017
alejandro puede ser la posibilidad que solo el plugins tenga el funcionamiento de bloquiar o kick si usa el say_team
Código PHP: #include <amxmodx> #include <amxmisc> #include <fakemeta>
#if AMXX_VERSION_NUM < 183
#define client_disconnected client_disconnect #define print_team_default 0
stock client_print_color(index, fakevar, const input[], any:...) { #pragma unused fakevar static szMsg[191], g_iMsgSayText; if(!g_iMsgSayText) g_iMsgSayText = get_user_msgid("SayText");
vformat(szMsg, 190, input, 3);
message_begin(index ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, g_iMsgSayText, .player = index); write_byte(index ? index : 33); write_string(szMsg); message_end(); } #endif
new PLUGIN [] = "Anti Spam 2"; new VERSION [] = "1.0"; new AUTHOR [] = "Alejandro-."; new TAG [] = "^4[^3 VLP ^4]^1"; new iIntentos[33] = 0;
new publicity[][]= { ".www", ".com", ".ve", ".ga", ".tk", ".es" } new g_names[33][32] new pCvar_intentos;
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say", "HookSay"); register_clcmd("say_team", "HookSay"); register_forward(FM_ClientUserInfoChanged, "fwdCliUserInfoChanged"); pCvar_intentos = register_cvar("intentos_de_spam", "3"); }
public client_disconnected(id) { g_names[id][0] = 0 }
public fwdCliUserInfoChanged(id, buffer) { static name[33][32] new count_num[33];
if(g_names[id][0]) { engfunc(EngFunc_InfoKeyValue, buffer, "name", name[id], charsmax(name[]))
for(new i = 0; i < sizeof publicity; i++) { if(containi(name[id], publicity[i]) != -1) { iIntentos[id]++ client_print_color(0, print_team_default, "%s El jugador ^4%s^1 hizo intento de spam por name.", TAG, g_names[id]); engfunc(EngFunc_SetClientKeyValue, id, buffer, "name", g_names[id]) return FMRES_SUPERCEDE } } for(new i = 0 ; i < strlen(name[id]); ++i ) { if(!str_to_num(name[id][i])) continue;
count_num[id]++
if(count_num[id] >= 5) { client_print_color(0, print_team_default, "%s El jugador ^4%s^1 hizo intento de spam por name.", TAG, g_names[id]); engfunc(EngFunc_SetClientKeyValue, id, buffer, "name", g_names[id]) return FMRES_SUPERCEDE } } } return FMRES_IGNORED }
public client_putinserver(id) {
new count_num[33] new ip[15] get_user_info(id, "name", g_names[id], charsmax(g_names[])); get_user_ip(id, ip, charsmax(ip)); for(new i = 0 ; i < strlen(g_names[id]); ++i ) { if(!str_to_num(g_names[id])) continue;
count_num[id]++ if(count_num[id] >= 5) { client_print_color(0, print_team_default, "%s El jugador con la ip ^4%s^1 fue kickeado por tener un nombre de spam.", TAG, ip); server_cmd("kick #%i 'Razon: el nombre no puede tener 5 o mas numeros.'", get_user_userid(id)); server_cmd("kick ^"%n^" 'Razon: el nombre no puede tener 5 o mas numeros.'", id); } } for(new i = 0; i < sizeof publicity; i++) { if(containi(g_names[id], publicity[i]) != -1) { client_print_color(0, print_team_default, "%s El jugador con la ip ^4%s^1 fue kickeado por tener un nombre con spam.", TAG, ip); server_cmd("kick #%i 'Razon: Nombre contiene spam.'", get_user_userid(id)); server_cmd("kick ^"%n^" 'Razon: Nombre contiene spam.'", id); } } } public HookSay(id) {
static said[33][192]; read_args(said[id], charsmax(said[])); new count_num[33] = 0; remove_quotes(said[id]); new name[33]; get_user_name(id, name, charsmax(name));
for(new i = 0 ; i < strlen(said[id]); ++i ) { if(!str_to_num(said[id][i])) continue;
count_num[id]++
if(count_num[id] >= 5) { iIntentos[id]++ set_hudmessage(255, 255, 255, -1.0, 0.40, 0, 6.0, 12.0, 0.1, 0.2) show_hudmessage(id, "Deja de spamear te quedan %d/%d para ser kickeado", iIntentos[id], get_pcvar_num(pCvar_intentos)) client_print_color(0, print_team_default, "^3%s^1 : * MENSAJE BLOQUEADO CONSIDERADO SPAM *", name); Chequeo(id) count_num[id] = 0; return PLUGIN_HANDLED; } }
for(new i = 0; i < sizeof publicity; i++) { if(containi(said[id], publicity[i]) != -1) { iIntentos[id]++ set_hudmessage(255, 255, 255, -1.0, 0.40, 0, 6.0, 12.0, 0.1, 0.2) show_hudmessage(id, "Deja de spamear te quedan %d/%d para ser kickeado", iIntentos[id], get_pcvar_num(pCvar_intentos)) client_print_color(0, print_team_default, "^3%s^1 : * MENSAJE BLOQUEADO CONSIDERADO SPAM *", name) Chequeo(id) return PLUGIN_HANDLED; } }
return PLUGIN_CONTINUE; }
Chequeo(id) { new name[32]; get_user_name(id, name, 31); if(iIntentos[id] >= get_pcvar_num(pCvar_intentos)) { server_cmd("kick ^"#%d^" 'Deja de spamear sabandija!!'", get_user_userid(id)); iIntentos[id] = 0; client_print_color(0, print_team_default, "%s El jugador ^4%s^1 fue kickeado por intento de spam", TAG, name); } }
Mensajes: 206
Temas: 75
Registro en: Jul 2017
la idea que solamente el plugins funcione si usa el say_team
no el say ese dejalo si tengo otro plugins de spam
solo necesito hacer que si alguien usa say_team @ en consola lo kick altiro
se podra ?
|