SA-MP Forums Archive
SPAM/FLOOD - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: SPAM/FLOOD (/showthread.php?tid=257452)



SPAM/FLOOD - RcoN! - 26.05.2011

Hola, alguien sabe como hacer que en la funcion OnPlayerText no se pueda ingresar texto vacio ? texto vacio me refiero a que cuando uno en el chat solo le da a espacio y el chat lo toma como texto, y comumnmente se usa para hacer flood, ejemplo en el chat ( in - game )

Код:
WHEELMANDTS: 
WHEELMANDTS: 
WHEELMANDTS:
WHEELMANDTS: 
WHEELMANDTS:
hay alguna forma de evitar que se si no pone nada en el chat le salga un mensaje que no puede poner un mensaje en blanco ?


Re: SPAM/FLOOD - SeQu4lX - 26.05.2011

si se puede usa strfind, strmid o strcmp con esto vasta https://sampwiki.blast.hk/wiki/Strfind


Respuesta: SPAM/FLOOD - TiNcH010 - 26.05.2011

Sino proba como lo que puse en mi AntiCheat :O
No estoy seguro si lo tomara con espacio pero proba asi
pawn Код:
public OnPlayerText(playerid, text[])
{
static LastText[MAX_PLAYERS][128];
if(strfind(LastText[playerid], text, false) != -1) return SendClientMessage(playerid, Amarillo, "No intentes hacer FLOOD !"), 0;
strmid(LastText[playerid], text, 0, strlen(text), sizeof(LastText[]));



Respuesta: SPAM/FLOOD - DesingMyCry - 26.05.2011

Es simple, aquн lo que debes hacer.
  • creas una variable contenedora de "todos los carбcteres del teclado", un array multidimensional.
  • creas una variable que tenga el nъmero de carбcteres escritos en el chat, "strval".
  • usas el bucle "for" y haces que la variable creada por el bucle no pare hasta que sea mayor que la variable del punto "segundo".
  • nuevamente usas el bucle "for" y haces que la variable creada por el bucle llege a la cantidad de "cadenas" de la variable contenedora de "todos los carбcteres del teclado".
  • usas la estructura de control "if" para ver si la variable "text" contenedora del texto escrito (en el lugar de la variable creada por el bucle "for" nъmero 1) es igual a la variable contenedora de "todos los carбcteres del teclado" (en el lugar de la variable creada por el bucle "for" nъmero 2).
  • colocas si se cumple la funciуn que se envie el mensaje normalmente.
  • esto es opcional, si quieres usas la estructura de control "else" para contradecir la condiciуn del "if", puedes enviar un error.
Bueno, si no entendiste avisas pero soy vastante entendible asн que entenderбs a menos que no conoscas los terminos que usй.



Respuesta: SPAM/FLOOD - MaRcOsWeB - 26.05.2011

Con strfind y strlen.


Respuesta: SPAM/FLOOD - Stell4 - 26.05.2011

Quote:

Es simple, aquн lo que debes hacer.

1є creas una variable contenedora de "todos los carбcteres del teclado", un array multidimensional.
2є creas una variable que tenga el nъmero de carбcteres escritos en el chat, "strval".
3є usas el bucle "for" y haces que la variable creada por el bucle no pare hasta que sea mayor que la variable del punto "segundo".
4є nuevamente usas el bucle "for" y haces que la variable creada por el bucle llege a la cantidad de "cadenas" de la variable contenedora de "todos los carбcteres del teclado".
5є usas la estructura de control "if" para ver si la variable "text" contenedora del texto escrito (en el lugar de la variable creada por el bucle "for" nъmero 1) es igual a la variable contenedora de "todos los carбcteres del teclado" (en el lugar de la variable creada por el bucle "for" nъmero 2).
6є colocas si se cumple la funciуn que se envie el mensaje normalmente.
7є esto es opcional, si quieres usas la estructura de control "else" para contradecir la condiciуn del "if", puedes enviar un error.


Bueno, si no entendiste avisas pero soy vastante entendible asн que entenderбs a menos que no conoscas los terminos que usй

Creo que estбs muy agrandado, pero bueno xD

En cuanto al cуdigo que pusieron, estб mal, pues si pongo estos 2 mensajes:

xD
y despuйs:

Hola que tal xD!

me cancelarнa ese mensaje.


Respuesta: SPAM/FLOOD - MaRcOsWeB - 26.05.2011

Quote:
Originally Posted by Stell4
Посмотреть сообщение
Creo que estбs muy agrandado, pero bueno xD

En cuanto al cуdigo que pusieron, estб mal, pues si pongo estos 2 mensajes:

xD
y despuйs:

Hola que tal xD!

me cancelarнa ese mensaje.
Claro pero nadie va a poner " "


Respuesta: SPAM/FLOOD - RcoN! - 27.05.2011

Quote:
Originally Posted by Stell4
Посмотреть сообщение
Creo que estбs muy agrandado, pero bueno xD

En cuanto al cуdigo que pusieron, estб mal, pues si pongo estos 2 mensajes:

xD
y despuйs:

Hola que tal xD!

me cancelarнa ese mensaje.
y como seria el correcto ?


Respuesta: SPAM/FLOOD - Jovanny - 27.05.2011

pawn Код:
public OnPlayerText(playerid,text[])
{
if(text[0] == ' ')
{
SendClientMessage(playerid,-1,"No intentes hacer flooD");
return 0;
}
return 1;
}
Eso funcionara si solo escriben un espacio


Respuesta: SPAM/FLOOD - TiNcH010 - 27.05.2011

Quote:
Originally Posted by WHEELMANDTS
Посмотреть сообщение
y como seria el correcto ?
No probastes con el que yo te di? ¬¬
Al menos deci si te funciona con 'ESPACIO' o no