Conectar-se
Quem está conectado
25 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 25 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 10/10/2008
Número de Mensagens : 19
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   :
   :
   :
Ver perfil do usuário

Como executar uma ação depois de digitar algo?

em Sex 22 Abr 2011, 10:27
Olá, galera.

Estou com um projeto de um jogo de luta, e eu queria digitar uma pequena sequencia de letras, depois Enter, e então o personagem mandar uma magia ou golpe.

Tentei o seguinte:

No STEP do personagem coloquei

Código:
if keyboard_string="and"
{
if keyboard_check_pressed(vk_enter)
{global.golpenormal=1}
}

if keyboard_check_pressed(vk_enter)
{keyboard_string=""}

"and" é a sequência de letras para deferir o golpe.
global.golpenormal=1 ativa uma função mais abaixo, no resto do código do STEP.
Coloquei em baixo keyboard_string="" porque eu precisava zerar o valor de keyboard_string para poder dar um outro golpe depois.

Mas o problema é que às vezes isso funciona, às vezes não. Às vezes eu preciso digitar várias vezes pra pegar só uma.
Tem outra maneira de eu fazer isso que estou tentando?

Abraços!
avatar
Data de inscrição : 16/04/2011
Número de Mensagens : 44
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Como executar uma ação depois de digitar algo?

em Sex 22 Abr 2011, 10:33
Você quer fazer uma magia? porque não coloka um "editbox" para esses comandos? sinceramente, não sei como fazer, mais no fórum deve ter..
avatar
Ranking : Nota C
Notas recebidas : C+C+C+C
Data de inscrição : 03/12/2010
Número de Mensagens : 470
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 28

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Como executar uma ação depois de digitar algo?

em Sex 22 Abr 2011, 10:38
num tendi muito bem mas vc pode fazer assim no create colocar
Código:
seq=0
ae no step vc coloca
Código:
seq=get_string("  Sequencia","")
if seq=("1°sequencia"){
codigos para realizar o glope 1
}
if seq=("2°sequencia"){
codigos para realizar o glope 2
}
e assim vc vai fazendo continuadamente tendeu?! epero ter ajudado!!! falow Cool
avatar
Data de inscrição : 10/10/2008
Número de Mensagens : 19
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Como executar uma ação depois de digitar algo?

em Sex 22 Abr 2011, 10:47
Gustavo

com get_string não dá pra fazer pq este código cria uma janela para digitar.
Eu quero digitar normalmente, sem aparecer janela de texto.

Por exemplo, os jogos normais de luta. Você gira a alavanca para um lado + um botão, e o personagem dá um golpe. Como fazer isso?
avatar
Ranking : Nota C
Notas recebidas : C+C+C+C
Data de inscrição : 03/12/2010
Número de Mensagens : 470
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 28

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Como executar uma ação depois de digitar algo?

em Sex 22 Abr 2011, 10:58
ah tah da pra fazer assim no crate vc coloca
Código:
p1=false
p2=false
p3=false
seq=false
ae no step
Código:
if keyboard_chek_pressed(ord("A")){
p1=true
}
if keyboard_chek_pressed(ord("S")) and p1=true{
p2=true
}
if keyboard_chek_pressed(ord("D")) and p2=true{
p3=true
}
if p1=true and p2=true and p3=true{
seq=true
}

ae no end step ou no step normal vc coloca
Código:
 if seq=true{codigo que faz atacar}
 ataca
eu num testei se der alguma coisa errada d um post ae blz?! falow!!
avatar
Ranking : Nota D
Notas recebidas : D+D
Data de inscrição : 05/10/2010
Número de Mensagens : 836
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 12

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Como executar uma ação depois de digitar algo?

em Sex 22 Abr 2011, 12:11
gustavo, do jeito que vc falou vai dar certo, mas precisa botar um alarm quando aperta A, S e D, senão o cara poderá apertar A, apertar S, e mesmo se passarem uns 10 segundos e só então apertar o D o golpe será executado. Nos golpes dos jogos, se o cara apertar uma tecla e passar mais de um segundo (aproxim.) e só então apertar a(s) outra(s),o golpe não é executado, tendo que ser rapidamente a sequencia.
então add um evento alarm[0] e bota
Código:
p1=false
p2=false
ae altera o step que o gustavo falou acrescentando o alarm ao apertar A e tbm S, assim:
Código:

if keyboard_chek_pressed(ord("A")){
p1=true;alarm[0]=30
}
if keyboard_chek_pressed(ord("S")) and p1=true{
p2=;alarm=[0]=30
}
if keyboard_chek_pressed(ord("D")) and p2=true{
p3=true
}
if p1=true and p2=true and p3=true{
seq=true
}
ae no code que executa o golpe vc bota algo pra ele nao ficar executando eternamente, tipo alterando o end step q o gustavo disse para:
Código:

 if seq=true{codigo que faz atacar;p3=true}
 
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Como executar uma ação depois de digitar algo?

em Sex 22 Abr 2011, 13:23
Coloca no STEP:

Código:
if keyboard_string!="" && keyboard_check_pressed(vk_enter)
{
letras_magia=3
tamanho_string=string_length(keyboard_string)
magia=string_copy(keyboard_string, tamanho_string-letras_magia, letras_magia)
if (magia=="and")
{global.golpenormal=1}
keyboard_string=""
}

avatar
Data de inscrição : 10/10/2008
Número de Mensagens : 19
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Como executar uma ação depois de digitar algo?

em Ter 26 Abr 2011, 09:51
hummm

Depois de muito trabalho, consegui fazer um esquema baseado no post de Mannoroth. Só precisei mudar algumas coisinhas bestas, mas funciona!

Obrigado!

Pode fechar o tópico.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum