Forums » RPG Maker VX Ace

Sistema de Voo - Atualizado para V1.1!!

    • 206 posts
    29 de maio de 2015 20:32:36 ART
      • Imagem Postada


        Engine: RMVXA                                                                F.A.Q Embutido: Não                                                                Nível de dificuldade: Fácil/médio - Mais trabalhoso que difícil


        [o]Introdução


        Fala, Makers! Blzinha?

        Eu iniciei esse sistema em 2012 e Na época não consegui corrigir o bug básico desse tipo de sistema: Pousar em tiles intransponíveis [X]. O sistema ficou na gaveta e eu já tinha até desistido dele.

        Por um acaso resolvi mexer nele e PIMBA! Esta pronto a versão 1.0 do sistema. 

        Essa versão tem o sistema básico de voo 100% funcional. Porém não é a versão final do sistema. Existem outras caracteristicas que estão prontas, mas eu recriei a Demo dessa forma para ficar melhor organizada e gostei do resultado obtido até aqui, um o sistema mais simples.

        Eu irei atualizar o sistema com as caracteristicas adicionais, mas isso depois que eu terminar o tutorial dessa versão.

        [o]Explicação sobre o Sistema:


        Spoiler 
        Já pensou em ter um personagem que voa no seu RPG? Mas de preferencia que não pouse sobre um telhado e fique preso, denegrindo-o de herói para bug? 

        Pois é, agora você pode ter um... Ou vários! Você decide.

        Esse sistema não permite que o jogador pouse sobre tiles não passaveis, impulsionando-o até o chão mais próximo quando acontecer e tiles com prioridade acima do heroi perdem essa propriedade durante o voo.

        Também permite ele se 'afogar' ao cair na água e se machucar ao cair em buracos. Quando isso acontecer ele perde HP e retorna para o ponto do mapa onde iniciou o voo.

        Outra caracteristica do sistema é que você pode escolher quantos e quais personagens podem voar, ou criar objetos que servem de transporte. Ex: Vassoura/Tapete Mágica. 

        O sistema possui 3 tipos de personagens:

        - Voador: Uma vez que o sistema for ligado, essa(s) personagem(s) pode(m) voar sempre que o jogador quizer.
        - Não voador: Tem coisas que não é pra todo mundo... Voar é uma delas. Essas personagens não possui habilidades de voo.
        - Voador condicional: Essas personagens até sabe lidar com o "tráfico áereo", mas precisa de auxílio - Arma, acessório, item especial, magia...

        [o]Dados Específicos:


        Spoiler 
         
      • Número de Switches: 04
      • Número de Condições: Várias. O sistema é baseado em condições.
      • Número de Variáveis: 09
      • Número de Itens necessários: 1 ou mais. No caso da demo criamos uma nova Armadura para ser usada em Acessórios
      • Número de Eventos Comuns: 02 para essa versão.
      • Controles: X para voar/pousar
      • Evento local: 01 para proibir/liberar voo. (Na demo esse evento é a porta do mapa externo - proibir -  e teletransporte para sair da casa - liberar)
      • Outras especificações:
        Aba "Tileset" do Banco De Dados:
           
      • ID de Terreno: 04 - São as IDs de terrenos que ditam se o personagem pode pousar ou se deve deslizar até o proximo tile abaixo. Também identifica o que fazer se for água ou buraco.
           
      • Clonagem dos tiles onde se pode voar. Serve para que os tiles com prioridade acima do heroi fiquem intransponíveis durante o voo (evitando "defeitos visuais") 
                  Ex: 005: Exterior_Vila
            clone: 006: Exterior_vila VOO
      • Modo Regiões: 3 - Serve para auxiliar a ID de terreno que desliza o personagem. Por padrão ele desce um tile. As regiões são para partes especificas do mapa , onde ele precisa ir para direita, esquerda ou para cima. 
                                                  Ex: quando o mapa termina com tile de parede - Se não configurar para ele mudar de direção, vai bugar porque a personagem ficará tentando mover para baixo. ( Na demo só os tilesets de id 5 e 6 foram usados)




    [o]Tutorial




    PARTE I: Um item Muito Especial

     

    Spoiler 
    Algumas personagens poderão voar, mas para isso deverão possuir um item especial. Antes de iniciar o sistema vamos criar esse item.
    Primeiro você deve decidir qual a classificação do item: Comum, Item importante, Armas ou armaduras.
    Na nossa demo usamos como Armadura: Acessório. Assim o personagem só poderá voar se estiver equipado com a vassoura. Ademais poderemos restringir o uso da vassoura por classe – Nesse caso, bruxas.

    Criando um novo tipo de Armadura (Acessório)


    Primeiro vamos criar um novo tipo de armadura. 
    Spoiler 
    Imagem Postada


    Acesse o ‘Banco de Dados’ e vá na Aba ‘Termos’.
    Spoiler 
    Imagem Postada


    1. Vá em ‘Tipos de Armadura’ e clique em ‘Número Máximo...’
    2. Acrescente +1 na quantidade total e dê um Ok.

    Spoiler 
    Imagem Postada

    1. Selecione o novo tipo de Armadura que criamos
    2. Dê um nome para o tipo de armadura. Ex: “Vassoura Mágica”

    Criando o Acessório (Armadura)


    Spoiler 
    Imagem Postada

    1. Entre na Aba ‘Armaduras’ do Banco de Dados.
    2. Assim como no passo anterior, clique em número máximo e adicione mais um no total de armaduras e selecione o espaço criado.
    3. Dê o nome do novo item e escolha o icone que irá representa-lo (a demo possui o iconset com vassoura)
    4. Descreva seu item
    5. Em tipo de Armadura Selecione o novo tipo que criamos no passo 01: ‘Vassoura Mágica’
    6. Dê um preço para o item
    7. No tipo de classificação (que define qual slot irá ocupar no inventário do personagem) coloque como ‘Acessório’
    8. Como a vassoura vai ocupar o slot de um acessório você pode dar atributos mágicos por equipá-la. – aqui fica a seu critério.
    9. O mesmo vale para os Traços – Se preferir pode deixar vazio;
    10. Clique em ‘Aplicar’ para salvar as alterações

    Criando uma Nova Classe


    Como disse anteriormente, nosso item só poderá ser usado por Bruxas. Vamos criar essa ‘classe’. Vá na Aba classes.
    Spoiler 
    Imagem Postada

    1. Assim como nos passos anteriores aumente o número máximo de classes e selecione a nova ID de classes. No caso da demo eu apenas copiei (ctrl+C/ctrl+V) a classe ‘Mago’ e colei no novo slot de classes.
    2. Renomeie a classe para 'Bruxas’
    3. Clique no espaço em branco da opção ‘Traços’

    Spoiler 
    Imagem Postada

    1. Na janela de traços vá na aba ‘Equipamento’
    2. Selecione ‘Tipo de Armadura’
    3. Escolha a armadura que criamos anteriormente, ‘Vassoura Mágica’

    Profissionalizando o Herói


    Agora vamos criar as personagens que serão bruxas. No nosso caso os personagens de ID 6 e 7.
    Vá para a Aba Heróis no Banco de Dados.

    Spoiler 
    Imagem Postada


    De as características que quiser, mas deixe a classe como ‘Bruxa’ (a nova classe criada) e conceda a uma delas o equipamento inicial ‘Vassoura Mágica’ em ‘Acessórios’.
    Agora já temos um acessório especial para usar a habilidade de voo.

    Para classificar como Item ou Item Especial é necessário outro tipo de configuração. Irei adicionar na versão 1.1 da demo, até lá vamos usar dessa forma.



    PARTE II: Preparando Terrenos e Regiões

     

    Spoiler 
    Para que o uso do sistema seja funcional precisamos informar o sistema onde o personagem pode ou não pousar. Como não existe uma predefinição no RMVXA que possibilita isso iremos criar através das IDs de Terreno e Região e, claro, ‘Estruturas Condicionais’. Mas primeiro vamos determinar as IDs:
    Vamos decidir o que acontecerá em cada caso:
    Para ‘ID de Terreno’ fica entendido que :
    ID 1 = Receberá esse valor todos os tiles intransponíveis, como paredes, telhados, etc. 
    Quando formos configurar o sistema esses terrenos irão fazer que o herói deslize para baixo, buscando um chão para pousar.
    ID 2 = Receberá esse valor todos os tiles de Água.
    Quando o sistema for configurado, o herói irá receber danos e retornará a posição onde iniciou o voo. Iremos determinar efeitos visuais e sonoros para água.
    ID 3 = Receberá esse valor todos os tiles de buracos.
    Mesmo efeito que ID 2, mas com efeitos visuais e sonoros para queda.
    ID 4 = Receberá esse valor todos os tiles de esquedas.
    Serve para que o herói entenda a escada como um lugar permitido para pouso. Escadas estão normalmente em paredes e morros. Se não dermos uma ID para elas o personagem não vai reconhece-la e continuar procurando outro tile para pousar.

    Para ‘ID de Região’ fica entendido que são todos tiles intransponíveis, e terão as seguintes ações:
    ID 1 = Ao invés de mover o herói para baixo, vai movê-lo para cima.
    ID 2 = Ao invés de mover o herói para baixo, vai movê-lo para a esquerda.
    ID 3 = Ao invés de mover o herói para baixo, vai movê-lo para a direita.
    A ID da região é necessária para ser usada em casos especiais, evitando bugs.
    Ex:
    Spoiler 
    Imagem Postada


    Repare que o fim do mapa termina com um terreno intransponível (ID de Terreno 1). Se ele tentar pousar ali, vai dar bug no jogo porque o sistema vai ficar tentando mover o personagem para baixo.
    Com a ID da região iremos sobrepor esse comando, dizendo que ele deve mover para outra direção.
    Atenção: As configurações do passo 5 deve ser feita para todos os conjuntos de tileset onde a habilidade de voo pode ser usada.

    Configurando o Tileset


    Spoiler 
    Imagem Postada

    1. Ainda no ‘Banco de Dados’ acesse a Aba ‘Tileset’
    2. Caso você queira adicionar mais opções de montagem dos tilesets aumente o número máximo e não esqueça de configurar ‘bloqueio’, ‘direções’, etc.
    3. (Pulei esse número na imagem)
    4. Acesse a opção ‘Terreno’
    5. Dê aos tiles os valores de acordo com as funções que determinamos.
    6. Não esqueça que deve fazer isso em todas as camadas do tileset. Aplique as configurações e salve o jogo (por segurança, crie esse hábito)

    Configurando as Regiões

    As Regiões só serão úteis depois que o mapa estiver pronto. Servirá como um refinamento no mapa para usar o sistema sem bugar.

    Spoiler 
    Imagem Postada


    1. No menu principal do RM acesse a opção de ‘Região’
    2. Selecione a ID necessária para determinar o novo comando do local.

    Spoiler 
    Imagem Postada


    Lembra dessa parte do mapa? Pois é um exemplo onde iremos usar as ID de Região’. 
    Repare que onde está a seta vermelha para baixo o herói vai mover para baixo, porque foi isso que especificamos lá na configuração de Terreno na aba Tileset.
    Onde determinamos como região 3 (Após ter selecionado a região é só clicar no mapa para dar o valor) ele irá mover para a Esquerda e pousará no chão mais próximo.
    Faça isso para todos os locais necessários para o seu mapa, direcionando para onde for mais próximo, ou onde quer que ele vá.

    Clonando o Tileset

    Agora está quase tudo preparado para iniciarmos o sistema, precisaremos clonar TODOS os tiles onde o personagem pode voar. Esse passo pode ser feito antes do passo 6. Conforme você termina o passo 5 em um conjunto de tile set, você faz a clonagem e deixa o mapa clonado logo abaixo do original seguindo os seguintes passos:

    Spoiler 
    Imagem Postada

    1. Volte ao banco de Dados, na Aba Tileset e aumente o número máximo de dados.
    2. Selecione o Tile set que deve ser clonado e de um ´ctrl'+'C' para copiar
    3. Selecione o local do novo tileset e dê um ´ctrl'+'V' para colar o tile anterior. Mantenha o nome e apenas acrescente a palavra VOO ao novo conjunto.
    Spoiler 
    Imagem Postada


    Agora, no tile copiado, mude as propriedades dos tiles com estrela (A), prioridade acima do herói, e mude para X (B), intransponível.
    Para que serve isso?
    Para que durante o voo não ocorra o seguinte defeito visual:

    Spoiler 
    Imagem Postada



    PARTE III e PARTE IV: O Evento Comum Voando



    Essas partes do tutorial estão em PDF. Infelizmente criar o tutorial em um post requer um tempo que não tenho, então criei em world e salvei em pdf para vocês. 
    Download aqui

    [o]Multimídia:

     

    Vídeos:



    [o]Bugs:


    Encontrei um bug quando inicia o voo - os eventos comuns (como NPCs) ficam travados em tiles que mudaram a prioridade alta para intransponivel se estiverem passando por ele na hora do voo. 
    Já tenho a solução, mas preciso testar primeiro.

    [o]ATUALIZAÇÕES



    18/07/2014 - ATUALIZADO PARA VERSÃO 1.1

    • Adicionado ao sistema tempo limite para voar.
    • tempo customizavel por personagem
    • Adicionado tempo de recarga (Cooldown) para uso da habilidade
      • tempo customizavel por personagem
      • Ao iniciar a contagem de cooldown, não poderá ser mudada até que chegue a zerar, mesmo que troque de personagem
    • Evolução da habilidade
      • Evolução da habilidade individual para tempo de voo e tempo de cooldown


    Tempo de recarga para habilidade

    [o]Próxima Versão:



    - fix para bug visual.
    -Consumo de MP para voo
    - tempo extra de voo, a ser coletado durante o uso da habilidade.

    [o]Para Baixar:

     

    Imagem Postada
    Imagem Postada
    Imagem Postada
    Imagem Postada




    [o]F.A.Q:


    Qualquer dúvida pergunte e eu respondo aqui.

    [o]Créditos:


    Joey Belmont por desenvolver o sistema