Autorun common event that calls a script when a switch gets turned off?

● ARCHIVED · READ-ONLY
Started by Shion Kreth 8 posts View original ↗
  1. Can such a thing be done? I'm trying to have an option in the menu which turns a switch on and makes a script call to change the resolution, but then turning the switch off won't revert it back to the original resolution; I need to make another script call and can't figure out how to accomplish this without having some parallel process event present on every map (which I really don't want).
  2. Not too sure you want to do this but this might work?

    case $game_variables[100] #use this for your re-sizing the resolution when 0  Graphics.resize_screen(544, 416) #default size when 1  Graphics.resize_screen(640, 480) #max sizeend
    Keep in mind I don't know if this will work, I'm not near the editor to test. 
  3. How are you adding this to the menu? If you're modifying the menu script, then you don't need to use events or common events at all (or switches or variables) - you just put the call to resize the screen wherever the option is being processed.


    Or are you doing an evented menu? I assumed, from your other post, that the switch was being changed by events, not by scripts/options menus.


    And how are you changing the resolution? Just with the Graphics.resize_screen command shown above, or are you using someone's script to do it? If the latter, please include a link to the script.
  4. Shaz said:
    How are you adding this to the menu? If you're modifying the menu script, then you don't need to use events or common events at all (or switches or variables) - you just put the call to resize the screen wherever the option is being processed.

    Or are you doing an evented menu? I assumed, from your other post, that the switch was being changed by events, not by scripts/options menus.

    And how are you changing the resolution? Just with the Graphics.resize_screen command shown above, or are you using someone's script to do it? If the latter, please include a link to the script.
    It's being done through two scripts, a simple window resizer which I don't THINK will affect anything; a script call changes the resolution to what i define in said script call and that's all it does. The switch itself is being changed through yanfly's system option script, which allows for the use of a few custom commands related to switching a single switch on or off. My custom option is simply labeled window size: small | large, so when I select large it turns the switch on which calls the script(through an autorun common event and changes the resolution, but of course turning that switch off doesn't do anything, I'm just hoping to figure out a way to make another script call when turning that same switch off; since i have two options (small and large) and the script has two options (switch x on and switch x off)and  I was hoping someone would have a fancy way to make use of that. I have no ruby know-how to alter any scripts and wasn't planning to, the script turns a switch on or off and I'm trying to work with that unless it can't be done.

    If you tell me I'm on the wrong board again after directing me here, Shaz, I am going to take it personally.

    I'm not sure they were do anything for anyone but the scripts involved:

    Yanfly's system options(including my settings under custom switches):

    Spoiler
    #==============================================================================



    # ▼ 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.

          :switch_3,

        # :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, "Difficulty", "Normal", "Casual",

                         "Help description used for custom switch 1."

                        ],

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

          :switch_2  => [ 2, "Window Size", "Small", "Large",

                         "Help description used for custom switch 2."

                        ],

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

          :switch_3  => [ 3, "Fullscreen", "Off", "On",

                         "Help description used for custom switch 3."

                        ],

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

        } # 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",

                          "Blah"

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



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



     

    and Vlue's simple menu resizer:

    #Basic Window Resizer v1.1 by Vlue

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

    #Features: Allows you to resize the window to whatever size you like! (This is not

    #            like Graphics.resize, this will scale to fit)

    #

    #Usage:   Script calls:

    #           Window_Resize.r(width, height)     - Self-explanatory

    #           Window_Resize.f                    - fits the game window to monitor size

    #           Window_Resize.full                 - switches to full screen unless already fullscreened

    #           Window_Resize.window               - same as full but opposite

    #           Window_Resize.toggle               - toggles between full and window

    #

    #No Customization

    #

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

    #-- Script by: V.M of D.T

    #

    #- Questions or comments can be:

    #    posted on the thread for the script

    #    given by email: sumptuaryspade@live.ca

    #    provided on facebook: http://www.facebook.com/DaimoniousTailsGames

    #

    #--- Free to use in any project, commercial or non-commercial, with credit given

    # - - Though a donation's always a nice way to say thank you~ (I also accept actual thank you's)

     

    SWPO = Win32API.new 'user32', 'SetWindowPos', ['l','i','i','i','i','i','p'], 'i'

    WINX = Win32API.new 'user32', 'FindWindowEx', ['l','l','p','p'], 'i'

    SMET = Win32API.new 'user32', 'GetSystemMetrics', ['i'], 'i'

     

    module Window_Resize

      def self.r(width, height)

        resw = SMET.call(0)

        resh = SMET.call(1)

        window_loc = WINX.call(0,0,"RGSS Player",0)

        width += (SMET.call(5) + SMET.call(45)) * 2

        height += (SMET.call(6) + SMET.call(45)) * 2 + SMET.call(4)

        x = (resw - width) / 2; y = (resh - height) / 2

        y = 0 if y < 0;x = 0 if x < 0

        SWPO.call(window_loc,0,x,y,width,height,0)

      end

      def self.f

        resw = SMET.call(0)

        resh = SMET.call(1)

        window_loc = WINX.call(0,0,"RGSS Player",0)

        SWPO.call(window_loc,0,0,0,resw,resh,0)

      end

      def self.full

        resw = SMET.call(0)

        return unless resw > 640

        toggle

      end

      def self.window

        resw = SMET.call(0)

        return unless resw <= 640

        toggle

      end

      def self.toggle

        keybd = Win32API.new 'user32.dll', 'keybd_event', ['i', 'i', 'l', 'l'], 'v'

        keybd.call 0xA4, 0, 0, 0

        keybd.call 13, 0, 0, 0

        keybd.call 13, 0, 2, 0

        keybd.call 0xA4, 0, 2, 0

      end

    end
  5. :) Since I told you to post here, thinking you were after an evented solution, I wouldn't go and say you're on the wrong board again. I'd just move it for you ;)


    And I think I will do this, since I really think keeping it all in the script is a better solution to using one script to change a switch, and then a common event to call the script to resize the screen based on the switch's value.


    When you use scripts, can you just provide a link to the original source of the script rather than actually copying/pasting the script into your post? Preferably a blog article or forum post where the script is introduced, as they often have more information from the scripter as well as discussions that might help solve your issue. If you could edit your post and replace the inserted scripts with links, that'd be great.


    Moving to RGSSx Script Support
  6. Shaz said:
    :) Since I told you to post here, thinking you were after an evented solution, I wouldn't go and say you're on the wrong board again. I'd just move it for you ;)

    And I think I will do this, since I really think keeping it all in the script is a better solution to using one script to change a switch, and then a common event to call the script to resize the screen based on the switch's value.

    When you use scripts, can you just provide a link to the original source of the script rather than actually copying/pasting the script into your post? Preferably a blog article or forum post where the script is introduced, as they often have more information from the scripter as well as discussions that might help solve your issue. If you could edit your post and replace the inserted scripts with links, that'd be great.

    Moving to RGSSx Script Support
    You DO have something against me..!!
  7. :) Nah, I was very nice!
  8. Bloodmorphed said:
    Not too sure you want to do this but this might work?

    case $game_variables[100] #use this for your re-sizing the resolution when 0  Graphics.resize_screen(544, 416) #default size when 1  Graphics.resize_screen(640, 480) #max sizeendKeep in mind I don't know if this will work, I'm not near the editor to test. 
    I think I see your premise, but I don't know how to implement that in yanfly's script.. and I'm using another script for more exotic resolutions that requires a script call rather than just using a base system command; what I'd like is that, but preferably through a switch where: if off run script call 1, if on run script call 2. Do you have any idea how to write something like that?