 |
Zombie Settings using the Mod Configuration Menu |
Many have asked for it and I've had it on my list for awhile. I'm very happy to announce
Mod Configuration Menu (MCM) support for Zombie Walkers as of version 2.6.
What is is?
For those that may not be aware, the Mod Configuration Menu is a a mod itself that provides a configuration framework for other mods that includes a "MOD CONFIG" option in the main menu of the game. Once that option is selected, a view similar to the screenshot above appears with left navigation options for each installed mod with MCM support.
Requirements
You must download and install the MCM mod and all of its requirements including the
Fallout 4 Script Extender (F4SE). F4SE allows mods access to functions not normally available and exposed by the developers (for whatever reason) and is used by MCM internally.
As a result of the F4SE requirement, MCM is only available on PC.
Mod Integration
Even though MCM is only available on PC, I was able to allow Zombie Walkers to be configured by it without making my mod PC only. This is thanks entirely to how easy and loosely coupled MCM is to integrate with.
Basically, you need to create a JSON file in a specific directory. Inside this file you add configuration pages and fields that essentially set the same Global Variables your mod may already be setting via holotape. There are more advanced options that I didn't use like allowing for mod specific ini files and callback functions to be called as options are changed by MCM.
Here's a snippet of the JSON that shows the "Max Effective Level" settings:
{
"text": "Max Effective Level",
"type": "slider",
"help": "-1 is Unlimited. Doesn't set actual level but caps calculated stats like health, damage, etc.",
"valueOptions": {
"min": -1,
"max": 50,
"step": 1,
"sourceType": "GlobalValue",
"sourceForm": "
walkers.esp|9884"
}
}
The bit in
bold above is the key in that it implies the
IsPluginInstalled and
GetFormFromFile functions (or similar) are being used which is how you can access forms from other mods without actually requiring or directly linking to them. In the case of this example, the form type is also specified so that MCM knows to cast to a GlobalValue and set it accordingly.
Manual Installation
The Nexus version of Zombie Walkers already contains the necessary JSON files as part of the zip and will extract them to the proper location. I recommend this option as it is the easiest.
If you install Zombie Walkers via the in game mods menu (bethesda.net), then you won't get MCM support for free. This is because I'm not sure how or even if you can include the files. Follow the manual instruction steps below:
2. Extract the zip manually on your PC
3. Move the files under the MCM folder to your Fallout 4 Data directory (eg. "C:\Program Files (x86)\Steam\steamapps\common\Fallout 4\Data")
Supporting Config Changes
I did run across a couple of nuances between my holotape configuration pattern and MCM. MCM exposes the raw value of global variables on things like sliders where my holotape menus were able to map values to text labels. Many Zombie Walkers global variables have 0 - 100 style settings and a -1 value with special meaning.
For example, the screenshot at the top of this blog shows Max Effective Level of -1 with a comment at the bottom when you hover stating "-1 is Unlimited...". On the holotape, I was able to clearly label "Unlimited" as the text label for -1 and show numbers for the other options.
 |
Max Effective Level configuration via Zombie Walkers holotape. |
This may seem like bad, but it is likely due to how I am overloading a single global variable with what could be two separate configurations: and unlimited checkbox (or switcher as MCM calls it) and a max effective level integer which is only used if unlimited is false (or off). MCM has the ability to conditionally hide options so it should be possible to clean this up in the future.
Another interesting tidbit is that MCM makes it very easy to allow a wide range of values, so I've allowed % style configurations to use 0-100 while the holotape may only have 0, 25, 50, 75, 100 options. As a result, you can see options actually fall off the holotape if a value is selected in MCM that is not accounted for on the holotape. I'm not going to worry about this one though as I believe the use of MCM will make the holotape obsolete anyway and updating the holotape to include more options is tedious and time consuming (which is why the options are already limited).
What's next?
In the short term I plan to support and test the new configuration options for human replacements (type and faction overrides) that were introduced alongside the MCM update. I've actually began playing my mod again and every time I do I seem to walk away with some minor tweaks I want to make to get the experience like I want it (hardcore zombie apocalypse survival). I may blog a little about my play-through and what other mods I'm using to supplement the experience, we'll see.
3 comments: