🤔 Para Refletir :
"O mais importante não é a história, mas como você conta ela."
- FL

Ajuda na Animação da Batalha

Joon

Novato
Membro
Membro
Juntou-se
12 de Outubro de 2017
Postagens
16
Bravecoins
55
Tudo bem, gostaria de saber:

Ao inimigo me atacar, teria como usar a animação furacão ao invés de piscar a tela apenas nos ataques inimigos.

Quem ajudar já agradeço desde já.
 

Anexos

  • golpe pisca.jpg
    golpe pisca.jpg
    281,8 KB · Visualizações: 23
  • imagem_2024-05-14_081424776.png
    imagem_2024-05-14_081424776.png
    480,8 KB · Visualizações: 23
não sei se esta nos locais certos
 

Anexos

  • 1.jpg
    1.jpg
    455,9 KB · Visualizações: 25
  • 2.jpg
    2.jpg
    419,5 KB · Visualizações: 24
  • 3.jpg
    3.jpg
    418,7 KB · Visualizações: 22
  • 4.jpg
    4.jpg
    397,8 KB · Visualizações: 25

Anexos

  • fura.jpg
    fura.jpg
    205,4 KB · Visualizações: 26
Tá não, tem que copiar primeiro todo o conteúdo do código CORE ENGINE, e colar abaixo (insira scripts aqui)
Visualizar anexo 7918

depois você copia todo conteúdo do código CAST ANIMATION e cola abaixo do script do CORE ENGINE
Visualizar anexo 7917

*renomeia os scripts em "nome" pra ficar mais fácil de você se organizar

vai ficar assim
CORE ENGINE
Visualizar anexo 7920

CAST ANIMATION
Visualizar anexo 7919
Deu certo muito obrigado ^^ valew mesmo pelo empenho !!!
 
Olá, @Joon!
Vejo que está utilizando o RPG Maker VX Ave
Há um script do Grande Moghunter denominado MOG - Battler Poses (v1.2)

Eu utilizei ele e outros no meu singelo jogo chamado Dragon Shadow - A Caixa Mágica

Veja como funciona:
sfLxp6c.png

O legal é que as animações são fluidas remetendo os jogos clássicos como Dragon Quest

Ruby:
#==============================================================================
# +++ MOG - Battler Poses (v1.2) +++
#==============================================================================
# By Moghunter
# https://atelierrgss.wordpress.com/
#==============================================================================
#  O script implementa o sistema de poses básicas para os battlers.
#  (Normal, Feliz, Ação, Dor)
#==============================================================================
# * UTILIZAÇÃO
#==============================================================================
# Serão necessários 2 arquivos de imagens do battler.
# 1 - Imagem utilizada no Database.
# 2 - Imagem usada na Batalha, divididos em 4 frames (Poses) do battler.
#
# EXEMPLO
# Basta adicionar o sufixo [Poses] no arquivo que será usado na batalha
# e o script vai ativar automaticamente o sistema de poses para
# este battler.
#
# 1 - Slime.png
# 2 - Slime[Poses].png
#
#==============================================================================

#==============================================================================
# v1.2 - Melhoria na compatibilidade com MOG Srite Actor.
# v1.1 - Melhoria na compatibilidade de scripts.
#==============================================================================

$imported = {} if $imported.nil?
$imported[:mog_battler_poses] = true

#==============================================================================
# ** Game_Battler
#==============================================================================
class Game_Battler < Game_BattlerBase
 
  attr_accessor :battler_pose
 
  #--------------------------------------------------------------------------
  # * Initialize
  #--------------------------------------------------------------------------
  alias mog_battler_poses_gb_initialize initialize
  def initialize
      @battler_pose = [false,0,0,0]
      mog_battler_poses_gb_initialize
  end
 
  #--------------------------------------------------------------------------
  # ● Execute Damage
  #-------------------------------------------------------------------------- 
  alias mog_battler_pose_execute_damage execute_damage
  def execute_damage(user)
      mog_battler_pose_execute_damage(user)
      execute_battler_pose_damage(user)
  end
 
  #--------------------------------------------------------------------------
  # ● Execute Battler Pose Damage
  #-------------------------------------------------------------------------- 
  def execute_battler_pose_damage(user)
      if @result.hp_damage > 0
         self.battler_pose[2] = 3
         self.battler_pose[1] = 50
      elsif @result.hp_damage < 0
         self.battler_pose[2] = 1
         self.battler_pose[1] = 50     
      end   
  end
 
end

#==============================================================================
# ■ Game Action
#==============================================================================
class Game_Action
 
  #--------------------------------------------------------------------------
  # ● Prepare
  #--------------------------------------------------------------------------                 
  alias mog_battler_pose_prepare prepare
  def prepare
      mog_battler_pose_prepare
      set_battler_pose_action
  end
    
  #--------------------------------------------------------------------------
  # ● Set Battler Pose Action
  #--------------------------------------------------------------------------                   
  def set_battler_pose_action
      return if @item.object == nil or subject == nil     
      subject.battler_pose[2] = 2
      subject.battler_pose[1] = 800
  end
 
end

