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.

[VX] Adjustable Audio Version 1.1

It would help to know when it is you're opening the options menu.

As a temporary fix, this is Akin's original script with the change to not open the menu when you exit. Instead, it goes back to the map.

Code:
####################################################
# Custom Options Menu                              #
####################################################
#     by Akin                                      #
#       credit to 'L' who's custom menu helped     #
#       me figure out what to do                   #
####################################################
#   This script calls an audio options menu.       #
#                                                  #
#  Call using "$scene = Scene_Options.new"         #
#                                                  #
####################################################

module OptionCommand
	#Main Option Commands
	Audio			    = 'Audio'
	Controls		  = 'Controls'
	Exit_Options	= 'Back'
  #Audio Option commands
  Audiobgm      = 'Music Volume'
  Audiobgs      = 'Background Effects Volume'
  Audiome       = 'Musical Effects Volume'
  Audiose       = 'Sound Effects volume'
  #BGM Options
  Audiobgm0    = '0'
  Audiobgm1    = '1'
  Audiobgm2    = '2'
  Audiobgm3    = '3'
  Audiobgm4    = '4'
  Audiobgm5    = '5'
  Audiobgm6    = '6'
  Audiobgm7    = '7'
  Audiobgm8    = '8'
  Audiobgm9    = '9'
  Audiobgm10   = '10'
  #BGS Options
  Audiobgs0    = '0'
  Audiobgs1    = '1'
  Audiobgs2    = '2'
  Audiobgs3    = '3'
  Audiobgs4    = '4'
  Audiobgs5    = '5'
  Audiobgs6    = '6'
  Audiobgs7    = '7'
  Audiobgs8    = '8'
  Audiobgs9    = '9'
  Audiobgs10   = '10'
  #SE Options
  Audiose0    = '0'
  Audiose1    = '1'
  Audiose2    = '2'
  Audiose3    = '3'
  Audiose4    = '4'
  Audiose5    = '5'
  Audiose6    = '6'
  Audiose7    = '7'
  Audiose8    = '8'
  Audiose9    = '9'
  Audiose10   = '10'
  #ME Options
  Audiome0    = '0'
  Audiome1    = '1'
  Audiome2    = '2'
  Audiome3    = '3'
  Audiome4    = '4'
  Audiome5    = '5'
  Audiome6    = '6'
  Audiome7    = '7'
  Audiome8    = '8'
  Audiome9    = '9'
  Audiome10   = '10'
end

#==============================================================================
# ** Scene_Options
#------------------------------------------------------------------------------
#  This class performs the Options screen processing.
#==============================================================================

