[Ajuda] Como detectar se o player ta correndo?
#7

Quote:
Originally Posted by gmstrikker
Посмотреть сообщение
Boa ideia usar uma progress bar pra mostrar pros players, mas meu problema й com a forma de detectar se o player ta correndo...



Tentei seguir o que vc me falou:
Код:
if(HOLDING(KEY_SPRINT) && HOLDING(KEY_UP) || HOLDING(KEY_SPRINT) && HOLDING(KEY_DOWN) || HOLDING(KEY_SPRINT) && HOLDING(KEY_LEFT) || HOLDING(KEY_SPRINT) && HOLDING(KEY_RIGHT))
		{
			if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) { Correndo[playerid] = true; }
		}
		else {
			Correndo[playerid] = false;
		}
Mas printando Correndo[playerid] no onplayerupdate sempre fica como false, posso correr no GTA q nunca vai pra TRUE
A key sprint й a key de quando ele clica no espaзo para correr.
As Key DOWN, UP, LEFT, RIGHT sгo as setas e tem de ser detetadas no OnPlayerUpdate ou com um timer , exemplo:
https://sampwiki.blast.hk/wiki/GetPlayerKeys
PHP код:
public OnPlayerUpdate(playerid)
{
    new 
Keys,ud,lr;
    
GetPlayerKeys(playerid,Keys,ud,lr);
 
    if(
ud == KEY_UPSendClientMessage(playerid, -1"UP");
    else if(
ud == KEY_DOWNSendClientMessage(playerid, -1"DOWN");
 
    if(
lr == KEY_LEFTSendClientMessage(playerid, -1"LEFT");
    else if(
lr == KEY_RIGHTSendClientMessage(playerid, -1"RIGHT");
 
    return 
1;

Leia bem a wiki:
https://sampwiki.blast.hk/wiki/OnPlayerKeyStateChange
"Directional keys do not trigger OnPlayerKeyStateChange (up/down/left/right). They can only be detected with GetPlayerKeys (in OnPlayerUpdate or a timer)."


Um dica para a barra de espaзo (sprint):
PHP код:
if(HOLDING(KEY_SPRINT) || PRESSING(newkeysKEY_SPRINT ))
    {
            
//QUANDO PRESSIONA BARRA DE ESPAЗO PARA CORRER
    
}
    if(
RELEASED(KEY_SPRINT))
    {
          
//QUANDO LIBERTA A BARRA DE ESPAЗO PARA PARAR DE CORRER
    

E para o as setas:
PHP код:
public OnPlayerUpdate(playerid)
{
    new 
Keys,ud,lr;
    
GetPlayerKeys(playerid,Keys,ud,lr);
    if(
ud != || ud != || lr != || lr != 0)
    {
          if(
Correndo[playerid] == false)
          {
                if(!
IsPlayerInAnyVehicle(playerid))
                {
                   
//QUANDO SE MOVE NAS SETAS
                   
Andando[playerid] = true;
                }
          }
    }
    else
    {
          if(
Correndo[playerid] == true)
          {
             if(!
IsPlayerInAnyVehicle(playerid))
             {
                
//QUANDO DEIXA DE PRESSIONAR AS SETAS
                
Andando[playerid] = false;
             }
          }
    }
    return 
1;

Reply


Messages In This Thread
Como detectar se o player ta correndo? - by gmstrikker - 28.02.2017, 20:55
Re: Como detectar se o player ta correndo? - by F1N4L - 01.03.2017, 11:48
Re: Como detectar se o player ta correndo? - by Cheleber_Pausini - 01.03.2017, 13:38
Re: Como detectar se o player ta correndo? - by gmstrikker - 02.03.2017, 14:20
Re: Como detectar se o player ta correndo? - by F1N4L - 02.03.2017, 15:39
Respuesta: Como detectar se o player ta correndo? - by Eiffel - 02.03.2017, 15:55
Re: Como detectar se o player ta correndo? - by Cheleber_Pausini - 02.03.2017, 17:43

Forum Jump:


Users browsing this thread: 2 Guest(s)