[Ajuda] segurar tecla
#1

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 ?
Reply
#2

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

Tem vбrias dicas.
Reply
#3

Код:
//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
Reply
#4

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 )) 
Reply
#5

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

Код:
gettime() + 10;
Reply
#7

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]); 
Reply
#8

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 ?
Reply
#9

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

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


Forum Jump:


Users browsing this thread: 1 Guest(s)