RPG Maker Forums

I'm not sure if there's a way to do what I want here, but it seems like it should be plausible. Basically what I want is to use either the two switch turning options or two variable adjusting options included in the script ro run script calls for me. It's very easy doing it once, as an autonrun event can be tied to turning a switch on, but then I can't have another autorun event running a separate script call for when the switch is turned off(?). Basically what I want is for one option to be script call 1 or script call 2(so when it's on it performs script call 1, and when off performs script call 2) and the other option to be another 2 script calls; so script call 3 when off and script call 4 when on. I'm wracking my brain but I can't figure out how I could accomplish this.

Here's Yanfly's system option 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   = false    # 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  => [ 1, "Custom Switch 1", "OFF", "ON",

                     "Help description used for custom switch 1."

                    ],

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

      :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", 12, 4, # 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", 13, 5, # 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", 14, 6, # 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 # SYSTEM

end # 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::DEFAULT_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::DEFAULT_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::DEFAULT_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

  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, 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, 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, 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



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

If my description is confusing like this but with the options somehow producing script calls:


Latest Threads

Latest Profile Posts

Don't forget, aspiring writers: Personality isn't what your characters do, it is WHY they do it.
Hello! I would like to know if there are any pluggings or any way to customize how battles look?
I was thinking that when you start the battle for it to appear the eyes of your characters and opponents sorta like Ace Attorney.
Sadly I don't know how that would be possible so I would be needing help! If you can help me in any way I would really apreciate it!
The biggest debate we need to complete on which is better, Waffles or Pancakes?
rux
How is it going? :D
Day 9 of giveaways! 8 prizes today :D

Forum statistics

Threads
106,051
Messages
1,018,549
Members
137,837
Latest member
Dabi
Top