new comandoDigitado[MAX_PLAYERS][128];
new comandoTempo[MAX_PLAYERS] = -1;
//OnPlayerCommandText
public OnPlayerCommandText(playerid, cmdtext[]) {
if(!strcmp(cmdtext, comandoDigitado[playerid], true) && comandoTempo[playerid] < gettime()) {
SendClientMessage(playerid, -1, "Aguarde 5 segundos para usar esse comando novamente.");
return 1;
}
format(comandoDigitado[playerid], 128, "%s", cmdtext);
comandoTempo[playerid] = gettime()+5;
return ;
}
if(!strcmp(ComandoAtual, Comandos[playerid], true) && strlen(Comandos[playerid]))
{
FloodComandos[playerid]++;
SendClientMessage(playerid, 0x33CCFFAA, "Proibido flood em comandos !");
if(FloodComandos[playerid] == 3)
{
Comandos[playerid] = ("");
FloodComandos[playerid] = 0;
new STR[65];
new NickName[MAX_PLAYER_NAME];
GetPlayerName(playerid, NickName, MAX_PLAYER_NAME);
format(STR, 65, "%s Foi kickado por floodar nos comandos!", NickName);
SendClientMessageToAll(0xFF0000AA, STR);
Kick(playerid);
}
return 1;
}
else
{
FloodComandos[playerid] = 0;
}
format(Comandos[playerid], 20, "%s", ComandoAtual);
if(!strcmp(ComandoAtual, Comandos[playerid], true) && strlen(Comandos[playerid]))
{
timerzerar[playerid] = SetTimerEx("zerarcmd",5000,false, "i",playerid);
FloodComandos[playerid]++;
SendClientMessage(playerid, 0x33CCFFAA, "Proibido flood em comandos !");
if(FloodComandos[playerid] == 3)
{
Comandos[playerid] = ("");
FloodComandos[playerid] = 0;
new STR[65];
new NickName[MAX_PLAYER_NAME];
GetPlayerName(playerid, NickName, MAX_PLAYER_NAME);
format(STR, 65, "%s Foi kickado por floodar nos comandos!", NickName);
SendClientMessageToAll(0xFF0000AA, STR);
Kick(playerid);
}
return 1;
}
else
{
FloodComandos[playerid] = 0;
}
format(Comandos[playerid], 20, "%s", ComandoAtual);
forward zerarcmd(playerid);
public zerarcmd(playerid)
{
if(FloodComandos[playerid] < 3)
{
KillTimer(timerzerar[playerid]);
FloodComandos[playerid] = 0;
}
}
new timerzerar[MAX_PLAYERS];
C:\Users\Guilherme\Desktop\Brasil Realidade Cruel\gamemodes\novogmsem.pwn(5882) : error 047: array sizes do not match, or destination array is too small Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 1 Error.
ComandoAtual = strtok(cmdtext, Parametro); // ESTA Й A LINHA
stock IsPlayerFlooding(pid, maxtime)
{
static Flooding[MAX_PLAYERS char];
if(tickcount() - Flooding{pid} < maxtime) return Flooding{pid} = tickcount(), true;
return Flooding{pid} = tickcount(), false;
}
if(IsPlayerFlooding(playerid, 5000)) return SendClientMessage(playerid, -1,"Frodanu (5s)");
Й que tem um problema rjjj, eu queria que quando o player digitasse um comando, e quando tentasse de novo rapidamente na segunda vez, que aparecesse uma mensagem assim: "[FLOOD]: Espere 2 segundos para digitar novamente!".
Obrigado! |
SendClientMessage(playerid, 0x33CCFFAA, "Proibido flood em comandos !");