Jump to content

Mod to Apply Set MCM Settings


MatteCrystal

Recommended Posts

I'm already aware that little to no support for loading default MCM Values/Options because many are hard coded into the scripts. However, Would it be possible to make a mod that does not apply a default MCM settings but instead has an option export and import settings.

 

For Example Lets say I start a new game. Wait for all the MCM options and features to load. Then Set all my desired settings. Then I go export these custom default settings which (I don't mod so I don't know for sure if this can be done) would not take the values hard coded into the mod scripts but from the MCM Menu current settings directly.

 

Then There would be an import button that imports the last (or maybe has a list to allow multiple different file imports). The way this works would be you create a new save. wait for mods and mcm to fully load. Activate any mcm mods that require you to hit install first. And then at this point the player would hit import to set all the default settings for MCM menus. Ideally This Tool Would be smart enough to recognize and display a warning message if settings for mcm mod menu item or mcm mod itself does not exist. This way if you disable a mod or if a mod has and update that removes fields or adds fields it wont cause issues.

 

Is this sort of mod possible and if so does anyone want to make it? It would be unbelievably helpful for people who have tons of mcm mods and make new games with new mods often.

Link to comment
Share on other sites

Original Skyrim had a couple additional script extenders that further extended SKSE's capabilities and allowed the ability to read and write information from a text file. Several authors (myself included on at least one mod) utilized these to allow users to save their current settings for the mod so that they could reload those settings on the next character run.

 

However, it is not feasible to do this in the manner you suggest. Such a utility would have to be aware of every mod with an MCM and that would mean having every mod with an MCM be a parent master. Sure some mods use global variable records to store the values and those could be obtained with GetFormFromFile but that does not mean that the MCM menu itself would recognize such change. Unless the author codes the MCM to take into account the possibility of values changing outside of the MCM, the MCM may revert whatever values were changed when next it is loaded.

 

tl;dr

No, not possible given modding limitations and the varied means that authors use to store their MCM data.

Link to comment
Share on other sites

Original Skyrim had a couple additional script extenders that further extended SKSE's capabilities and allowed the ability to read and write information from a text file. Several authors (myself included on at least one mod) utilized these to allow users to save their current settings for the mod so that they could reload those settings on the next character run.

 

However, it is not feasible to do this in the manner you suggest. Such a utility would have to be aware of every mod with an MCM and that would mean having every mod with an MCM be a parent master. Sure some mods use global variable records to store the values and those could be obtained with GetFormFromFile but that does not mean that the MCM menu itself would recognize such change. Unless the author codes the MCM to take into account the possibility of values changing outside of the MCM, the MCM may revert whatever values were changed when next it is loaded.

 

tl;dr

No, not possible given modding limitations and the varied means that authors use to store their MCM data.

 

So There's no way to do some sort of simple parse of the actual displayed MCM data? I was thinking something along the lines of how in html/css you could have multiple text boxes and then using css or java script you could select all visible and enabled textboxes and copy their data. In that sense you would have access to the data.

 

Although even if something similar to this is possible i could maybe understand how actually submitting this stored data could be and issue.

 

Which brings me to another idea. This would probably require modification of skyUI itself but would it be possible to modify the MCM code to automatically add a save, load, apply, and configure apply shortcut to the bottom of every MCM entry. The save would work similar to mentioned above where it simply looks at and saves the data displayed to the end user only. The Load would take this data and fill it into it's spot. And finally assuming i'm correct in my idea that submitting of the data could be the issue the configure apply would basically make it so the next button or multiple buttons should be clicked. That way you don't need to tell the tool how to submit or apply the data because it would be the same as the end user.

 

That said I'm sure I'm woefully wrong in my assumptions and my dreams of a quick easy to use MCM are likely never to be reality.

Link to comment
Share on other sites

It might be possible to access displayed data by altering the source code of the MCM, but this isn't really useful, because changing values in an MCM often runs other functions in the script other than just changing a global variable or int / float / bool value. Such as, adding or removing spells from the player / npc's. Starting or stopping quests, or changing some other game setting or .Ini value. So, no it's not really possible to do what you're describing. It's up to the mod author to add FISS saves or loads, or something similar to their MCM's to load settings between saves.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...