기타

배틀신에서 곡 넘기기

by rukan posted Jul 02, 2009
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

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

 

※ 이 스크립트를 사용하기 위해서는 『주석을 활용한 이벤트 커맨드 확장』스크립트가 필요합니다.※

 

필드에서 돌아다니다가 전투에 돌입할 경우

 

필드음악 → 전투음악

 

으로 바뀌는데 이 스크립트를 사용 하면 필드음악 그대로 전투에 돌입 할 수 있습니다.

 

또한 전투 종료시 승리곡도 안나오게 할 수 있습니다. 

 

사용 방법은 자신이  원하는 때에

 

『이벤트 커맨드』 → 흐름제어 부분에서 『주석』선택.

 

배틀신에서 곡 넘기기 ON  ← 이라고 적어주시면 됩니다.

 

전투종료후 승리곡도 넘기고 싶으시다면 뒤에다 + 를 붙여 주시면 됩니다.

 

그리고 원래대로 돌려 놓고 싶으실때에는

 

배틀신에서 곡 넘기기 OFF ←라고 적어주시면 됩니다.

 

출처 : http://mdc-light.jpn.org/TYPE74RX-T/index.html
 

 

아래부터  스크립트

 

#
#    バトルシーンに曲持ち越し(RGSS2)
#  (C)2008 TYPE74RX-T
#

#==============================================================================
# ★ RX_T_rgss2c4
#------------------------------------------------------------------------------
#  Game_Party専用モジュールです。
#==============================================================================

module RX_T_rgss2c4
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化
  #--------------------------------------------------------------------------
  def initialize
    super
    # ★ バトルシーンに曲持ち越しフラグ
    @rx_bgm_continue_in_battle = false
    # ★ 勝利曲スルーフラグ
    @rx_victory_bgm_through = false
  end
  #--------------------------------------------------------------------------
  # ★ バトルシーンに曲持ち越しフラグ
  #--------------------------------------------------------------------------
  def rx_bgm_continue_in_battle
    return @rx_bgm_continue_in_battle
  end
  #--------------------------------------------------------------------------
  # ★ バトルシーンに曲持ち越しフラグの設定
  #--------------------------------------------------------------------------
  def rx_bgm_continue_in_battle=(flag)
    @rx_bgm_continue_in_battle = flag
  end
  #--------------------------------------------------------------------------
  # ★ 勝利曲スルーフラグ
  #--------------------------------------------------------------------------
  def rx_victory_bgm_through
    return @rx_victory_bgm_through
  end
  #--------------------------------------------------------------------------
  # ★ 勝利曲スルーフラグの設定
  #--------------------------------------------------------------------------
  def rx_victory_bgm_through=(flag)
    @rx_victory_bgm_through = flag
  end
end

#==============================================================================
# ■ Game_Party
#------------------------------------------------------------------------------
#  パーティを扱うクラスです。ゴールドやアイテムなどの情報が含まれます。このク
# ラスのインスタンスは $game_party で参照されます。
#==============================================================================

class Game_Party < Game_Unit
  include RX_T_rgss2c4
end

#==============================================================================
# ■ Interpreter
#------------------------------------------------------------------------------
#  イベントコマンドを実行するインタプリタです。このクラスは Game_System クラ
# スや Game_Event クラスの内部で使用されます。
#==============================================================================

class Game_Interpreter
  #--------------------------------------------------------------------------
  # ★ 注釈
  #--------------------------------------------------------------------------
  alias rx_rgss2c4_command_108 command_108
  def command_108
    # バトル曲持ち越しON
    if @parameters[0].include?("배틀신에서 곡 넘기기 ON")
      # バトル曲持ち越しフラグON
      $game_party.rx_bgm_continue_in_battle = true
      # 「+」が含まれているか
      if @parameters[0].include?("+")
        # 勝利曲スルー
        $game_party.rx_victory_bgm_through = true
      else
        $game_party.rx_victory_bgm_through = false
      end
      # 継続(競合対策)
      return true
    end
    # バトル曲持ち越しOFF
    if @parameters[0].include?("배틀신에서 곡 넘기기 OFF")
      # バトル曲持ち越しフラグOFF
      $game_party.rx_bgm_continue_in_battle = false
      # 継続(競合対策)
      return true
    end
    # メソッドを呼び戻す
    rx_rgss2c4_command_108
  end
end

#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
#  マップ画面の処理を行うクラスです。
#==============================================================================

class Scene_Map < Scene_Base
  #--------------------------------------------------------------------------
  # ● バトル画面への切り替え
  #--------------------------------------------------------------------------
  alias rgss2c4_call_battle call_battle
  def call_battle
    # ★ バトルシーンに曲持ち越しフラグが立っていれば
    return rx_2c4_call_battle if $game_party.rx_bgm_continue_in_battle
    # メソッドを呼び戻す
    rgss2c4_call_battle
  end
  #--------------------------------------------------------------------------
  # ★ バトル画面への切り替え(マップ画面で鳴っていた曲をバトル画面に持ち越す)
  #--------------------------------------------------------------------------
  def rx_2c4_call_battle
    @spriteset.update
    Graphics.update
    $game_player.make_encounter_count
    $game_player.straighten
    $game_temp.map_bgm = RPG::BGM.last
    $game_temp.map_bgs = RPG::BGS.last
    Sound.play_battle_start
    $game_temp.next_scene = nil
    $scene = Scene_Battle.new
  end
end

#==============================================================================
# ■ Scene_Battle
#------------------------------------------------------------------------------
#  バトル画面の処理を行うクラスです。
#==============================================================================

class Scene_Battle < Scene_Base
  #--------------------------------------------------------------------------
  # ● 勝利の処理(マップ画面で鳴っていた曲をバトル画面に持ち越す)
  #--------------------------------------------------------------------------
  alias rgss2c4_process_victory process_victory
  def process_victory
    # ★ バトルシーンに曲持ち越しフラグが立っていれば
    return rx_2c4_process_victory if $game_party.rx_bgm_continue_in_battle
    # メソッドを呼び戻す
    rgss2c4_process_victory
  end
  #--------------------------------------------------------------------------
  # ● 勝利の処理
  #--------------------------------------------------------------------------
  def rx_2c4_process_victory
    @info_viewport.visible = false
    @message_window.visible = true
    # 勝利曲スルーフラグが無ければ勝利曲を流す
    $game_system.battle_end_me.play unless $game_party.rx_victory_bgm_through
    unless $BTEST
      $game_temp.map_bgm.play
      $game_temp.map_bgs.play
    end
    display_exp_and_gold
    display_drop_items
    display_level_up
    battle_end(0)
  end
end