___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:
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.___
No script "SKILL" defina previamente quais armas ativarão determinadas ferramentas ao serem equipadas.
WEP_ID_TOOL = {
No lugar do
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.
No caso dos Itens é necessário definir previamente no script "ITEM" qual item vai corresponder à determinada ferramenta ID.
XASITEM_ID = {
No lugar do
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"
---------------------------------------------------------------------------------
As habiliades que tem HERO no nome só tem efeito sobre o 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 =
REGEN_ID =
SLOW_ID =
STOP_ID =
DRAIN_ID =
Aqui defini-se a Duração para cada Status:
---------------------------------------------------------------------------------
FAST_TIME =
REGEN_TIME =
POISON_TIME =
SLOW_TIME =
STOP_TIME =
DRAIN_TIME =
Definição das características de alguns Status.
---------------------------------------------------------------------------------
Porcentagem de dano no HP causado pela condição poison.
POISON_DAMAGE_PERC =
Porcentagem de dano no SP causado pela condição poison SP.
POISONSP_DAMAGE_PERC =
OBS:
___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.
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.
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.
Código (SCRIPT) |
Função |
shoot( |
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:
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 = {
___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 = {
___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 = {
2 = Defesa Frontal.
4 = Defesa Esquerda.
6 = Defesa Direita.
8 = Defesa nas costas.
No lugar do
___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 - ID da Skill
B - % de dano
------------------------------------------
Dano baseado na porcentagem de HP atual do alvo.
PER_DAMAGE_HP = {
A - ID da Skill
B - % de dano
------------------------------------------
Dano baseado na porcentagem de SP máximo do alvo
PER_DAMAGE_SPMAX = {
A - ID da Skill
B - % de dano
------------------------------------------
Dano baseado na porcentagem de SP atual do alvo
PER_DAMAGE_SP = {
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
___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
AUTOGAMEOVER =
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
GAMEOVER_SWITCH_ID =
___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.
Coloque o nome do arquivo original do character mais o sufixo
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.
___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 = {
B = ID da habildiade 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 =
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 = {
OVD_GAIN = {
Definição especifica da quantidade de ganho no medidor 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
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 = 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 ^^
Créditos à: