[Tutorial RMXP]Sistema de Batalha em Tempo Real - XAS
3 participantes
Página 1 de 1
Você vai usar em seu jogo o Sistema de Batalha em Tempo Real(XAS)?
[Tutorial RMXP]Sistema de Batalha em Tempo Real - XAS
Depois de pesquisar bastante,em beneficio do meu jogo,acabei encontrando esse tuto,no Atelier-RGSS,de como implantar o XAS(Sistema de Batalha em Tempo Real)
O Tuto é dividido em 3 partes:
Introdução(DEMO AQUI)
Sistema de Ferramenta
Sistema de Batalha
Espero que seja util!
Créditos
Xiderowg = Por criar o sistema e Traduzir Japonês/Inglês.
João Campos = Por traduzir Inglês/Português.
Daniel(Eu) = Por trazer o tuto até aqui.
O Tuto é dividido em 3 partes:
Introdução(DEMO AQUI)
- Spoiler:
Principais CaracterísticasO sistema permite criar jogos estilo Zelda, Secret of Mana , Etc... As possibilidades são infinitas.
É possível criar , itens como bombas, arco e flechas, magias, itens, espadas, boomerang, escudo ou qualquer item que você possa imaginar.
Donwload Demo
Sistema de Ferramenta
- Spoiler:
Sistema de FerramentasFerramentas são as ações dos battlers (herói ou inimigo) como itens, magias , armas ou qualquer tipo de ação que seja possível fazer com um evento(Teleporte, Chamar batlha, ativar animação, aparecer texto, etc...).
O que é o sistema de Ferramentas(Goods)?
Tecnicamente falando as ferramentas são eventos com ações pré-definidas em um mapa especifico(Mapa ID 1 Standard) e essas ferramentas são “teleportadas“ para o jogo quando o personagem usa uma alguma arma, item, magias, etc...
_______________Definindo o Mapa onde ficarão as Ferramentas. _______________
Entre no editor de script e vá até o script XAS –Config e procure o código.
ACTION_TEMPLATE_MAP_ID = X
No lugar do X defina a ID do mapa onde serão colocados os eventos das Ferramentas._______________Criando a trajetória da Ferramenta._______________No mapa das Ferramentas crie um evento qualquer.
Defina o gráfico da ferramenta (Não é obrigatório, você pode deixar o gráfico do evento em branco.) e para definir o tipo de trajetória clique no tipo de movimento e defina como Custom.
Dentro da janela de movimento defina o tipo de trajetória do evento, você também pode adicionar Sons, ativar Swithes, charmar scripts, etc..., Por exemplo, se o evento corresponde a uma espada coloque um som de uma espada e o movimento de um passo para frente, que corresponde a área de alcance de uma espada normal, se caso fosse um arco o movimento de passos seriam vários passos para frente, tudo vai depender da função da ferramenta.( Itens, magias,etc...)_______________Criando uma função através dos comandos dos eventos._______________Você também pode criar uma ferramenta usando as funções do comando de eventos (Neste caso você não poderá definir a trajetória como custom ).
Tudo que estiver no comando de eventos poderá ser usado como função de uma ferramenta, como teleporte, mudar o gráfico do char, entrar em batalha, mudar a tonalidade da tela, fazer o char pular, etc..
Para isso crie um evento qualquer no mapa de ferramentas e escolha o gráfico do evento(Opcional) agora na parte ao lado no Event List coloque a função que desejar para a sua ferramenta, ou seja, quando o personagem usar a ferramenta, a ferramenta executará todas as funções que você pré-definiu neste evento.
Após o termino da criação do Evento coloque por ultimo o comando Self-Switch com qualquer letras que desejar.
Agora defina o Evento como Autorun
Por fim crie uma segunda página com a Condition com a Self-Switch mais a letra que você escolheu._______________Definindo as caracteristicas da Ferramenta no Script_______________Significado dos códigos acimaaction_id = XID da ferramenta.(Igual ao do ID evento e ID da SKill)SUFLAGS[action_id] = XTempo que o character ficará na posição de uso de ferramenta ou parado após o uso da ferramenta.DURATIONS[action_id] = XTempo de duração da ferramenta no mapa, ou seja, tempo que ela ficará ativa no mapa antes de desaparecer.SELF_MOTIONS[action_id] = "X"Definição do gráfico especifico do character usando a ferramenta.
Para nomear o gráfico do character usando a ferramenta nomeie o gráfico com o nome do gráfico orginal mais o sufixo X (pode ser qualquer sufixo).
Exemplo - Herói.png portanto nomeie como HeróiX.pngplan = []
plan[X] = action_id
ATTACK_ID_PLANS[action_id] = planEsses códigos devem ser usados juntos e definem o tempo para iniciar o impacto da ferramenta. Exemplo: Se você colocar 0 no lugar do X a ferramenta terá efeito de impacto logo após ser acionada, caso você colocar 100 no lugar do X a ferramenta terá efeito de impacto após 100 frames, ou seja, você verá o gráfico da ferramenta no mapa, mas ela não terá efeito de contanto a menos que tenha passados os 100 Frames (5segundo), essa função é importante quando formos criar ferramentas de time como as bombas onde é necessário que o efeito de explosão seja acionada após alguns segundos depois de ter colocado a bomba no mapa.ATTACK_RANGE_TYPES[action_id] = X
Definição do tipo de impacto da ferramenta existem 3 modos de impacto.
LINE - Impacto em linha reta.
SQUARE -Impacto de um quadrado.
RHOMBUS - Impacto de um losango.
ATTACK_RANGE_PLANS[action_id] = [X]Aqui é definido a área de alcance, quanto maior o valor maior será a área de impacto.BLOW_POWERS[action_id] = XDefine o quanto o Battler(Herói ou inimigo) vai recuar caso a ferramenta o acerte.plan = []
plan[X] = Y
SELF_ANIMATION_PLANS[action_id] = planEstes códigos devem ser usados juntos, eles definem se a ferramenta vai ativar uma animação ou não. No lugar do X coloque o tempo para que a animação ocorra e no Y coloque a ID da animação.
Nota 1 – Caso não quiser que a animação ocorra coloque os valores como 0.(Zero)
Nota 2 – O X nunca deve ser maior que o tempo de duração da ferramenta.SELF_DAMAGES[action_id] = trueCaso a ferramenta entre em contato com o usuário (Herói ou inimigo) que o ativou ele receberá o impacto (Dano) da ferramenta.Exemplo - Essa função é usada na criação de itens bombas.PLAYER_DAMAGES[action_id] = trueCausará impacto (Dano) no herói, na prática essa função é usada para criar itens de cura.IGNORE_INVINCIBLES[action_id] = trueO impacto da ferramenta ignora se o battler(herói ou inimigo) estiver com invencibilidade( Piscando)._______________Interagindo as ferramentas com o cenário do jogo. _______________As funções de interação são todas as ações que as ferramentas têm com o cenário do jogo, NPC, paredes, arvores etc...
Para ilustrar melhor o que é interação pense no jogo Zelda e seus itens de labirintos, como bombas explodindo paredes, espada cortando grama, fogo que acende as tochas, etc...
Para resumir cada ferramenta terá um tipo de reação diferente com os eventos dos mapas. Por exemplo: Um gancho não terá a função de uma espada, mesmo que você jogue o gancho em cima do mato, o mato simplesmente vai ignorar que você jogou o gancho em cima e não vai acontecer nada, agora se você usar a espada o mato será cortado porque o mato entende que o impacto foi da espada e não do gancho.
Esse efeito especifico é definido pela ID da ferramenta!
Essa ID da ferramenta que vai definir o que vai acontecer caso a ferramenta acertar um Alvo Interativo (Eventos).Oque é alvo Interativo?
Alvos interativos são os eventos criados no jogo que representam alvos para que as ferramentas os ative. Exemplo:
- Tochas para serem acesas.
- Paredes para serem quebradas.
- Gramas para serem cortadas.
- Ect...Criando Evento Interativos.
Crie um evento qualquer no jogo como tochas, gramas, paredes com rachaduras, etc...
Na primeira página do evento interativo coloque o gráfico e o comando do evento normalmente após isso crie uma segunda página e ative a Conditions no modo Variables ID3 com valor da ID da ferramenta e ao lado na lista de comando de eventos coloque o que vai acontecer caso a ferramenta acerte esse alvo interativo.
No exemplo acima quando a ferramenta ID 1 tocar o evento Grass ela executará um som e após isso apagará o evento interativo do mapa.
Pronto você acaba de aprender a um dos mais incríveis sistemas já criados, você poderá usar esse sistema em qualquer tipo batalha, seja por turnos como em Wild Arms, Valkirie Profile ou n
Sistema de Batalha
- Spoiler:
- ACTION BATTLE SYSTEM
Para entender o sistema de batalha é necessário ter entendido o sistema de Ferramentas.
Primeiro crie as ferramentas de armas, magias ou itens, como foi explicado no tutorial das ferramentas.____________________Sistema de Botões que ativam as ferramentas.__________________
De inicio existem 6 botões pré-definidos para usar.FunçãoTecla(BotãoDescriçãoAtaqueTecla CO personagem ataca com armas equipadas. (Espada, Arco, Etc...)HabilidadeTecla SUsar habilidades do herói.EscudoTecla ZUsar habilidades de escudo, quando o escudo esta equipado.ItemTecla DUsar itens usáveis. (Pré-definidos no script)Mudar HabilidadeTecla QTecla de atalho para mudar a habilidade no mapa.Mudar Item.Tecla WTecla de atalho para mudar o item no mapa.____________________Sistema de Botões que ativam as ferramentas.__________________ARMAS
No script defina previamente quais armas ativarão determinadas ferramentas ao serem equipadas.
WEP_ID_TOOL = { A=>B , A=>B , A=>B, ... }
No lugar do A coloque a ID da arma e no B defina a ID da ferramenta.
HABILIDADES
Para equipar as habilidades basta entrar no menu de SKILL e selecionar a skill desejada, a ID da SKILL é igual a ID da ferramenta, portanto se você selecionar a SKILL ID 5 você automaticamente estará selecionando a Ferramenta ID 5.
ITENS
No caso dos Itens é necessário definir previamente no script qual item vai corresponder à determinada ferramenta ID.
XASITEM_ID = { A=>B , A=>B , A=>B ,... }
No lugar do A coloque a ID do Item e no lugar do B coloque a ID da ferramenta, somente os itens definidos nos parâmetros acima serão usáveis como itens, isso impende que você equipe itens que não devem ser equipados como Key Itens.
Para equipar os itens entre no Menu de itens e escolha o item desejado, só poderão ser equipados os Itens que são usáveis no menu, portanto defina no banco de dados que o item é usável no menu, caso contrario ela não vai equipar.
ESCUDO
Para escudo defina previamente no script, do mesmo jeito que se define a utilização das armas.
SHIELD_ID_TOOL = { A=>B , A=>B , A=>B, ...}____________________Criando eventos de inimigos__________________
Basicamente um evento de inimigo deve ser composto por 3 páginas.Primeira Página - Coloque o gráfico do inimigo e sua movimentação normal.
Segunda Página - Na parte de Conditions ative a Variable 4 com o valor da tropa Inimiga, é a ID da tropa inimiga e não ID do inimigo, portanto coloque apenas um inimigo por tropa inimiga.
Terceira Página - Nesta página definiremos as ações do inimigo quando o evento inimigo entrar na área do Sensor de ação, a área do sensor de ação é a área que é ativada quando o inimigo se aproxima do herói, mais adiante explicaremos em detalhes o sensor.
A primeira coisa que faremos nesta página é ativar a Self Switch D e após isso é hora de definir a IA ou a ações do inimigo, para isso defina a movimentação do evento inimigo como Custom.
Dentro do menu Move Route além dos comandos de movimento normais,você poderá usar os seguintes códigos que devem ser inseridos no comando SCRIPT
Exemplo de criação de um evento inimigo.Código (SCRIPT)Funçãoshoot(X)Faz o inimigo usar uma ferramenta, no lugar do X coloque a ID da ferramenta.attack_onAtiva dano por contato, se o herói encostar no evento inimigo receberá dano.attack_offDesativa dano por contato.shield_disable!Ativa escudo, deixa o inimigo invulnerável.shield_enable!Desativa escudo.____________________Sensor de Ação __________________
Sensor de ação é a área invisível que fica ao redor do herói.
Quando o inimigo entrar na área do sensor os comandos da página 3 do inimigo serão ativadas automaticamente, para definirmos o tamanho da área devemos definir a variável ID10 com o valor que corresponderá a área do Sensor, ou seja, para cada tipo de situação você poderá definir a área de ação especifica, isso é importante principalmente quando criamos batalhas com os chefes onde a área de combate é maior.____________________Ferramentas que têm custo de Item __________________
Para definir se a ferramenta terá custo de item entre no script XAS - Config e encontre estas linhas.
ITEM_COST = {A=>B , A=>B , A=>B, ... }
A B
No lugar do A coloque a ID da Ferramenta e no B coloque a ID do item do banco de dados.____________________Tamanho dos inimigos. __________________
XAS permite definir o tamanho de um inimigo, isso significa que inimigos maiores serão mais fáceis de acertar porque tem um corpo maior e inimigos menores tem uma área menor porque tem corpos menores.
Para definir o tamanho dos inimigos entre no script XAS - Config e procure estas linhas.
BODY_SQUARE = {A=>B, A=>B, A=>B, ...}
No lugar do A coloque a ID da Troopa inimiga e no lugar do B coloque o valor do tamanho do inimigo.____________________Inimigos invulneráveis as ferramentas especificas. __________________
É possível definir que certos inimigos sejam invulneráveis a certas ferramentas, isso é útil para criar inimigos que sejam invulneráveis apenas as magias, inimigos que são invulneráveis as armas ou o que mais você desejar, para definir a invulnerabilidade entre no script XAS - Config e procure estas linhas.
SHILED_ACTIONS = {A => [ B, B, B,...] , A => [ B, B, B,...] , ... }
No lugar do A coloque a ID da tropa inimiga e no lugar do B coloque as ID das ferramentas que serão nulas a esse inimigo.____________________Inimigos com direções invulneráveis. __________________
Podemos definir que certos inimigos tenham a direção de invulnerabilidade. Exemplo: Se definirmos que o inimigo tenha defesa frontal as ferramentas não terão efeito caso o acerte frontalmente, apenas será vulnerável se o acertarmos de lado ou de costa.
SHILED_DIRECTIONS = {A => [ B ], A => [ B ], A => [ B ], ...}
2 = Defesa Frontal.
4 = Defesa Esquerda.
6 = Defesa Direita.
8 = Defesa nas costas.
No lugar do A coloque a ID da tropa inimiga e no lugar do B coloque as direções de invulnerabilidade.____________________Ativando Switches Automáticas. __________________
No XAS é possível ativar switches automáticas quando os inimigos morrem, essa função é muito importante principalmente nas batalhas contra chefes onde é necessário ativar uma cena logo após a sua morte, para definirmos quais switches serão acionadas e seus respectivos inimigos entre no script XAS - Config e procure estas linhas.DEFEAT_SWITCH_IDS = {A=>B , A=>B , A=>B, ...}
A B
No lugar do A coloque a ID da Troopa inimiga e no lugar do B coloque a ID da Switch. Resumindo quando o inimigo ID morrer automaticamente a switch ID será acionada.____________________GAME OVER. __________________
A ativação do Game Over pode ser automática ou por eventos comuns.
Na ativação automática logo que o personagem morrer será ativado o Game Over.
Para ativar o Game Over automático defina pelo script na linha abaixo como true para ativar ou false para desativarAUTOGAMEOVER = true
No caso de Game Over por evento, que é útil caso você queira que o personagem se teleporte para uma cidade ao morrer ou apresentar uma animação especial de Game Over, você deverá definir o AUTOGAMEOVER como false e no código abaixo definir qual Switch será ativada quando o personagem for abatido, e é essa Switch que ativará o Evento Comum que acionará uma ação qualquer que você pré-definiu no banco de dados.
GAMEOVER_SWITCH_ID = X____________________ANIMAÇÁO DE ATAQUE E ACERTO. __________________
Para que o personagem ou inimigo tenha uma posição de Acerto (recebendo dano), serão necessárias as imagens extras dos chars na posição de acerto e que deverão ser nomeadas da seguinte forma.
NOMEDOCHAR_HIT.png
Coloque o nome do arquivo original do character mais o sufixo _HIT
No caso da posição de ataque que é exclusiva para os inimigos e que será ativada apenas quando a opção de ação attack_on estiver ativada, devemos nomear o char da seguinte forma.
NOMEDOCHAR_ACT.png
Coloque o nome do arquivo do character original mais o sufixo _ACT
Espero que seja util!
Créditos
Xiderowg = Por criar o sistema e Traduzir Japonês/Inglês.
João Campos = Por traduzir Inglês/Português.
Daniel(Eu) = Por trazer o tuto até aqui.
Shadow™- Mensagens : 75
Data de inscrição : 15/07/2010
Re: [Tutorial RMXP]Sistema de Batalha em Tempo Real - XAS
isso deve ajudar um monte de gente,(mas ja conheço e uso o XAS desde que comecei a usar o rpgmaker)mas se voce conhecer algum jeito de me ajudar num tal de"sistema de voar"dentro do XAS agradeço.
blacks- Mensagens : 7
Data de inscrição : 27/11/2011
Re: [Tutorial RMXP]Sistema de Batalha em Tempo Real - XAS
Olá blacks. Qual é o problema com o sistema de voar?
Re: [Tutorial RMXP]Sistema de Batalha em Tempo Real - XAS
o sistema de voar nao funciona sei la porque,o carinha so fica sem atravessa...normalmente...
blacks- Mensagens : 7
Data de inscrição : 27/11/2011
Re: [Tutorial RMXP]Sistema de Batalha em Tempo Real - XAS
valeu funcionou!(devia ser erro de sistema inconpleto ou algo mais)
blacks- Mensagens : 7
Data de inscrição : 27/11/2011
Tópicos semelhantes
» [Pedido][Vx Ace]Batalha em tempo real e Script para adicionar slot e carta no Jogo
» Sistema de Batalha Lateral - RMXP
» Sistema de parar o tempo!
» Sistema de batalha
» Sistema de Batalha-PRABS 2.0
» Sistema de Batalha Lateral - RMXP
» Sistema de parar o tempo!
» Sistema de batalha
» Sistema de Batalha-PRABS 2.0
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos