Esta é a terceira versão do ABS do Near Fantastica, um conjunto de scripts para o RPG Maker XP.
Há um monte de recursos neste sistema de batalha, e você controla o herói, com os outros seguindo, formando um esquadrão (por isto o nome Squad). Muitos o relacionam este estilo de batalha com Zelda, por ser um sistema de luta em tempo real, com ação e que o jogador controla de moto ativo, dependendo também de sua habilidade, etc. Por isto é Action (Active) Battle System.
Particularmente eu gosto do sistema de turnos, a não ser em alguns casos, mas muitos preferem uma batalha com ação!
Como dissemos, é um conjunto de 3 scripts que vem na demo para download nesta publicação.
Copie e cole os scripts (SBABS 1, SBABS 2 e SBABS 3 que estão nos scripts da demo) abaixo de Scene_Debug
ou acima do Main
. Importe os gráficos da “Setas” e das “Magic Balls” para o diretório GraphicsCharacters
, e crie os seus eventos de inimigos como indicado.
Você pode achar os gráficos na demo, no diretório GraphicsCharacters
mesmo.
Controles
Inteligência Artificial Inimiga / Adicionar Aos Eventos De Inimigos
Name Name Of the Enemy in The Data Base ------------ Behavior Passive = 0 ● The Event (Enemy) will only attack when attacked Aggressive = 1 ● The Event will attack when one of its Detection level are set true Linking = 2 ● Event will only attack when another Event is attacked with in its Detection level Aggressive Linking = 3 ● Event will attack when either Aggressive or Linking is true ------------ Detection Sound = range ● The range of sound the enemy can hear inactive if set to zero Sight = range ● The range of sightthe enemy can see inactive if set to zero ------------ Aggressiveness Aggressiveness = Level ● The high number the less Aggressive the Event ------------ Movement Speed = Level ● The movment Speed of the event when engaged Frequency = Level ● The movment Frequency of the event when engaged ------------ Trigger Erased = 0 ● The event will be erased on death Switch = 1 ● The event will be trigger Switch[ID] on death Varible = 2 ● The event will be set the Varible[ID] = VALUE on death Local Switch = 3 ● The event will trigger Local_Switch[ID] on death
Quando terminar, fica tipo na lista de EVENT COMMAND:
@>Comment: ABS Event Command List
@>Comment: Name Ghost
@>Comment: Behavior 1
@>Comment: Sound 2
@>Comment: Sight 5
@>Comment: Aggressiveness 1
@>Comment: Speed 4
@>Comment: Frequency 5
@>Comment: Trigger 3 1
ABS CONSTANTS
Se você quiser que seus actors mudem para um sprite diferente quando eles morrem use o Dead Display.
Se você configurar ataques à distância (ranged) você precisa criar um ELEMENT chamado RANGED e digite o ID deste ELEMENT no RANGE_ELEMENT_ID.
Se você configurar armas Ranged, você precisa configurar o RANGE_DISPLAY.
Código do ABS CONSTANTS
#====================================== # ■ ABS CONSTANTS #====================================== # ● DEAD_DISPLAY is the sprite that is displayed when an actor is dead # ● DEAD_DISPLAY[Data_Base_Actor_ID] = ["Character_Set_Name", X of sprite, Y of sprite] #--------------- $DEAD_DISPLAY = {} $DEAD_DISPLAY[1] = ["189-Down01", 2, 0] #Actor 1 $DEAD_DISPLAY[2] = ["189-Down01", 6, 1] #Actor 2 $DEAD_DISPLAY[7] = ["190-Down02", 8, 0] #Actor 7 $DEAD_DISPLAY[8] = ["191-Down03", 4, 1] #Actor 8 #--------------- # ● RANGE_ELEMENT_ID is which element the range is set to #--------------- $RANGE_ELEMENT_ID = 17 #Element 17 #--------------- # ● RANGE_DISPLAY is the setup for range weapons # ● RANGE_DISPLAY[Data_Base_Weapon_ID] = # ["Character_Set_Name", New Animation Id, Item Id of Ammo] #--------------- $RANGE_DISPLAY = {} $RANGE_DISPLAY[17] = ["Arrow", 4, 33] # Weapon 17
Atenção: o código acima não é do Squad Based Action Battle System, e sim do ABS CONSTANTS.
Nota do DerVVulfman: Como você pode ter visto, através do código $RANGE_DISPLAY[17] = ["Arrow", 4, 33]
que a Ranged Weapon usa o gráfico da seta (arrow).
Você deve editar a página 2 do script para nomear o gráfico do Ranged MAGIC (“Magic Balls”). A declaração que identifica o gráfico “Magic Balls” é em torno da linha 612, no método de atualização da classe Game_Ranged
:
def refresh(event) moveto(event.x, event.y) case @type when "Magic" @character_name = "Magic Balls.png" when "Weapon" display = $RANGE_DISPLAY[@attack] @character_name = display[0] end end
Inteligência Artificial Aliada (Ally Ai)
Funciona mas não é das melhores, segundo o próprio autor. Você pode ligá-la ou desligá-la usando o TRUE
ou FALSE
no flag (parâmetro) do código:
$ABS.set_ally_ai (flag)
HUD
Se usar TRUE
no flag do código abaixo, o jogador tem controle do HUD. Se FALSE
, apenas o desenvolvedor (o maker, você) tem controle.
$ABS.hud_pc
O código $ABS.hud
determina o estado do HUD quando o desenvolvedor tem controle.
Observação: se você gostou deste post ou ele lhe foi útil de alguma forma, por favor considere apoiar financeiramente a Gaming Room. Fico feliz só de ajudar, mas a contribuição do visitante é muito importante para que este site continua existindo e para que eu possa continuar provendo este tipo de conteúdo e melhorar cada vez mais. Acesse aqui e saiba como. Obrigado!
Eu já tentei várias vezes e não deu e aparece que ta na linha “612” não tem essa linha, me ajudem?