[Ajuda] com SetTimer
#1

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;

Reply
#2

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

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

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

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 !
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)