전투

사이드뷰 애드온

by 비극ㆍ posted Aug 21, 2010
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

#==============================================================================
# + Taankentai 사이드뷰 배틀 시스템을 위한 더 많은 행동 순서 명령어
#   v1.0
#------------------------------------------------------------------------------
# By Mr. Bubble
# 한글번역-비극ㆍ
# 아방스  www.avangs.info/zbex/
#==============================================================================
# ++ Installation
#    사이드뷰와 ATB 스크립트 아래에 놓아주세요.
#==============================================================================


module N01

  EVENT_COMMANDS_FOR_SEQUENCES = {
 #--------------------------------------------------------------------------
 # ++ 그림 보여주기
 #--------------------------------------------------------------------------
  # 전투중 여러개의 사진을 보여준다. 20개 제한.
  #
  # 사진은 이벤트 커멘드로 같은 방법을 통해 활용된다.
  # 이것은 의미한다.사진은 애니메이션 해시 또한 적절한 VX의 이벤트를 통해
  # 명령뿐만 제어할 수있는 아래에 정의된을 통해 표시.
  # Type - 항상 "show_pic"
  # ID - 픽쳐의 수를 정한다. 픽쳐의 번호가 클수록 앞에 나온다. (1~20)
  # File - Graphics/Pictures 폴더에서 파일이름으로 그림을 가져온다.
  # Origin -사진을 화면의 좌표에 표시한다.
  #          [0=왼쪽 위 기준]
  #          [1=중앙 기준]
  # X - 그래픽이 표시되는 X좌표
  # Y - 그래픽이 표시되는 Y좌표
  # Zoom X - 가로 줌 비율 (퍼센트)
  # Zoom Y - 세로 줌 비율 (퍼센트)
  # Opacity - 그려진 픽쳐의 투명도(0~255). [0=완전한 투명]
  # Blend - 픽쳐가 그려질때 소재를 혼합한다..
  #         [0=보통] [1=추가] [2=하위]
 
  # ANIME Key         Type        ID    File    Orig   X    Y   ZX   ZY Opac Blend
  "SHOW_PICTURE_1" => ["show_pic", 1, "Actor2-3", 1, 272, 208, 100, 100, 255, 0],

 #--------------------------------------------------------------------------
 # ++ 그림 움직이기
 #--------------------------------------------------------------------------
  # 그림의 위치, 줌, 비율 등을 바꾼다.
  #
  # Type - 항상 "move_pic"
  # ID - 화면에 표시될 그림의 숫자. 픽쳐의 번호가 클수록 앞에 나온다.  (1~20)
  # Origin -사진을 화면의 좌표에 표시한다.
  #          [0=왼쪽 위 기준]
  #          [1=중앙 기준]
  # X - 그래픽이 표시되는 X좌표
  # Y - 그래픽이 표시되는 Y좌표
  # Zoom X - 가로 줌 비율 (퍼센트)
  # Zoom Y - 세로 줌 비율 (퍼센트)
  # Opacity - 그려진 픽쳐의 투명도(0~255). [0=완전한 투명]
  # Blend - 픽쳐가 그려질때 소재를 혼합한다..
  #         [0=보통] [1=추가] [2=하위]
  # Time - 설정 시간이 그림의 움직임이 완료 1 / 60 초 때까지. 단위.
 
  # ANIME Key            Type     ID  Orig   X    Y    ZX   ZY  Opac Blend  Time
  "MOVE_PICTURE_1" => ["move_pic", 1,   1,  -125, 208, 100, 100, 255,    1,  60],

 #--------------------------------------------------------------------------
 # ++그림 회전하기
 #--------------------------------------------------------------------------
  # 그림을 회전한다.
  #
  # Type - 항상 "rotate_pic"
  # ID - 회전하는 횟수. (1~20)
  # Speed - 그림의 속도 조정.(양수:반시계방향, 음수:시계방향)

  # ANIME Key                       Type         ID  Speed
  "ROTATE_PICTURE_1(CCW)"     => ["rotate_pic",   1,   5],
  "ROTATE_PICTURE_1(CW)"      => ["rotate_pic",   1,  -5],

 #--------------------------------------------------------------------------
 # ++ 그림 색조 변경
 #--------------------------------------------------------------------------
  # 표시되는 그림의 색상 톤을 바꾼다.
  #
  # Type - 항상 "rotate_pic"
  # ID - 색조가 변경될 그림의 ID. (1~20)
  # Red Tone - 빨강색 톤. (0~255)
  # Green Tone - 초록색 톤(0~255)
  # Blue Tone - 파랑색 톤 (0~255)
  # Grayscale - 회색톤. (0~255)
  # Time - 1/60초 간격으로 색상톤 지정.

  # ANIME Key                     Type     ID  Red   Grn  Blue  Gray   Time
  "TINT_PICTURE_1_RED"     => ["tint_pic",  1,  255,   0,   0,  100,    45],
  "TINT_PICTURE_1_GREEN"   => ["tint_pic",  1,    0, 255,   0,  100,    45],
  "TINT_PICTURE_1_BLUE"    => ["tint_pic",  1,    0,   0, 255,  100,    45],
  "TINT_PICTURE_1_GRAY"    => ["tint_pic",  1,    0,   0,   0,  255,    45],

 #--------------------------------------------------------------------------
 # ++ 그림 지우기
 #--------------------------------------------------------------------------
  # 그림을 지운다.
  #
  # Type - 항상 "erase_pic"
  # ID - 지우고 싶은 그림의 번호. (1~20)
 
  # ANIME Key               Type       ID
  "ERASE_PICTURE_1"   => ["erase_pic",  1],

 #--------------------------------------------------------------------------
 # ++ 스크린 플래시
 #--------------------------------------------------------------------------
  # 일시적으로 한색이 화면에 나온뒤, 점차적으로 원래 색으로 되돌아간다.
  # 플래시나 반짝임 효과로 좋다..
  # Type - 항상 "flash"
  # Red Tone - 빨강색 톤. (0~255)
  # Green Tone - 초록색 톤(0~255)
  # Blue Tone - 파랑색 톤 (0~255)
  # Strength - 플래시효과 색의 강렬함. 
  #            높은숫자는, 더 불투명한 플래시. (0~255)
  # Time - 1/60초로 화면의 플래시 타임을 설정한다. 증가.

  # ANIME Key              Type     Red   Green   Blue   Strength   Time
  "RED_FLASH"         => ["flash",  255,      0,     0,      64,     6],

 #--------------------------------------------------------------------------
 # ++ 화면의 색조변경
 #--------------------------------------------------------------------------
  # 화면의 색조를 바꾼다.
  # 윈도우나 픽쳐에는 영향을 끼치치 않는다.
  # 액션 명령 끝에 정상으로 되돌릴수 없다.
  #
  # Type - 항상 "tint_screen"
  # Red Tone - 빨강색 톤. (0~255)
  # Green Tone - 초록색 톤. (0~255)
  # Blue Tone - 파랑색 톤. (0~255)
  # Time - 1 / 60시간 간격으로 색상 톤 변경(?)
  # ANIME Key                           Type          Red  Grn  Blue Gray  Time
  "TINT_SCREEN_RED"       => ["tint_screen", 200,   0,   0,  100,    45],
  "TINT_SCREEN_BLUE"      => ["tint_screen",   0,   0, 200,  100,    45],
  "NORMAL_SCREEN_COLOR"   => ["tint_screen",   0,   0,   0,    0,    30],
 
 #--------------------------------------------------------------------------
 # ++ 화면 쉐이크
 #--------------------------------------------------------------------------
  # 화면 전체를 오른쪽, 왼쪽으로 흔든다.
  #
  # Type - 항상 "shake"
  # Power - 강도. (1~10)
  # Speed - 속도 . (1~10)
  # Time - 1/60초로 쉐이크 시간 설정 증가.
 
  # ANIME Key              Type    Power  Speed    Time
  "SHAKE_SCREEN"       => ["shake",   10,    10,    20],

 #--------------------------------------------------------------------------
 # ++ 특별한 명령어
 #--------------------------------------------------------------------------
  # "CLEAR_ALL_PICTURES" - 모든 그림을 삭제한다.
  # "FADEOUT" - 이벤트 의 페이드 아웃의 화면과 동일.
  # "FADEIN" - 이벤트 의 페이드 인의 화면과 동일.

 #==========================================================================
 #--------------------------------------------------------------------------
 # 네가 무슨 일을하는지 알지 못한다면이 시점 아래의 라인을 수정하지 마십시오.
 #--------------------------------------------------------------------------
 #==========================================================================

  # 모든 그림 삭제
  "CLEAR_ALL_PICTURES"   => ["script", "
 
    for i in 1..20
      $game_troop.screen.pictures[i].erase
    end
 
  "],

  # 페이드 아웃 스크린
  # time - 1/60초의 페이드 아웃 시간. 증가.
  "FADEOUT"   => ["script", "

  time = 60
  Graphics.fadeout(time)

  "],
 
  # 페이드 인 스크린
  # time - 1/60초의 페이드 인 시간. 증가.
  "FADEIN"    => ["script", "
 
  time = 60
  Graphics.fadein(time)
 
  "],

}
  ANIME.merge!(EVENT_COMMANDS_FOR_SEQUENCES)
end

class Sprite_Battler < Sprite_Base
  #--------------------------------------------------------------------------
  # * Show Picture
  #--------------------------------------------------------------------------
  def show_picture
    id = @active_action[1]
    name = @active_action[2]
    origin = @active_action[3]
    x = @active_action[4]
    y = @active_action[5]
    zoom_x = @active_action[6]
    zoom_y = @active_action[7]
    opacity = @active_action[8]
    blend_type = @active_action[9]
    # Show Picture function
    $game_troop.screen.pictures[id].show(name, origin, x, y,zoom_x, zoom_y,
opacity, blend_type)
  end

  #--------------------------------------------------------------------------
  # * Move Picture
  #--------------------------------------------------------------------------
  def move_picture
    id = @active_action[1]
    origin = @active_action[2]
    x = @active_action[3]
    y = @active_action[4]
    zoom_x = @active_action[5]
    zoom_y = @active_action[6]
    opacity = @active_action[7]
    blend_type = @active_action[8]
    duration = @active_action[9]
    # Move picture function
    $game_troop.screen.pictures[id].move(origin, x, y, zoom_x, zoom_y, opacity,
blend_type, duration)
  end
  #--------------------------------------------------------------------------
  # * Erase Picture
  #--------------------------------------------------------------------------
  def erase_picture
    $game_troop.screen.pictures[@active_action[1]].erase
  end
  #--------------------------------------------------------------------------
  # * Rotate Picture
  #--------------------------------------------------------------------------
  def rotate_picture
    id = @active_action[1]
    rotate_value = @active_action[2]
    # Rotate Picture function
    $game_troop.screen.pictures[id].rotate(rotate_value)
  end
  #--------------------------------------------------------------------------
  # * Tint Picture
  #--------------------------------------------------------------------------
  def tint_picture
    id = @active_action[1]
    red = @active_action[2]
    green = @active_action[3]
    blue = @active_action[4]
    gray = @active_action[5]
    duration = @active_action[6]
    # Tint Picture function
    $game_troop.screen.pictures[id].start_tone_change(Tone.new(
red, green, blue, gray), duration)
  end
  #--------------------------------------------------------------------------
  # * Set Weather Effects
  #--------------------------------------------------------------------------
  def set_weather_effects
    type = @active_action[1]
    power = @active_action[2]
    time = @active_action[3]
    # Set weather function
    $game_troop.screen.weather(type, power, time)
  end
  #--------------------------------------------------------------------------
  # * Flash Screen
  #--------------------------------------------------------------------------
  def flash_screen
    red = @active_action[1]
    green = @active_action[2]
    blue = @active_action[3]
    strength = @active_action[4]
    time = @active_action[5]
    # Flash Screen function
    $game_troop.screen.start_flash(Color.new(red,green, blue, strength), time)
  end
  #--------------------------------------------------------------------------
  # * Tint Screen
  #--------------------------------------------------------------------------
  def tint_screen
    red = @active_action[1]
    green = @active_action[2]
    blue = @active_action[3]
    gray = @active_action[4]
    time = @active_action[5]
    # Tint Screen function
    $game_troop.screen.start_tone_change(Tone.new(red, green, blue, gray), time)
  end
  #--------------------------------------------------------------------------
  # * Screen Shake
  #--------------------------------------------------------------------------
  def screen_shake
    power = @active_action[1]
    speed = @active_action[2]
    duration = @active_action[3]
    # Shake Screen function
    $game_troop.screen.start_shake(power, speed, duration)
  end
  #--------------------------------------------------------------------------
  # ● Action Processing
  #--------------------------------------------------------------------------
  alias event_commands_for_sbs_addon_action action
  def action    
    return if @active_action == nil
    action = @active_action[0]   
    # 화면 쉐이크 효과
    return screen_shake if action == "shake"
    # 이벤트의 그림 보여주기
    return show_picture if action == "show_pic"
    # 이벤트의 그림 움직이기
    return move_picture if action == "move_pic"
    # 이벤트의 그림 지우기
    return erase_picture if action == "erase_pic"
    # 이벤트의 그림 회전하기
    return rotate_picture if action == "rotate_pic"
    # 이벤트의 그림 색조변경
    return tint_picture if action == "tint_pic"
    # 날씨설정
    return set_weather_effects if action == "weather"
    # 화면 플래시 효과
    return flash_screen if action == "flash"
    # 화면의 색조변경
    return tint_screen if action == "tint_screen"
   
    # Alias
    event_commands_for_sbs_addon_action
   
  end
end

ㅎㅎ 구글번역은 조금밖에 엄서용 대부분 즉석해석이요.

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

#==============================================================================
# + 애니메이션 오버레이 패치 for RPG Tankentai SBS
#------------------------------------------------------------------------------
# 'Yanfly Engine Melody - Core Fixes and Upgrades'의 자료는 이 스크립트에 쓰였다.
# 원래 스크립트는 http://www.pockethouse.com/ 에서 찾을수 있습니다.
#------------------------------------------------------------------------------
#  Code from Core Fixes and Upgrades by Yanfly
#  Patch set up by Mr. Bubble
#==============================================================================
# ++ 설치방법
# * 사이드뷰 스크립트 아래에 배치해 주세요.
#==============================================================================
# ┌해석 필요 없음
# There has been a long-existing issue with Screen animations playing
# an animation for each target. This causes the undesirable effect of
# Screen animations having an incorrect opacity level and simultaneous
# sound effects (which may possibly cause hurt ear drums!).
#
# Fortunately, Yanfly has created a very thorough patch which fixes
# this issue once and for all -- except with Tankentai.
#
# Since Tankentai uses its own method of displaying animations, some
# of the Tankentai base code had to be tweaked in order for Yanfly's
# animation fix to apply. Not only does this patch fix Screen animations
# played with Tankentai, but it also makes the animation rate option
# Yanfly included fully compatible.
#
# Keep in mind that if you have 'Yanfly Engine Melody - Core Fixes
# and Upgrades' already installed in your script editor, a large portion
# of this script will get disabled and instead use the methods defined
# in 'Core Fixes and Upgrades' (methods in this script are directly
# taken there). If you choose to use Yanfly Engine Melody - Core Fixes
# and Upgrades in your project, remember that it must be placed above
# the Sideview scripts.
#==============================================================================

module N01
    # 이것은 애니메이션 속도를 전투 애니메이션에 의해 연주 조정합니다. 기본적으로
    # 애니메이션은 40fps 4의 속도로 재생됩니다. 60fps 3으로 그것을 변경하면,
    # 애니메이션이 60fps로 매끄러운 효과에 대한 변경됩니다. Beware of using
    # heavy animations that may cause the player's computer to explode. ---만든이의 개그본능
    ANIMATION_RATE = 4
    # This value will not be used if 'Yanfly Engine Melody - Core Fixes and
    # Upgrades' script is installed.---필요 없음
end

$imported = {} if $imported == nil
$imported["TankentaiAnimPatch"] = true

#==============================================================================
# + Sprite_Battler
#------------------------------------------------------------------------------
#  This sprite is used to display battlers. It observes a instance of the
# Game_Battler class and automatically changes sprite conditions.
#==============================================================================
class Sprite_Battler < Sprite_Base
  #--------------------------------------------------------------------------
  # ++ Show Battle Animation [判別, ID, target, mirror, wait, Weapon 2 flag]
  #--------------------------------------------------------------------------
  def battle_anime
    # return if enemy and processing animation for Weapon 2
    return if @active_action[5] && !@battler.actor?
    # return if trying to process Weapon 2 animation with no Weapon 2 equipped.
    return if @active_action[5] && @battler.weapons[1] == nil
    # return if actor has Weapon 2 equipped, but not Weapon 1
    if @battler.actor?
      return if !@active_action[5] && @battler.weapons[0] == nil && @battler.weapons[1] != nil
    end
    anime_id = @active_action[1]
    # 3.4a properly mirror animations if enemy is manually set to be mirroed
    if @battler.is_a?(Game_Enemy)
      mirror = false
      mirror = true if @battler.action_mirror
    end
    # Mirror animation when in back attack
    if $back_attack
      mirror = true if !@active_action[3] # 3.4a
      mirror = false if @active_action[3] || (@battler.is_a?(Game_Enemy) && @battler.action_mirror) # 3.4a
    end
    # 3.4c
    # Damage with no animation
    if anime_id == -3
      # No animation if anime ID is -3
      anime_id = 0
      # ダメージ表示のアニメなら、ダメージ計算を先に済ませるため処理を中断
      damage_action = [anime_id, mirror, true]
      return @battler.play = ["OBJ_ANIM",damage_action] if @battler.active
    end
    # For skill, item, and weapon animations
    if anime_id < 0
      # Branches from here depending on type of action
      if @battler.action.skill? && anime_id != -2
        ### UNOFFICAL CODE v3.3b ###
        anime_id = @battler.action.skill.animation_id unless @battler.action.skill.animation_id == -1
        if @battler.action.skill.animation_id == -1
          anime_id = N01::NO_WEAPON
          if @battler.actor?
            weapon_id = @battler.weapon_id
            anime_id = $data_weapons[weapon_id].animation_id if weapon_id != 0
            anime_id = @battler.atk_animation_id2 if @active_action[5]
          else
            weapon_id = @battler.weapon
            anime_id = $data_weapons[weapon_id].animation_id if weapon_id != 0
          end
        end
      elsif @battler.action.item? && anime_id != -2
        anime_id = 0
        anime_id = @battler.action.item.animation_id unless @battler.action.item.animation_id == -1
        if @battler.action.item.animation_id == -1
          anime_id = N01::NO_WEAPON
          weapon_id = @battler.weapon_id
          anime_id = $data_weapons[weapon_id].animation_id if weapon_id != 0
          anime_id = @battler.atk_animation_id2 if @active_action[5]
        end
        ### UNOFFICIAL CODE v3.3b END ###
        else
        # Unarmed attack animation
        anime_id = N01::NO_WEAPON
        if @battler.actor?
          weapon_id = @battler.weapon_id
          anime_id = $data_weapons[weapon_id].animation_id if weapon_id != 0
          # For Two Swords Style animation
          anime_id = @battler.atk_animation_id2 if @active_action[5]
        else
          weapon_id = @battler.weapon
          anime_id = $data_weapons[weapon_id].animation_id if weapon_id != 0
        end
      end
      # Set wait value, temporarily delays action sequence processing
      @wait = $data_animations[anime_id].frame_max * RATE + 1 if $data_animations[anime_id] != nil && @active_action[4]
      waitflug = true
      # ダメージ表示のアニメなら、ダメージ計算を先に済ませるため処理を中断
      damage_action = [anime_id, mirror, true]
      return @battler.play = ["OBJ_ANIM",damage_action] if @battler.active && @active_action[1] != -4 # 3.4a
    end
    # Process animation
    if @active_action[2] == 0 && $data_animations[anime_id] != nil
      @battler.animation_id = anime_id
      @battler.animation_mirror = mirror
    elsif $data_animations[anime_id] != nil
      # From CoreFixesUpgradesMelody
      animation = $data_animations[anime_id]
      to_screen = (animation.position == 3)
      ani_check = false
      for target in @target_battler
        if ani_check
          target.pseudo_ani_id = anime_id
        else
          target.animation_id = anime_id
          target.animation_mirror = mirror
        end
        ani_check = true if to_screen
      end
    end
    # Set Wait
    @wait = $data_animations[anime_id].frame_max * RATE + 1 if $data_animations[anime_id] != nil && @active_action[4] && !waitflug
  end
end

class Scene_Battle < Scene_Base
  #--------------------------------------------------------------------------
  # ++ Auto Resurrection - Animation
  #--------------------------------------------------------------------------
  def resurrection(target)
    for state in target.states
      for ext in state.extension
        name = ext.split('')
        next unless name[0] == "A"
        wait(50)
        name = name.join
        name.slice!("AUTOLIFE/")
        target.hp = target.maxhp * name.to_i / 100
        target.remove_state(1)
        target.remove_state(state.id)
        target.animation_id = N01::RESURRECTION
        target.animation_mirror = true if $back_attack
        @status_window.refresh
        wait($data_animations[N01::RESURRECTION].frame_max * RATE + 1)
      end 
    end
  end
end

# Code below this point will not be used if Yanfly Engine Melody - Core
# Fixes and Upgrades script is installed.

unless $imported["CoreFixesUpgradesMelody"]
 
class Game_Battler
  #--------------------------------------------------------------------------
  # public instance variables
  #--------------------------------------------------------------------------
  attr_accessor :pseudo_ani_id
  #--------------------------------------------------------------------------
  # alias method: clear_sprite_effects
  #--------------------------------------------------------------------------
  alias clear_sprite_effects_cfu clear_sprite_effects unless $@
  def clear_sprite_effects
    clear_sprite_effects_cfu
    @pseudo_ani_id = 0
  end
end

#==============================================================================
# Sprite_Base
#==============================================================================

class Sprite_Base < Sprite
 
  #--------------------------------------------------------------------------
  # constants
  #--------------------------------------------------------------------------
  RATE = N01::ANIMATION_RATE
 
  #--------------------------------------------------------------------------
  # overwrite method: update
  #--------------------------------------------------------------------------
  def update
    super
    update_animation if @animation != nil
    @@animations.clear
  end
 
  #--------------------------------------------------------------------------
  # overwrite method: start_animation
  #--------------------------------------------------------------------------
  def start_animation(animation, mirror = false)
    dispose_animation
    @animation = animation
    return if @animation == nil
    @animation_mirror = mirror
    @animation_duration = @animation.frame_max * RATE + 1
    load_animation_bitmap
    @animation_sprites = []
    if @animation.position != 3 or not @@animations.include?(animation)
      if @use_sprite
        for i in 0..15
          sprite = ::Sprite.new(self.viewport)
          sprite.visible = false
          @animation_sprites.push(sprite)
        end
        @@animations.push(animation) unless @@animations.include?(animation)
      end
    end
    if @animation.position == 3
      if viewport == nil
        @animation_ox = Graphics.width / 2
        @animation_oy = Graphics.height / 2
      else
        @animation_ox = viewport.rect.width / 2
        @animation_oy = viewport.rect.height / 2
      end
    else
      @animation_ox = x - ox + width / 2
      @animation_oy = y - oy + height / 2
      if @animation.position == 0
        @animation_oy -= height / 2
      elsif @animation.position == 2
        @animation_oy += height / 2
      end
    end
  end
 
  #--------------------------------------------------------------------------
  # new method: start_pseudo_ani
  #--------------------------------------------------------------------------
  def start_pseudo_ani(animation, mirror = false)
    dispose_animation
    @animation = animation
    return if @animation == nil
    @animation_mirror = mirror
    @animation_duration = @animation.frame_max * RATE + 1
    @animation_sprites = []
  end
 
  #--------------------------------------------------------------------------
  # overwrite method: update_animation
  #--------------------------------------------------------------------------
  def update_animation
    # from Tankentai
    if @animation.position == 1 # 3.4a
      @animation_ox = x - ox + width / 2
      @animation_oy = y - oy + height / 2
    end
   
    @animation_duration -= 1
    return unless @animation_duration % RATE == 0
    if @animation_duration > 0
      frame_index = @animation.frame_max
      frame_index -= (@animation_duration+RATE-1)/RATE
      animation_set_sprites(@animation.frames[frame_index])
      for timing in @animation.timings
        next unless timing.frame == frame_index
        animation_process_timing(timing)
      end
      return
    end
    dispose_animation
  end
 
  #--------------------------------------------------------------------------
  # overwrite method: animation_process_timing
  #--------------------------------------------------------------------------
  def animation_process_timing(timing)
    timing.se.play
    case timing.flash_scope
    when 1
      self.flash(timing.flash_color, timing.flash_duration * RATE)
    when 2
      if viewport != nil
        viewport.flash(timing.flash_color, timing.flash_duration * RATE)
      end
    when 3
      self.flash(nil, timing.flash_duration * RATE)
    end
  end
   
end # Sprite_Base

#==============================================================================
# Sprite_Battler
#==============================================================================

class Sprite_Battler < Sprite_Base
 
  #--------------------------------------------------------------------------
  # alias method: setup_new_effect
  #--------------------------------------------------------------------------
  alias setup_new_effect_cfu setup_new_effect unless $@
  def setup_new_effect
    setup_new_effect_cfu
    if @battler.pseudo_ani_id != 0 and @battler.pseudo_ani_id != nil
      animation = $data_animations[@battler.pseudo_ani_id]
      start_pseudo_ani(animation)
      @battler.pseudo_ani_id = 0
    end
  end
 
end # Sprite_Battler

end # $imported["CoreFixesUpgradesMelody"]

후아....

두갠데요..... 시트르산님이 올린 사이드뷰 최신버젼에 달려있는 애드온중 두개를

해석한것입니다.

다음번에는 조금 긴것을 해보죠.....