[Ajuda] Detectar se player estб segurando espaзo
#1

Estou tentnado detectar se o player estб correndo...
Qnd o player aperta espaзo detecta, mas segurando o espaзo nгo, queria que quando estivesse segudano espaзo tambйm ficasse:
PHP код:
public OnPlayerKeyStateChange(playeridnewkeysoldkeys)
{
    
// cansando
    
if((newkeys KEY_SPRINT) || HOLDING(KEY_SPRINT))
    {
        if(!
IsPlayerInAnyVehicle(playerid)) {
            
PlayerCorrendo(playerid);
        }
    }
    else
    { 
//if((oldkeys & KEY_SPRINT))
        
ContadorParandoCorrer[playerid] = SetTimerEx("PlayerNaoEstaCorrendo"1000"i"playerid);
    }

Reply
#2

Usa isso https://sampwiki.blast.hk/wiki/GetPlayerAnimationIndex

Ai depois fica mais facil
Reply
#3

Quote:
Originally Posted by PT
Посмотреть сообщение
Jб pensei em fazer por anim, mas nгo rola...
printa 1231 andando com w sem espaзo e com espaзo continua 1231
Reply
#4

A public OnPlayerKeyStateChange й usada apenas quando um player altera o estado de suas teclas, ou seja, ou aperta ou solta. Para verificar se o player persiste segurando uma tecla, use um Timer com a funзгo GetPlayerKeys.
Reply
#5

Quote:
Originally Posted by JohnBlack
Посмотреть сообщение
A public OnPlayerKeyStateChange й usada apenas quando um player altera o estado de suas teclas, ou seja, ou aperta ou solta. Para verificar se o player persiste segurando uma tecla, use um Timer com a funзгo GetPlayerKeys.
Isto funcionarб bem, mas tem uma funзгo na SAMP Wiki para isto:
Код:
#define HOLDING(%0) \
	((newkeys & (%0)) == (%0))

//Uso

if(HOLDING(KEY_SPRINT)){//Se o player estiver segurando 'espaзo'
    
    //bla bla bla
}
Reply
#6

Quote:
Originally Posted by Ermanhaut
Посмотреть сообщение
Isto funcionarб bem, mas tem uma funзгo na SAMP Wiki para isto:
Код:
#define HOLDING(%0) \
	((newkeys & (%0)) == (%0))

//Uso

if(HOLDING(KEY_SPRINT)){//Se o player estiver segurando 'espaзo'
    
    //bla bla bla
}
A funзгo HOLDING sу funcionarб dentro da public OnPlayerKeyStateChange, ou seja, quando o player apertar ou soltar uma tecla, o que faz essa funзгo HOLDING nгo ser tгo ъtil quanto simplesmente colocar
Код:
if(newkeys & KEY_SPRINT) { /**/ }
Para verificar se o player persiste segurando a tecla espaзo, terб que usar ou um Timer com GetPlayerKeys dentro ou a public OnPlayerUpdate.
Reply
#7

Quote:
Originally Posted by JohnBlack
Посмотреть сообщение
A funзгo HOLDING sу funcionarб dentro da public OnPlayerKeyStateChange, ou seja, quando o player apertar ou soltar uma tecla, o que faz essa funзгo HOLDING nгo ser tгo ъtil quanto simplesmente colocar
Код:
if(newkeys & KEY_SPRINT) { /**/ }
Para verificar se o player persiste segurando a tecla espaзo, terб que usar ou um Timer com GetPlayerKeys dentro ou a public OnPlayerUpdate.
Vocк tem razгo, ele tem que fazer o timer mesmo. Erro meu.
Reply
#8

Por que nгo ta detectando o espaзo pressionado?
PHP код:
        new Keys,ud,lr;
        
GetPlayerKeys(i,Keys,ud,lr);
        
// cansando
        
if(ud == KEY_SPRINT) {
            if(!
IsPlayerInAnyVehicle(i)) { PlayerCorrendo(i); }
        }
        else { 
// parou de correr
            
ContadorParandoCorrer[i] = SetTimerEx("PlayerNaoEstaCorrendo"1000"i"i);
        } 
Reply
#9

Quote:
Originally Posted by gmstrikker
Посмотреть сообщение
Por que nгo ta detectando o espaзo pressionado?
PHP код:
        new Keys,ud,lr;
        
GetPlayerKeys(i,Keys,ud,lr);
        
// cansando
        
if(ud == KEY_SPRINT) {
            if(!
IsPlayerInAnyVehicle(i)) { PlayerCorrendo(i); }
        }
        else { 
// parou de correr
            
ContadorParandoCorrer[i] = SetTimerEx("PlayerNaoEstaCorrendo"1000"i"i);
        } 
Vocк tб comparando as teclas cima/baixo com espaзo, isso nгo faz muito sentido.
Para dar certo vocк teria que comparar a sua variбvel Keys com KEY_SPRINT, aн sim.
Reply
#10

Quote:
Originally Posted by JohnBlack
Посмотреть сообщение
Vocк tб comparando as teclas cima/baixo com espaзo, isso nгo faz muito sentido.
Para dar certo vocк teria que comparar a sua variбvel Keys com KEY_SPRINT, aн sim.
Muito obrigado! +rep
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)