SA-MP Forums Archive
[Ajuda] segurar tecla - 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] segurar tecla (/showthread.php?tid=616061)



segurar tecla - Andinho - 31.08.2016

Ola galerinha, firmoze total? ... entгo, eu vou criar um sistema de caixa de equipamentos, e eu queria que o player equipe se ele segurar uma tecla, tipo "F", ou "y" tanto faz, eu queria saber como fuciona isso, de segurar a tecla, sу sei trabalhar quando preciona a tecla, ajuda ?


Re: segurar tecla - arakuta - 31.08.2016

https://sampwiki.blast.hk/wiki/OnPlayerKeyStateChange

Tem vбrias dicas.


Re: segurar tecla - Ermanhaut - 31.08.2016

Код:
//Definindo se o jogador estб segurando uma tecla
#define Holding(%0) \
           ((newkeys & (%0)) == (%0))

//Exemplo de uso

if(Holding(Key_Fire))
    {
          print("Segurando o botгo esquerdo do mouse");
    }
PS: Eu achei esse exemplo na Wiki. Se estiver errado, por favor, me corrijam.
Link: Detect if a player is holding a key


Re: segurar tecla - 99fe3rnando - 31.08.2016

https://sampwiki.blast.hk/wiki/OnPlayerKeyStateChange
Vбrios exemplos.

Detecting holding a key
"Detectando segurando uma chave"

The define:
"A definiзгo:"
PHP код:
// HOLDING(keys)
#define HOLDING(%0) \
    
((newkeys & (%0)) == (%0)) 
Segurando uma chave:

PHP код:
if (HOLDINGKEY_FIRE )) 



Re: segurar tecla - Andinho - 31.08.2016

Quote:
Originally Posted by 99fe3rnando
Посмотреть сообщение
https://sampwiki.blast.hk/wiki/OnPlayerKeyStateChange
Vбrios exemplos.

Detecting holding a key
"Detectando segurando uma chave"

The define:
"A definiзгo:"
PHP код:
// HOLDING(keys)
#define HOLDING(%0) \
    
((newkeys & (%0)) == (%0)) 
Segurando uma chave:

PHP код:
if (HOLDINGKEY_FIRE )) 

Sim, otima dica, porem, se eu quero que ele segure por 10 segundos, e quando acabasse os 10 segundos executar uma funзгo, eu teria que criar uma variavel ? pode dar um exemplo basico ? nao precisa um code completo nao, sу queria saber o basico.


Re: segurar tecla - Whoo - 31.08.2016

Код:
gettime() + 10;



Re: segurar tecla - arakuta - 31.08.2016

Podes usar SetTimerEx. Caso ele solte a tecla impeзa o timer de ser executado usando KillTimer.

PHP код:
new myTimer[MAX_PLAYERS]; 
PHP код:
myTimer[playerid] = SetTimerEx("CallbackTal",9999,false,"d",playerid); 
PHP код:
KillTimer(myTimer[playerid]); 



Re: segurar tecla - Andinho - 31.08.2016

Quote:
Originally Posted by 99fe3rnando
Посмотреть сообщение
https://sampwiki.blast.hk/wiki/OnPlayerKeyStateChange
Vбrios exemplos.

Detecting holding a key
"Detectando segurando uma chave"

The define:
"A definiзгo:"
PHP код:
// HOLDING(keys)
#define HOLDING(%0) \
    
((newkeys & (%0)) == (%0)) 
Segurando uma chave:

PHP код:
if (HOLDINGKEY_FIRE )) 

acho que entendi 90%, sу a ultima duvida, eu usar if (HOLDING( KEY_FIRE )) a Public vai ser chamada varias vezes por segundo ? verificando sempre se eu to segurando a tecla ?


Re: segurar tecla - arakuta - 31.08.2016

Quote:
Originally Posted by Andinho
Посмотреть сообщение
acho que entendi 90%, sу a ultima duvida, eu usar if (HOLDING( KEY_FIRE )) a Public vai ser chamada varias vezes por segundo ? verificando sempre se eu to segurando a tecla ?
Atй onde eu saiba, nгo. Particularmente nunca testei.

Vocк pode testar fazendo debug...


Re: segurar tecla - Andinho - 31.08.2016

Quote:
Originally Posted by arakuta
Посмотреть сообщение
Atй onde eu saiba, nгo. Particularmente nunca testei.

Vocк pode testar fazendo debug...
tbm nem testei, criei uma variavel pra verificar, no final ocorreu tudo bem, sу uma textdraw que ficou bugada, acabei usando GameTextForPlayer, rsrs mais ate q ficou bom

Obg a todos que ajudaram ^^