Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

[RMVX] Battle Music Eliminator

This is a script I made recently for a side project. It's incredibly simple, but I thought I'd post it here, anyway. :P What it does is eliminate the battle music on maps of your choice so that the map background music will continue playing instead.

There are three versions: All Battle Music Eliminator, which completely gets rid of the use of battle music, Battle Music Eliminator, which lets you choose which maps the effect takes place on, and Reverse Battle Music Eliminator, which lets you choose which maps the effect won't take place on (it'll work on all other maps). Instructions in headers. Enjoy!

All Battle Music Eliminator:
Code:
#------------------------------------------------------------------------------

# [VX] All Battle Music Eliminator

#------------------------------------------------------------------------------

# Made by Guardian(1239)

#------------------------------------------------------------------------------

# This is a very simple script edit that makes the map music play through the

# battle on all maps.  It eliminates the use of battle background music on all

# maps, basically.

#------------------------------------------------------------------------------

# Instructions: Paste in a new slot under "Materials".

#------------------------------------------------------------------------------

# Copyright: You may use this script freely.  You may distribute this script as

# long as credit is given to Guardian(1239).  You may edit this script as you

# wish.  You may distribute an edit of this script as long as credit for the

# original is given to Guardian(1239).

#------------------------------------------------------------------------------

 

#==============================================================================

# ** Scene_Map

#------------------------------------------------------------------------------

#  This class performs the map screen processing.

#==============================================================================

 

class Scene_Map < Scene_Base

  #--------------------------------------------------------------------------

  # * Switch to Battle Screen

  #--------------------------------------------------------------------------

  def 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

    #RPG::BGM.stop

    #RPG::BGS.stop

    Sound.play_battle_start

    #$game_system.battle_bgm.play

    $game_temp.next_scene = nil

    $scene = Scene_Battle.new

  end

end

 

#==============================================================================

# ** Scene_Battle

#------------------------------------------------------------------------------

#  This class performs battle screen processing.

#==============================================================================

 

class Scene_Battle < Scene_Base

  #--------------------------------------------------------------------------

  # * End Battle

  #     result : Results (0: win, 1: escape, 2:lose)

  #--------------------------------------------------------------------------

  def battle_end(result)

    if result == 2 and not $game_troop.can_lose

      call_gameover

    else

      $game_party.clear_actions

      $game_party.remove_states_battle

      $game_troop.clear

      if $game_temp.battle_proc != nil

        $game_temp.battle_proc.call(result)

        $game_temp.battle_proc = nil

      end

      unless $BTEST

        #$game_temp.map_bgm.play

        #$game_temp.map_bgs.play

      end

      $scene = Scene_Map.new

      @message_window.clear

      Graphics.fadeout(30)

    end

    $game_temp.in_battle = false

  end

  

  #--------------------------------------------------------------------------

  # * Victory Processing

  #--------------------------------------------------------------------------

  def process_victory

    @info_viewport.visible = false

    @message_window.visible = true

    #RPG::BGM.stop

    #~~ If you want to keep end battle music, remove the comment from the

    #~~ line below.

    #$game_system.battle_end_me.play

    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

Battle Music Eliminator:
Code:
#------------------------------------------------------------------------------

# [VX] Battle Music Eliminator

#------------------------------------------------------------------------------

# Made by Guardian(1239)

#------------------------------------------------------------------------------

# This is a very simple script edit that makes the map music play through the

# battle on specified maps.  It eliminates the use of battle background music

# on the specified maps, basically.

#------------------------------------------------------------------------------

# Instructions: Paste in a new slot under "Materials".  Edit the values for

# "Maps" to match the ID(s) of the map(s) you want to eliminate battle music

# on.

#------------------------------------------------------------------------------

# Copyright: You may use this script freely.  You may distribute this script as

# long as credit is given to Guardian(1239).  You may edit this script as you

# wish.  You may distribute an edit of this script as long as credit for the

# original is given to Guardian(1239).

#------------------------------------------------------------------------------

 

module NO_BATTLE_BGM

  # Edit these values to match the ID(s) of the map(s) you wish to eliminate

  # battle music on.

  Maps = [1]

