Hola a todos, Como ven el titulo: [Tutorial]Como Crear Anti-Flood, Para Comandos. Bueno es algo sencillo, Alguien se pregunta Que es Anti-Flood?:es repitir el comandos muchas veses, O la misma palabra.
Nueno eso de fllod todos lo savemos, Empesemos.
1)Vamos arriba de nuestro GM y Ponemos esto:
Lo siguiente, es ir al comando y añadirle esto antes de que realice el comando, es decir al comienzo
Eso es para avisar de cuanto tiempo tardaran en volver a usar el comando.
Una vez hecha la función de lo que quieren que haga el comando, poner:
Los 5000 son 5 segundos en milisegundos.
Y al finalizar todos los comandos, creamos una CallBack para quitarle el bloqueo,:
Este Es un Ejemplo ahi ustedes agregan el que no quiere que abusen de el:
Lo demás ya, es al poner el Timmer, Y eso es todo, si tenéis alguna duda, no dudés en decírmelo.
Adios
Si Tiene Algun problema/Bug no dudés En Hacernos Saver.
Nueno eso de fllod todos lo savemos, Empesemos.
1)Vamos arriba de nuestro GM y Ponemos esto:
- Código:
new AntiFlood[MAX_PLAYERS];
Lo siguiente, es ir al comando y añadirle esto antes de que realice el comando, es decir al comienzo
- Código:
if(AntiFlood[playerid] == 1)
{
format(string, 128, "Solo Puedes Utilizar Comandos Cada 5 Minutos.");
SendClientMessage(playerid, 0xa80707FF, string);
return 1;
}
Eso es para avisar de cuanto tiempo tardaran en volver a usar el comando.
Una vez hecha la función de lo que quieren que haga el comando, poner:
- Código:
AntiFlood[playerid]=1;
SetTimerEx("AntiFlood", 5000, 0, "d", playerid);
Los 5000 son 5 segundos en milisegundos.
Y al finalizar todos los comandos, creamos una CallBack para quitarle el bloqueo,:
- Código:
forward AntiFlood(playerid);
public AntiFlood(playerid)
{
AntiFlood[playerid] = 0;
return 1;
}
Este Es un Ejemplo ahi ustedes agregan el que no quiere que abusen de el:
- Código:
new AntiFlood[MAX_PLAYERS];
if(strcmp(cmd, "/vida", true) == 0)
{
if(AntiFlood[playerid] == 1)
{
format(string, 128, "Utiliza el comando cada 5 segundos.");
SendClientMessage(playerid, 0xa80707FF, string);
return 1;
}
SetPlayerHealth(playerid, 100);
SendClientMessage(playerid, 0x1eb032FF, "Has puesto tu vida a 100");
AntiFlood[playerid] = 1;
SetTimerEx("AntiFlood", 5000, 0, "d", playerid);
return 1;
}
Lo demás ya, es al poner el Timmer, Y eso es todo, si tenéis alguna duda, no dudés en decírmelo.
Adios
Si Tiene Algun problema/Bug no dudés En Hacernos Saver.