Posts: 105
Threads: 31
Joined: Jun 2013
Reputation:
0
Hola chicos me pueden dar unos mini tutoriales acб de como se usan los timer
ya que veo mucha gente que dice usa un timer para tal cosa en vez de onplayerUpdate
pero de la forma mas optimas posible muchas gracias los amo.
Posts: 2,041
Threads: 97
Joined: Jun 2013
Posts: 2,041
Threads: 97
Joined: Jun 2013
Quote:
Originally Posted by Galileo
Por ejemplo, un timer para usar comando solo 5 segundos despues de spawnear:
Код:
// Arriba del GM
new Puede[MAX_PLAYERS];
// En OnPlayerSpawn
Puede[playerid] = 0;
SetTimer("PuedeUsarCMD",5000,false);
// Creando la funcion que llama el timer
forward PuedeUsarCMD(playerid);
public PuedeUsarCMD(playerid)
{
Puede[playerid] = 1;
return 1;
}
CMD:vehiculo(playerid,params[])
{
if(PuedeUsarCMD[playerid] == 1)
{
// Codigo bla bla
return 1;
}
else
{
SendClientMessage(playerid,-1,"Espera 5 segundos!");
}
return 1;
}
|
Tъ tambiйn lee la wiki.
Serнa asн:
pawn Код:
// Arriba del GM
new Puede[MAX_PLAYERS];
// En OnPlayerSpawn
Puede[playerid] = 0;
SetTimerEx("PuedeUsarCMD", 5000, false, "d", playerid);
// Creando la funcion que llama el timer
forward PuedeUsarCMD(playerid);
public PuedeUsarCMD(playerid)
{
Puede[playerid] = 1;
return 1;
}
CMD:vehiculo(playerid,params[])
{
if(PuedeUsarCMD[playerid] == 1)
{
// Codigo bla bla
return 1;
}
else
{
SendClientMessage(playerid,-1,"Espera 5 segundos!");
}
return 1;
}
Posts: 4,930
Threads: 467
Joined: Dec 2010
pawn Код:
#include <a_samp>
#include <zcmd>
new bool:PuedeUsarCMD[MAX_PLAYERS],
MatarPuede[MAX_PLAYERS];
public OnPlayerDisconnect(playerid, reason){
PuedeUsarCMD[playerid] = false;
KillTimer(MatarPuede[playerid]);
return true;
}
public OnPlayerSpawn(playerid){
PuedeUsarCMD[playerid] = false;
KillTimer(MatarPuede[playerid]);
MatarPuede[playerid] = SetTimerEx("TimerCargar", 5*1000, false, "d", playerid);
return true;
}
forward TimerCargar(playerid);
public TimerCargar(playerid){
PuedeUsarCMD[playerid] = true;
KillTimer(MatarPuede[playerid]);
return true;
}
COMMAND:vehiculo(playerid,params[]){
if(PuedeUsarCMD[playerid]!=false){
// Codigo bla bla
}else{
SendClientMessage(playerid,-1,"Espera 5 segundos!");
}
return true;
}
Posts: 2,041
Threads: 97
Joined: Jun 2013
Quote:
Originally Posted by MillerUTL
Una pregunta que siempre tuve en duda, los timers como este: SetTimerEx("PuedeUsarCMD", 5000, false, "d", playerid);
їHace falta matarlos, osea con KillTimer, o el false ya lo hace?
|
No, ya que cuando usas 'false', se detienea y llama su funciуn...