end

 

#==============================================================================

# ** Scene_Map

#------------------------------------------------------------------------------

#  This class performs the map screen processing.

#==============================================================================

 

class Scene_Map < Scene_Base

  include NO_BATTLE_BGM

  #--------------------------------------------------------------------------

  # * Switch to Battle Screen

  #--------------------------------------------------------------------------

  def call_battle

    @spriteset.update

    Graphics.update

    $game_player.make_encounter_count

    $game_player.straighten

    if Maps.include?($game_map.map_id)

      #$game_temp.map_bgm = RPG::BGM.last

      #$game_temp.map_bgs = RPG::BGS.last

      #RPG::BGM.stop

      #RPG::BGS.stop

      Sound.play_battle_start

      #$game_system.battle_bgm.play

      $game_temp.next_scene = nil

      $scene = Scene_Battle.new

    else

      $game_temp.map_bgm = RPG::BGM.last

      $game_temp.map_bgs = RPG::BGS.last

      RPG::BGM.stop

      RPG::BGS.stop

      Sound.play_battle_start

      $game_system.battle_bgm.play

      $game_temp.next_scene = nil

      $scene = Scene_Battle.new

    end

  end

end

 

#==============================================================================

# ** Scene_Battle

#------------------------------------------------------------------------------

#  This class performs battle screen processing.

#==============================================================================

 

class Scene_Battle < Scene_Base

  include NO_BATTLE_BGM

  #--------------------------------------------------------------------------

  # * End Battle

  #     result : Results (0: win, 1: escape, 2:lose)

  #--------------------------------------------------------------------------

  def battle_end(result)

    if result == 2 and not $game_troop.can_lose

      call_gameover

    else

      $game_party.clear_actions

      $game_party.remove_states_battle

      $game_troop.clear

      if $game_temp.battle_proc != nil

        $game_temp.battle_proc.call(result)

        $game_temp.battle_proc = nil

      end

      if Maps.include?($game_map.map_id)

        unless $BTEST

          #$game_temp.map_bgm.play

          #$game_temp.map_bgs.play

        end

      else

        unless $BTEST

          $game_temp.map_bgm.play

          $game_temp.map_bgs.play

        end

      end

      $scene = Scene_Map.new

      @message_window.clear

      Graphics.fadeout(30)

    end

    $game_temp.in_battle = false

  end

  

  #--------------------------------------------------------------------------

  # * Victory Processing

  #--------------------------------------------------------------------------

  def process_victory

    @info_viewport.visible = false

    @message_window.visible = true

    if Maps.include?($game_map.map_id)

      #RPG::BGM.stop

      #~~ If you want to keep end battle music, remove the comment from the

      #~~ line below.

      #$game_system.battle_end_me.play

      unless $BTEST

        #$game_temp.map_bgm.play

        #$game_temp.map_bgs.play

      end

    else

      RPG::BGM.stop

      $game_system.battle_end_me.play

      unless $BTEST

        $game_temp.map_bgm.play

        $game_temp.map_bgs.play

      end

    end

    display_exp_and_gold

    display_drop_items

    display_level_up

    battle_end(0)

  end

end

Reverse Battle Music Eliminator:
Code:
#------------------------------------------------------------------------------

# [VX] Reverse Battle Music Eliminator

#------------------------------------------------------------------------------

# Made by Guardian(1239)

#------------------------------------------------------------------------------

# This is a very simple script edit that makes the map music play through the

# battle on all but specified maps.  It eliminates the use of battle background

# music on all but the specified maps, basically.

#------------------------------------------------------------------------------

# Instructions: Paste in a new slot under "Materials".  Edit the values for

# "Maps" to match the ID(s) of the map(s) you don't want to eliminate battle 

# music on.

#------------------------------------------------------------------------------

# Copyright: You may use this script freely.  You may distribute this script as

# long as credit is given to Guardian(1239).  You may edit this script as you

# wish.  You may distribute an edit of this script as long as credit for the

# original is given to Guardian(1239).

#------------------------------------------------------------------------------

 

module INCLUDE_BATTLE_BGM

  # Edit these values to match the ID(s) of the map(s) you don't

  # wish to eliminate battle music on.

  Maps = [1]

end

 

#==============================================================================

# ** Scene_Map

#------------------------------------------------------------------------------

#  This class performs the map screen processing.

#==============================================================================

 

class Scene_Map < Scene_Base

  include INCLUDE_BATTLE_BGM

  #--------------------------------------------------------------------------

  # * Switch to Battle Screen

  #--------------------------------------------------------------------------

  def call_battle

    @spriteset.update

    Graphics.update

    $game_player.make_encounter_count

    $game_player.straighten

    if Maps.include?($game_map.map_id)

      $game_temp.map_bgm = RPG::BGM.last

      $game_temp.map_bgs = RPG::BGS.last

      RPG::BGM.stop

      RPG::BGS.stop

      Sound.play_battle_start

      $game_system.battle_bgm.play

      $game_temp.next_scene = nil

      $scene = Scene_Battle.new

    else

      #$game_temp.map_bgm = RPG::BGM.last

      #$game_temp.map_bgs = RPG::BGS.last

      #RPG::BGM.stop

      #RPG::BGS.stop

      Sound.play_battle_start

      #$game_system.battle_bgm.play

      $game_temp.next_scene = nil

      $scene = Scene_Battle.new

    end

  end

end

 

#==============================================================================

# ** Scene_Battle

#------------------------------------------------------------------------------

#  This class performs battle screen processing.

#==============================================================================

 

class Scene_Battle < Scene_Base

  include INCLUDE_BATTLE_BGM

  #--------------------------------------------------------------------------

  # * End Battle

  #     result : Results (0: win, 1: escape, 2:lose)

  #--------------------------------------------------------------------------

  def battle_end(result)

    if result == 2 and not $game_troop.can_lose

      call_gameover

    else

      $game_party.clear_actions

      $game_party.remove_states_battle

      $game_troop.clear

      if $game_temp.battle_proc != nil

        $game_temp.battle_proc.call(result)

        $game_temp.battle_proc = nil

      end

      if Maps.include?($game_map.map_id)

        unless $BTEST

          $game_temp.map_bgm.play

          $game_temp.map_bgs.play

        end

      else

        unless $BTEST

          #$game_temp.map_bgm.play

          #$game_temp.map_bgs.play

        end

      end

      $scene = Scene_Map.new

      @message_window.clear

      Graphics.fadeout(30)

    end

    $game_temp.in_battle = false

  end

  

  #--------------------------------------------------------------------------

  # * Victory Processing

  #--------------------------------------------------------------------------

  def process_victory

    @info_viewport.visible = false

    @message_window.visible = true

    if Maps.include?($game_map.map_id)

      RPG::BGM.stop

      $game_system.battle_end_me.play

      unless $BTEST

        $game_temp.map_bgm.play

        $game_temp.map_bgs.play

      end

    else

      #RPG::BGM.stop

      #~~ If you want to keep end battle music, remove the comment from the

      #~~ line below.

      #$game_system.battle_end_me.play

      unless $BTEST

        #$game_temp.map_bgm.play

        #$game_temp.map_bgs.play

      end

    end

    display_exp_and_gold

    display_drop_items

    display_level_up

    battle_end(0)

  end

end


Questions and Answers
Q: Can you make this for XP?
A: No. Sorry, but it would be a completely different script and I only made this one because I needed it.

Q: It's not working/there's an error!
A: Write down what error (if you're getting an error) you're shown and post it. This edits a couple of classes that could be used in other scripts (especially battle system scripts), so there's probably a compatibility problem. If you think there's a compatibility error, you'll need to contact the maker of your other script(s). I'm presenting this "as-is", which basically means I'll fix problems with this script but I'm not going to spend my time making it compatible with other scripts.

Q: Can you do such-and-such/make a similar script?
Probably not. I'm pretty new to scripting, but you can post your suggestion and I'll let you know what I'm capable of (or maybe someone else can help if they see the suggestion).
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top