#============================================================================== # ■ RGSS3 プチレアブログ様の3Dダンジョンと音量調節の併用化スクリプト Ver1.01 #------------------------------------------------------------------------------ # 3DダンジョンスクリプトにおけるSE演奏方法を変更し # 音量調節スクリプトの効果を有効にします。 # # Ver1.01 SE初期化の機構を修正しました。 #============================================================================== class Game_Player #-------------------------------------------------------------------------- # ● 移動時のSEを慣らします。 # MOVE_SE_ENABLEDフラグが false の場合、何もしません。 #-------------------------------------------------------------------------- def play_move_se return unless $dungeon.move_se_enabled if @move_index == 1 if $game_temp.move_se2 == nil $dungeon.move_se2.sub!("Audio/SE/") {|text| ""}if $dungeon.move_se2.include?("Audio/SE/") $game_temp.move_se2 = RPG::SE.new($dungeon.move_se2,$dungeon.move_se2_volume,$dungeon.move_se2_pitch) end $game_temp.move_se2.play @move_index = 0 else if $game_temp.move_se1 == nil $dungeon.move_se1.sub!("Audio/SE/") {|text| ""} if $dungeon.move_se1.include?("Audio/SE/") $game_temp.move_se1 = RPG::SE.new($dungeon.move_se1,$dungeon.move_se1_volume,$dungeon.move_se1_pitch) end $game_temp.move_se1.play @move_index = 1 end end #-------------------------------------------------------------------------- # ● 扉をくぐる音を鳴らします。 #-------------------------------------------------------------------------- def play_gate_se if $game_temp.gate_se == nil $dungeon.gate_se.sub!("Audio/SE/") {|text| ""} if $dungeon.gate_se.include?("Audio/SE/") $game_temp.gate_se = RPG::SE.new($dungeon.gate_se, $dungeon.gate_se_volume, $dungeon.gate_se_pitch) end $game_temp.gate_se.play end #-------------------------------------------------------------------------- # ● 画面を揺らします。 #-------------------------------------------------------------------------- def clash @move_front = false @clash = true if $game_temp.clash_se == nil $dungeon.clash_se.sub!("Audio/SE/") {|text| ""} if $dungeon.clash_se.include?("Audio/SE/") $game_temp.clash_se = RPG::SE.new($dungeon.clash_se, $dungeon.clash_se_volume, $dungeon.clash_se_pitch) end $game_temp.clash_se.play $game_map.screen.start_shake(Saba::Three_D::SHAKE_POWER, Saba::Three_D::SHAKE_SPEED, Saba::Three_D::SHAKE_DURATION) # $game_map.interpreter.wait(Saba::Three_D::SHAKE_DURATION) end end class Game_Temp #-------------------------------------------------------------------------- # ● SEデータを保存します #-------------------------------------------------------------------------- attr_accessor :move_se1 attr_accessor :move_se2 attr_accessor :gate_se attr_accessor :clash_se end class Dungeon_Setting #-------------------------------------------------------------------------- # ● 初期化実行時、変更後のSEデータも初期化します #-------------------------------------------------------------------------- alias clear_move_se1_star clear_move_se1 def clear_move_se1 clear_move_se1_star $game_temp.move_se1 = nil end alias clear_move_se2_star clear_move_se2 def clear_move_se2 clear_move_se2_star $game_temp.move_se2 = nil end alias clear_clash_se_star clear_clash_se def clear_clash_se clear_clash_se_star $game_temp.clash_se = nil end alias clear_gate_se_star clear_gate_se def clear_gate_se clear_gate_se_star $game_temp.gate_se = nil end #-------------------------------------------------------------------------- # ● 各種SEデータ変更時、変更後のSEデータを一旦初期化します #-------------------------------------------------------------------------- def move_se1=(name) @move_se1 = name $game_temp.move_se1 = nil end def move_se1_volume=(volume) @move_se1_volume = volume $game_temp.move_se1 = nil end def move_se1_pitch=(pitch) @move_se1_pitch = pitch $game_temp.move_se1 = nil end def move_se2=(name) @move_se2 = name $game_temp.move_se2 = nil end def move_se2_volume=(volume) @move_se2_volume = volume $game_temp.move_se2 = nil end def move_se2_pitch=(pitch) @move_se2_pitch = pitch $game_temp.move_se2 = nil end def gate_se=(name) @gate_se = name $game_temp.gate_se = nil end def gate_se_volume=(volume) @gate_se_volume = volume $game_temp.gate_se = nil end def gate_se_pitch=(pitch) @gate_se_pitch = pitch $game_temp.gate_se = nil end def clash_se=(name) @clash_se = name $game_temp.clash_se = nil end def clash_se_volume=(volume) @clash_se_volume = volume $game_temp.clash_se = nil end def clash_se_pitch=(pitch) @clash_se_pitch = pitch $game_temp.clash_se = nil end end