SA-MP Forums Archive
[Ajuda] com SetTimer - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] com SetTimer (/showthread.php?tid=573740)



com SetTimer - lucas_mdr1235 - 09.05.2015

galera e o seguinte to tentando fazer um sistema de verificar o player de esc. pelo q andei lendo onplayerupdate decha de ser atualizado quando o player fica esc. O problema e que o status do player depois q da esc nao muda.

PHP код:
enum AFKInfo
{
    
AFKTimerEx,
    
AFKPause,
    
AFKPlay
};
new 
CheckAFKInfo[MAX_PLAYERS][AFKInfo];
public 
OnPlayerConnect(playerid)
{
    
CheckAFKInfo[playerid][AFKPlay] = 1;
    
CheckAFKInfo[playerid][AFKPause] = 0;
    
CheckAFKInfo[playerid][AFKTimerEx] = SetTimerEx("CheckPausePlayer"500true"i",playerid);
    return 
1;
}
public 
OnPlayerDisconnect(playeridreason)
{
    
KillTimer(CheckAFKInfo[playerid][AFKTimerEx]);
    return 
1;
}
public 
OnPlayerUpdate(playerid)
{
    
CheckAFKInfo[playerid][AFKPlay] = 1;
    
CheckAFKInfo[playerid][AFKPause] = 0;
    return 
1;
}
stock CheckPausePlayer(playerid)
{
    
CheckAFKInfo[playerid][AFKPlay]++;
    if(
CheckAFKInfo[playerid][AFKPlay] > 4)
    {
       
CheckAFKInfo[playerid][AFKPause] = 1;
       
CheckAFKInfo[playerid][AFKPlay] = 0;
    }
    else
    {
       
CheckAFKInfo[playerid][AFKPause] = 0;
       
CheckAFKInfo[playerid][AFKPlay] = 1;
    }
    return 
1;
}
stock PlayerPause(playerid)
{
    if(
CheckAFKInfo[playerid][AFKPause] == && CheckAFKInfo[playerid][AFKPlay] == 0)
    {
        return 
1;
    }
    return 
0;
}
stock PlayerPlay(playerid)
{
    if(
CheckAFKInfo[playerid][AFKPause] == && CheckAFKInfo[playerid][AFKPlay] == 1)
    {
        return 
1;
    }
    return 
0;




Re: com SetTimer - Gii - 09.05.2015

Um jeito mais simples:

PHP код:
public OnPlayerUpdate(playerid) {
    
SetPVarInt(playerid"lastUpdate"gettime() );
    return 
1;
}

stock isPaused(playerid) {
    if ( (
gettime() - GetPVarInt(playerid"lastUpdate") ) >= )  
        return 
1;
    return 
0;

Quando se usa SetTimer/SetTimerEx nгo se usa "stock", mas sim forward e public.


Re: com SetTimer - JonathanFeitosa - 10.05.2015

Vocк deve iniciar as variбveis quando as callbacks sгo chamadas


Re: com SetTimer - Lуs - 10.05.2015

Recomendo a utilizaзгo desta Include para executar a checagem que vocк quer efetuar.


Re: com SetTimer - lucas_mdr1235 - 10.05.2015

Quote:
Originally Posted by Gii
Посмотреть сообщение
Um jeito mais simples:

PHP код:
public OnPlayerUpdate(playerid) {
    
SetPVarInt(playerid"lastUpdate"gettime() );
    return 
1;
}

stock isPaused(playerid) {
    if ( (
gettime() - GetPVarInt(playerid"lastUpdate") ) >= )  
        return 
1;
    return 
0;

Quando se usa SetTimer/SetTimerEx nгo se usa "stock", mas sim forward e public.
Obrigado pela informaзгo, eu nгo sabia disso !
Quote:
Originally Posted by JonathanFeitosa
Посмотреть сообщение
Vocк deve iniciar as variбveis quando as callbacks sгo chamadas
Obrigado pela dica estarei fazendo isso !
Quote:
Originally Posted by Lуs
Посмотреть сообщение
Recomendo a utilizaзгo desta Include para executar a checagem que vocк quer efetuar.
Eu vi esta include mesmo ai, com varias informaзхes que eu comecei a ver tentei criar .Vou usar as dicas do amigo acima pra ver como fica a precisгo qualquer coisa usarei esta include mesmo. Obrigado !