- Joined
- Jul 14, 2012
- Messages
- 519
- Reaction score
- 439
- First Language
- English
- Primarily Uses
- RMMV
Hey, guys! So, I thought this would be a simple thing to do and ended up spending about an hour trying to figure it out myself, but I could not get it to work. 
I really just want to rearrange the selectable options in Yanfly's script to make the window look...well, prettier. Since I'm not using all of the options available in the script (the ones in the mock-up below are the only ones I'm using), I'd like to have the visible ones centered on the screen with a horizontal bar between each "section" instead of a blank selection.
Here is a rough mock-up of what I was trying to achieve:
All of the areas highlighted in red should not be selectable, and the two thinner lines are where I'd like the horizontal bars to be.
And here's my copy of Yanfly's script:
Obviously, this isn't vital to my game, but it is something I would prefer to have done. If anyone can help me out with this, I'd greatly appreciate it!
:
I really just want to rearrange the selectable options in Yanfly's script to make the window look...well, prettier. Since I'm not using all of the options available in the script (the ones in the mock-up below are the only ones I'm using), I'd like to have the visible ones centered on the screen with a horizontal bar between each "section" instead of a blank selection.
Here is a rough mock-up of what I was trying to achieve:
All of the areas highlighted in red should not be selectable, and the two thinner lines are where I'd like the horizontal bars to be.
And here's my copy of Yanfly's script:
#==============================================================================# # ▼ Yanfly Engine Ace - System Options v1.00# -- Last Updated: 2012.01.01# -- Level: Normal# -- Requires: n/a# #============================================================================== $imported = {} if $imported.nil?$imported["YEA-SystemOptions"] = true #==============================================================================# ▼ Updates# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=# 2012.01.01 - Started Script and Finished.# #==============================================================================# ▼ Introduction# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=# This script replaces the "Game End" option in the Main Menu with a "System"# menu where the player can adjust various settings in the game. Of them, the# player can change the window colour, the volume for BGM, BGS, SFX, set# automatic dashing, message text to display instantly, and speed up battles by# hiding battle animations.# #==============================================================================# ▼ Instructions# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=# To install this script, open up your script editor and copy/paste this script# to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.# # -----------------------------------------------------------------------------# Script Calls - These commands are used with script calls.# -----------------------------------------------------------------------------# $game_system.volume_change
bgm, x)# $game_system.volume_change
bgs, x)# $game_system.volume_change
sfx, x)# Unlike the previous Yanfly Engines, this version does not bind volume to a# variable. Use the script call to change the bgm, bgs, or sfx sound rate by# x increment. Use a negative value to lower the volume.# # $game_system.set_autodash(true)# $game_system.set_autodash(false)# Turns autodash on (true) or off (false).# # $game_system.set_instantmsg(true)# $game_system.set_instantmsg(false)# Turns instant messages on (true) or off (false).# # $game_system.set_animations(true)# $game_system.set_animations(false)# Turns battle animations on (true) or off (false).# #==============================================================================# ▼ Compatibility# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=# This script is made strictly for RPG Maker VX Ace. It is highly unlikely that# it will run with RPG Maker VX without adjusting.# #============================================================================== module YEA module SYSTEM #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # - General Setting - #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # These are the general settings that govern the System settings. This will # change the "Game End" vocab, and disable or enable autodash, instant # messages, or animations by default. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- COMMAND_NAME = "System" # Command name used to replace Game End. DEFAULT_AUTODASH = true # Enable automatic dashing by default? DEFAULT_INSTANTMSG = false # Enable instant message text by default? DEFAULT_ANIMATIONS = true # Enable battle animations by default? #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # - Command Settings - #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # These settings adjust the commands shown in the command list. Add, remove # or rearrange the commands as you see fit. Here's a list of which commands # do what: # # ------------------------------------------------------------------------- # :command Description # ------------------------------------------------------------------------- # :blank Inserts an empty blank space. # # :window_red Changes the red tone for all windows. # :window_grn Changes the green tone for all windows. # :window_blu Changes the blue tone for all windows. # # :volume_bgm Changes the BGM volume used. # :volume_bgs Changes the BGS volume used. # :volume_sfx Changes the SFX volume used. # # :autodash Sets the player to automatically dash. # :instantmsg Sets message text to appear instantly. # :animations Enables battle animations or disables them. # # :to_title Returns to the title screen. # :shutdown Shuts down the game. # #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- COMMANDS =[ # :window_red, # Changes the red tone for all windows. # :window_grn, # Changes the green tone for all windows. # :window_blu, # Changes the blue tone for all windows. :volume_bgm, # Changes the BGM volume used. :volume_bgs, # Changes the BGS volume used. :volume_sfx, # Changes the SFX volume used. # :blank, :autodash, # Sets the player to automatically dash. :instantmsg, # Sets message text to appear instantly. # :animations, # Enables battle animations or disables them. # :switch_1, # Custom Switch 1. Adjust settings below. # :switch_2, # Custom Switch 2. Adjust settings below. # :variable_1, # Custom Variable 1. Adjust settings below. # :variable_2, # Custom Variable 2. Adjust settings below. # :blank, :to_title, # Returns to the title screen. :shutdown, # Shuts down the game. ] # Do not remove this. #-------------------------------------------------------------------------- # - Custom Switches - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # If you want your game to have system options other than just the ones # listed above, you can insert custom switches here to produce such an # effect. Adjust the settings here as you see fit. #-------------------------------------------------------------------------- CUSTOM_SWITCHES ={ # ------------------------------------------------------------------------- # :switch => [Switch, Name, Off Text, On Text, # Help Window Description # ], # Do not remove this. # ------------------------------------------------------------------------- :switch_1 => [ 2, "Highlight Treasure?", "NO", "YES", "Places a sparkling graphic wherever hidden items are located." ], # ------------------------------------------------------------------------- :switch_2 => [ 2, "Custom Switch 2", "OFF", "ON", "Help description used for custom switch 2." ], # ------------------------------------------------------------------------- } # Do not remove this. #-------------------------------------------------------------------------- # - Custom Variables - # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # If you want your game to have system options other than just the ones # listed above, you can insert custom variables here to produce such an # effect. Adjust the settings here as you see fit. #-------------------------------------------------------------------------- CUSTOM_VARIABLES ={ # ------------------------------------------------------------------------- # :variable => [Switch, Name, Colour1, Colour2, Min, Max, # Help Window Description # ], # Do not remove this. # ------------------------------------------------------------------------- :variable_1 => [ 1, "Custom Variable 1", 9, 1, -100, 100, "Help description used for custom variable 1." ], # ------------------------------------------------------------------------- :variable_2 => [ 2, "Custom Variable 2", 10, 2, -10, 10, "Help description used for custom variable 2." ], # ------------------------------------------------------------------------- } # Do not remove this. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # - Vocab Settings - #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # This hash adjusts the vocab used for both the commands and the help # description that appears above the command window. Note that for the # command help descriptions, you may use text codes. Use \n to linebreak. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- COMMAND_VOCAB ={ # ------------------------------------------------------------------------- # :command => [Command Name, Option1, Option2 # Help Window Description, # ], # Do not remove this. # ------------------------------------------------------------------------- :blank => ["", "None", "None", "" ], # Do not remove this. # ------------------------------------------------------------------------- :window_red => ["Window Red", "None", "None", "Change the red colour tone for windows.\n" + "Hold SHIFT to change increment by 10." ], # Do not remove this. # ------------------------------------------------------------------------- :window_grn => ["Window Green", "None", "None", "Change the green colour tone for windows.\n" + "Hold SHIFT to change increment by 10." ], # Do not remove this. # ------------------------------------------------------------------------- :window_blu => ["Window Blue", "None", "None", "Change the blue colour tone for windows.\n" + "Hold SHIFT to change increment by 10." ], # Do not remove this. # ------------------------------------------------------------------------- :volume_bgm => ["BGM Volume", 22, 23, # Options 1 & 2 are Gauge Colours. "Change the volume used for background music.\n" + "Hold SHIFT to change increment by 10." ], # Do not remove this. # ------------------------------------------------------------------------- :volume_bgs => ["BGS Volume", 22, 23, # Options 1 & 2 are Gauge Colours. "Change the volume used for background sound.\n" + "Hold SHIFT to change increment by 10." ], # Do not remove this. # ------------------------------------------------------------------------- :volume_sfx => ["SFX Volume", 22, 23, # Options 1 & 2 are Gauge Colours. "Change the volume used for sound effects.\n" + "Hold SHIFT to change increment by 10." ], # Do not remove this. # ------------------------------------------------------------------------- :autodash => ["Auto-Dash", "Walk", "Dash", "Automatically dash without holding the run button." ], # Do not remove this. # ------------------------------------------------------------------------- :instantmsg => ["Instant Text", "Normal", "Instant", "Set message text to appear one-by-one or instantly." ], # Do not remove this. # ------------------------------------------------------------------------- :animations => ["Battle Animations", "Hide", "Show", "Hide animations during battle to speed up battles?" ], # Do not remove this. # ------------------------------------------------------------------------- :to_title => ["Return to Title Screen", "None", "None", "Go back to the title screen." ], # Do not remove this. # ------------------------------------------------------------------------- :shutdown => ["Shutdown Game", "None", "None", "Turns off the game." ], # Do not remove this. # ------------------------------------------------------------------------- } # Do not remove this. end # SYSTEMend # YEA #==============================================================================# ▼ Editting anything past this point may potentially result in causing# computer damage, incontinence, explosion of user's head, coma, death, and/or# halitosis so edit at your own risk.#============================================================================== #==============================================================================# ■ Vocab#============================================================================== module Vocab #-------------------------------------------------------------------------- # overwrite method: self.game_end #-------------------------------------------------------------------------- def self.game_end return YEA::SYSTEM::COMMAND_NAME end end # Vocab #==============================================================================# ■ RPG::BGM#============================================================================== class RPG::BGM < RPG::AudioFile #-------------------------------------------------------------------------- # overwrite method: play #-------------------------------------------------------------------------- def play(pos = 0) if @name.empty? Audio.bgm_stop @@last = RPG::BGM.new else volume = @volume volume *= $game_system.volume
bgm) * 0.01 unless $game_system.nil? Audio.bgm_play('Audio/BGM/' + @name, volume, @pitch, pos) @@last = self.clone end end end # RPG::BGM #==============================================================================# ■ RPG::ME#============================================================================== class RPG::ME < RPG::AudioFile #-------------------------------------------------------------------------- # overwrite method: play #-------------------------------------------------------------------------- def play if @name.empty? Audio.me_stop else volume = @volume volume *= $game_system.volume
bgm) * 0.01 unless $game_system.nil? Audio.me_play('Audio/ME/' + @name, volume, @pitch) end end end # RPG::ME #==============================================================================# ■ RPG::BGS#============================================================================== class RPG::BGS < RPG::AudioFile #-------------------------------------------------------------------------- # overwrite method: play #-------------------------------------------------------------------------- def play(pos = 0) if @name.empty? Audio.bgs_stop @@last = RPG::BGS.new else volume = @volume volume *= $game_system.volume
bgs) * 0.01 unless $game_system.nil? Audio.bgs_play('Audio/BGS/' + @name, volume, @pitch, pos) @@last = self.clone end end end # RPG::BGS #==============================================================================# ■ RPG::SE#============================================================================== class RPG::SE < RPG::AudioFile #-------------------------------------------------------------------------- # overwrite method: play #-------------------------------------------------------------------------- def play unless @name.empty? volume = @volume volume *= $game_system.volume
sfx) * 0.01 unless $game_system.nil? Audio.se_play('Audio/SE/' + @name, volume, @pitch) end end end # RPG::SE #==============================================================================# ■ Game_System#============================================================================== class Game_System #-------------------------------------------------------------------------- # alias method: initialize #-------------------------------------------------------------------------- alias game_system_initialize_so initialize def initialize game_system_initialize_so init_volume_control init_autodash init_instantmsg init_animations end #-------------------------------------------------------------------------- # new method: init_volume_control #-------------------------------------------------------------------------- def init_volume_control @volume = {} @volume[:bgm] = 100 @volume[:bgs] = 100 @volume[:sfx] = 100 end #-------------------------------------------------------------------------- # new method: volume #-------------------------------------------------------------------------- def volume(type) init_volume_control if @volume.nil? return [[@volume[type], 0].max, 100].min end #-------------------------------------------------------------------------- # new method: volume_change #-------------------------------------------------------------------------- def volume_change(type, increment) init_volume_control if @volume.nil? @volume[type] += increment @volume[type] = [[@volume[type], 0].max, 100].min end #-------------------------------------------------------------------------- # new method: init_autodash #-------------------------------------------------------------------------- def init_autodash @autodash = YEA::SYSTEM:
EFAULT_AUTODASH end #-------------------------------------------------------------------------- # new method: autodash? #-------------------------------------------------------------------------- def autodash? init_autodash if @autodash.nil? return @autodash end #-------------------------------------------------------------------------- # new method: set_autodash #-------------------------------------------------------------------------- def set_autodash(value) @autodash = value end #-------------------------------------------------------------------------- # new method: init_instantmsg #-------------------------------------------------------------------------- def init_instantmsg @instantmsg = YEA::SYSTEM:
EFAULT_INSTANTMSG end #-------------------------------------------------------------------------- # new method: instantmsg? #-------------------------------------------------------------------------- def instantmsg? init_instantmsg if @instantmsg.nil? return @instantmsg end #-------------------------------------------------------------------------- # new method: set_instantmsg #-------------------------------------------------------------------------- def set_instantmsg(value) @instantmsg = value end #-------------------------------------------------------------------------- # new method: init_animations #-------------------------------------------------------------------------- def init_animations @animations = YEA::SYSTEM:
EFAULT_ANIMATIONS end #-------------------------------------------------------------------------- # new method: animations? #-------------------------------------------------------------------------- def animations? init_animations if @animations.nil? return @animations end #-------------------------------------------------------------------------- # new method: set_animations #-------------------------------------------------------------------------- def set_animations(value) @animations = value end end # Game_System #==============================================================================# ■ Game_Player#============================================================================== class Game_Player < Game_Character #-------------------------------------------------------------------------- # alias method: dash? #-------------------------------------------------------------------------- alias game_player_dash_so dash? def dash? if $game_system.autodash? return false if @move_route_forcing return false if $game_map.disable_dash? return false if vehicle return !Input.press?
A) else return game_player_dash_so end end end # Game_Player #==============================================================================# ■ Scene_Battle#============================================================================== class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # alias method: show_fast? #-------------------------------------------------------------------------- alias scene_battle_show_fast_so show_fast? def show_fast? return true unless $game_system.animations? return scene_battle_show_fast_so end #-------------------------------------------------------------------------- # alias method: show_normal_animation #-------------------------------------------------------------------------- alias scene_battle_show_normal_animation_so show_normal_animation def show_normal_animation(targets, animation_id, mirror = false) return unless $game_system.animations? scene_battle_show_normal_animation_so(targets, animation_id, mirror) end end # Scene_Battle #==============================================================================# ■ Window_Message#============================================================================== class Window_Message < Window_Base #-------------------------------------------------------------------------- # alias method: clear_flags #-------------------------------------------------------------------------- alias window_message_clear_flags_so clear_flags def clear_flags window_message_clear_flags_so @show_fast = true if $game_system.instantmsg? end end # Window_Message #==============================================================================# ■ Window_SystemOptions#============================================================================== class Window_SystemOptions < Window_Command #-------------------------------------------------------------------------- # initialize #-------------------------------------------------------------------------- def initialize(help_window) @help_window = help_window super(0, @help_window.height) refresh activate end #-------------------------------------------------------------------------- # window_width #-------------------------------------------------------------------------- def window_width; return Graphics.width; end #-------------------------------------------------------------------------- # window_height #-------------------------------------------------------------------------- def window_height; return Graphics.height - @help_window.height; end #-------------------------------------------------------------------------- # update_help #-------------------------------------------------------------------------- def update_help if current_symbol == :custom_switch || current_symbol == :custom_variable text = @help_descriptions[current_ext] else text = @help_descriptions[current_symbol] end text = "" if text.nil? @help_window.set_text(text) end #-------------------------------------------------------------------------- # ok_enabled? #-------------------------------------------------------------------------- def ok_enabled? return true if [:to_title, :shutdown].include?(current_symbol) return false end #-------------------------------------------------------------------------- # make_command_list #-------------------------------------------------------------------------- def make_command_list @help_descriptions = {} for command in YEA::SYSTEM::COMMANDS case command when :blank add_command(YEA::SYSTEM::COMMAND_VOCAB[command][0], command) @help_descriptions[command] = YEA::SYSTEM::COMMAND_VOCAB[command][3] when :window_red, :window_grn, :window_blu add_command(YEA::SYSTEM::COMMAND_VOCAB[command][0], command) @help_descriptions[command] = YEA::SYSTEM::COMMAND_VOCAB[command][3] when :volume_bgm, :volume_bgs, :volume_sfx add_command(YEA::SYSTEM::COMMAND_VOCAB[command][0], command) @help_descriptions[command] = YEA::SYSTEM::COMMAND_VOCAB[command][3] when :autodash, :instantmsg, :animations add_command(YEA::SYSTEM::COMMAND_VOCAB[command][0], command) @help_descriptions[command] = YEA::SYSTEM::COMMAND_VOCAB[command][3] when :to_title, :shutdown add_command(YEA::SYSTEM::COMMAND_VOCAB[command][0], command) @help_descriptions[command] = YEA::SYSTEM::COMMAND_VOCAB[command][3] else process_custom_switch(command) process_custom_variable(command) end end end #-------------------------------------------------------------------------- # process_custom_switch #-------------------------------------------------------------------------- def process_custom_switch(command) return unless YEA::SYSTEM::CUSTOM_SWITCHES.include?(command) name = YEA::SYSTEM::CUSTOM_SWITCHES[command][1] add_command(name, :custom_switch, true, command) @help_descriptions[command] = YEA::SYSTEM::CUSTOM_SWITCHES[command][4] end #-------------------------------------------------------------------------- # process_custom_variable #-------------------------------------------------------------------------- def process_custom_variable(command) return unless YEA::SYSTEM::CUSTOM_VARIABLES.include?(command) name = YEA::SYSTEM::CUSTOM_VARIABLES[command][1] add_command(name, :custom_variable, true, command) @help_descriptions[command] = YEA::SYSTEM::CUSTOM_VARIABLES[command][6] end #-------------------------------------------------------------------------- # draw_item #-------------------------------------------------------------------------- def draw_item(index) reset_font_settings rect = item_rect(index) contents.clear_rect(rect) case @list[index][:symbol] when :window_red, :window_grn, :window_blu draw_window_tone(rect, index, @list[index][:symbol]) when :volume_bgm, :volume_bgs, :volume_sfx draw_volume(rect, index, @list[index][:symbol]) when :autodash, :instantmsg, :animations draw_toggle(rect, index, @list[index][:symbol]) when :to_title, :shutdown draw_text(item_rect_for_text(index), command_name(index), 1) when :custom_switch draw_custom_switch(rect, index, @list[index][:ext]) when :custom_variable draw_custom_variable(rect, index, @list[index][:ext]) end end #-------------------------------------------------------------------------- # draw_window_tone #-------------------------------------------------------------------------- def draw_window_tone(rect, index, symbol) name = @list[index][:name] draw_text(0, rect.y, contents.width/2, line_height, name, 1) #--- dx = contents.width / 2 tone = $game_system.window_tone case symbol when :window_red rate = (tone.red + 255.0) / 510.0 colour1 = Color.new(128, 0, 0) colour2 = Color.new(255, 0, 0) value = tone.red.to_i when :window_grn rate = (tone.green + 255.0) / 510.0 colour1 = Color.new(0, 128, 0) colour2 = Color.new(0, 255, 0) value = tone.green.to_i when :window_blu rate = (tone.blue + 255.0) / 510.0 colour1 = Color.new(0, 0, 128) colour2 = Color.new(0, 0, 255) value = tone.blue.to_i end draw_gauge(dx, rect.y, contents.width - dx - 48, rate, colour1, colour2) draw_text(dx, rect.y, contents.width - dx - 48, line_height, value, 2) end #-------------------------------------------------------------------------- # draw_volume #-------------------------------------------------------------------------- def draw_volume(rect, index, symbol) name = @list[index][:name] draw_text(0, rect.y, contents.width/2, line_height, name, 1) #--- dx = contents.width / 2 case symbol when :volume_bgm rate = $game_system.volume
bgm) when :volume_bgs rate = $game_system.volume
bgs) when :volume_sfx rate = $game_system.volume
sfx) end colour1 = text_color(YEA::SYSTEM::COMMAND_VOCAB[symbol][1]) colour2 = text_color(YEA::SYSTEM::COMMAND_VOCAB[symbol][2]) value = sprintf("%d%%", rate) rate *= 0.01 draw_gauge(dx, rect.y-8, contents.width - dx - 48, rate, colour1, colour2) draw_text(dx, rect.y, contents.width - dx - 48, line_height, value, 2) end #-------------------------------------------------------------------------- # draw_toggle #-------------------------------------------------------------------------- def draw_toggle(rect, index, symbol) name = @list[index][:name] draw_text(0, rect.y, contents.width/2, line_height, name, 1) #--- dx = contents.width / 2 case symbol when :autodash enabled = $game_system.autodash? when :instantmsg enabled = $game_system.instantmsg? when :animations enabled = $game_system.animations? end dx = contents.width/2 change_color(normal_color, !enabled) option1 = YEA::SYSTEM::COMMAND_VOCAB[symbol][1] draw_text(dx, rect.y + 24, contents.width/4, line_height, option1, 1) dx += contents.width/4 change_color(normal_color, enabled) option2 = YEA::SYSTEM::COMMAND_VOCAB[symbol][2] draw_text(dx, rect.y + 24, contents.width/4, line_height, option2, 1) end #-------------------------------------------------------------------------- # cursor_right #-------------------------------------------------------------------------- def draw_custom_switch(rect, index, ext) name = @list[index][:name] draw_text(0, rect.y, contents.width/2, line_height, name, 1) #--- dx = contents.width / 2 enabled = $game_switches[YEA::SYSTEM::CUSTOM_SWITCHES[ext][0]] dx = contents.width/2 change_color(normal_color, !enabled) option1 = YEA::SYSTEM::CUSTOM_SWITCHES[ext][2] draw_text(dx, rect.y, contents.width/4, line_height, option1, 1) dx += contents.width/4 change_color(normal_color, enabled) option2 = YEA::SYSTEM::CUSTOM_SWITCHES[ext][3] draw_text(dx, rect.y, contents.width/4, line_height, option2, 1) end #-------------------------------------------------------------------------- # draw_custom_variable #-------------------------------------------------------------------------- def draw_custom_variable(rect, index, ext) name = @list[index][:name] draw_text(0, rect.y, contents.width/2, line_height, name, 1) #--- dx = contents.width / 2 value = $game_variables[YEA::SYSTEM::CUSTOM_VARIABLES[ext][0]] colour1 = text_color(YEA::SYSTEM::CUSTOM_VARIABLES[ext][2]) colour2 = text_color(YEA::SYSTEM::CUSTOM_VARIABLES[ext][3]) minimum = YEA::SYSTEM::CUSTOM_VARIABLES[ext][4] maximum = YEA::SYSTEM::CUSTOM_VARIABLES[ext][5] rate = (value - minimum).to_f / [(maximum - minimum).to_f, 0.01].max dx = contents.width/2 draw_gauge(dx, rect.y, contents.width - dx - 48, rate, colour1, colour2) draw_text(dx, rect.y, contents.width - dx - 48, line_height, value, 2) end #-------------------------------------------------------------------------- # cursor_right #-------------------------------------------------------------------------- def cursor_right(wrap = false) cursor_change
right) super(wrap) end #-------------------------------------------------------------------------- # cursor_left #-------------------------------------------------------------------------- def cursor_left(wrap = false) cursor_change
left) super(wrap) end #-------------------------------------------------------------------------- # cursor_change #-------------------------------------------------------------------------- def cursor_change(direction) case current_symbol when :window_red, :window_blu, :window_grn change_window_tone(direction) when :volume_bgm, :volume_bgs, :volume_sfx change_volume(direction) when :autodash, :instantmsg, :animations change_toggle(direction) when :custom_switch change_custom_switch(direction) when :custom_variable change_custom_variables(direction) end end #-------------------------------------------------------------------------- # change_window_tone #-------------------------------------------------------------------------- def change_window_tone(direction) Sound.play_cursor value = direction == :left ? -1 : 1 value *= 10 if Input.press?
A) tone = $game_system.window_tone.clone case current_symbol when :window_red; tone.red += value when :window_grn; tone.green += value when :window_blu; tone.blue += value end $game_system.window_tone = tone draw_item(index) end #-------------------------------------------------------------------------- # change_window_tone #-------------------------------------------------------------------------- def change_volume(direction) Sound.play_cursor value = direction == :left ? -1 : 1 value *= 10 if Input.press?
A) case current_symbol when :volume_bgm $game_system.volume_change
bgm, value) RPG::BGM::last.play when :volume_bgs $game_system.volume_change
bgs, value) RPG::BGS::last.play when :volume_sfx $game_system.volume_change
sfx, value) end draw_item(index) end #-------------------------------------------------------------------------- # change_toggle #-------------------------------------------------------------------------- def change_toggle(direction) value = direction == :left ? false : true case current_symbol when :autodash current_case = $game_system.autodash? $game_system.set_autodash(value) when :instantmsg current_case = $game_system.instantmsg? $game_system.set_instantmsg(value) when :animations current_case = $game_system.animations? $game_system.set_animations(value) end Sound.play_cursor if value != current_case draw_item(index) end #-------------------------------------------------------------------------- # change_custom_switch #-------------------------------------------------------------------------- def change_custom_switch(direction) value = direction == :left ? false : true ext = current_ext current_case = $game_switches[YEA::SYSTEM::CUSTOM_SWITCHES[ext][0]] $game_switches[YEA::SYSTEM::CUSTOM_SWITCHES[ext][0]] = value Sound.play_cursor if value != current_case draw_item(index) end #-------------------------------------------------------------------------- # change_custom_variables #-------------------------------------------------------------------------- def change_custom_variables(direction) Sound.play_cursor value = direction == :left ? -1 : 1 value *= 10 if Input.press?
A) ext = current_ext var = YEA::SYSTEM::CUSTOM_VARIABLES[ext][0] minimum = YEA::SYSTEM::CUSTOM_VARIABLES[ext][4] maximum = YEA::SYSTEM::CUSTOM_VARIABLES[ext][5] $game_variables[var] += value $game_variables[var] = [[$game_variables[var], minimum].max, maximum].min draw_item(index) end end # Window_SystemOptions #==============================================================================# ■ Scene_Menu#============================================================================== class Scene_Menu < Scene_MenuBase #-------------------------------------------------------------------------- # overwrite method: command_game_end #-------------------------------------------------------------------------- def command_game_end SceneManager.call(Scene_System) end end # Scene_Menu #==============================================================================# ■ Scene_System#============================================================================== class Scene_System < Scene_MenuBase #-------------------------------------------------------------------------- # start #-------------------------------------------------------------------------- def start super create_help_window create_command_window end #-------------------------------------------------------------------------- # create_command_window #-------------------------------------------------------------------------- def create_command_window @command_window = Window_SystemOptions.new(@help_window) @command_window.set_handler
cancel, method
return_scene)) @command_window.set_handler
to_title, method
command_to_title)) @command_window.set_handler
shutdown, method
command_shutdown)) end #-------------------------------------------------------------------------- # command_to_title #-------------------------------------------------------------------------- def command_to_title fadeout_all SceneManager.goto(Scene_Title) end #-------------------------------------------------------------------------- # command_shutdown #-------------------------------------------------------------------------- def command_shutdown fadeout_all SceneManager.exit end end # Scene_System #==============================================================================# # ▼ End of File# #==============================================================================