class Scene_Options < Scene_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     menu_index : command cursor's initial position
  #--------------------------------------------------------------------------
  def initialize(options_index = 0)
    @options_index = options_index
    options_init
  end
  #--------------------------------------------------------------------------
  # * Set Commands
  #--------------------------------------------------------------------------
  def options_init
    @options = []
    op1 = OptionCommand::Audio
    op2 = OptionCommand::Controls
    op3 = OptionCommand::Exit_Options
    @options.push(op1, op2, op3).flatten!
    
    @audio_options = []
	  aud1 = OptionCommand::Audiobgm
	  aud2 = OptionCommand::Audiobgs
	  aud3 = OptionCommand::Audiome
	  aud4 = OptionCommand::Audiose
    @audio_options.push(aud1, aud2, aud3, aud4).flatten!
    
      @bgm_options = []
      bgm0  = OptionCommand::Audiobgm0
      bgm1  = OptionCommand::Audiobgm1
      bgm2  = OptionCommand::Audiobgm2
      bgm3  = OptionCommand::Audiobgm3
      bgm4  = OptionCommand::Audiobgm4
      bgm5  = OptionCommand::Audiobgm5
      bgm6  = OptionCommand::Audiobgm6
      bgm7  = OptionCommand::Audiobgm7
      bgm8  = OptionCommand::Audiobgm8
      bgm9  = OptionCommand::Audiobgm9
      bgm10 = OptionCommand::Audiobgm10
      @bgm_options.push(bgm0, bgm1, bgm2, bgm3, bgm4, bgm5, bgm6, bgm7, bgm8, bgm9, bgm10).flatten!
      
      @bgs_options = []
      bgs0  = OptionCommand::Audiobgs0
      bgs1  = OptionCommand::Audiobgs1
      bgs2  = OptionCommand::Audiobgs2
      bgs3  = OptionCommand::Audiobgs3
      bgs4  = OptionCommand::Audiobgs4
      bgs5  = OptionCommand::Audiobgs5
      bgs6  = OptionCommand::Audiobgs6
      bgs7  = OptionCommand::Audiobgs7
      bgs8  = OptionCommand::Audiobgs8
      bgs9  = OptionCommand::Audiobgs9
      bgs10 = OptionCommand::Audiobgs10
      @bgs_options.push(bgs0, bgs1, bgs2, bgs3, bgs4, bgs5, bgs6, bgs7, bgs8, bgs9, bgs10).flatten!
      
      @se_options = []
      se0  = OptionCommand::Audiose0
      se1  = OptionCommand::Audiose1
      se2  = OptionCommand::Audiose2
      se3  = OptionCommand::Audiose3
      se4  = OptionCommand::Audiose4
      se5  = OptionCommand::Audiose5
      se6  = OptionCommand::Audiose6
      se7  = OptionCommand::Audiose7
      se8  = OptionCommand::Audiose8
      se9  = OptionCommand::Audiose9
      se10 = OptionCommand::Audiose10
      @se_options.push(se0, se1, se2, se3, se4, se5, se6, se7, se8, se9, se10).flatten!
      
      @me_options = []
      me0  = OptionCommand::Audiome0
      me1  = OptionCommand::Audiome1
      me2  = OptionCommand::Audiome2
      me3  = OptionCommand::Audiome3
      me4  = OptionCommand::Audiome4
      me5  = OptionCommand::Audiome5
      me6  = OptionCommand::Audiome6
      me7  = OptionCommand::Audiome7
      me8  = OptionCommand::Audiome8
      me9  = OptionCommand::Audiome9
      me10 = OptionCommand::Audiome10
      @me_options.push(me0, me1, me2, me3, me4, me5, me6, me7, me8, me9, me10).flatten!
  end
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    create_options_window
    create_audio_window
    create_bgm_window
    create_bgs_window
    create_se_window
    create_me_window
    create_controls_window
    @help_window = Window_Help.new
    @help_window.viewport = @viewport
	  @help_window.set_text("Options")
  end
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @options_window.dispose
    @audio_options_window.dispose
      @bgm_options_window.dispose
      @bgs_options_window.dispose
      @se_options_window.dispose
      @me_options_window.dispose
    @controls_window.dispose
	  @help_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    update_menu_background
    @options_window.update
    @audio_options_window.update
      @bgm_options_window.update
      @bgs_options_window.update
      @se_options_window.update
      @me_options_window.update
    @controls_window.update
	  @help_window.update
    if @options_window.active
      update_options_selection
    elsif @audio_options_window.active
      update_audio_options_selection
    elsif @bgm_options_window.active
      update_bgm_options_selection
    elsif @bgs_options_window.active
      update_bgs_options_selection
    elsif @se_options_window.active
      update_se_options_selection
    elsif @me_options_window.active
      update_me_options_selection
    elsif @controls_window.active
      update_controls_selection
    end
  end
  #--------------------------------------------------------------------------
  # * Create Main Option Selection
  #--------------------------------------------------------------------------
  def create_options_window
    @options_window = Window_Command.new(160, @options)
    @options_window.index = @options_index
	  @options_window.y = 56
  end
  #--------------------------------------------------------------------------
  # * Create Audio Options Window
  #--------------------------------------------------------------------------
  def create_audio_window
    @audio_options_window = Window_Command.new(277, @audio_options)
    @audio_options_window.visible = false
    @audio_options_window.active = false
    @audio_options_window.x = 160
    @audio_options_window.y = 56
  end
  #--------------------------------------------------------------------------
  # * Create Audio-BGM Options Window
  #--------------------------------------------------------------------------
  def create_bgm_window
    @bgm_options_window = Window_Command.new(62, @bgm_options)
    @bgm_options_window.visible = false
    @bgm_options_window.active = false
    @bgm_options_window.x = 437
    @bgm_options_window.y = 56
  end
  #--------------------------------------------------------------------------
  # * Create Audio-BGS Options Window
  #--------------------------------------------------------------------------
  def create_bgs_window
    @bgs_options_window = Window_Command.new(62, @bgs_options)
    @bgs_options_window.visible = false
    @bgs_options_window.active = false
    @bgs_options_window.x = 437
    @bgs_options_window.y = 56
  end
  #--------------------------------------------------------------------------
  # * Create Audio-SE Options Window
  #--------------------------------------------------------------------------
  def create_se_window
    @se_options_window = Window_Command.new(62, @se_options)
    @se_options_window.visible = false
    @se_options_window.active = false
    @se_options_window.x = 437
    @se_options_window.y = 56
  end
  #--------------------------------------------------------------------------
  # * Create Audio-ME Options Window
  #--------------------------------------------------------------------------
  def create_me_window
    @me_options_window = Window_Command.new(62, @me_options)
    @me_options_window.visible = false
    @me_options_window.active = false
    @me_options_window.x = 437
    @me_options_window.y = 56
  end
  #--------------------------------------------------------------------------
  # * Create Controls Options Window
  #--------------------------------------------------------------------------
  def create_controls_window
    @controls_window = Window_Base.new(161, 57, 292, 300)
    @controls_window.contents.draw_text(0, -2, 100, 24, "Controls")
    @controls_window.contents.draw_text(0, 24, 300, 24, "To Access the system controls")
    @controls_window.contents.draw_text(0, 48, 300, 24, "Press F1 at any time")
    @controls_window.contents.draw_text(40, 96, 300, 24, "A")
    @controls_window.contents.draw_text(40, 120, 300, 24, "B")
    @controls_window.contents.draw_text(40, 144, 300, 24, "C")
    @controls_window.contents.draw_text(40, 168, 300, 24, "L")
    @controls_window.contents.draw_text(40, 192, 300, 24, "R")
    @controls_window.contents.draw_text(40, 216, 300, 24, "X")
    @controls_window.contents.draw_text(40, 240, 300, 24, "Y")
    @controls_window.contents.draw_text(60, 96, 300, 24, "::  Dash")
    @controls_window.contents.draw_text(60, 120, 300, 24, "::  Cancel/Menu")
    @controls_window.contents.draw_text(60, 144, 300, 24, "::  Confirm/Talk")
    @controls_window.contents.draw_text(60, 168, 300, 24, "::  Menu Previous")
    @controls_window.contents.draw_text(60, 192, 300, 24, "::  Menu Next")
    @controls_window.contents.draw_text(60, 216, 300, 24, "::  Not Used")
    @controls_window.contents.draw_text(60, 240, 300, 24, "::  Not Used")
    @controls_window.visible = false
    @controls_window.active = false
  end
  #--------------------------------------------------------------------------
  # * Return to Original Screen
  #--------------------------------------------------------------------------
  def return_scene
    $scene = Scene_Map.new
  end
  #--------------------------------------------------------------------------
  # * Update Options Selection
  #--------------------------------------------------------------------------
  def update_options_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      return_scene
    elsif Input.trigger?(Input::C)
      main_options_input
    end
  end
  #--------------------------------------------------------------------------
  # * Update Audio Options Selection
  #--------------------------------------------------------------------------
  def update_audio_options_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @options_window.active = true
      @audio_options_window.active = false
      @audio_options_window.visible = false
      @audio_options_window.index = 0
      return
    elsif Input.trigger?(Input::C)
      audio_options_input
    end
  end
  #--------------------------------------------------------------------------
  # * Update Audio-BGM Options Selection
  #--------------------------------------------------------------------------
  def update_bgm_options_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @audio_options_window.active = true
      @bgm_options_window.active = false
      @bgm_options_window.visible = false
      @bgm_options_window.index = 0
      return
    elsif Input.trigger?(Input::C)
      bgm_options_input
    end
  end
  #--------------------------------------------------------------------------
  # * Update Audio-BGS Options Selection
  #--------------------------------------------------------------------------
  def update_bgs_options_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @audio_options_window.active = true
      @bgs_options_window.active = false
      @bgs_options_window.visible = false
      @bgs_options_window.index = 0
      return
    elsif Input.trigger?(Input::C)
      bgs_options_input
    end
  end
  #--------------------------------------------------------------------------
  # * Update Audio-SE Options Selection
  #--------------------------------------------------------------------------
  def update_se_options_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @audio_options_window.active = true
      @se_options_window.active = false
      @se_options_window.visible = false
      @se_options_window.index = 0
      return
    elsif Input.trigger?(Input::C)
      se_options_input
    end
  end
  #--------------------------------------------------------------------------
  # * Update Audio-ME Options Selection
  #--------------------------------------------------------------------------
  def update_me_options_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @audio_options_window.active = true
      @me_options_window.active = false
      @me_options_window.visible = false
      @me_options_window.index = 0
      return
    elsif Input.trigger?(Input::C)
      me_options_input
    end
  end
  #--------------------------------------------------------------------------
  # * Update Controls Selection
  #--------------------------------------------------------------------------
  def update_controls_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @options_window.active = true
      @controls_window.active = false
      @controls_window.visible = false
    end
  end
  #--------------------------------------------------------------------------
  # * Update Main Options InputCheck
  #--------------------------------------------------------------------------
  def main_options_input
    option = @options[@options_window.index]
    Sound.play_decision
    # Checks Options Commands
    case option
    when OptionCommand::Audio  #calls Audio options subwindow
      @audio_options_window.active = true
      @audio_options_window.visible = true
      @options_window.active = false
    when OptionCommand::Controls #Controls
      @controls_window.active = true
      @controls_window.visible = true
      @options_window.active = false 
	  when OptionCommand::Exit_Options #Return to Main Menu
      return_scene
    end
  end
  #--------------------------------------------------------------------------
  # * Update Audio Options InputCheck
  #--------------------------------------------------------------------------
  def audio_options_input
    audio_option = @audio_options[@audio_options_window.index]
    Sound.play_decision
    # Checks Graphics Options Commands
    case audio_option
    when OptionCommand::Audiobgm  #Adjust BGM
      @bgm_options_window.index = Integer($game_system.bgm_volume / 10)
      @bgm_options_window.active = true
      @bgm_options_window.visible = true
      @audio_options_window.active = false
    when OptionCommand::Audiobgs  #Adjust BGS
      @bgs_options_window.index = Integer($game_system.bgs_volume / 10)
      @bgs_options_window.active = true
      @bgs_options_window.visible = true
      @audio_options_window.active = false
	  when OptionCommand::Audiome  #Adjust ME
      @me_options_window.index = Integer($game_system.me_volume / 10)
      @me_options_window.active = true
      @me_options_window.visible = true
      @audio_options_window.active = false
	  when OptionCommand::Audiose  #Adjust SE
      @se_options_window.index = Integer($game_system.se_volume / 10)
      @se_options_window.active = true
      @se_options_window.visible = true
      @audio_options_window.active = false
    end
  end
  #--------------------------------------------------------------------------
  # * Update Audio-BGM Options InputCheck
  #--------------------------------------------------------------------------
  def bgm_options_input
    bgm_option = @bgm_options[@bgm_options_window.index]
    Sound.play_decision
    # Checks BGM Options Commands
    case bgm_option
    when OptionCommand::Audiobgm0  #BGM Volume 0%
      $game_system.bgm_volume = 0
      Audio.play_adjust(RPG::BGM.last, $game_system.bgm_volume)
    when OptionCommand::Audiobgm1  #BGM Volume 10%
      $game_system.bgm_volume = 10
      Audio.play_adjust(RPG::BGM.last, $game_system.bgm_volume)
    when OptionCommand::Audiobgm2  #BGM Volume 20%
      $game_system.bgm_volume = 20
      Audio.play_adjust(RPG::BGM.last, $game_system.bgm_volume)
    when OptionCommand::Audiobgm3  #BGM Volume 30%
      $game_system.bgm_volume = 30
      Audio.play_adjust(RPG::BGM.last, $game_system.bgm_volume)
    when OptionCommand::Audiobgm4  #BGM Volume 40%
      $game_system.bgm_volume = 40
      Audio.play_adjust(RPG::BGM.last, $game_system.bgm_volume)
    when OptionCommand::Audiobgm5  #BGM Volume 50%
      $game_system.bgm_volume = 50
      Audio.play_adjust(RPG::BGM.last, $game_system.bgm_volume)
    when OptionCommand::Audiobgm6  #BGM Volume 60%
      $game_system.bgm_volume = 60
      Audio.play_adjust(RPG::BGM.last, $game_system.bgm_volume)
    when OptionCommand::Audiobgm7  #BGM Volume 70%
      $game_system.bgm_volume = 70
      Audio.play_adjust(RPG::BGM.last, $game_system.bgm_volume)
    when OptionCommand::Audiobgm8  #BGM Volume 80%
      $game_system.bgm_volume = 80
      Audio.play_adjust(RPG::BGM.last, $game_system.bgm_volume)
    when OptionCommand::Audiobgm9  #BGM Volume 90%
      $game_system.bgm_volume = 90
      Audio.play_adjust(RPG::BGM.last, $game_system.bgm_volume)
    when OptionCommand::Audiobgm10  #BGM Volume 100%
      $game_system.bgm_volume = 100
      Audio.play_adjust(RPG::BGM.last, $game_system.bgm_volume)
    end
  end
  #--------------------------------------------------------------------------
  # * Update Audio-BGS Options InputCheck
  #--------------------------------------------------------------------------
  def bgs_options_input
    bgs_option = @bgs_options[@bgs_options_window.index]
    Sound.play_decision
    # Checks BGM Options Commands
    case bgs_option
    when OptionCommand::Audiobgs0  #BGS Volume 0%
      $game_system.bgs_volume = 0
      Audio.play_adjust(RPG::BGS.last, $game_system.bgs_volume)
    when OptionCommand::Audiobgs1  #BGS Volume 10%
      $game_system.bgs_volume = 10
      Audio.play_adjust(RPG::BGS.last, $game_system.bgs_volume)
    when OptionCommand::Audiobgs2  #BGS Volume 20%
      $game_system.bgs_volume = 20
      Audio.play_adjust(RPG::BGS.last, $game_system.bgs_volume)
    when OptionCommand::Audiobgs3  #BGS Volume 30%
      $game_system.bgs_volume = 30
      Audio.play_adjust(RPG::BGS.last, $game_system.bgs_volume)
    when OptionCommand::Audiobgs4  #BGS Volume 40%
      $game_system.bgs_volume = 40
      Audio.play_adjust(RPG::BGS.last, $game_system.bgs_volume)
    when OptionCommand::Audiobgs5  #BGS Volume 50%
      $game_system.bgs_volume = 50
      Audio.play_adjust(RPG::BGS.last, $game_system.bgs_volume)
    when OptionCommand::Audiobgs6  #BGS Volume 60%
      $game_system.bgs_volume = 60
      Audio.play_adjust(RPG::BGS.last, $game_system.bgs_volume)
    when OptionCommand::Audiobgs7  #BGS Volume 70%
      $game_system.bgs_volume = 70
      Audio.play_adjust(RPG::BGS.last, $game_system.bgs_volume)
    when OptionCommand::Audiobgs8  #BGS Volume 80%
      $game_system.bgs_volume = 80
      Audio.play_adjust(RPG::BGS.last, $game_system.bgs_volume)
    when OptionCommand::Audiobgs9  #BGS Volume 90%
      $game_system.bgs_volume = 90
      Audio.play_adjust(RPG::BGS.last, $game_system.bgs_volume)
    when OptionCommand::Audiobgs10  #BGS Volume 100%
      $game_system.bgs_volume = 100
      Audio.play_adjust(RPG::BGS.last, $game_system.bgs_volume)
    end
  end
  #--------------------------------------------------------------------------
  # * Update Audio-SE Options InputCheck
  #--------------------------------------------------------------------------
  def se_options_input
    se_option = @se_options[@se_options_window.index]
    Sound.play_decision
    # Checks BGM Options Commands
    case se_option
    when OptionCommand::Audiose0  #SE Volume 0%
      $game_system.se_volume = 0
    when OptionCommand::Audiose1  #SE Volume 10%
      $game_system.se_volume = 10
    when OptionCommand::Audiose2  #SE Volume 20%
      $game_system.se_volume = 20
    when OptionCommand::Audiose3  #SE Volume 30%
      $game_system.se_volume = 30
    when OptionCommand::Audiose4  #SE Volume 40%
      $game_system.se_volume = 40
    when OptionCommand::Audiose5  #SE Volume 50%
      $game_system.se_volume = 50
    when OptionCommand::Audiose6  #SE Volume 60%
      $game_system.se_volume = 60
    when OptionCommand::Audiose7  #SE Volume 70%
      $game_system.se_volume = 70
    when OptionCommand::Audiose8  #SE Volume 80%
      $game_system.se_volume = 80
    when OptionCommand::Audiose9  #SE Volume 90%
      $game_system.se_volume = 90
    when OptionCommand::Audiose10  #SE Volume 100%
      $game_system.se_volume = 100
    end
  end
  #--------------------------------------------------------------------------
  # * Update Audio-ME Options InputCheck
  #--------------------------------------------------------------------------
  def me_options_input
    me_option = @me_options[@me_options_window.index]
    Sound.play_decision
    # Checks BGM Options Commands
    case me_option
    when OptionCommand::Audiome0  #ME Volume 0%
      $game_system.me_volume = 0
    when OptionCommand::Audiome1  #ME Volume 10%
      $game_system.me_volume = 10
    when OptionCommand::Audiome2  #ME Volume 20%
      $game_system.me_volume = 20
    when OptionCommand::Audiome3  #ME Volume 30%
      $game_system.me_volume = 30
    when OptionCommand::Audiome4  #ME Volume 40%
      $game_system.me_volume = 40
    when OptionCommand::Audiome5  #ME Volume 50%
      $game_system.me_volume = 50
    when OptionCommand::Audiome6  #ME Volume 60%
      $game_system.me_volume = 60
    when OptionCommand::Audiome7  #ME Volume 70%
      $game_system.me_volume = 70
    when OptionCommand::Audiome8  #ME Volume 80%
      $game_system.me_volume = 80
    when OptionCommand::Audiome9  #ME Volume 90%
      $game_system.me_volume = 90
    when OptionCommand::Audiome10  #ME Volume 100%
      $game_system.me_volume = 100
    end
  end
  #--------------------------------------------------------------------------
  # * Update Help Text
  #--------------------------------------------------------------------------
	def update_help
		@help_window.set_text("Options")
	end
