SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 11/07/2019, 02:15 PM   #1
GuiKommander
Gangsta
 
GuiKommander's Avatar
 
Join Date: Dec 2016
Posts: 749
Reputation: 17
Default Timer não é executado

Fiz esse timer para o fome, já fiz debug para ver se está funcionando. Mas ele não é chamado!!

PHP Code:
new TimerFome[MAX_PLAYERS];

public 
OnPlayerSpawn(playerid)
{
    
TimerFome[playerid] = SetTimerEx("AtualizarFome"5000false"d"playerid);
    return 
1;
}

forward AtualizarFome(playerid);
public 
AtualizarFome(playerid)
{
    print(
"Chamou o Timer Atualizar Fome...");

    return 
TimerFome[playerid] = SetTimerEx("AtualizarFome"5000false"d"playerid);

__________________
Programo sistemas simples até os mais complexos por remuneração.
Todos os códigos dinâmicos.
GuiKommander is offline   Reply With Quote
Old 11/07/2019, 03:26 PM   #2
CezarBR
Big Clucker
 
CezarBR's Avatar
 
Join Date: Jul 2016
Location: Brasil-Minas Gerais
Posts: 139
Reputation: 2
Default Re: Timer não é executado

O jeito que você está fazendo não funciona, as variáveis armazenam apenas valores. O jeito certo de ser feito:

PHP Code:
public OnPlayerSpawn(playerid)
{
    
SetTimerEx("AtualizarFome"1000false"d"playerid);
    
    return 
1;
}

forward AtualizarFome(playerid);
public 
AtualizarFome(playerid)
{
    print(
"Chamou o Timer Atualizar Fome!.");
    
SendClientMessage(playerid, -1"Chamou o Timer Atualizar Fome! e se chamou, você ganhou 20 reais para comprar alimento...");
    
GivePlayerMoney(playerid20);

    return 
1;

__________________
Só sei que nada sei ~ Sócrates
CezarBR is offline   Reply With Quote
Old 11/07/2019, 04:17 PM   #3
GuiKommander
Gangsta
 
GuiKommander's Avatar
 
Join Date: Dec 2016
Posts: 749
Reputation: 17
Default Re: Timer não é executado

Quote:
Originally Posted by CezarBR View Post
O jeito que você está fazendo não funciona, as variáveis armazenam apenas valores. O jeito certo de ser feito:

PHP Code:
public OnPlayerSpawn(playerid)
{
    
SetTimerEx("AtualizarFome"1000false"d"playerid);
    
    return 
1;
}

forward AtualizarFome(playerid);
public 
AtualizarFome(playerid)
{
    print(
"Chamou o Timer Atualizar Fome!.");
    
SendClientMessage(playerid, -1"Chamou o Timer Atualizar Fome! e se chamou, você ganhou 20 reais para comprar alimento...");
    
GivePlayerMoney(playerid20);

    return 
1;

Irei precisar parar o Timer de Fome, não posso tirar a variável, como fica?
__________________
Programo sistemas simples até os mais complexos por remuneração.
Todos os códigos dinâmicos.
GuiKommander is offline   Reply With Quote
Old 11/07/2019, 04:31 PM   #4
ipsLuan
High-roller
 
ipsLuan's Avatar
 
Join Date: Feb 2013
Location: Ilhéus, BA
Posts: 4,217
Reputation: 314
Default Re: Timer não é executado

Um exemplo: https://forum.sa-mp.com/showpost.php...00&postcount=3
Para parar um timer, usa-se KillTimer(var);
__________________
O fim.
ipsLuan is offline   Reply With Quote
Old 11/07/2019, 08:24 PM   #5
Augustoo
Little Clucker
 
Augustoo's Avatar
 
Join Date: Dec 2018
Location: Planeta Terra
Posts: 30
Reputation: 5
Default Re: Timer não é executado

PHP Code:
#include <a_samp>

new Timer[MAX_PLAYERS];

forward UpdateTimer(playerid);

main(){}

public 
OnPlayerSpawn(playerid)
{
    
Timer[playerid] = SetTimerEx("UpdateTimer"5000false"d"playerid);
    return 
1;
}

public 
UpdateTimer(playerid)
{
    print(
"\n[ DEBUG ] Timer Update chamado com sucesso!\n");
    return 
KillTimer(Timer[playerid]);

Aqui funcionou de boa
__________________
Curioso
Augustoo is offline   Reply With Quote
Old 11/07/2019, 08:44 PM   #6
AdrianoStk
Huge Clucker
 
AdrianoStk's Avatar
 
Join Date: Jan 2013
Location: Presidente Prudente-SP
Posts: 389
Reputation: 22
Exclamation Re: Timer não é executado

Seja feliz
PHP Code:
new TimerFome[MAX_PLAYERS];
new 
bool:PrimeiroSpawn[MAX_PLAYERS];//Utilizado para evitar que o Timer Seja iniciado varias vezes para o mesmo player

public OnPlayerConnect(playerid)
{
    
PrimeiroSpawn[playerid] = true;
    return 
1;
}

public 
OnPlayerDisconnect(playeridreason)
{
    if(
PrimeiroSpawn[playerid])//Evitar Bugs com outros Timers Etc....
    
{
        
KillTimer(TimerFome[playerid]);//Necessario para que o timer finalize e não bugue o proximo a logar com a ID
    
}
    return 
1;
}

public 
OnPlayerSpawn(playerid)
{
    if(
PrimeiroSpawn[playerid])
    {
        
PrimeiroSpawn[playerid] = false;
        
TimerFome[playerid] = SetTimerEx("AtualizarFome"5000true"i"playerid);//Utilizar o modo pra ele repetir sem ficar toda hora iniciando um novo timer se torna mais otimizado!
    
}
    return 
1;
}

forward AtualizarFome(playerid);
public 
AtualizarFome(playerid)
{
    
SendClientMessage(playerid, -1"Timer Fome chamado!");//Debug
    
return 1;

__________________
Hayllander Server's


Breve, nos servidores


Discord
AdrianoStk is online now   Reply With Quote
Old 12/07/2019, 06:00 PM   #7
moura98
Huge Clucker
 
moura98's Avatar
 
Join Date: Jul 2015
Location: Brazil
Posts: 277
Reputation: 17
Default Re: Timer não é executado

Nao tem necessidade desse return Coloque apenas return true;
PHP Code:
    return TimerFome[playerid] = SetTimerEx("AtualizarFome"5000false"d"playerid); 
__________________
Code:
[FilterScript] Academia de Lutas
moura98 is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Ajuda] Não ser executado contra admins fxckshzt Português/Portuguese 1 15/09/2017 06:19 PM
[Ajuda] Bug - Comando nao é executado joaovictor098 Português/Portuguese 4 06/03/2014 11:21 AM
[Ajuda] Dialog não Executado? ProKillerpa Português/Portuguese 4 25/12/2013 04:07 PM
[Ajuda] Comando nao ta sendo executado Liipiinhow Português/Portuguese 8 07/09/2013 07:49 PM
[Ajuda] Comando não é executado com militares. davi54723 Português/Portuguese 3 26/05/2013 04:28 AM


All times are GMT. The time now is 10:19 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.