🤔 Para Refletir :
"A verdadeira ideia criativa vem do momento mais simplório do dia."
- Yonori Akari

RPG Maker 2000 [RM2000] Delay de 2 segundos ao pressionar botão 'Z'

titothetitan

Plebeu
Membro
Membro
Juntou-se
26 de Julho de 2017
Postagens
22
Bravecoins
35
Quando o jogador encostar numa mina no chão ele terá duas opções, recolher a mina ou ativá-la.



Se ele segurar o botão 'Z' por dois segundos, então deve recolhe-la.
Senão, se pressionar uma vez deve ativá-la.

Ainda não programei a parte de recolher ou ativar, coloquei apenas uma mensagem dizendo qual ação foi executada.



 
Última edição:
Não entendi muito a sua dúvida. Há pouquíssimos detalhes.
Mas do pouco que entendi, acredito que só faltou envolver esse evento em um laço.
1706919488871.png

Dessa forma a verificação acontecerá enquanto a tecla estiver pressionada durante 1 segundo ou quando soltá-la.

Na versão do RPG Maker que você está utilizando, o comando Loop está como Cycle. Estou usando a versão da Steam nos exemplos.


Agora se essa mecânica for utilizada várias vezes em seu jogo, recomendo que encapsule essa função em um evento comum. Aí dentro dessas condições, você entrega uma variável para indicar o estado da ação que deverá ser entregue lá para o mapa para que lá nele possa ser avaliado os comportamento desta ação.
Dessa forma, vai evitar com que você tenha que copiar e colar o código para vários eventos, podendo comprometer um tanto quanto a sua manutenção.

1706919986518.png

1706920002888.png
 
Não entendi muito a sua dúvida. Há pouquíssimos detalhes.
Mas do pouco que entendi, acredito que só faltou envolver esse evento em um laço.
Visualizar anexo 7337
Dessa forma a verificação acontecerá enquanto a tecla estiver pressionada durante 1 segundo ou quando soltá-la.

Na versão do RPG Maker que você está utilizando, o comando Loop está como Cycle. Estou usando a versão da Steam nos exemplos.


Agora se essa mecânica for utilizada várias vezes em seu jogo, recomendo que encapsule essa função em um evento comum. Aí dentro dessas condições, você entrega uma variável para indicar o estado da ação que deverá ser entregue lá para o mapa para que lá nele possa ser avaliado os comportamento desta ação.
Dessa forma, vai evitar com que você tenha que copiar e colar o código para vários eventos, podendo comprometer um tanto quanto a sua manutenção.


Reorganizei a questão e acho que agora ficou mais claro. Vou tentar da maneira que você mostrou usando Cycle.
 
Não é possível usar eventos de teclas diferentes, "Quando pressionada" e "Quando segurada", a única maneira é simular com o tempo que o jogador segurou, para isso é necessário habilitar o ELSE do condição quando for 5 (tecla).

Mas se o Trigger não for alterado para colidir o evento com o Player, esse comando de tecla não adiantará muito, não conheço o termo nesta versão pirata, mas temos as opções "Action Button", "Player Touch" e "Event Touch".

O correto a usar é este terceiro, pois você poderá verificar se a tecla foi solta antes dos segundos serem completados, assim considerando que o jogador apenas apertou a tecla ativando a mina.
Vou escrevê-lo de forma lógica para que você possa interpretá-lo no editor de eventos:
Código:
<>Processo de teclas Var 0004 (Selecionar a 5)
<>IF Var 0004 igual à 5
    <>Variavel 15 += 1
    <>IF Var 0015 > 10
        <>Mensagem: Item recolhido!
        <>Variavel 0015 = 0
        <>
    :Else
        <>Esperar 0.1s
        <>
    <>End
    <>
:Else
    <>IF Var 0015 >= 1
        <>Mensagem: Item ativado!
        <>Variavel 0015 = 0
        <>
    :End
    <>
:End

Dentro da própria opção "Key Input" (Enter Password) tem a opção de verificar o tempo que a tecla está sendo segurada, mas realmente não tenho como confirmar como isso trabalha.
 
Última edição:
Voltar
Topo Inferior