format(string, sizeof(string), "Relatorio de %s[%d]: %s", sendername,playerid, (result));
ABroadCast(COLOR_ASKQ,string,1);
SendClientMessage(playerid, COLOR_ASKQ, "Seu relatуrio foi enviado aos Admins.");
SetTimerEx("temporelato",5000,0,"i",playerid); return SendClientMessage(playerid, COLOR_ASKQ, "Aguarde 5 segundos para mandar outro relatorio.");
new bool:esperando[MAX_PLAYERS];
forward Tempo(playerid);
public Tempo(playerid)
{
esperando[playerid] == false;
return 1;
}
//no comando...
if(esperando[playerid] == false)
{
//Executa o comando...
esperando[playerid] = true;
SetTimerEx("Tempo",5000,false,"i",playerid);
return 1;
}
else
{
SendClientMessage(playerid,-1,"Vocк precisa esperar 5 segundos para mandar outro /relatorio");
}
usa uma bool true/false para definir que estб em tempo de espera, ou em tempo livre...
pawn Код:
|
if(strcmp(cmd, "/relato", true) == 0 || strcmp(cmd, "/rel", true) == 0)
{
if(IsPlayerConnected(playerid))
if(esperando[playerid] == false)
{
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, "USE: /relato [texto]");
return 1;
}
format(string, sizeof(string), "Relatorio de %s[%d]: %s", sendername,playerid, (result));
ABroadCast(COLOR_ASKQ,string,1);
SendClientMessage(playerid, COLOR_ASKQ, "Seu relatуrio foi enviado aos Admins.");
esperando[playerid] = true;
SetTimerEx("Tempo",5000,false,"i",playerid);
return 1;
else
{
SendClientMessage(playerid,-1,"Vocк precisa esperar 5 segundos para mandar outro /relatorio");
}
}
return 1;
}
if(strcmp(cmd, "/relato", true) == 0 || strcmp(cmd, "/rel", true) == 0)
{
if(esperando[playerid] == false)
{
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, "USE: /relato [texto]");
return 1;
}
format(string, sizeof(string), "Relatorio de %s[%d]: %s", sendername,playerid, (result));
ABroadCast(COLOR_ASKQ,string,1);
SendClientMessage(playerid, COLOR_ASKQ, "Seu relatуrio foi enviado aos Admins.");
esperando[playerid] = true;
SetTimerEx("Tempo",5000,false,"i",playerid);
return 1;
}
SendClientMessage(playerid,-1,"Vocк precisa esperar 5 segundos para mandar outro /relatorio");
return 1;
}
new count[MAX_PLAYERS];//topo do GM
count[playerid] = GetTickCount();//quando ele mandar o relato
if(GetTickCount()-count[playerid] < 5000)
return SendClientMessage(playerid,-1,"Vocк precisa esperar 5 segundos para mandar outro /relatorio");//dentro do /re depois da chave {
pawn Код:
|
new countRelato[MAX_PLAYERS];//topo do GM
countRelato[playerid] = GetTickCount();//quando ele mandar o relato
if(GetTickCount()-countRelato[playerid] < 5000)
return SendClientMessage(playerid,-1,"Vocк precisa esperar 5 segundos para mandar outro /relatorio");//dentro do /re depois da chave {
troca o nome da variavel count por qualquer outra coisa, por exemplo:
pawn Код:
|
Important Note: GetTickCount will cause problems on servers with uptime of over 24 days (physical server, not SA:MP server) as GetTickCount will eventually warp past the integer size constraints
new countRelato[MAX_PLAYERS];//topo do GM
countRelato[playerid] = Tickcount();//quando ele mandar o relato
if(Tickcount()-countRelato[playerid] < 5000)
return SendClientMessage(playerid,-1,"Vocк precisa esperar 5 segundos para mandar outro /relatorio");