SES Switches and Variables (Access by name and more)

Solistra

Veteran
Veteran
Joined
Aug 15, 2012
Messages
593
Reaction score
247
Primarily Uses
SES Switches and Variables v1.0
by Solistra
Introduction
This script allows you to access and use switches, variables, and event self-switches in a more flexible manner than that used by RMVX Ace by default. Most notably, you can access these elements by name rather than by numerical index only -- which is particularly useful with event self-switches. This script also allows you to specify default starting values for switches, variables, and event self-switches.

Change Log
  • v1.0 (July 16th, 2013) - Initial release.
Features
  • Access switch, variable, and self-switch values by name rather than ID number.
  • Easily toggle switch and self-switch values.
  • Very extensible and reusable design for scripters.
  • Adds Enumerable functionality to switches, variables, and self-switches (usage of methods such as each_with_index, reduce, and collect).
  • Conforms to common usage of the default classes.
How to Use
Switches, variables, and event self-switches may be accessed normally when using this script if desired. For instance, these are still acceptable:

Code:
$game_switches[5]$game_self_switches[[22, 5, "C"]]
In addition to this, however, any of these elements may be accessed by the names that the user has designated for them in the editor like so:
Code:
$game_switches["Switch name"]$game_variables["Variable name"]$game_self_switches["Map name", "Event name", "A"]
In the case of event self-switches, you may optionally use map and event names or not. The script call $game_self_switches["Map name", 5, "A"] is still perfectly valid to access the "A" switch of event ID 5 on "Map name".

This script also allows you to toggle switch and event self-switch values:
Code:
$game_switches.toggle!("Switch name or ID")$game_self_switches.toggle!("Map name", "Event name", "A")
Advanced Use
For scripters, you may now also add actions to be evaluated whenever an assignment is performed on switches, variables, or event self-switches. Adding an action to be evaluated is simple:


Code:
$game_switches.actions.push('puts "#{index} assigned to #{value}"')
Actions are strings which are evaluated within the context of the instance. For more detailed information, consult the documentation of this script.
Script
This script is available from my Pastebin account here.

Credit and Thanks
  • Solistra
Author's Notes
This script is provided with the Creative Commons By-Attribution Share-Alike Unported 3.0 License. This essentially means that you are free to modify and use this script for both commercial and non-commercial projects as long as I am properly credited for it. Likewise, you may share your modifications to this script as long as credit for the original version is maintained.
 

Raen Andaleio

Veteran
Veteran
Joined
Aug 3, 2014
Messages
109
Reaction score
22
First Language
German
Primarily Uses
Hi,

I'm getting an error.

Line 183: NoMethodError occurred.

Undefined method 'default_action' for #<Game_Switches:0xd393b24>

Happens as soon as I enter a map with an event that checks a switch.
 

Solistra

Veteran
Veteran
Joined
Aug 15, 2012
Messages
593
Reaction score
247
Primarily Uses
This script is exceptionally old to me at this point, and I actually don't even have a copy of Ace at the moment to test it on. However, the error you're encountering was simply an oversight that I never caught before (are you loading a saved game and getting the error? It should never happen when starting from a fresh game).


Anyway, on line 183, simply replace self.default_action with self.class.default_action and it should work just fine.
 

Raen Andaleio

Veteran
Veteran
Joined
Aug 3, 2014
Messages
109
Reaction score
22
First Language
German
Primarily Uses
This script is exceptionally old to me at this point, and I actually don't even have a copy of Ace at the moment to test it on. However, the error you're encountering was simply an oversight that I never caught before (are you loading a saved game and getting the error? It should never happen when starting from a fresh game).

Anyway, on line 183, simply replace self.default_action with self.class.default_action and it should work just fine.
Hm, the error still occurs after I changed the code. You're right, it's a saved game. It indeed doesn't seem to occur in a new game though, so that's ok. Thanks =^,.,^=
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Profile Posts

People3_5 and People3_8 added!

so hopefully tomorrow i get to go home from the hospital i've been here for 5 days already and it's driving me mad. I miss my family like crazy but at least I get to use my own toiletries and my own clothes. My mom is coming to visit soon i can't wait to see her cause i miss her the most. :kaojoy:
Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.

Forum statistics

Threads
105,868
Messages
1,017,078
Members
137,580
Latest member
Snavi
Top