I want to see some new settings types added to the core to allow us to hide options and add new option types. Sliders for example.
Longer version:
I've been mucking about with settings.lua, and finding some limitations with it that I'd like to overcome. One issue is too many options, some mods take up 5 pages with their settings and 70% of those settings, you don't even need! I'd like that to change.
We could add something like "hiddenunless = other-option-enabled" to these settings, that allows us to enable hiding of options from the mod settings menu if they aren't needed.
Lets take an example of some code from my own mod that I'm working on but change it up to add this new setting;
Code: Select all
{
type = "bool-setting",
name = "basic-kit-car",
localised_name = "Would you like a vehicle?",
localised_description = "Would you like a vehicle?",
setting_type = "runtime-global",
default_value = False,
order = 3
},
{
type = "string-setting",
name = "basic-kit-car2",
hiddenunless = basic-kit-car
localised_name = "Choose a starting vehicle.",
localised_description = "Each vehicle also comes with a little bit of solid fuel.",
setting_type = "runtime-global",
default_value = "None",
allowed_values = {"None","Car","Tank","Pending"},
order = 5
},
{
type = "bool-setting",
name = "basic-kit-car3",
hiddenunless = basic-kit-car
localised_name = "Generic Name",
localised_description = "Generic Description",
setting_type = "runtime-global",
default_value = False,
order = 6
},
In the example of the Ore Chaos mod, this would enable us to hide useless elements we don't need. In my case I only use one set of options on it, and it adds 4 major chunks of options that take up way too much space. It could cascade each one under the previous option. All defaulting to their values, till the user checkboxes "Do you need more settings?". Imagine how convenient that would be? How much cleaner, it would make the mod settings screens?
I don't know if this will be done though, because I'm not sure if the mod settings screen would be able to run something like this. However there is one more setting I'd like to see for some improved easier altering of integers, doubles, floats, and such.
Code: Select all
{
-- Start with landfill
type = "int-slider-setting",
name = "basic-kit-perfectionist",
localised_name = "Perfectionist",
localised_description = "Are you a man who dislikes water where you don't want it? Did you decide to bring some landfill with you to handle messy water ways?",
setting_type = "runtime-global",
default_value = 0,
maximum_value = 1000,
minimum_value = 0,
order = 6
},
Basically all the types that could use a slider would allow a slider should "slider" be added to the type. Even Boolean could technically support a slider, though wildly un-nessicary because its only two options.
While I was here though, I came to a final thought about possible settings. A multiple choice type. type = "multiplechoice-setting", which would look something like;
Code: Select all
{
type = "multiplechoice-setting",
name = "basic-kit-car",
localised_name = "Pick your vehicle options",
localised_description = "Each vehicle also comes with a little bit of solid fuel.",
setting_type = "runtime-global",
default_values = {1,0,1,0,0},
options_values = {"Car","Tank","5 Fuel","Ammunition","Tank Weapons & Ammo"},
order = 5
},
[hr]
I love settings, they are good to have because it lets players choose the way they wish to play. No one likes to be told how to play the game, they like to play the way they want. Everyone has their own style, and options give us the way to set it the way we like. The current settings screen is flooded though with all the mods I have and many people use lots of mods, some big mods have tons of settings in them. A way to compact those down to simplify it for us a bit, would be great. Giving modders better control over what users see, allowing us to hide advanced options from users who don't want to be confused with advanced settings. Sliders to give users that may not know what they should type in so they can simple pick a number between two points and visually see the min/max value. The last idea, was just a way to compact a few more things. Obviously, these are just suggestions on settings types. Its still up to the modder, to write the control.lua and other scripts around these options to make them all work.
There is, one more thought I have though before I conclude this post. If you want an alternate way to clean up the mod menu screen, I'd suggest adding sub categories that modders can control. So modders who choose to leave the category unspecified will ahve their options default to Main, while a mod like Ore Chaos can specify "Ore Chaos" as a category for all of his options would enable a new tab for his options under the primary tab its associated with. Enjoy this crappy image I made to show what I mean.