new NoFlood[MAX_PLAYERS];
public ResetearNoFlood(playerid)
{
NoFlood[playerid] = 0;//devuelve el valor a cero
}
if(strcmp(cmd, "/comando", true) == 0)
{
if(NoFlood[playerid] == 1) return Message(playerid, COLOR, "Espera 10 segundos para volver a usar este comando");//si tiene la variable en 1 no le permite usar el cmd
NoFlood[playerid] = 1;//si tiene la variable en 0 se la setea en 1
SetTimerEx("ResetearNoFlood", 10000, false, "i", playerid);//activa el timer que se calcula en milisegundos(en este caso 10 segundos)
//demбs funciones del comando
return 1;
}
new flood[MAX_PLAYERS] = {0, ...};
if(!strcmp(cmdtext, "/comando", true))
{
if(flood[playerid] < gettime())
{
// tu cуdigo.
flood[playerid] = gettime() + 2;
}
else SendClientMessage(playerid, -1, "#");
}
Es mejor hacerlo sin timers.
pawn Код:
|
public OnPlayerCommandText(playerid, cmdtext[]) { if(AntiFloodComandos[playerid] < gettime()) { GameTextForPlayer(playerid, "~w~solo puedes usar comandos cada 2 segundos!", 6000, 5); AntiFloodComandos[playerid] = gettime() + 2; } return 0; }
Uum no lo quiero para cada comando, lo quiero para todos, lo tratй de poner asн xDD y no me sirviу:
Код:
public OnPlayerCommandText(playerid, cmdtext[]) { if(AntiFloodComandos[playerid] < gettime()) { GameTextForPlayer(playerid, "~w~solo puedes usar comandos cada 2 segundos!", 6000, 5); AntiFloodComandos[playerid] = gettime() + 2; } return 0; } |
public OnPlayerCommandText(playerid, cmdtext[])
{
if(AntiFloodComandos[playerid] > gettime())
{
GameTextForPlayer(playerid, "~w~solo puedes usar comandos cada 2 segundos!", 6000, 5);
return 1;
}
AntiFloodComandos[playerid] = gettime() + 2;
// tus comandos luego de esta linea.
return 0;
}