MV - Meu primeiro Plugin - Permite usar mais teclas no jogo (ideal para ABS)

Fórum para a postagem de tutoriais e dúvidas de Rpg Maker MV.
Responder
Avatar do usuário
crixus
Membro (Recruta)
Mensagens: 10
Registrado em: Dom Mai 21, 2017 2:49 am

MV - Meu primeiro Plugin - Permite usar mais teclas no jogo (ideal para ABS)

Mensagem por crixus » Qui Abr 04, 2019 1:35 pm

Link do Vídeo: https://youtu.be/XHRxAhbvfjQ

Está em fase de desenvolvimento e testes.
Provavelmente já existem plugins para está finalidade sem os problemas que estão apresentados logo abaixo.

Meu primeiro Plugin se basea completamente no uso de Javascript para navegadores, por isso existe alguma limitações devido ao sistema/core do Rpg Maker já existente, eu criei apenas como um atributo de Javascript diretamente no HTML do jogo:

Código: Selecionar todos

<script type="text/javascript" src="InputAllKeys.js"></script>
Mas para poder adaptar ao uso direto do Rpg Maker comecei a passar para um arquivo de plugin e escrever as instruções, à principio estão em inglês.

Sobre o sistema:
Ele tem 3 métodos de teclas adicionais:
keyDown: Para quando apertar uma tecla
keyUp: Para quando soltar o keyDown após 1 segundo
keyPress: Para manter a tecla segurada, não funciona com keyUp

Por exemplo, se você quiser criar um SpinAttack igual no Zelda, que o jogador tem que segurar a tecla de ataque para carregar e somente quando soltar ele usará a habilidade, você pode fazer de 2 maneiras.

Com keyDown e keyUP:

Código: Selecionar todos

<>Comment: Spinattack - Loadding
<>If: Script: js_keyDown == "KeyJ"
    <>Variable: [SpinAttack] += 1
:End
<>If: Script: js_keyUp == "KeyJ"
    <>If: Variable[SpinAttack] => 500
        <>Animation: ABS_SpinAttack
        <>
    :Else
        <>Variable[SpinAttack] == 0
        <>
    :End
    <>
:End
<>
Com keyPress:

Código: Selecionar todos

<>If: Script: js_keyPress == "KeyJ"
    <>Variable[SpinAttack] += 1
    <>
:Else
    <>If: Variable[SpinAttack] >= 500
        <>Animation: ABS_SpinAttack
        <>
    :Else
        <>Variable[SpinAttack] == 0
        <>
    :End
    <>
:End
<>
As teclas de letras, números e do teclado numérico (Calculadora) funcionam com keyPress, porém teclas de função (F1,F2,F3...F12) e de combinação (Ctrl, Shift, etc) para não conflitarem com o sistema padrão do RpgMaker só podem ser usadas para keyDown.

Outro problema que provavelmente ocorrerá é no uso de caractéres especiais, como [Ç], [Ñ], [ß], [バ], etc, isso por que cada país tem seu próprio layout de teclado padrão, ou seja, se algum jogador brasileiro ou português quiser jogador um jogo alemão que tenha usado a tecla [ß] ele não poderá, ou terá que ativar o suporte para este no painel de controle do Windows.

Eu usei o método "code" do evento de Javacript, pois era a maneira mais rápida e fácil de desenvolver o Plugin, porém nele segue somente o padrão norte-americano, por exemplo, [Ç] se torna [;] (ponto e virgula) e [;] se torna [/] (barra invertida pra direita).

Ainda preciso testar sistemas de ABS que usem combinações de teclas, como segurar uma tecla e apertar outra, o que é algo pouco usado, mas provavelmente alguém vai tentar ou precisar.

A idéia é está:

Código: Selecionar todos

<>If: Script : js_keyPress == "KeyH"
       <>If: Script : js_keyPress == "KeyJ"
           <>Comment: Event Attack - Segurar [H] e apertar [J] para lançar magia da espada
           <>
       :End
   <>
:End
<>

Responder