- Joined
- Nov 23, 2014
- Messages
- 14
- Reaction score
- 29
- First Language
- Italian
- Primarily Uses
Settings Menu
v1.1, by Holy87
Features
This Settings Menu is different from the others, because it comes with no options, but it is full-modular and full-customizable both from the user and the other scripters, in the easiest way possible.
Users can create game options from variables, switches and lunatic modes (code scirpt)
Scripters can integrate their script in this settings menu to implement custom options (battle system options, internet options, etc...)
What options you can make?
- ON/OFF options for switches
- Variables, to make options with multiple states (switching with left and right buttons)
- Variables selected by popups, when the states are too much to show all in a single line
- Variables selected by gauges, that also include switches if press ENTER
- Separators, to separate settings categories
- Game Switches and Variables
- Universal data stored in $game_settings class (see my support module)
- script for lunatic mode
- Custom popup windows and effects
How to Use
Adding options to the list is simple, and you can do it in the script configuration or from methods. All you have to do is to insert hash with datas in the ELEMENTS array, in the configuration section of the script. Let's see some examples.
To add separators
{:type => :separator, :text => "This is a separator"}To add switch options
{:type => :switch, :text => "Option name", :sw => 10,
To add a variable option
{:type => :variable, :text => "Option name", :var => 2, :max => 5, :help => "Change the option value"}where :var is the variable ID and :max the max value. So we have an option where we can select 0,1,2,3,4 or 5.
What if we want custom values?
You can use this code
{:type => :variable, :text => "Difficulty", :var => 5,:help => "Set up the game difficulty.",:values => ["Easy", "Normal", "Hard", "Extreme"] }Where values are all the values showed. If there are too many values to show in a single line, you can add another attribute :use_popu => true to force to show popup. Then, pressing the action button, the values are shown like this:
Lunatic settings
Global options: If you set a switch ID or variable not like an integer number, but as
You can enable or disable the options in 2 ways:
- $game_system.option_enable(tag, true/false) enables or disables the game option, using this code in a call script or other scripts.
- The <tag> parameter is the option tag defined in the option configuration
tag =>
ption_name) using :condition => "condition" in the option configuration. For example, :condition => "$game_switches[55] == true" will allow the option only if the switch 55 is true
{:type => :advanced, method => :change_scene}Then you may define the change_scene method in the Option class:
Code:
class Option def change_scene SceneManager.call(My_Scene) endend
For 3rd party scripters
It is useful to scripters to add game options to proper scripts directly in this
- Generic, the same part defined by the user (as no category)
- Appearance, like themes and wallpapers
- Audio, for music and sounds
- Game, for game options like battle speed and difficulty level
- Graphic, like screen resolution and special effects
- Commands, for game controls
- System, for techincal configurations
- Internet, for the online functionalities
To add an option in those categories, for every option you may pass the hash (defined like the previous options) in the respective methods:
if $imported["H87_Options"]
to check if the script exists in the project, then use:
Code:
H87Options.push_system_option(hash)H87Options.push_generic_option(hash)H87Options.push_game_option(hash)H87Options.push_graphic_option(hash)H87Options.push_sound_option(hash)H87Options.push_appearance_option(hash)H87Options.push_keys_option(hash)H87Options.push_internet_option(hash)
Download
Core script: Download from Github or my blog.
Windowskin plugin: Coming soon
Audio plugin: Coming soon
Difficulty plugin: Coming soon
FAQ
Q: Can I use this script for my commercial project?
A: Yes, you can. all my scripts are distributed under CC-BY license. You just have to credit me.
Q: What if I find some bugs?
A: You can post a request here or, if you have also the fix, pull a commit on github and I will add it into the main branch.
Q: What if I make a plugin for this script?
A: You can post it in this topic and I will add it into the first post and in my blog.
Last edited by a moderator:


