Forums » RPG MAKER 2K e 2003

Tiro ao alvo(Intermediário)

    • 683 posts
    29 de maio de 2015 11:39:14 ART

    Daew gente linda da MRM! o/
    Hoje, como eu tô muito intediado com essas férias prolongadas, eu vou escrever um tuto basiquinho aqui pra vocês! ^^

    Requisitos ^^

     
    Para esse tuto, se você quiser entender tudo oque tô fazendo, cês precisarão dominar:
    Variáveis, Condições e...lógica ;D
     

    Tutorial

    Vamos começar então! ^^
    A idéia é fazer com que ao pressionar uma tecla escolhida, o personagem lance um projétil, que seguirá em linha reta, até encontrar o alvo ou fugir da tela.
    Ele pode ser facilmente adaptado para um ABS, mas no exemplo usaremos apenas objetos.
    O Maker que eu usei é o Rpg Maker 2003, pois ele tem mais opções de teclas. Porém vocês podem sim usar este tuto no Rpg Maker 2000, afinal, nele vocês podem rodar o Ineluke's Tasten Patch...enfim comecemos ;D

     
    Eventos: Usaremos 3 eventos+herói(3 dos eventos serão de comandos, o terceiro é o objeto(alvo).
    Para que vocês não tenham problemas e se confundam, tentem nomear teus eventos, de preferencia com um nome bem sugestivo, para na hora de se organizar você não explodir tua cabeça tentando lembrar que evento era...dica de quem teve experiência =x
    Comecemos a "programar"
    Bom...primeiro eu aconselho a criar um mapa/projeto apenas para testar este sistema, para que não haja nenhum problema com os possiveis demais sistemas...
    Crie as variáveis:
    Herói X
    Herói Y
    Objeto X
    Objeto Y
    Projétil X
    Projétil Y
    e Atirar
    Então crie a switch: Projétil
    Então crie um objeto que servirá de alvo.Dê a ele apenas um nome que o faça lembrar de quem ele é. Eu o nomeei de Objeto.
    Crie então o projétil(projétil é tudo que é atirado, pode ser flexa, bala, kunais, etc..), de preferência um que tenha gráfico para os 4 lados ^^
    Nomeie-o de Projétil, Gráfico Transparente, Pressionar Tecla, Abaixo do Herói e que seja iniciado quando a variável Atirar for maior ou igual a 0.(Dica: para que ele seja mais rápido na locomoção, aumente também a velocidade do evento, isso evita bugs na hora de ativar.)
    Nesse evento, faça o seguinte:

    Citar

    Reproduzir Som: bow1(ou outro de sua escolha)
    Alterar Variável: Atirar = 1

    Crie uma nova página desse evento. Ativada apenas se a variável atirar for maior ou igual a 1, com gráfico do projétil a ser usado, processo paralelo, mesmo nível que o herói, velocidade de movimento: 6: 4 Vezes a velocidade(máxima).
    Nele faça o seguinte:

    Citar

    Mudar Switch: Projétil = ON
    Se herói estiver virado para cima >então<
    Mover: Iniciar Passar Através(Iniciar Rota), Acima, Finalizar Passar Através(Parar Rota).Frequência 8, Repetir Operação, Ignorar se Não Puder Mover.
    Fim Caso.

    Se herói estiver virado para baixo >então<
    Mover: Iniciar Passar Através(Iniciar Rota), Abaixo, Finalizar Passar Através(Parar Rota).Frequência 8, Repetir Operação, Ignorar se Não Puder Mover.
    Fim Caso.

    Se herói estiver virado para Esquerda >então<
    Mover: Iniciar Passar Através(Iniciar Rota), Esquerda, Finalizar Passar Através(Parar Rota).Frequência 8, Repetir Operação, Ignorar se Não Puder Mover.
    Fim Caso.

    Se herói estiver virado para Direita >então<
    Mover: Iniciar Passar Através(Iniciar Rota), Direita, Finalizar Passar Através(Parar Rota).Frequência 8, Repetir Operação, Ignorar se Não Puder Mover.
    Fim Caso.

    Se var Projétil X = Objeto X
    Se var Projétil Y = Objeto Y
    Reproduzir som: blow1
    Mudar Switch: Projétil = Off
    Alterar Variável: Atirar = 0
    (Aqui você coloca oque quiser que aconteça na quando o projétil acertar o Objeto)
    Fim Caso
    Fim Caso

    Pronto, nós temos o evento do Projétil!
    Agora crie um evento, de gráfico transparente, em processo paralelo.Comande ele assim:

    Citar

    Alterar variável Hero X = Posição X do herói.
    Alterar variável Hero Y = Posição Y do herói.
    Alterar variável Objeto X = Posição X de Objeto (lembrando que Objeto é o nome do evento que servirá de alvo)
    Alterar variável Objeto Y = Posição Y de Objeto
    Alterar variável Projétil X = Posição X de Projétil (projétil é o nome do evento que será atirado)
    Alterar variável Prójétil Y = Posição Y de Projétil
    Se Var: Projétil Y = 0
    Alterar Var: Atirar = 0
    Alterar Switch: Projétil = off
    Fim Caso
    Se Var: Projétil Y = 14
    Alterar Var: Atirar = 0
    Alterar Switch: Projétil = off
    Fim Caso
    Se Var: Projétil X = 0
    Alterar Var: Atirar = 0
    Alterar Switch: Projétil = off
    Fim Caso
    Se Var: Projétil X = 19
    Alterar Var: Atirar = 0
    Alterar Switch: Projétil = off
    Fim Caso
    Se var: atirar = 0
    Posicionar Evento: Projétil, pelas coordenadas Hero X e Hero Y.
    Fim Caso

    Agora já temos como fazer o projétil ser atirado ao pressionar a tecla ENTER/Z/ESPAÇO, e fizemos com que ele voltasse ao início quando fosse para fora da visão, que seria quando X fosse igual a 0 ou 19, ou quando Y fosse igual a 0 ou 14.

    Agora rode seu jogo e veja como ficou ^^
    Espero ter ajudado, façam um bom uso! o/
    Dúvidas: Mandem PM para mim ou perguntem no tópico, terei o maior prazer em respondê-las.