Portal SAMP
[Ajuda] SetTimer true por um tempo e depois false. - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] SetTimer true por um tempo e depois false. (/showthread.php?tid=1954)



SetTimer true por um tempo e depois false. - MatheuzPatoo - 17/12/2021

Estou criando um sistema de GangZone, quero que a cada segundo de +1 ponto de GangZone tomada, chegando em 10 a GangZone é totalmente tomada, tem como desligar o SetTime depois que der os 10 pontos? estou fazendo essa pontuação assim, se dessa maneira não houver jeito me indique outra (até pensei em fazer um loop porém não sei se da pra colocar pra fazer de 1 em 1 segundo).



RE: SetTimer true por um tempo e depois false. - ipsLuan - 17/12/2021

Para finalizar o timer, usa-se KillTimer.


RE: SetTimer true por um tempo e depois false. - xbruno1000x - 17/12/2021

O ideal seria criar um SetTimerEx sem loop e repeti-lo quando a função for executada.

Exemplo:
Código:
SetTimerEx("Pontuacao", 1000, ...);

public Pontuacao(...)
{
    Ponto++;
    SetTimerEx("Pontuacao", 1000, ...);
}



RE: SetTimer true por um tempo e depois false. - SrBlue - 17/12/2021

use a lógica amigo,

faça um timer que tens verificação se o jogador está na gangzone, domina, caso aocontrario, nem domina.

exemplo:


Código:
new GangzoneDominando;

GangzoneDomiando = SetTimerEx("GzDominando", 60000, 0, "i", playerid);

public GzDominando(playerid)
{
    if(Player..InGz(playerid){
              gz=Dominou
              KillTimer(GzDominando);
    }else{
        sendclient... ( você não está na gz, por isso não dominou... )
        KillTimer(GzDominando);
  }
}


caso você prefira o sistema de pontuação requer 2 timers, 1 com loop, e outro para verificação se o jogador conseguiu dominar com sucesso...
enfim, código acima é somente um exemplo!