####################################################
# 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 = 'Musik'
Controls = 'Steurung'
Exit_Options = 'Zurück'
#Audio Option commands
Audiobgm = 'Musik Lautstärke'
Audiobgs = 'Hintergrund Lautstärke'
Audiome = 'Musikeffekt Lautstärke'
Audiose = 'Soundeffekt Lautstärke'
#BGM Options
Audiobgm0 = '0%'
Audiobgm1 = '10%'
Audiobgm2 = '20%'
Audiobgm3 = '30%'
Audiobgm4 = '40%'
Audiobgm5 = '50%'
Audiobgm6 = '60%'
Audiobgm7 = '70%'
Audiobgm8 = '80%'
Audiobgm9 = '90%'
Audiobgm10 = '100%'
#BGS Options
Audiobgs0 = '0%'
Audiobgs1 = '10%'
Audiobgs2 = '20%'
Audiobgs3 = '30%'
Audiobgs4 = '40%'
Audiobgs5 = '50%'
Audiobgs6 = '60%'
Audiobgs7 = '70%'
Audiobgs8 = '80%'
Audiobgs9 = '90%'
Audiobgs10 = '100%'
#SE Options
Audiose0 = '0%'
Audiose1 = '10%'
Audiose2 = '20%'
Audiose3 = '30%'
Audiose4 = '40%'
Audiose5 = '50%'
Audiose6 = '60%'
Audiose7 = '70%'
Audiose8 = '80%'
Audiose9 = '90%'
Audiose10 = '100%'
#ME Options
Audiome0 = '0%'
Audiome1 = '10%'
Audiome2 = '20%'
Audiome3 = '30%'
Audiome4 = '40%'
Audiome5 = '50%'
Audiome6 = '60%'
Audiome7 = '70%'
Audiome8 = '80%'
Audiome9 = '90%'
Audiome10 = '100%'
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, ":: Rennen")
@controls_window.contents.draw_text(60, 120, 300, 24, ":: Abbruch/Menu")
@controls_window.contents.draw_text(60, 144, 300, 24, ":: Eingabe/Reden")
@controls_window.contents.draw_text(60, 168, 300, 24, ":: Abbruch")
@controls_window.contents.draw_text(60, 192, 300, 24, ":: Unbenutzt")
@controls_window.contents.draw_text(60, 216, 300, 24, ":: Unbenutzt")
@controls_window.contents.draw_text(60, 240, 300, 24, ":: Unbenutzt")
@controls_window.visible = false
@controls_window.active = false
end
#--------------------------------------------------------------------------
# * Return to Original Screen
#--------------------------------------------------------------------------
def return_scene
$scene = Scene_Menu.new(0) #-----------Change this number to the options spot -1 on main menu-----------------
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