Forums » RPG MAKER 2K e 2003

Sistema de Vôo

    • 683 posts
    22 de maio de 2015 15:00:10 ART

    Opa! Atendendo à duvida do user Ebaile, resolví fazer este tutorial explicando um sistema de vôo como este:



    Novo vídeo feito por Shaka:



    Considerações iniciais:

    Spoiler 

    Durante o dia eu fiz esse tutor correndo por causa da falta de tempo... acabou que ele ficou muito mal explicado, além do problema das imagens... Agora que estou com um tempo sobrando em minhas mãos vou ver se explico com muuuito mais detalhes. 
    Vou deixar o tópico antigo no próximo Spolier, a critério de citações...
    Obrigado pela paciência, leitor, e obrigado Shaka :-X



    Tópico Antigo:

    Spoiler 


    1º- crie 4 variáveis com os respectivos nomes: Tecla de voo, HeroX, HeroY e mapaID

    2º- Entre no database (F8) e na guia "Eventos comuns", crie um evento em processo paralelo*¹. Depois, na edição do evento em sí, escolha "Definir teclas adicionais", selecione a variável "Tecla de voo" e desmarque tudo, deixando apenas o Shift (7):

     

    Spoiler 
     

     


    3º- Ainda no mesmo evento, crie uma fork condition , selecione a variável "Tecla de voo" novamente e coloque igual a 7:

     

    Spoiler 
     

     


    4º- Crie uma escolha "Voar \ Não voar". 

    5º- No caso de resposta afirmativa, coloque uma pequena espera, de no máximo 1 segundo, depois mude a origem do veículo (2ª guia na edição de eventos) para as variáveis mapaID, heroX e heroY em seus respectivos lugares. Por fim, escolha "Usar veículo"(2ª guia na edição de eventos).

    6º- Para terminar, vamos fazer com que o veículo suma quando você descer dele. Crie outro evento comum em processo paralelo, denominando-o "parar de voar" ou alguma coisa assim.

    7º- Crie uma fork condition com ELSE, para o caso de o herói estar usando o veículo "aeronave" (na 2ª aba tem essa opção):

     

    Spoiler 
     

     


    Deixe em branco o primeiro case, e no ELSE case, mude o charset do veículo para um que seja totalmente invisível

    8º- Mude a origem do veículo para um lugar onde não seja possivel esbarrar com ele acidentalmente (No meio do panorama ou da água, por exemplo).

    9º- Crie outro evento em processo paralelo (pode ser tanto no mapa quanto no database) e nele, mude as variáveis mapaID, heroiX e heroiY para iguais aos respectivos valores (todos os três valores se encontram nas opções "Hero\Herói" da janela do "mudar variável":

     

    Spoiler 
     

     


    Observações:
    Spoiler 
     


    Ta aí galera, qualquer bug ou erro, me avisem. Tosquices podem aparecer pois eu não tive tempo de desenhar qualquer coisa.



    Sistema de Vôo (Invocar aeronave)


    Este sistema é demonstrado nos primeiros minutos do vídeo no primeiro Spoiler. Sua grande vantagem é o fato de o jogador ficar impossibilitado de iniciar outros eventos enquanto não sair da condição de Vôo\descer do transporte. 
    O foco deste sistema são os jogos de Dragon Ball, mas esta não é sua única e exclusiva aplicação.
    Com algumas modificações e criatividade, pode ser utilizado até mesmo em um jogo de Avatar (Qualquer um dos dois).
    Resumindo a linguagem do rm2k3, tudo o que se deve fazer é definir uma técla para que o veículo aéreo apareça "em cima" do herói, que seja utilizado por ele de forma instantânea, e que desapareça após seu uso.
    Vamos por a mão na massa:

    Serão necessários:
    > 4 variáveis: "Tecla de vôo", "mapaID", "HeróiX" e "HeróiY"

    > 3 Eventos em processo paralelo: "iniciar Vôo", "Terminar vôo" e "Coordenadas herói" (este último pode ser feito tanto na database quanto nos mapas em que se aplicarão o sistema)

    >2 Charsets: 1 feito unica e exclusivamente de fundo branco e outro para ser seu personagem voando (Facultativo)

    Primeiramente, vamos ao evento das coordenadas do herói:

    Spoiler 
    Neste evento, é definida a posição do herói, lugar onde o veículo aéreo deve aparecer. A condição de início deve ser "Processo paralelo".


    Tanto no database quanto no mapa, o processo é o mesmo: Na edição do evento, selecione "Mudar variável", e relacione a variável "mapaID" com o valor do mapa em que o herói se encontra. Faça o mesmo com as variáveis "HeroiX" e "HeroiY", relacionando-as a seus respectivos valores, conforme a imagem a seguir (Por favor, apareça) :

     

    Spoiler 
    Imagem Postada

     

    O evento pronto deve ficar assim:

     

    Spoiler 
    Imagem Postada

     


    Editando o evento "Iniciar vôo":

    Spoiler 
    Aqui será definido o botão que o jogador deve pressionar para que o personagem começe\pare de voar, bem como o aparecimento do veículo sobre o herói e seu uso imediato.  A condição de início deve ser "Processo paralelo".


    Nas opções do evento, selecione "Definir teclas adicionais". Vai aparecer uma janela na qual você deve selecionar a variável das teclas (no caso, utilizaremos a variável "Tecla de vôo") e as teclas em sí, com seu respectivo valor à frente. Desmarque todas as teclas, deixando marcado apenas a opção "Shift(7)", conforme a imagem:

     

    Spoiler 
    Imagem Postada

     

    Agora (embora eu não esteja certo de que isto é obrigatório) crie uma Fork Condition, sem ELSE case, e configure a condição de modo que a variável "Tecla de vôo" seja igual a 7. Segue a imagem:

     

    Spoiler 
    Imagem Postada

     

    Aqui começa o evento de verdade, quando o jogador será perguntado se deseja realmente iniciar o vôo ou desistir da ideia. 
    Nas opções de evento, selecione "Mostrar escolhas". As opções do jogador devem ser algo do tipo "Iniciar/Terminar vôo" e "Cancelar".
    No primeiro caso, mude o charset do veículo aéreo para o desejado (um dragão, seu personagem levitando etc). Depois, selecione "Origem do veículo" e relacione as variáveis IDmap, coordenada X, coordenada Y às coordenadas "mapaID","heroiX" e "heroiY" respectivamente:

     

    Spoiler 
    Imagem Postada

     

    Até aqui, fizemos com que o veículo aparecesse em cima do herói. Para fazer com que ele entre imediatamente nele, selecione dentre as opções de evento "Usar veículo- Aeronave". Concluímos o segundo evento. Ele deve ficar assim:

     

    Spoiler 
    Imagem Postada

     


    Editando o evento "Terminar vôo":

    Spoiler 
    Neste evento será feito com que o veículo "suma" logo que o personagem deixar de voar.  A condição de início deve ser "Processo paralelo".


    Dentro do novo evento, crie uma fork condition COM ELSE case, e configure-a para que o herói esteja utilizando o veículo "Aeronave", conforme ilustrado:

     

    Spoiler 
    Imagem Postada

     

    Deixe o primeiro caso em branco e vá direto para o ELSE case. Lá, mude o charset do veículo para o charset composto apenas por fundo branco, para que ele "Desapareça". Em seguida mude a Origem do veículo para um lugar onde o jogador não possa esbarrar nele acidentalmente. No meio da água ou no panorama de fundo, por exemplo. O evento deve ficar assim:

     

    Spoiler 
    Imagem Postada

     


    Pronto! Seu personagem pode sair voando livremente pelo mapa, mas cuidado: Não é recomendado deixar que o personagem voe em qualquer lugar. É opcional (e recomendada) a criação de um switch condicional de disparo para o evento "Iniciar vôo". Assim você pode controlar em quais mapas o herói deve poder voar.

    Demo:

     


    Abrass :ok:

    [Edit]: Tutorial reformulado. Imagens upadas em outro site. Qualquer problema, mande um MP sem dó nem piedade. :ok:
    Se der algum erro referente ao arquivo "Invisível" na hora de abrir o jogo, verifique se o nome do arquivo na pasta "charset" bate com o nome do arquivo especificado no erro. Renomeie-o se necessário.