#==============================================================================
# ■ Scene Battle
#==============================================================================
class Scene_Battle < Scene_Base
 
  #--------------------------------------------------------------------------
  # ● Show Animation
  #--------------------------------------------------------------------------                   
  alias mog_battler_pose_show_animation show_animation
  def show_animation(targets, animation_id)
      mog_battler_pose_show_animation(targets, animation_id)
      clear_battler_pose(targets)
  end

  #--------------------------------------------------------------------------
  # ● Clear Battler Pose
  #--------------------------------------------------------------------------                   
  def clear_battler_pose(targets)
      return if @subject == nil
      return if @subject.battler_pose[2] != 2
      @subject.battler_pose[1] = 5     
  end
 
end

#==============================================================================
# ** Sprite_Battler
#==============================================================================
class Sprite_Battler < Sprite_Base
 
  #--------------------------------------------------------------------------
  # * Initialize
  #--------------------------------------------------------------------------
  alias mog_battler_poses_initialize initialize
  def initialize(viewport, battler = nil)
      mog_battler_poses_initialize(viewport, battler)
      check_battler_poses
  end
 
  #--------------------------------------------------------------------------
  # * Check Battler Poses
  #--------------------------------------------------------------------------
  def check_battler_poses
      return if @battler == nil
      @cache_bitmap = nil
      @battler_visble = [0,0]
      @battler_id_old = -1
      @battler.battler_pose = [false,0,0,-1]
      @battler.battler_pose[0] = battler_poses_exist? ? true : false
  end
 
  #--------------------------------------------------------------------------
  # * Battler Pose Name
  #--------------------------------------------------------------------------
  def battler_pose_name
      @battler.battler_name + "[Poses]"
  end
      
  #--------------------------------------------------------------------------
  # ● Battler Poses Exist?
  #--------------------------------------------------------------------------
  def battler_poses_exist?
      Cache.battler(battler_pose_name, @battler.battler_hue) rescue return false
  end
    
  #--------------------------------------------------------------------------
  # * Update Bitmap
  #--------------------------------------------------------------------------
  alias mog_battler_poses_update_bitmap update_bitmap
  def update_bitmap
      return if can_update_bitmap_battler_pose?
      mog_battler_poses_update_bitmap   
  end
 
  #--------------------------------------------------------------------------
  # * Can Update Bitmap Battler Pose
  #--------------------------------------------------------------------------
  def can_update_bitmap_battler_pose?
      return false if @battler == nil
      return false if !@battler.battler_pose[0]     
      update_bitmap_battler_pose
      return true
  end
 
  #--------------------------------------------------------------------------
  # * Update Bitmap Battler Pose
  #--------------------------------------------------------------------------
  def update_bitmap_battler_pose
      return if $imported[:mog_battler_motion] and @battler.motion_slice[0]
      refresh_bitmap_battler_pose
      update_battler_pose_duration
      if $imported[:mog_sprite_actor]
         self.visible = @battler.bact_sprite_visiblle unless @battler.dead?
      end
      refresh_battler_pose if can_refresh_battler_pose?
  end

  #--------------------------------------------------------------------------
  # * Refresh Bitmap Battler Pose
  #--------------------------------------------------------------------------
  def refresh_bitmap_battler_pose
      return if @battler_id_old == @battler.enemy_id
      return if $imported[:mog_battler_motion] and @battler.motion_slice[0]
      check_battler_poses
      @battler_id_old = @battler.enemy_id         
      if @battler.battler_pose[0]           
          create_bitmap_battler_pose
      else
         self.bitmap = Cache.battler(@battler.battler_name, @battler.battler_hue)
      end   
      init_visibility
  end
      
  #--------------------------------------------------------------------------
  # * Update Battler Pose Duration
  #--------------------------------------------------------------------------
  def update_battler_pose_duration
      return if @battler.battler_pose[1] == 0
      @battler.battler_pose[1] -=1
      return if @battler.battler_pose[1] > 0
      hp_low = @battler.mhp * 30 / 100
      @battler.battler_pose[2] = @battler.hp > hp_low ? 0 : 3
      refresh_battler_pose if @battler.battler_pose[1] == 0
  end
 
  #--------------------------------------------------------------------------
  # * Create Bitmap Battler Pose
  #--------------------------------------------------------------------------
  def create_bitmap_battler_pose
      return false if !@battler.battler_pose[0]
      @cache_bitmap = Cache.battler(battler_pose_name, @battler.battler_hue)
      @bp_cw = @cache_bitmap.width / 4
      @bp_ch = @cache_bitmap.height
      self.bitmap.dispose if self.bitmap != nil
      self.bitmap = Bitmap.new(@bp_cw,@bp_ch)
  end     
    
  #--------------------------------------------------------------------------
  # * Can Refresh Battler Pose
  #--------------------------------------------------------------------------
  def can_refresh_battler_pose?
      return false if @battler == nil
      return false if !@battler.battler_pose[0]
      return false if @battler.battler_pose[2] == @battler.battler_pose[3]
      return false if self.bitmap == nil
      return false if self.opacity == 0
      return false if $imported[:mog_battler_motion] and @battler.motion_slice[0]
      return true
  end

  #--------------------------------------------------------------------------
  # * Refresh Battler Pose
  #--------------------------------------------------------------------------
  def refresh_battler_pose
      @battler.battler_pose[3] = @battler.battler_pose[2]
      self.bitmap.clear rescue nil
      bp_rect = Rect.new(@bp_cw * @battler.battler_pose[2],0,@bp_cw,@bp_ch)
      self.bitmap.blt(0,0,@cache_bitmap,bp_rect)   
  end
 
end
 
Voltar
Topo Inferior