Main Menu
  • Welcome to The RPG Maker Resource Kit.

Extra Self Switches

Started by modern algebra, April 06, 2010, 04:50:20 PM

0 Members and 1 Guest are viewing this topic.

modern algebra

Extra Self Switches
Version: 1.0
Author: modern algebra
Date: April 6, 2010

Version History




  • <Version 1.0> 04.06.2010 - Original Release

Description



This is just a wrapper to make it easy to create and control more than four self switches of an event.

Features


  • An easy way to create and check self switches.
  • Can use the symbols :on and :off for intuitive control

Instructions

To control the value of any special self switch, you can use this command:
    control_self_switch ("key", value)
      key : the object that you want to use to identify the self switch you are altering. For the sake of consistency, probably better to use capital letters ("E", "F"), but can be anything, even numbers (1, 2)
      value : The easiest way is to use the symbols, :on or :off. You can also use true, to turn ON, or false, to turn OFF.

To later check what the value of a self switch is, use the code:
    self_switch ("key")
      key : the identifier for that self-switch. See line 17.

That will evaluate as the expression Self Switch Key == ON. If you want to check if it is OFF, simply use the code:
    !self_switch ("key")

Script



#==============================================================================
#    Extra Self Switches Wrapper
#    Version: 1.0
#    Author: modern algebra (rmrk.net)
#    Date: April 6, 2010
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Description:
#    This is just a simple wrapper for making and checking self switches beyond
#   the default four. They will only be accessible through the script event
#   command and conditional branch Script field, however. They will not be able
#   to be controlled through the Control Self Switch event command, or as page
#   conditions
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Instructions:
#    To control the value of any special self switch, you can use this command:
#      control_self_switch ("key", value)
#        key : the object that you want to use to identify the self switch you
#          are altering. For the sake of consistency, probably better to use
#          capital letters ("E", "F"), but can be anything, even numbers (1, 2)
#        value : The easiest way is to use the symbols, :on or :off. You can
#          also use true, to turn ON, or false, to turn OFF.
#
#    To later check what the value of a self switch is, use the code:
#      self_switch ("key")
#        key : the identifier for that self-switch. See line 17.
#      That will evaluate as the expression Self Switch Key == ON. If you want
#     to check if it is OFF, simply use the code:
#      !self_switch ("key")
#==============================================================================

#==============================================================================
# ** Game Interpreter
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  Summary of Changes:
#    new method - control_self_switch
#==============================================================================

class Game_Interpreter
 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 # * Control Self Switch
 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 def control_self_switch (key, value)
   if value.is_a? (Symbol)
     value = value != :off ? 0 : 1
   elsif value
     value = 0
   end
   @params = [key, value]
   return command_123
 end
 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 # * Check Self-Switch
 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 def self_switch (key)
   return @original_event_id > 0 ? $game_self_switches[[@map_id, @original_event_id, key]] : false
 end
end


Credit




  • modern algebra

Thanks


  • Shiro, for the request

Support



Please post here at RMRK.net for support.

Known Compatibility Issues

I didn't take very much care in choosing unique names because I wanted it to be simple to use. Thus, there could potentially be an issue there, but I don't know of any scripts that use the same method names and I don't think it will likely become an issue.




??????

遠い銀河からのスーパー戦士。
本は、セバスチャンです。
これは強力で、手に負えない。
彼の物理レベルのスキルは驚嘆です。[/b]

hikick10

May be the most useful script I've seen yet!
Ty modern.


:hammer:



:luigi: :m: