SetTimerEX -
Skiinner - 04.01.2013
Eu jб tentei aprender a usar esse outro timer, nгo fiquem mandando link de wiki pois jб li 25x.
Gostaria que alguйm, que estiver disposto, me ensine com exemplos aqui '-'
Tipo: chamar uma public para o player e executar alguma aзгo na public.
Obrigado
Re: SetTimerEX -
Maklister - 04.01.2013
pawn Код:
CMD:teste(playerid)
{
SetTimerEx("NomeFuncao", 1000, false, "d", playerid);
return 1;
}
forward NomeFuncao(playerid);
public NomeFuncao(playerid)
{
printf("meu ID й %d", playerid);
return 1;
}
SetTimerEx usa quando se usa parametro na public, exemplo o
playerid
Re: SetTimerEX -
Skiinner - 04.01.2013
Ah, entendi, obrigado mano!!
Se eu quisesse aplicar em algum player poderia fazer assim?
pawn Код:
if(strcmp(cmd, "/funcaoplayer", true) == 0)
{
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, Vermelho, "{FF8000}| ERRO | {FFFFFF}Uso correto: {FF0000}/Precocasa [id] [Valor]");
return 1;
}
plid = strval(tmp);
SetTimerEx("NomeFuncao", 1000, false, "d", plid);
return 1;
forward NomeFuncao(plid);
public NomeFuncao(plid)
{
printf("meu ID й %d", plid);
return 1;
}
Re: SetTimerEX -
Maklister - 04.01.2013
Isso, ai seria executado a funзгo printf apуs 1 segundo que no caso й 1000 milisegundos,
pawn Код:
if(strcmp(cmd, "/funcaoplayer", true) == 0) // Comando em strcmp ( aconselho DOF2 )
{
new plid;
SetTimerEx("NomeFuncao", 1000, false, "d", plid); // 1000 = 1 segundo, false ou true ( false ira se executado o timer somente 1 vez, se for true ira ficar repetindo, aconselho usar killtimer quando usar true
return 1;
}
forward NomeFuncao(plid);
public NomeFuncao(plid)
{
printf("meu ID й %d", plid); // Funзгo a ser executada
return 1;
}
Re: SetTimerEX -
Skiinner - 04.01.2013
Se eu pusesse no lugar de printf um SendClientMessage, mandaria para o ID que eu digitei no comando?
Vocк nгo entendeu, eu quero que execute um timer no ID que eu colocar no comando
pawn Код:
if(strcmp(cmd, "/funcaoplayer", true) == 0)
{
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, Vermelho, "{FF8000}| ERRO | {FFFFFF}Uso correto: {FF0000}/FuncaoPlayer [id]");
return 1;
}
plid = strval(tmp);
SetTimerEx("NomeFuncao", 1000, false, "d", plid);
return 1;
}
forward NomeFuncao(plid);
public NomeFuncao(plid)
{
SendClientMessage(playerid, COR, "123");// seria playerid ou plid
return 1;
}
Re: SetTimerEX -
Maklister - 04.01.2013
pawn Код:
forward NomeFuncao(plid);
public NomeFuncao(plid)
{
SendClientMessage(plid, COR, "123");// aqui seria plid.
return 1;
}
Mais acho meio inutil um timer so pra uma SendClientMessage .-.
Re: SetTimerEX -
Skiinner - 04.01.2013
Entendi, obrigado murilo, jб dei uma reputaзгo ;-;
Re: SetTimerEX -
JonathanFeitosa - 04.01.2013
pawn Код:
#define TEMPOSETTIMEREX 10000 // 10 seg.
CMD:SeuComandoEmZCMD(playerid)
{
SetTimerEx("NomePublic", TEMPOSETTIMEREX , false, "i", playerid);
// No "TEMPOSETTIMEREX ", Vocк bota o tempo que queria que envie a funcao "NomePublic" ! 10000 = 10seg !
// false para nгo repetir, true para repetir(atualizar) toda hora, exemplo um relogio.
return true;
}
forward NomePublic(playerid);
public NomePublic(playerid)
{
print("Mostrando a Mensagem Depois de %d", TEMPOSETTIMEREX);
return true;
}
Re: SetTimerEX -
Skiinner - 04.01.2013
Por que em ZCMD '-'
Re: SetTimerEX -
Maklister - 04.01.2013
Pois й mais rбpido e dinвmico, strcmp й apenas um comparador, ZCMD jб й um processador.