- 0
Problems with MicKO's edit of Paradog's Battle BGM Anti-Reset.
Asked by
Simon Greedwell
-
Recently Browsing 0 members
No registered users viewing this page.
Asked by
Simon Greedwell
No registered users viewing this page.
This version of Paradog's Battle BGM Anti-Reset was edited to play the battle theme as a ME. This way, the map music won't reset after the battle is finished. It works as intended, but there's a problem if you escape from the fight: the battle theme will continue to play until it finishes. Is there a way to fix this?There's the script:#==============================================================================#????Battle BGM Anti-Reset ver. 1.00???#??Script by ParaDog#??http://2d6.parasite.jp/#------------------------------------------------------------------------------# Prevents the music from starting over when entering combat if both the field# map's and battlesystem's BMG are the same. Likewise, the music will not re-# set upon escaping combat, or after victory if the 'battle end ME' has been# turned off (set to 'None).#------------------------------------------------------------------------------# For best results of this system, please set the 'Battle End ME' to ("None)"# in either the SYSTEM section or through an event command.#==============================================================================#==============================================================================# ** Scene_Map#------------------------------------------------------------------------------# This class performs map screen processing.#==============================================================================class Scene_Map #-------------------------------------------------------------------------- # * Battle Call #-------------------------------------------------------------------------- def call_battle # Clear battle calling flag $game_temp.battle_calling = false # Clear menu calling flag $game_temp.menu_calling = false $game_temp.menu_beep = false # Make encounter count $game_player.make_encounter_count # Memorize map BGM and stop BGM $game_temp.map_bgm = $game_system.playing_bgm # Play battle start SE $game_system.se_play($data_system.battle_start_se) # Play battle BGM #If Switch 1 is ON if $game_switches[1] == true # Play same battle BGM as the map BGM $game_system.battle_bgm = $game_temp.map_bgm $game_system.bgm_play($game_system.battle_bgm) #If Switch 2 is ON elsif $game_switches[2] == true # Play the basic battle BGM # ! WILL RESET THE MAP BGM AFTER BATTLE ! # # I use this for bosses, so that the battle BGM can loop. $game_system.bgm_play($game_system.battle_bgm) #Else, if Switch 1 and Switch 2 are OFF elsif $game_switches[1] == false and $game_switches[2] == false #Play battle BGM as ME (won't loop) Audio.me_play("Audio/BGM/" + $game_system.battle_bgm.name, $game_system.battle_bgm.volume, $game_system.battle_bgm.pitch) end # Straighten player position $game_player.straighten # Switch to battle screen $scene = Scene_Battle.new endend#==============================================================================# ** Scene_Battle#------------------------------------------------------------------------------# This class performs battle screen processing.#==============================================================================class Scene_Battle #-------------------------------------------------------------------------- # * Start After Battle Phase #-------------------------------------------------------------------------- def start_phase5 # Shift to phase 5 @phase = 5 if $game_system.battle_end_me.name != "" # Play battle end ME $game_system.me_play($game_system.battle_end_me) end # Return to BGM before battle started $game_system.bgm_play($game_temp.map_bgm) # Initialize EXP, amount of gold, and treasure exp = 0 gold = 0 treasures = [] # Loop for enemy in $game_troop.enemies # If enemy is not hidden unless enemy.hidden # Add EXP and amount of gold obtained exp += enemy.exp gold += enemy.gold # Determine if treasure appears if rand(100) < enemy.treasure_prob if enemy.item_id > 0 treasures.push($data_items[enemy.item_id]) end if enemy.weapon_id > 0 treasures.push($data_weapons[enemy.weapon_id]) end if enemy.armor_id > 0 treasures.push($data_armors[enemy.armor_id]) end end end end # Treasure is limited to a maximum of 6 items treasures = treasures[0..5] # Obtaining EXP for i in 0...$game_party.actors.size actor = $game_party.actors[i] if actor.cant_get_exp? == false last_level = actor.level actor.exp += exp if actor.level > last_level @status_window.level_up(i) end end end # Obtaining gold $game_party.gain_gold(gold) # Obtaining treasure for item in treasures case item when RPG::Item $game_party.gain_item(item.id, 1) when RPG::Weapon $game_party.gain_weapon(item.id, 1) when RPG::Armor $game_party.gain_armor(item.id, 1) end end # Make battle result window @result_window = Window_BattleResult.new(exp, gold, treasures) if $game_system.battle_end_me.name != "" # Set wait count @phase5_wait_count = 100 else # Set wait count @phase5_wait_count = 20 end endendShare this post
Link to post
Share on other sites