[Ajuda] Tempo para comando
#1

Fiz um sistema e preciso colocar um tempo para TODOS do servidor usar ele denovo
Ex.:UM player digitou /cagar
Dai qualquer player do server digita /cagar mas tem que aguardar 5 horas
Como faзo ?
Grato !
Reply
#2

PHP Code:
new bool:Block[MAX_PLAYERS]; //Criando a variavel

CMD:usarcmd(playerid)
{
 
SendClientMessage(playerid, -1"Ola, voce conseguiu usar pois nao esta bloqueado");
 
Block[playerid] = true//Bloqueia o player para usar o comando
 
SetTimerEx("DesbloquearCMD"5000false"i"playerid); //Cria um SetTimer de 5000 milйsimos (5 segundos) para executar apуs esse tempo.
 
return 1;
}
forward DesbloquearCMD(playerid); //Cria a public
public DesbloquearCMD(playerid//Usa a public
{
 
SendClientMessage(playerid, -1"Se passou 5 segundos, seus comandos foram liberado.");//mensagem ao player
 
Block[playerid] = false//Desbloqueia o comando e ele pode suar novamente.
 
return 1;

Se conter algum erro desculpe, isso й o Bбsico espero que entenda.
Reply
#3

@Edit:

Tem que criar um Timer. Recomendo que veja esse tutorial: https://sampforum.blast.hk/showthread.php?tid=557107

Abraзos.
Reply
#4

PHP Code:
#define tp 2   // valor em segundos que quer block o comandos
CMD:cagar(...)
{
if(
TimeStamp() - PlayerTick[playerid] < tp) return /* msg de erro */ 
PlayerTick[playerid] = TimeStamp();
//resto do comando
return 1;
}
stock TimeStamp()
{
    new 
time GetTickCount() / 1000;
    return 
time;

Reply
#5

pawn Code:
CMD:cagar(playeird)
if(cagou[playerid] == 1) return SendClientMessage(playerid, -1,"Vocк tem que esperar () segundos para poder usar o comando novamente!");
... //seu codigo
cagou[playerid] = 1; //significa que ele usou o cmd.
SetTimerEx("Tcagou",300000,0,"i",playerid); //300 segundos
}
    return 1;
}
forward Tcagou(playerid);
public Tcagou(playerid)
{
       cagou[playerid] = 0;
      return 1;
}
quando acabar os segundos , a variavel "cagou" й setada para 0 , ai vai,,,
Reply
#6

Quote:
Originally Posted by ModaLOKO
View Post
pawn Code:
CMD:cagar
if(cagou[playerid] == 1) return SendClientMessage(playerid, -1,"Vocк tem que esperar () segundos para poder usar o comando novamente!");
...
cagou[playerid] = 1; //significa que ele usou o cmd.
SetTimerEx("Tcagou",300000,0,"i",playerid); //300 segundos
}
    return 1;
}
forward Tcagou(playerid);
public Tcagou(playerid)
{
      Cagou[playerid] = 0;
      return 1;
}
quando acabar os segundos , a variavel "cagou" й setada para 0 , ai vai,,,
Bravo! Usou uma variбvel com letra maнscula, depois com letra minuscula.
Reply
#7

'-' peguei do meu aqui e editei velocidade luz , ate esqueci de algumas coisas....

@edite , '-' olha agr '-' , colabora parзa so novo nesse bagъi aqui...
Reply
#8

Quote:
Originally Posted by ModaLOKO
View Post
'-' peguei do meu aqui e editei velocidade luz , ate esqueci de algumas coisas....

@edite , '-' olha agr '-' , colabora parзa so novo nesse bagъi aqui...
Estou colaborando, senhor.

PHP Code:
new Pode_Usar_Novamente[MAX_PLAYERS]; 
command(cagarplayeridparams[]) {
    if(
gettime() - Pode_Usar_Novamente[playerid] < 300000) return SendClientMessage(playerid, -1"Espere 5 minutos pra usar o comando novamente.");
    
Pode_Usar_Novamente[playerid] = gettime();
    
printf("ID %d cagou."playerid);
    return 
1;

Observaзгo: O valor estб em milissegundos.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)