[Ajuda] SetTimerEX
#1

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
Reply
#2

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
Reply
#3

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;
}
Reply
#4

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;
}
Reply
#5

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;
}
Reply
#6

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 .-.
Reply
#7

Entendi, obrigado murilo, jб dei uma reputaзгo ;-;
Reply
#8

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;
}
Reply
#9

Por que em ZCMD '-'
Reply
#10

Pois й mais rбpido e dinвmico, strcmp й apenas um comparador, ZCMD jб й um processador.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)