Olá a todos, vim postar este script feito por Tomoaky, que revoluciona o sistema de batalha padrão do Rpg Maker ACE.
・Efeito de respiração no Battler inimigo.
・Produz um senso de perspectiva do sprite do battler conforme a coordenada Y
・Espelhagem aleatoria.
Tomoaky: Por criar o Script
Hatsurugi: Por traduzir e Postar o Script.
Espero que gostem, desculpem não ter screens, porque não é algo persectivel a screens.
De sua atiradora
Hatsurugi
Caracteristicas
・Efeito de respiração no Battler inimigo.
・Produz um senso de perspectiva do sprite do battler conforme a coordenada Y
・Espelhagem aleatoria.
Script
- Código:
#==============================================================================
# ★ RGSS3_Breath Script Ver1.01
#==============================================================================
=begin
Autor:tomoaky
Traduzido por: Hatsurugi.
website(http://hikimoki.sakura.ne.jp/)
Aplica os seguintes efeitos nos sprites de batalha:
・Espelhagem aleatoria.
・Produz um senso de perspectiva do sprite do battler conforme a coordenada Y
・Define a respiração do Sprite em intervalos regulares.
Quando o inimigo não está em ação sua respiração tem uma pausa.
2011.12.15 Ver1.0
Publicação
2011.12.20 Ver1.01
・Correção de bugs.
2011.12.15 Ver1.0
Publicação
=end
#==============================================================================
# Configurações.
#==============================================================================
module TMBSPREX
# Define as tropas que não criam reflexão por ID
NO_MIRROR_TROOP = [4, 5, 6]
# Define os inimigos que não criam reflexão por ID
NO_MIRROR_ENEMY = [2, 3]
# Define as tropas que não recebem perspectiva.
NO_ZOOM_TROOP = [5, 6]
# Define os inimigos que não recebem perspectiva.
NO_ZOOM_ENEMY = [6]
# Define as tropas que não respiram.
NO_BREATH_TROOP = []
# Define os inimigos que não respiram.
NO_BREATH_ENEMY = [6]
end
#==============================================================================
# ■ Sprite_Battler
#==============================================================================
class Sprite_Battler < Sprite_Base
#--------------------------------------------------------------------------
# ● Inicialização do Objeto.
#--------------------------------------------------------------------------
alias tmbsprex_sprite_battler_initialize initialize
def initialize(viewport, battler = nil)
tmbsprex_sprite_battler_initialize(viewport, battler)
if battler
unless TMBSPREX::NO_MIRROR_TROOP.include?($game_troop.troop.id)
unless TMBSPREX::NO_MIRROR_ENEMY.include?(battler.enemy.id)
self.mirror = (rand(3) == 0) # Randomiza a espelhagem em 1/3
end
end
unless TMBSPREX::NO_ZOOM_TROOP.include?($game_troop.troop.id)
unless TMBSPREX::NO_ZOOM_ENEMY.include?(battler.enemy.id)
border_y = Graphics.height * 65 / 100
self.zoom_x = (battler.screen_y - border_y) * 0.005 + 1.0
end
end
unless TMBSPREX::NO_BREATH_TROOP.include?($game_troop.troop.id)
unless TMBSPREX::NO_BREATH_ENEMY.include?(battler.enemy.id)
@zoom_max = rand(30) + 150
@zoom_count = rand(@zoom_max)
end
end
end
end
#--------------------------------------------------------------------------
# ● Atualização dos Frames
#--------------------------------------------------------------------------
alias tmbsprex_sprite_battler_update update
def update
tmbsprex_sprite_battler_update
if @battler
if @use_sprite
self.zoom_y = self.zoom_x
self.z = 50 + self.y
if @zoom_max && @battler.movable?
@zoom_count += 1
@zoom_count = 0 if @zoom_count == @zoom_max
f = Math.sin(Math::PI * @zoom_count / (@zoom_max / 2))
self.zoom_y += f * 0.015 + 0.015
end
end
end
end
end
Creditos
Tomoaky: Por criar o Script
Hatsurugi: Por traduzir e Postar o Script.
Espero que gostem, desculpem não ter screens, porque não é algo persectivel a screens.
De sua atiradora
Hatsurugi