Este sistema manda un mensaje de advertencia al usuario y otro a los admins conectados con toda la informacion, nombre del canal, mensaje, nombre de usuario y ID de usuario.
Se puede agregar a los canales que queramos /b /o /meg /s /f /gob etc ....
Primero vamos a
Y colocamos esto
Quedando de este modo
Segundo vamos al final de nuestro GM y colocamos esto
Tercero agregamos en
Despues en los canales que quereamos que detecte el spam agregamos esto
Un ejemplo de un canal donde lo tengo agregado yo en mi GM.
PD, para implemetar este sistema en nuestro GM debemos Fijarnos en la linea
Segun el canal donde agregan fijaros que pone
Dudas comenten en el Post.
Un saludo
Se puede agregar a los canales que queramos /b /o /meg /s /f /gob etc ....
Primero vamos a
- Código:
public OnGameModeInit()
Y colocamos esto
- Código:
if(DetectarSpam("93.189.94.166:7777")) print("Hizo SPAM!");
Quedando de este modo
- Código:
public OnGameModeInit()
{
if(DetectarSpam("93.189.94.166:7777")) print("Hizo SPAM!");
//resto de codigo de nuestro GM
Segundo vamos al final de nuestro GM y colocamos esto
- Código:
stock DetectarSpam(SPAM[])
{
new SSPAM;
new CUENTAP,CUENTAN,CUENTAW,CUENTADP,CUENTAGB;
for(SSPAM = 0; SSPAM < strlen(SPAM); SSPAM ++)
{
if(SPAM[SSPAM] == '.') CUENTAP ++;
if(SPAM[SSPAM] == '0' || SPAM[SSPAM] == '1' || SPAM[SSPAM] == '2' || SPAM[SSPAM] == '3' || SPAM[SSPAM] == '4' || SPAM[SSPAM] == '5' || SPAM[SSPAM] == '6' || SPAM[SSPAM] == '7' || SPAM[SSPAM] == '8' || SPAM[SSPAM] == '9') CUENTAN ++;
if(SPAM[SSPAM] == 'w' || SPAM[SSPAM] == 'W') CUENTAW ++;
if(SPAM[SSPAM] == ':') CUENTADP ++;
if(SPAM[SSPAM] == '_') CUENTAGB ++;
}
if(CUENTAP >= 3 && CUENTAN >= 4) return 1;
if(CUENTAW >= 3) return 1;
if(CUENTAN >= 3) return 1;
if(CUENTAGB >= 2 && CUENTAN >= 3) return 1;
if(strfind(SPAM, ".com", true) != -1 || strfind(SPAM, ".com.ar", true) != -1 || strfind(SPAM, ".org", true) != -1 || strfind(SPAM, ".net", true) != -1 || strfind(SPAM, ".es", true) != -1 || strfind(SPAM, ".tk", true) != -1) return 1;
if(CUENTADP >= 1 && CUENTAN >= 4) return 1;
return 0;
}
Tercero agregamos en
- Código:
public OnPlayerText(playerid, text[])
- Código:
if(DetectarSpam(text))
{
new string2[256];
SendClientMessage(playerid,COLOR_WHITE,"No intentes hacer SPAM en esta comunidad o seras sancionado y expulsado");
SendClientMessage(playerid,COLOR_WHITE,"Los superiores o encargados de la comunidad fueron Advertidos de tu acción");
format(string, sizeof(string), "[STAFF - SPAM] Usuario {04CA27}%s{FF0000}[ID:%i] Posible Spamer. [{0000D0}Canal IC{FF0000}]",NombreSinGuion(playerid),playerid);
ABroadCast(COLOR_ROJO, string, 1);
format(string2, sizeof(string2), "Texto enviado: {0000D0}'{FFFFFF}%s{0000D0}'",text);
ABroadCast(COLOR_ROJO, string2, 1);
return 0;
}
Despues en los canales que quereamos que detecte el spam agregamos esto
- Código:
if(DetectarSpam(cmdtext))
{
new string2[256];
SendClientMessage(playerid,COLOR_WHITE,"No intentes hacer SPAM en esta comunidad o seras sancionado y expulsado");
SendClientMessage(playerid,COLOR_WHITE,"Los superiores o encargados de la comunidad fueron Advertidos de tu acción");
format(string2, sizeof(string2), "[STAFF - SPAM] Usuario {04CA27}%s {FF0000}[ID:%i] Posible Spamer. [{0000D0}Canal IC (/m) {FF0000}]",NombreSinGuion(playerid),playerid);
ABroadCast(COLOR_ROJO, string2, 1);
format(string, sizeof(string), "Texto enviado: {0000D0}'{FFFFFF}%s{0000D0}'",result);
ABroadCast(COLOR_ROJO, string, 1);
return 1;
}
Un ejemplo de un canal donde lo tengo agregado yo en mi GM.
- Código:
if(strcmp(cmd, "/susurro", true) == 0 || strcmp(cmd, "/s", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(gPlayerLogged[playerid] == 0)
{
SendClientMessage(playerid, COLOR_GREY, "No estás logeado!");
return 1;
}
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "Utilize: (/s)usurro [susurro]");
return 1;
}
if(DetectarSpam(cmdtext)) // CODIGO DE ANTI- SPAM
{
new string2[256];
SendClientMessage(playerid,COLOR_WHITE,"No intentes hacer SPAM en esta comunidad o seras sancionado y expulsado");
SendClientMessage(playerid,COLOR_WHITE,"Los superiores o encargados de la comunidad fueron Advertidos de tu acción");
format(string2, sizeof(string2), "[STAFF - SPAM] Usuario {04CA27}%s {FF0000}[ID:%i] Posible Spamer. [{0000D0}Canal IC (/s) {FF0000}]",NombreSinGuion(playerid),playerid);
ABroadCast(COLOR_ROJO, string2, 1);
format(string, sizeof(string), "Texto enviado: {0000D0}'{FFFFFF}%s{0000D0}'",result);
ABroadCast(COLOR_ROJO, string, 1);
return 1;
}
if(PlayerInfo[playerid][pMaskuse] == 1)
{
format(string, sizeof(string), "%s susurra: %s", NombreSinGuion(playerid), result);
ApplyAnimation(playerid,"PED","IDLE_chat",4.1,7,5,1,1,1);
}
else
{
format(string, sizeof(string), "%s susurra: %s", NombreSinGuion(playerid), result);
ApplyAnimation(playerid,"PED","IDLE_chat",4.1,7,5,1,1,1);
}
ProxDetector(3.0, playerid, string, COLOR_VIOLETA, COLOR_VIOLETA, COLOR_VIOLETA, COLOR_VIOLETA, COLOR_VIOLETA);
printf("%s", string);
}
return 1;
}
PD, para implemetar este sistema en nuestro GM debemos Fijarnos en la linea
- Código:
format(string2, sizeof(string2), "[STAFF - SPAM] Usuario {04CA27}%s {FF0000}[ID:%i] Posible Spamer. [{0000D0}Canal IC (/s) {FF0000}]",NombreSinGuion(playerid),playerid);
Segun el canal donde agregan fijaros que pone
- Código:
Canal IC (/s)
- Código:
NombreSinGuion(playerid),playerid);
Dudas comenten en el Post.
Un saludo