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
SpoilerFor 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
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.
本贴来自国际rpgmaker官方论坛作者:Solistra处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:
https://forums.rpgmakerweb.com/threads/ses-switches-and-variables-access-by-name-and-more.15441/