end
 

yion

Member

psiclone":g3bext1z said:
It would help to know when it is you're opening the options menu.

As a temporary fix, this is Akin's original script with the change to not open the menu when you exit. Instead, it goes back to the map.

Code:
####################################################
# Custom Options Menu                              #
####################################################
#     by Akin                                      #
#       credit to 'L' who's custom menu helped     #
#       me figure out what to do                   #
####################################################
#   This script calls an audio options menu.       #
#                                                  #
#  Call using "$scene = Scene_Options.new"         #
#                                                  #
####################################################

module OptionCommand
	#Main Option Commands
	Audio			    = 'Audio'
	Controls		  = 'Controls'
	Exit_Options	= 'Back'
  #Audio Option commands
  Audiobgm      = 'Music Volume'
  Audiobgs      = 'Background Effects Volume'
  Audiome       = 'Musical Effects Volume'
  Audiose       = 'Sound Effects volume'
  #BGM Options
  Audiobgm0    = '0'
  Audiobgm1    = '1'
  Audiobgm2    = '2'
  Audiobgm3    = '3'
  Audiobgm4    = '4'
  Audiobgm5    = '5'
  Audiobgm6    = '6'
  Audiobgm7    = '7'
  Audiobgm8    = '8'
  Audiobgm9    = '9'
  Audiobgm10   = '10'
  #BGS Options
  Audiobgs0    = '0'
  Audiobgs1    = '1'
  Audiobgs2    = '2'
  Audiobgs3    = '3'
  Audiobgs4    = '4'
  Audiobgs5    = '5'
  Audiobgs6    = '6'
  Audiobgs7    = '7'
  Audiobgs8    = '8'
  Audiobgs9    = '9'
  Audiobgs10   = '10'
  #SE Options
  Audiose0    = '0'
  Audiose1    = '1'
  Audiose2    = '2'
  Audiose3    = '3'
  Audiose4    = '4'
  Audiose5    = '5'
  Audiose6    = '6'
  Audiose7    = '7'
  Audiose8    = '8'
  Audiose9    = '9'
  Audiose10   = '10'
  #ME Options
  Audiome0    = '0'
  Audiome1    = '1'
  Audiome2    = '2'
  Audiome3    = '3'
  Audiome4    = '4'
  Audiome5    = '5'
  Audiome6    = '6'
  Audiome7    = '7'
  Audiome8    = '8'
  Audiome9    = '9'
  Audiome10   = '10'
end

#==============================================================================
# ** Scene_Options
#------------------------------------------------------------------------------
#  This class performs the Options screen processing.
#==============================================================================

class Scene_Options < Scene_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     menu_index : command cursor's initial position
  #--------------------------------------------------------------------------
  def initialize(options_index = 0)
    @options_index = options_index
    options_init
  end
  #--------------------------------------------------------------------------
  # * Set Commands
  #--------------------------------------------------------------------------
  def options_init
    @options = []
    op1 = OptionCommand::Audio
    op2 = OptionCommand::Controls
    op3 = OptionCommand::Exit_Options
    @options.push(op1, op2, op3).flatten!
    
    @audio_options = []
	  aud1 = OptionCommand::Audiobgm
	  aud2 = OptionCommand::Audiobgs
	  aud3 = OptionCommand::Audiome
	  aud4 = OptionCommand::Audiose
    @audio_options.push(aud1, aud2, aud3, aud4).flatten!
    
      @bgm_options = []
      bgm0  = OptionCommand::Audiobgm0
      bgm1  = OptionCommand::Audiobgm1
      bgm2  = OptionCommand::Audiobgm2
      bgm3  = OptionCommand::Audiobgm3
      bgm4  = OptionCommand::Audiobgm4
      bgm5  = OptionCommand::Audiobgm5
      bgm6  = OptionCommand::Audiobgm6
      bgm7  = OptionCommand::Audiobgm7
      bgm8  = OptionCommand::Audiobgm8
      bgm9  = OptionCommand::Audiobgm9
      bgm10 = OptionCommand::Audiobgm10
      @bgm_options.push(bgm0, bgm1, bgm2, bgm3, bgm4, bgm5, bgm6, bgm7, bgm8, bgm9, bgm10).flatten!
      
      @bgs_options = []
      bgs0  = OptionCommand::Audiobgs0
      bgs1  = OptionCommand::Audiobgs1
      bgs2  = OptionCommand::Audiobgs2
      bgs3  = OptionCommand::Audiobgs3
      bgs4  = OptionCommand::Audiobgs4
      bgs5  = OptionCommand::Audiobgs5
      bgs6  = OptionCommand::Audiobgs6
      bgs7  = OptionCommand::Audiobgs7
      bgs8  = OptionCommand::Audiobgs8
      bgs9  = OptionCommand::Audiobgs9
      bgs10 = OptionCommand::Audiobgs10
      @bgs_options.push(bgs0, bgs1, bgs2, bgs3, bgs4, bgs5, bgs6, bgs7, bgs8, bgs9, bgs10).flatten!
      
      @se_options = []
      se0  = OptionCommand::Audiose0
      se1  = OptionCommand::Audiose1
      se2  = OptionCommand::Audiose2
      se3  = OptionCommand::Audiose3
      se4  = OptionCommand::Audiose4
      se5  = OptionCommand::Audiose5
      se6  = OptionCommand::Audiose6
      se7  = OptionCommand::Audiose7
      se8  = OptionCommand::Audiose8
      se9  = OptionCommand::Audiose9
      se10 = OptionCommand::Audiose10
      @se_options.push(se0, se1, se2, se3, se4, se5, se6, se7, se8, se9, se10).flatten!
      
      @me_options = []
      me0  = OptionCommand::Audiome0
      me1  = OptionCommand::Audiome1
      me2  = OptionCommand::Audiome2
      me3  = OptionCommand::Audiome3
      me4  = OptionCommand::Audiome4
      me5  = OptionCommand::Audiome5
      me6  = OptionCommand::Audiome6
      me7  = OptionCommand::Audiome7
      me8  = OptionCommand::Audiome8
      me9  = OptionCommand::Audiome9
      me10 = OptionCommand::Audiome10
      @me_options.push(me0, me1, me2, me3, me4, me5, me6, me7, me8, me9, me10).flatten!
  end
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    create_options_window
    create_audio_window
    create_bgm_window
    create_bgs_window
    create_se_window
    create_me_window
    create_controls_window
    @help_window = Window_Help.new
    @help_window.viewport = @viewport
	  @help_window.set_text("Options")
  end
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  def terminate
    super
    dispose_menu_background
    @options_window.dispose
    @audio_options_window.dispose
      @bgm_options_window.dispose
      @bgs_options_window.dispose
      @se_options_window.dispose
      @me_options_window.dispose
    @controls_window.dispose
	  @help_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    update_menu_background
    @options_window.update
    @audio_options_window.update
      @bgm_options_window.update
      @bgs_options_window.update
      @se_options_window.update
      @me_options_window.update
    @controls_window.update
	  @help_window.update
    if @options_window.active
      update_options_selection
    elsif @audio_options_window.active
      update_audio_options_selection
    elsif @bgm_options_window.active
      update_bgm_options_selection
    elsif @bgs_options_window.active
      update_bgs_options_selection
    elsif @se_options_window.active
      update_se_options_selection
    elsif @me_options_window.active
      update_me_options_selection
    elsif @controls_window.active
      update_controls_selection
    end
  end
  #--------------------------------------------------------------------------
  # * Create Main Option Selection
  #--------------------------------------------------------------------------
  def create_options_window
    @options_window = Window_Command.new(160, @options)
    @options_window.index = @options_index
	  @options_window.y = 56
  end
  #--------------------------------------------------------------------------
  # * Create Audio Options Window
  #--------------------------------------------------------------------------
  def create_audio_window
    @audio_options_window = Window_Command.new(277, @audio_options)
    @audio_options_window.visible = false
    @audio_options_window.active = false
    @audio_options_window.x = 160
    @audio_options_window.y = 56
  end
  #--------------------------------------------------------------------------
  # * Create Audio-BGM Options Window
  #--------------------------------------------------------------------------
  def create_bgm_window
    @bgm_options_window = Window_Command.new(62, @bgm_options)
    @bgm_options_window.visible = false
    @bgm_options_window.active = false
    @bgm_options_window.x = 437
    @bgm_options_window.y = 56
  end
  #--------------------------------------------------------------------------
  # * Create Audio-BGS Options Window
  #--------------------------------------------------------------------------
  def create_bgs_window
    @bgs_options_window = Window_Command.new(62, @bgs_options)
    @bgs_options_window.visible = false
    @bgs_options_window.active = false
    @bgs_options_window.x = 437
    @bgs_options_window.y = 56
  end
  #--------------------------------------------------------------------------
  # * Create Audio-SE Options Window
  #--------------------------------------------------------------------------
  def create_se_window
    @se_options_window = Window_Command.new(62, @se_options)
    @se_options_window.visible = false
    @se_options_window.active = false
    @se_options_window.x = 437
    @se_options_window.y = 56
  end
  #--------------------------------------------------------------------------
  # * Create Audio-ME Options Window
  #--------------------------------------------------------------------------
  def create_me_window
    @me_options_window = Window_Command.new(62, @me_options)
    @me_options_window.visible = false
    @me_options_window.active = false
    @me_options_window.x = 437
    @me_options_window.y = 56
  end
  #--------------------------------------------------------------------------
  # * Create Controls Options Window
  #--------------------------------------------------------------------------
  def create_controls_window
    @controls_window = Window_Base.new(161, 57, 292, 300)
    @controls_window.contents.draw_text(0, -2, 100, 24, "Controls")
    @controls_window.contents.draw_text(0, 24, 300, 24, "To Access the system controls")
    @controls_window.contents.draw_text(0, 48, 300, 24, "Press F1 at any time")
    @controls_window.contents.draw_text(40, 96, 300, 24, "A")
    @controls_window.contents.draw_text(40, 120, 300, 24, "B")
    @controls_window.contents.draw_text(40, 144, 300, 24, "C")
    @controls_window.contents.draw_text(40, 168, 300, 24, "L")
    @controls_window.contents.draw_text(40, 192, 300, 24, "R")
    @controls_window.contents.draw_text(40, 216, 300, 24, "X")
    @controls_window.contents.draw_text(40, 240, 300, 24, "Y")
    @controls_window.contents.draw_text(60, 96, 300, 24, "::  Dash")
    @controls_window.contents.draw_text(60, 120, 300, 24, "::  Cancel/Menu")
    @controls_window.contents.draw_text(60, 144, 300, 24, "::  Confirm/Talk")
    @controls_window.contents.draw_text(60, 168, 300, 24, "::  Menu Previous")
    @controls_window.contents.draw_text(60, 192, 300, 24, "::  Menu Next")
    @controls_window.contents.draw_text(60, 216, 300, 24, "::  Not Used")
    @controls_window.contents.draw_text(60, 240, 300, 24, "::  Not Used")
    @controls_window.visible = false
    @controls_window.active = false
  end
  #--------------------------------------------------------------------------
  # * Return to Original Screen
  #--------------------------------------------------------------------------
  def return_scene
    $scene = Scene_Map.new
  end
  #--------------------------------------------------------------------------
  # * Update Options Selection
  #--------------------------------------------------------------------------
  def update_options_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      return_scene
    elsif Input.trigger?(Input::C)
      main_options_input
    end
  end
  #--------------------------------------------------------------------------
  # * Update Audio Options Selection
  #--------------------------------------------------------------------------
  def update_audio_options_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @options_window.active = true
      @audio_options_window.active = false
      @audio_options_window.visible = false
      @audio_options_window.index = 0
      return
    elsif Input.trigger?(Input::C)
      audio_options_input
    end
  end
  #--------------------------------------------------------------------------
  # * Update Audio-BGM Options Selection
  #--------------------------------------------------------------------------
  def update_bgm_options_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @audio_options_window.active = true
      @bgm_options_window.active = false
      @bgm_options_window.visible = false
      @bgm_options_window.index = 0
      return
    elsif Input.trigger?(Input::C)
      bgm_options_input
    end
  end
  #--------------------------------------------------------------------------
  # * Update Audio-BGS Options Selection
  #--------------------------------------------------------------------------
  def update_bgs_options_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @audio_options_window.active = true
      @bgs_options_window.active = false
      @bgs_options_window.visible = false
      @bgs_options_window.index = 0
      return
    elsif Input.trigger?(Input::C)
      bgs_options_input
    end
  end
  #--------------------------------------------------------------------------
  # * Update Audio-SE Options Selection
  #--------------------------------------------------------------------------
  def update_se_options_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @audio_options_window.active = true
      @se_options_window.active = false
      @se_options_window.visible = false
      @se_options_window.index = 0
      return
    elsif Input.trigger?(Input::C)
      se_options_input
    end
  end
  #--------------------------------------------------------------------------
  # * Update Audio-ME Options Selection
  #--------------------------------------------------------------------------
  def update_me_options_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @audio_options_window.active = true
      @me_options_window.active = false
      @me_options_window.visible = false
      @me_options_window.index = 0
      return
    elsif Input.trigger?(Input::C)
      me_options_input
    end
  end
  #--------------------------------------------------------------------------
  # * Update Controls Selection
  #--------------------------------------------------------------------------
  def update_controls_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @options_window.active = true
      @controls_window.active = false
      @controls_window.visible = false
    end
  end
  #--------------------------------------------------------------------------
  # * Update Main Options InputCheck
  #--------------------------------------------------------------------------
  def main_options_input
    option = @options[@options_window.index]
    Sound.play_decision
    # Checks Options Commands
    case option
    when OptionCommand::Audio  #calls Audio options subwindow
      @audio_options_window.active = true
      @audio_options_window.visible = true
      @options_window.active = false
    when OptionCommand::Controls #Controls
      @controls_window.active = true
      @controls_window.visible = true
      @options_window.active = false 
	  when OptionCommand::Exit_Options #Return to Main Menu
      return_scene
    end
  end
  #--------------------------------------------------------------------------
  # * Update Audio Options InputCheck
  #--------------------------------------------------------------------------
  def audio_options_input
    audio_option = @audio_options[@audio_options_window.index]
    Sound.play_decision
    # Checks Graphics Options Commands
    case audio_option
    when OptionCommand::Audiobgm  #Adjust BGM
      @bgm_options_window.index = Integer($game_system.bgm_volume / 10)
      @bgm_options_window.active = true
      @bgm_options_window.visible = true
      @audio_options_window.active = false
    when OptionCommand::Audiobgs  #Adjust BGS
      @bgs_options_window.index = Integer($game_system.bgs_volume / 10)
      @bgs_options_window.active = true
      @bgs_options_window.visible = true
      @audio_options_window.active = false
	  when OptionCommand::Audiome  #Adjust ME
      @me_options_window.index = Integer($game_system.me_volume / 10)
      @me_options_window.active = true
      @me_options_window.visible = true
      @audio_options_window.active = false
	  when OptionCommand::Audiose  #Adjust SE
      @se_options_window.index = Integer($game_system.se_volume / 10)
      @se_options_window.active = true
      @se_options_window.visible = true
      @audio_options_window.active = false
    end
  end
  #--------------------------------------------------------------------------
  # * Update Audio-BGM Options InputCheck
  #--------------------------------------------------------------------------
  def bgm_options_input
    bgm_option = @bgm_options[@bgm_options_window.index]
    Sound.play_decision
    # Checks BGM Options Commands
    case bgm_option
    when OptionCommand::Audiobgm0  #BGM Volume 0%
      $game_system.bgm_volume = 0
      Audio.play_adjust(RPG::BGM.last, $game_system.bgm_volume)
    when OptionCommand::Audiobgm1  #BGM Volume 10%
      $game_system.bgm_volume = 10
      Audio.play_adjust(RPG::BGM.last, $game_system.bgm_volume)
    when OptionCommand::Audiobgm2  #BGM Volume 20%
      $game_system.bgm_volume = 20
      Audio.play_adjust(RPG::BGM.last, $game_system.bgm_volume)
    when OptionCommand::Audiobgm3  #BGM Volume 30%
      $game_system.bgm_volume = 30
      Audio.play_adjust(RPG::BGM.last, $game_system.bgm_volume)
    when OptionCommand::Audiobgm4  #BGM Volume 40%
      $game_system.bgm_volume = 40
      Audio.play_adjust(RPG::BGM.last, $game_system.bgm_volume)
    when OptionCommand::Audiobgm5  #BGM Volume 50%
      $game_system.bgm_volume = 50
      Audio.play_adjust(RPG::BGM.last, $game_system.bgm_volume)
    when OptionCommand::Audiobgm6  #BGM Volume 60%
      $game_system.bgm_volume = 60
      Audio.play_adjust(RPG::BGM.last, $game_system.bgm_volume)
    when OptionCommand::Audiobgm7  #BGM Volume 70%
      $game_system.bgm_volume = 70
      Audio.play_adjust(RPG::BGM.last, $game_system.bgm_volume)
    when OptionCommand::Audiobgm8  #BGM Volume 80%
      $game_system.bgm_volume = 80
      Audio.play_adjust(RPG::BGM.last, $game_system.bgm_volume)
    when OptionCommand::Audiobgm9  #BGM Volume 90%
      $game_system.bgm_volume = 90
      Audio.play_adjust(RPG::BGM.last, $game_system.bgm_volume)
    when OptionCommand::Audiobgm10  #BGM Volume 100%
      $game_system.bgm_volume = 100
      Audio.play_adjust(RPG::BGM.last, $game_system.bgm_volume)
    end
  end
  #--------------------------------------------------------------------------
  # * Update Audio-BGS Options InputCheck
  #--------------------------------------------------------------------------
  def bgs_options_input
    bgs_option = @bgs_options[@bgs_options_window.index]
    Sound.play_decision
    # Checks BGM Options Commands
    case bgs_option
    when OptionCommand::Audiobgs0  #BGS Volume 0%
      $game_system.bgs_volume = 0
      Audio.play_adjust(RPG::BGS.last, $game_system.bgs_volume)
    when OptionCommand::Audiobgs1  #BGS Volume 10%
      $game_system.bgs_volume = 10
      Audio.play_adjust(RPG::BGS.last, $game_system.bgs_volume)
    when OptionCommand::Audiobgs2  #BGS Volume 20%
      $game_system.bgs_volume = 20
      Audio.play_adjust(RPG::BGS.last, $game_system.bgs_volume)
    when OptionCommand::Audiobgs3  #BGS Volume 30%
      $game_system.bgs_volume = 30
      Audio.play_adjust(RPG::BGS.last, $game_system.bgs_volume)
    when OptionCommand::Audiobgs4  #BGS Volume 40%
      $game_system.bgs_volume = 40
      Audio.play_adjust(RPG::BGS.last, $game_system.bgs_volume)
    when OptionCommand::Audiobgs5  #BGS Volume 50%
      $game_system.bgs_volume = 50
      Audio.play_adjust(RPG::BGS.last, $game_system.bgs_volume)
    when OptionCommand::Audiobgs6  #BGS Volume 60%
      $game_system.bgs_volume = 60
      Audio.play_adjust(RPG::BGS.last, $game_system.bgs_volume)
    when OptionCommand::Audiobgs7  #BGS Volume 70%
      $game_system.bgs_volume = 70
      Audio.play_adjust(RPG::BGS.last, $game_system.bgs_volume)
    when OptionCommand::Audiobgs8  #BGS Volume 80%
      $game_system.bgs_volume = 80
      Audio.play_adjust(RPG::BGS.last, $game_system.bgs_volume)
    when OptionCommand::Audiobgs9  #BGS Volume 90%
      $game_system.bgs_volume = 90
      Audio.play_adjust(RPG::BGS.last, $game_system.bgs_volume)
    when OptionCommand::Audiobgs10  #BGS Volume 100%
      $game_system.bgs_volume = 100
      Audio.play_adjust(RPG::BGS.last, $game_system.bgs_volume)
    end
  end
  #--------------------------------------------------------------------------
  # * Update Audio-SE Options InputCheck
  #--------------------------------------------------------------------------
  def se_options_input
    se_option = @se_options[@se_options_window.index]
    Sound.play_decision
    # Checks BGM Options Commands
    case se_option
    when OptionCommand::Audiose0  #SE Volume 0%
      $game_system.se_volume = 0
    when OptionCommand::Audiose1  #SE Volume 10%
      $game_system.se_volume = 10
    when OptionCommand::Audiose2  #SE Volume 20%
      $game_system.se_volume = 20
    when OptionCommand::Audiose3  #SE Volume 30%
      $game_system.se_volume = 30
    when OptionCommand::Audiose4  #SE Volume 40%
      $game_system.se_volume = 40
    when OptionCommand::Audiose5  #SE Volume 50%
      $game_system.se_volume = 50
    when OptionCommand::Audiose6  #SE Volume 60%
      $game_system.se_volume = 60
    when OptionCommand::Audiose7  #SE Volume 70%
      $game_system.se_volume = 70
    when OptionCommand::Audiose8  #SE Volume 80%
      $game_system.se_volume = 80
    when OptionCommand::Audiose9  #SE Volume 90%
      $game_system.se_volume = 90
    when OptionCommand::Audiose10  #SE Volume 100%
      $game_system.se_volume = 100
    end
  end
  #--------------------------------------------------------------------------
  # * Update Audio-ME Options InputCheck
  #--------------------------------------------------------------------------
  def me_options_input
    me_option = @me_options[@me_options_window.index]
    Sound.play_decision
    # Checks BGM Options Commands
    case me_option
    when OptionCommand::Audiome0  #ME Volume 0%
      $game_system.me_volume = 0
    when OptionCommand::Audiome1  #ME Volume 10%
      $game_system.me_volume = 10
    when OptionCommand::Audiome2  #ME Volume 20%
      $game_system.me_volume = 20
    when OptionCommand::Audiome3  #ME Volume 30%
      $game_system.me_volume = 30
    when OptionCommand::Audiome4  #ME Volume 40%
      $game_system.me_volume = 40
    when OptionCommand::Audiome5  #ME Volume 50%
      $game_system.me_volume = 50
    when OptionCommand::Audiome6  #ME Volume 60%
      $game_system.me_volume = 60
    when OptionCommand::Audiome7  #ME Volume 70%
      $game_system.me_volume = 70
    when OptionCommand::Audiome8  #ME Volume 80%
      $game_system.me_volume = 80
    when OptionCommand::Audiome9  #ME Volume 90%
      $game_system.me_volume = 90
    when OptionCommand::Audiome10  #ME Volume 100%
      $game_system.me_volume = 100
    end
  end
  #--------------------------------------------------------------------------
  # * Update Help Text
  #--------------------------------------------------------------------------
	def update_help
		@help_window.set_text("Options")
	end
end

thank you!
(well the Error is this:
when you go to the Menu in my Intro you can still choose
the party-management, and if you choose "no" person
because you dont have any person, it gives me an error,
but i just needed this! thx!)
 

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