- Joined
- May 30, 2015
- Messages
- 816
- Reaction score
- 850
- First Language
- English
- Primarily Uses
Features
Ability to use switches or variables as options
Ability to change resolution (requires restart)
Ability to change fullscreen persistently
Ability to optionally have a help window with text to help explain your options
Ability to change the size position of the options menu and help window
Ability to change the text for "ON" and "OFF" in the options menu
Ability to have switch and variable persistence for specified ones

Resolution and help text options are defined in a json file. By default, it should be located in your data folder, but you can change the filename and location in the parameters. Here is a sample json file to help you that you can use and edit.
Future Updates
* ============================================================================
* Json Help - General
* ============================================================================
* The json file is used to customize extra things for this plugin.
* You can take a look at the sample provided by me to find out how to
* structure it. Take a close look at the names, values and commas. The commas
* are especially important because they can make a json file unusable if
* placed improperly. A comma needs to placed for every entry in a list
* aside from the last one. The last one must not have a comma.
*
* ============================================================================
* Json Help - Variables
* ============================================================================
* A "step" for the variable is the interval that is increased or decreased
* when changing the value.
*
* If a variable option's value is less than the mininimum, greater than the
* maximum or not a multiple of the step value, then it will get reinitialized
* to the minimum.
* ============================================================================
* Json Help - Locks
* ============================================================================
* You can use the json file to lock options. See the example json file.
*
* You will use the symbol (for example, "commandRemember" in the example
* json file). User-defined switches and variables use the same symbol style as
* in the HELP_TEXT section of the example json file.
*
* The "condition" attribute decides whether to lock the option or not.
* You will enter javascript there. If you need to use more than one line,
* I suggest putting a function call in there.
* If the condition evaluates as true, the option will be locked.
*
* "reset" decides whether to change the value of the option after resetting.
* You will enter javascript there. A simple true or false will probably
* suffice.
*
* "resetValue" only applies if the option is set to reset upon locking, so
* don't worry about this if you're not resetting the value. This attribute
* is what the value of the option is changed to upon resetting. In most cases,
* a number, true, or false will suffice.
*
* If you need to use quotes, make sure to escape them. For example, if you
* want to reset the resolution to 816 x 624, you would use
* "\"816 624\""
* as the reset value.
* ============================================================================
* Json Help - Help Text
* ============================================================================
* Use the symbol for the option in the help text section, to set help text.
* Switches will be switch_x with x as the id, variables will be variable_x
* with x as the id.
* You can do this with options from other plugins, too.
*
* For other plugins that add options, you should first ask the plugin author
* what the symbols for the options are. If this is convenient for you, you can
* search for "this.addCommand" (without quotes) In the plugin file. The one(s)
* you are looking for will probably be within the Window_Options class.
*
* For example, if I do that in Yanfly's Keyboard Config file, I'll find this
* in a function in the Window_Options class:
*
* this.addCommand(Yanfly.Param.KeyConfigName, 'keyConfig', true);
*
* So, the symbol is 'keyConfig'
* I will add an entry under HELP_TEXT in the json file using this symbol.
* For example, I would add this:
*
* "keyConfig": "This will allow you to configure the keys",
*
* You're going to do it the same way as the other help text examples, so make
* sure that if its the last entry, it does NOT have a comma at the end,
* otherwise it should.
* ============================================================================
* Switches Parameter Help
* ============================================================================
* Enter switch ids for the parameter Switches. You can include ranges.
* Example:
* 1-4 9 11-13
* Will include the numbers 1, 2, 3, 4, 9, 11, 12, 13
*
* In the options menu, the name you use for these switches will appear.
* ============================================================================
* Persistency Help
* ============================================================================
* Switches and variables made persistent will be the same for every
* playthrough of your game. If whenever a persistent switch/variable is
* changed in one playthrough, it will also be changed in another playthrough,
* including when loading saves.
*
* To reset this and the game options, delete config.rpgsave from the
* save folder. When sending your game to your players, don't send them this
* file, so they don't have your playthrough data and option choices
* affecting their playthrough.
* ============================================================================
* Tips & Tricks
* ============================================================================
* Resolution and fullscreen options require YEP Core Engine.
*
* Any option change meant to persist between all saves (like the always dash
* option) is only saved when you close out of the options menu, which is how
* the default program and most other games in general work.
*
* Make sure that your game's default resolution (whatever the resolution is
* when you haven't set any in-game options is put into the json file somewhere,
* before enabling the resolution option. The sample json are provide already
* includes the default 816 x 624 resolution that occurs in RPG Maker MV
* without any plugins.
*
* If you made a mistake with your options, you can delete the config.rpgsave
* file in the save folder to reset them.
*
* When choosing resolutions, you should generally use a width and height that
* is a multiple of the tile size you are using. Not doing so will result in
* black borders on the sides of the screen while on the map.
*
* If you find that your game is too blurry looking when changing resolution or
* becoming fullscreen, you can try adding
* <style type="text/css"> CANVAS{image-rendering: pixelated;}</style>
* within the html tags of index.html of your project.
*
* Note that depending on which resolution you chose and/or the sizes of the
* sprites, this make the game look quite pixelated. Experiment to choose
* what is best for your game.
*
* When writing help text, you can use \n to do a line break.
*
* To make a window the size of game window, use:
* Graphics.boxWidth for width
* Graphics.boxHeight for height
* You can also use those for calculations.
* ============================================================================
* Terms Of Use
* ============================================================================
* Free to use and modify for commercial and noncommercial games, with credit.
* ============================================================================
* Credits
* ============================================================================
* DreamX
* Thanks to Yanfly for resolution changing snippet from YEP Core Engine.
Script
Json File
Ability to use switches or variables as options
Ability to change resolution (requires restart)
Ability to change fullscreen persistently
Ability to optionally have a help window with text to help explain your options
Ability to change the size position of the options menu and help window
Ability to change the text for "ON" and "OFF" in the options menu
Ability to have switch and variable persistence for specified ones

Resolution and help text options are defined in a json file. By default, it should be located in your data folder, but you can change the filename and location in the parameters. Here is a sample json file to help you that you can use and edit.
Future Updates
- Add image options to help facilitate things like color blind accessibility
* ============================================================================
* Json Help - General
* ============================================================================
* The json file is used to customize extra things for this plugin.
* You can take a look at the sample provided by me to find out how to
* structure it. Take a close look at the names, values and commas. The commas
* are especially important because they can make a json file unusable if
* placed improperly. A comma needs to placed for every entry in a list
* aside from the last one. The last one must not have a comma.
*
* ============================================================================
* Json Help - Variables
* ============================================================================
* A "step" for the variable is the interval that is increased or decreased
* when changing the value.
*
* If a variable option's value is less than the mininimum, greater than the
* maximum or not a multiple of the step value, then it will get reinitialized
* to the minimum.
* ============================================================================
* Json Help - Locks
* ============================================================================
* You can use the json file to lock options. See the example json file.
*
* You will use the symbol (for example, "commandRemember" in the example
* json file). User-defined switches and variables use the same symbol style as
* in the HELP_TEXT section of the example json file.
*
* The "condition" attribute decides whether to lock the option or not.
* You will enter javascript there. If you need to use more than one line,
* I suggest putting a function call in there.
* If the condition evaluates as true, the option will be locked.
*
* "reset" decides whether to change the value of the option after resetting.
* You will enter javascript there. A simple true or false will probably
* suffice.
*
* "resetValue" only applies if the option is set to reset upon locking, so
* don't worry about this if you're not resetting the value. This attribute
* is what the value of the option is changed to upon resetting. In most cases,
* a number, true, or false will suffice.
*
* If you need to use quotes, make sure to escape them. For example, if you
* want to reset the resolution to 816 x 624, you would use
* "\"816 624\""
* as the reset value.
* ============================================================================
* Json Help - Help Text
* ============================================================================
* Use the symbol for the option in the help text section, to set help text.
* Switches will be switch_x with x as the id, variables will be variable_x
* with x as the id.
* You can do this with options from other plugins, too.
*
* For other plugins that add options, you should first ask the plugin author
* what the symbols for the options are. If this is convenient for you, you can
* search for "this.addCommand" (without quotes) In the plugin file. The one(s)
* you are looking for will probably be within the Window_Options class.
*
* For example, if I do that in Yanfly's Keyboard Config file, I'll find this
* in a function in the Window_Options class:
*
* this.addCommand(Yanfly.Param.KeyConfigName, 'keyConfig', true);
*
* So, the symbol is 'keyConfig'
* I will add an entry under HELP_TEXT in the json file using this symbol.
* For example, I would add this:
*
* "keyConfig": "This will allow you to configure the keys",
*
* You're going to do it the same way as the other help text examples, so make
* sure that if its the last entry, it does NOT have a comma at the end,
* otherwise it should.
* ============================================================================
* Switches Parameter Help
* ============================================================================
* Enter switch ids for the parameter Switches. You can include ranges.
* Example:
* 1-4 9 11-13
* Will include the numbers 1, 2, 3, 4, 9, 11, 12, 13
*
* In the options menu, the name you use for these switches will appear.
* ============================================================================
* Persistency Help
* ============================================================================
* Switches and variables made persistent will be the same for every
* playthrough of your game. If whenever a persistent switch/variable is
* changed in one playthrough, it will also be changed in another playthrough,
* including when loading saves.
*
* To reset this and the game options, delete config.rpgsave from the
* save folder. When sending your game to your players, don't send them this
* file, so they don't have your playthrough data and option choices
* affecting their playthrough.
* ============================================================================
* Tips & Tricks
* ============================================================================
* Resolution and fullscreen options require YEP Core Engine.
*
* Any option change meant to persist between all saves (like the always dash
* option) is only saved when you close out of the options menu, which is how
* the default program and most other games in general work.
*
* Make sure that your game's default resolution (whatever the resolution is
* when you haven't set any in-game options is put into the json file somewhere,
* before enabling the resolution option. The sample json are provide already
* includes the default 816 x 624 resolution that occurs in RPG Maker MV
* without any plugins.
*
* If you made a mistake with your options, you can delete the config.rpgsave
* file in the save folder to reset them.
*
* When choosing resolutions, you should generally use a width and height that
* is a multiple of the tile size you are using. Not doing so will result in
* black borders on the sides of the screen while on the map.
*
* If you find that your game is too blurry looking when changing resolution or
* becoming fullscreen, you can try adding
* <style type="text/css"> CANVAS{image-rendering: pixelated;}</style>
* within the html tags of index.html of your project.
*
* Note that depending on which resolution you chose and/or the sizes of the
* sprites, this make the game look quite pixelated. Experiment to choose
* what is best for your game.
*
* When writing help text, you can use \n to do a line break.
*
* To make a window the size of game window, use:
* Graphics.boxWidth for width
* Graphics.boxHeight for height
* You can also use those for calculations.
* ============================================================================
* Terms Of Use
* ============================================================================
* Free to use and modify for commercial and noncommercial games, with credit.
* ============================================================================
* Credits
* ============================================================================
* DreamX
* Thanks to Yanfly for resolution changing snippet from YEP Core Engine.
Script
Json File
Last edited by a moderator: