MG-Projects_logo


Menu


Introdução  /  Sistema de Ferramenta  /  Sistema de Batalha

___Sistema de Batalha.___

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, antes de passar a usar este sistema.

Sistema de botões:

De inicio existem 6 botões pré definidos para se usar:

-------Botão--------
A B C X Y Z L R
------Teclado-------
Z B C A S D Q W
--------------------

O equivalente no teclado.(modo Default)

As ações que cada botão executa pode ser mudada atravéz do script "MISC" logo no inicio do script

Ações de cada Botão:
Função
Tecla(Botão)
Descrição
Ataque
Tecla C
O personagem ataca com armas equipadas. (Espada, Arco, Etc...)
Habilidade
Tecla S
Usar habilidades do herói.
Escudo
Tecla Z
Usar habilidades de escudo, quando o escudo esta equipado.
Item
Tecla D
Usar itens usáveis. (Pré-definidos no script)
Mudar Habilidade
Tecla Q
Tecla de atalho para mudar a habilidade no mapa.
Mudar Item.
Tecla W
Tecla de atalho para mudar o item no mapa.
Correr.
Tecla A
Tecla que faz o personagem correr.

___Sistema de Botões que ativam as ferramentas.___

ARMAS

No script "SKILL" 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 "ITEM" 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 usaveis 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.

Status:

Na nova versão do Xas há muitos novos status que podem ser usados:
Para customiza-los deve-se ir ao script "STATES"

FAST -> Aumenta a velocidade de movimento.
SLOW -> Diminui a velociade de movimento
REGEN -> Recupera gradualmente o HP do alvo.
POISON -> Causa dano gradual de HP no alvo.
STOP -> Paraliza o alvo por um determinado tempo.
SLEEP -> Paraliza o alvo, mas o status é removido caso o alvo receba dano.
DRAIN -> O usuário drena o HP do alvo.
INVICIBLE -> Deixa imunie a qualquer tipo de ataque.
LIFE -> Revive o usuário caso ele morra.
REFLECT -> Reflete as habilidades lançadas sobre o alvo.
DEATHCOUNT -> O alvo tem X segundos antes de perecer.
POWER UP / DOWN - > Aumenta ou diminui o poder de ataque.
DEF UP / DOWN - > Aumenta ou diminui o poder de defesa.
AGI UP / DOWN - > Aumenta ou diminui o poder de agilidade.
WEAK -> Diminui em X% todos os parâmetros do alvo.
MISC1...10 - Condições extras para serem customizadas.
---------------------------------------------------------------------------------
As habiliades que tem HERO no nome só tem efeito sobre o herói.
---------------------------------------------------------------------------------
HERO_BERSERK -> Ataques com armas sempre causarão dano crítico em troca suas as habilidades serão seladas.
HERO_COFUSE -> Inverte os comandos de direção do herói.
HERO_SEAL ATTACK/ SKILL / ITEM -> Sela um dos comandos do herói.
HERO_MUTE - Sela todos os comandos do herói.
HERO_POISON SP -> Causa dano gradual de SP no herói.

Definição de ID para cada condição.
Esta serão as ID correspondentes a aba Status na Database, não as ferramentas!!!
---------------------------------------------------------------------------------
FAST_ID = X
REGEN_ID = X
SLOW_ID = X
STOP_ID = X
DRAIN_ID = X

Aqui defini-se a Duração para cada Status:
---------------------------------------------------------------------------------
FAST_TIME = X
REGEN_TIME = X
POISON_TIME = X
SLOW_TIME = X
STOP_TIME = X
DRAIN_TIME = X

Definição das características de alguns Status.
---------------------------------------------------------------------------------
Porcentagem de dano no HP causado pela condição poison.
POISON_DAMAGE_PERC = X
Porcentagem de dano no SP causado pela condição poison SP.
POISONSP_DAMAGE_PERC = X

OBS: Recomendo deixar os valores da demo como padrão. Aqui são só exemplos.

___Criando os 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 Condições de Evento ative a Variavél 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.

tutoimg28

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 Swith Local "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 Pré-Definida.

Dentro do menu de Movimentação além dos comandos de movimento normais,você poderá usar os seguintes códigos que devem ser inseridos no comando Chamar SCRIPT:

Comandos dos Inimigos:

Glosário:

X = ID da SKILL.

PERC = % de chance para ativar o comando.
 A = ID da animação. S = Velocidade de movimento.
SW_ID = ID da Switche.
 ON = true ou false (Ativar ou Desativar)
 LEVEL = Nível do herói.
 ST_ID = States ID DAMAGE = Dano TEXT = Palavra ou Frase.

 Comandos que podem ser usados:

Código (SCRIPT)
Função
shoot(X)
Faz o inimigo usar uma ferramenta, no lugar do X coloque a ID da ferramenta.
shoot_chance(X,PERC)
Ativar uma habilidade com % de chance.
lowhp_shoot(X,PERC)
Ativar uma habilidade caso o inimigo esteja com HP baixo.
fatal_shoot(X,PERC)
Ativar uma habilidade e morrer em seguida.
lowhp_fatal_shoot(X,PERC)
Ativar uma habilidade e morrer logo em seguida, com HP baixo.
hp_shoot(X,X,PERC)
Ativar 2 habilidades diferentes, um quando o HP estiver alto e outro quando o HP estiver baixo
rand_shoot(X,X,X,X,X)
Ativar habilidades aleatórias, até 5 habilidades.
lowhp_rand_shoot(X,X,X,X,X)
Ativar habilidades aleatórias, quando o HP estiver baixo.
escape(PERC)
Ativar fuga.
lowhp_escape(PERC)
Ativar fuga, quando o HP estiver baixo.
shield_enable!
Ativar escudo.
shield_disable!
Desativar escudo.
hp_shield(ON)
Ativar ou desativar o escudo dependendo do HP do inimigo.
hit_reaction_on
Ativar efeito de reação caso o herói acerte o alvo com habilidades de curto alcance.
hit_reaction_off
Desativar efeito de reação.
hp_hit_reaction
Ativa ou desativa o efeito de reação dependendo do HP.
addstate(ST_ID,PERC)
Adiciona uma condição(status).
selfdamage(DAMAGE,PERC)
Causa dano no próprio usuário.
text("TEXT",PERC)
Apresenta um texto ou palavra.
lowhp_switch(SW_ID,ON)
Ativar ou desativar uma quando o HP estiver baixo, primeiro coloque a ID da switch e depois true ou false, para ativar ou desativar a switche.
hp_switch(SW_ID,ON)
Ativar ou desativar uma switche dependendo do HP,ou seja, caso definirmos a swiche como true, a swiche ficará ativada quando o HP estiver alto e quando o HP estiver baixo ficará como false, ou vice versa.
anime(A)
Ativar uma animação.(Eventos e Inimigos)
lowhp_anime(A)
Ativa 2 animações diferentes dependendo da quantidade de HP do inimigo. A1 = HP alto / A2 = HP baixo
speed(S)
Definir uma velocidade de movimento, útil caso quisermos que o evento ou inimigo tenha um velocidade acima de 6. (Eventos e Inimigos)
lowhp_speed(S)
Define uma velocidade quando o HP estiver baixo.(Inimigos)
hp_speed(S1,S2)
Define 2 tipos de velocidades dependendo do HP do inimigo.
hero_lowhp_shoot(X,PERC)
Ativa uma habilidade quando o HP do herói estiver baixo.
hero_hp_shoot(X,PERC)
Ativa 2 habilidades dependendo da quantidade de HP do herói.
hero_lowhp_switch(SW_ID,ON)
Ativar ou desativar uma switch quando o HP do herói estiver baixo.
hero_hp_switch(SW_ID,ON)
Ativar ou desativar uma switch dependendo da quantidade de HP do herói.
hero_level_shoot(X1,X2,LEVEL,PERC)
Ativa 2 habilidades dependendo do Level do herói.
hero_level_escape(LEVEL,PERC)
Ativar fuga dependendo do Level do herói.
hero_level_hit_reaction(LEVEL,ON)
Ativa ou desativa o efeito de reação dependendo do nível do herói.
hero_level_shield(LEVEL,ON))
Ativar ou desativar o escudo dependendo dependendo do nível do herói.
hero_level_speed(S1,S2,LEVEL)
Define 2 velocidades dependendo do nível do herói.
hero_hp_anime(A1,A2)
Define 2 animações dependendo do HP do herói.
hero_level_anime(A1,A2,LEVEL)
Define 2 animações dependendo do nível do herói.

Exemplo de criação de inimigo:

___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 ID 10 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 custam Itens:___

As ferramentas que custaram itens, como flexas, balas, bombas...devem ser customizadas no Script ITENS.

Para customizar procure pelas seguintes linhas:

ITEM_COST = {A=>B , A=>B , A=>B, ... }

A = ID da ferramenta.
B = ID do item no banco de dados.

No exemplo a ferramenta de ID nº 12, corresponderá a o item Poção que no database é o primeiro da lista ID 1.

___Tamanho dos Inimigos:___

O 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 do inimigo vá ao Script BATTLER e procure pelas linhas:

BODY_SQUARE = {A=>B,A=>B,A=>B,A=>B,}

A = ID do inimigo.
B = Valor do tamanho extra do inimigo.

___Invulnerabilidade:___

É 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 BATTLER e procure estas linhas.

SHILED_ACTIONS = {A => [ B, B, B,...] , A => [ B, B, B,...] , ... }

A = ID do inimigo.
B = ID da ferramenta que não terá efeito no inimigo.

___Invulnerabilidade por direções:___

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.

___Tipos de Dano:___

Podemos definir vários tipos diferentes de dano para as ferramentas, sejam para curar ou tirar HP (vida)

A configuração é feita no Script "SKILL"

Procure pelas linhas :

Dano baseado na porcentagem de HP máximo do alvo.
PER_DAMAGE_HPMAX = { A => B}

A - ID da Skill
B - % de dano
------------------------------------------
Dano baseado na porcentagem de HP atual do alvo.
PER_DAMAGE_HP = { A => B}

A - ID da Skill
B - % de dano
------------------------------------------
Dano baseado na porcentagem de SP máximo do alvo
PER_DAMAGE_SPMAX = { A => B }

A - ID da Skill
B - % de dano
------------------------------------------
Dano baseado na porcentagem de SP atual do alvo
PER_DAMAGE_SP = { A => B}

A - ID da Skill
B - % de dano

Existem muito mais definições de dano, estas são só algumas, explore mais o script...

___Ativando Swith automatica:___

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 "BATTLER" e procure estas linhas.

DEFEAT_SWITCH_IDS = {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 = A morrer, automaticamente a switch ID = B 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 desativar

AUTOGAMEOVER = 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 Dano:___

Para que o personagem ou inimigo tenha uma posição de 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

___Sistema de Combo:___

A partir do XAS versão 3.2 pra cima, é possivél criar combos para as ferramentas de armas e habilidades...

Para definir um combo é presiso ir até o Script "SKILL" e procurar pelas linhas:

COMBO_ATTACK = { A=>[B,C] }

A = ID da habilidade que ativará o combo.
B = ID da habildiade do combo
C = Tempo para execução do combo.

___OVERDRIVE:___

O Overdrive serve como um "super especial", no qual pode ser usado para habilidade que so serão ativadas quando um medidor de overdrive estiver com valor 1 ou maior.

Para criar uma Habiliadde de Overdrive, deve-se criar um evento no mapa de ferramentas e defir suas ações normalmente como as outras, definir o database, Script prórpio e script Skill, tudo normalmente.

Depois ir ao Script "MOG - XAS_Overdrive" e procurar pelas linhas:

OVD_MAX_LEVEL_VAR_ID = X

Definição da variável que definirá o level maximo do Ovedrive.
Ou seja, através de um evento defina o valor do overdrive mudando o valor da variável que corresponde o level do overdrive.

e também:

OVD_LEVEL = {A=> B,A=> B,}

A = LV do Overdrive.
B = ID da habilidade que sera ativada.

OVD_GAIN = {A=>B, A=>B, A=>B, }

Definição especifica da quantidade de ganho no medidor do overdrive.

A = ID da Ferramenta (ID Skill = ID Ferramenta).

B = Valor ganho do overdrive.

___Animação para o Char:___

Você criou seu jogo todo certinho mas viu que os personagens ficam parecendo estar andando mesmo estando parados?

Isso é por causo do Script "XRXS - Animated Char", que você pode definir um char especifico para ativar automaticamente quando o personagem esta parado, o char a ser ativado deve se chamar:

NOMEDOCHAR_ANI, ou seja o nome do gráfico do char + o sufixo _ANI

Ainda há muito mais coisas que podem ser feitas com o XAS, mas como são muitas possibilidades, eu não postarei neste tutorial, mas há tudo esplicado nos scripts SKILL, BATTLERS, ITENS, etc...

___Sistema de Multiplos Drops:___

No xas temos a possibilidade de Criar inimigos que deixar cair mais de um iten, ou seja, se um iten não cair o próximo definido terá uma chance de cair quando o mostro morrer...

A definição dO primeiro iten que o mostro terá chance de deixar cair é feito na database normalmente na aba inimigos.
Mas a partir do segundo tempos que definir tudo atravéz do script "BATTLER".

Procure pelas linhas :

ENEMY_2TREASURE = {A=>[B,C,D],}

A = ID do inimigo.
B = Tipo do tesouro.
0 = Item
1 = Weapon
2 = Armor
C = ID do iten que ira ganhar
D = Probabilidade de ganhar o tesouro.

OBS: A configuração é a mesma para o 3º, 4º e 5º tesouro...

Este é só um exemplo de uma ferramenta simples, não se limite ao que este tutorial esplica, inove, seja criativo, o xas não tem limites ^^

Página Anterior.  /  Primeira Página.

Créditos à: Xiderowg,Moghunter e †Des-Sensei†

Login

Pesquisa

Resources do Itachet FansRo MubiaMaster vila dos battlers NarutorRPG Radio Blast! Naruto Game - Esse é o seu jeito Ninja de ser
Copyright MG-Projects © 2024