Portal SAMP
[Ajuda] KillTimer não funciona - 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] KillTimer não funciona (/showthread.php?tid=1359)



KillTimer não funciona - zBL4CK - 08/07/2021

eae pessoal blz?

bom eu to fazendo um sistema em que precisa fazer uma contagem e com isso eu estou usando um timer porem quando uso o KillTimer para parar o timer o mesmo não para.

o sistema ta assim:



Código PHP:
#include < a_samp >
#include < fixes >
#include < timerfix >

//topo da GM
#define function%0(%1) forward %0(%1); public %0(%1)

new timerDroga;
new 
PorcDroga 90;
//o timer é chamado quando o player digita um comando
timerDroga SetTimer("Liberadroga"1000true);


//aki é a função:

function Liberadroga() {
    ++
PorcDroga;
    if(
PorcDroga == 100) {
        return 
KillTimer(timerDroga);
    }
    return 
1;


e quand chega a 100 o timer nn é finalizado alguem sabe o pq?


RE: KillTimer não funciona - xbruno1000x - 08/07/2021

Acredito que o problema possa ser a incompreensão do código pelo SA-MP.
Tente assim:

Código:
function Liberadroga()
{
    if(PorcDroga < 100)
    {
        PorcDroga += 1;
    } else {
        KillTimer(timerDroga);
    }
    return 1;
}

Enquanto for menor que 100(até 99, pois 99+1 = 100 que é o valor máximo) ele irá acrescentar +1;
A partir do momento que for maior que 100 o Timer é finalizado.

Espero que funcione. Porém, caso não funcione, minha 2° teoria é que o Timer Fix possa ter definido a função KillTimer diferente do nativo, assim como a streamer não usa DestroyObject.


RE: KillTimer não funciona - zBL4CK - 08/07/2021

(08/07/2021 12:49)xbruno1000x Escreveu: Acredito que o problema possa ser a incompreensão do código pelo SA-MP.
Tente assim:

Código:
function Liberadroga()
{
    if(PorcDroga < 100)
    {
        PorcDroga += 1;
    } else {
        KillTimer(timerDroga);
    }
    return 1;
}

Enquanto for menor que 100(até 99, pois 99+1 = 100 que é o valor máximo) ele irá acrescentar +1;
A partir do momento que for maior que 100 o Timer é finalizado.

Espero que funcione. Porém, caso não funcione, minha 2° teoria é que o Timer Fix possa ter definido a função KillTimer diferente do nativo, assim como a streamer não usa DestroyObject.

bom na vdd eu tive que mudar para settimerEx pois foi a unica forma que funcionou pois o estranho é que há funções que possui a mesma logica porem funcionam corretamente.


RE: KillTimer não funciona - xbruno1000x - 08/07/2021

(08/07/2021 19:06)zBL4CK Escreveu:
(08/07/2021 12:49)xbruno1000x Escreveu: Acredito que o problema possa ser a incompreensão do código pelo SA-MP.
Tente assim:

Código:
function Liberadroga()
{
    if(PorcDroga < 100)
    {
        PorcDroga += 1;
    } else {
        KillTimer(timerDroga);
    }
    return 1;
}

Enquanto for menor que 100(até 99, pois 99+1 = 100 que é o valor máximo) ele irá acrescentar +1;
A partir do momento que for maior que 100 o Timer é finalizado.

Espero que funcione. Porém, caso não funcione, minha 2° teoria é que o Timer Fix possa ter definido a função KillTimer diferente do nativo, assim como a streamer não usa DestroyObject.

bom na vdd eu tive que mudar para settimerEx pois foi a unica forma que funcionou pois o estranho é que há funções que possui a mesma logica porem funcionam corretamente.

Estranho isso. Mas se funcionou está bom...