About this mod
Hide, rename and reorder any of the unlimited mod configuration menus you can have with this manager.
- Requirements
- Permissions and credits
-
Translations
- Russian
- Portuguese
- Mandarin
- French
- Changelogs
- Donations
MenuMaid2 manages the mod configuration menu display. The display of mods is as similar as possible to the original one. If the number of mods displayed (hidden menus are not counted) is less than or equal to the specified maximum value of mods per page, the appearance of the list will not change. If the number of mods per page exceeds this number, there will be "Next Page" and "Previous Page" buttons to navigate through the mods divided into pages.
- unlimited MCMs (you are only limited by the amount of your ram),
- hiding MCMs,
- renaming MCMs (blank disables this functionality, reverting to the original name),
- changing the order of MCMs ,
- remote MCMs registration,
- ability to set the number of mods per page (10-125),
- Menu Maid 2 mcm name change (from 2.0.0)
- automatic detection and registration of missing MCMs (from 2.0.0)
- persist settings across game saves (from 2.0.0)
- build-in support for installing in existing game (from 2.0.0)
- ability to start in dismiss mode (from 2.0.0)
- localization support, automatically loads and use MCM name translations.
- automatically saves all settings to an INI file and uses them, both for a new game and for menu registration, settings path: "SKSE\Plugins\MenuMaid2.ini"
- all logic and data is in SKSE plugin, no scripts are used to manage MCMs,
- intuitive MCM to change settings,
- ability to completely disable and enable this mod in MCM,
- it does not use Trampoline, so it does not count towards the plugin limit.
Its structure is as follows (change [Untranslated Menu Name] to something like $CCOR_CompleteCrafting):
[General]
iMaxConfigsPerPage = Numer from 10 to 125
[Visible]
b[Untranslated Menu Name] = true or false
[Rename]
s[Untranslated Menu Name] = New name
[Reorder]
i[Untranslated Menu Name] = Numer from 0 to 99
[Maintenance]
bDebug = true or false
Settings location: "SKSE\Plugins\MenuMaid2.ini".
Available for AE, SE and VR but only SE version was tested, AE and VR versions not.
Incompatible with mods that change the SKI_ConfigManager.pex file.
SkyUI Resort
This mod has support for unlimited MCM, so there is no need to use SkyUI Resort.
MCM Recorder
Works out of the box. Remember to enter "Dismiss" mode if you record or playback settings with MCM Recorder.
FAQ:
Installing, updating and uninstalling?
Whenever.
Is it compatible with mods that reskin the MCM Menu like Dear Diary?
Yes (Nordic UI in ss).
Can you add XYZ?
I would be happy to take suggestions for new features. Since this is my first SKSE plugin I can't promise to make them.
I don't see the XYZ mod configuration menu!
Detection of configuration menus is now automatic and you don't have to do anything.
But if you have trouble with this, here is instruction:Spoiler:ShowFor various reasons, when registering mods, some script may delay the registration of the mod. To hasten/refresh it, you can use the "Refresh MCMs" button in the Maintenance tab, which will restart the mod registration. The second, way is to save the game and load it (this method always works!).
I found a bug!
To report bug, please:Spoiler:Show
- Create a report using the "BUGS" tab on this mod's page.
- Describe the next steps I need to take to reproduce the bug (this means you must know how to reproduce the error and be able to reproduce it yourself).
- Before reproducing the bug, enable "Debug Mode" on the Maintenance tab.
- Before reproducing the bug, enable logging by changing the Skyrim.ini file:
[Papyrus].
bEnableLogging=1- Reproduce the bug.
- Attach the files to the report:
"[PATH TO MY DOCUMENTS]\My Games\Skyrim Special Edition\SKSE\MenuMaid2.log",
"[PATH TO MY DOCUMENTS]\My Games\Skyrim Special Edition\Logs\Script\Papyrus.0.log".
Is it possible to make this mod compatible with another mod that modifies the SKI_ConfigManager.pex file?
Yes, you only need to change 4 functions (RegisterMod, UnregisterMod, OnMenuOpen, OnModSelect) as in the listings below.Spoiler:ShowMenuMaid2 script for compilationSpoiler:Show
ScriptName MenuMaid2 extends Quest Hidden
Bool Function Hired() Global Native
Bool Function RegisterMod(Form a_menu, String a_modName) Global Native
Int Function UnregisterMod(Form a_menu) Global Native
Function MenuOpen() Global Native
Form Function ModSelect(Int id) Global Native
RegisterModSpoiler:Show
Int function RegisterMod(SKI_ConfigBase a_menu, String a_modName)
self.GotoState("BUSY")
if MenuMaid2.Hired()
If !MenuMaid2.RegisterMod(a_menu as Form, a_modName)
GotoState("")
return -1
EndIf
EndIf
if _configCount >= 128
self.GotoState("")
return -1
endIf
Int i = 0
while i < _modConfigs.length
if _modConfigs[i] == a_menu
self.GotoState("")
return i
endIf
i += 1
endWhile
Int configID = self.NextID()
if configID == -1
self.GotoState("")
return -1
endIf
_modConfigs[configID] = a_menu
_modNames[configID] = a_modName
_configCount += 1
_addCounter += 1
self.GotoState("")
return configID
endFunction
UnregisterModSpoiler:Show
Int function UnregisterMod(SKI_ConfigBase a_menu)
self.GotoState("BUSY")
If MenuMaid2.Hired()
Int i = MenuMaid2.UnregisterMod(a_menu as Form)
GotoState("")
return i
EndIf
Int i = 0
while i < _modConfigs.length
if _modConfigs[i] == a_menu
_modConfigs[i] = none
_modNames[i] = ""
_configCount -= 1
self.GotoState("")
return i
endIf
i += 1
endWhile
self.GotoState("")
return -1
endFunction
OnMenuOpenSpoiler:Show
function OnMenuOpen(String a_menuName)
self.GotoState("BUSY")
_activeConfig = none
if MenuMaid2.Hired()
MenuMaid2.MenuOpen();
return
EndIf
ui.InvokeStringA(self.JOURNAL_MENU, self.MENU_ROOT + ".setModNames", _modNames)
endFunction
OnModSelectSpoiler:Show
function OnModSelect(String a_eventName, String a_strArg, Float a_numArg, Form a_sender)
If MenuMaid2.Hired()
if (_activeConfig)
_activeConfig.CloseConfig()
endIf
_activeConfig = MenuMaid2.ModSelect(a_numArg as Int) as SKI_ConfigBase
if (_activeConfig)
_activeConfig.OpenConfig()
EndIf
return
EndIf
Int configIndex = a_numArg as Int
if configIndex > -1
if _activeConfig
_activeConfig.CloseConfig()
endIf
_activeConfig = _modConfigs[configIndex]
_activeConfig.OpenConfig()
endIf
ui.InvokeBool(self.JOURNAL_MENU, self.MENU_ROOT + ".unlock", true)
endFunction
LE|SE Improved Alternate Conversation Camera LE|SE Configurable Bribery LE|SE Spell Organizer
LE|SE Menu Maid 2 - MCM manager LE|SE Custom HUD Presets
LE|SE Waterview in Skyrim - Plants LE|SE More plants and recipes
LE|SE Animated Eating Redux LE|SE Atlas Map Markers LE|SE Apocalypse LE|SE AGO
LE|SE Animated Wings Ultimate LE|SE Better FaceLight LE|SE BFL Redux LE|SE AllGUD
LE|SE Armor and Clothing Extension LE|SE Better Hunters LE|SE BlockSteal LE|SE BHUNP
LE|SE Cathedral Weathers MCM LE|SE CBBE 3BA (3BBB) LE|SE Bounty Gold LE|SE CACO
LE|SE Combat Difficulty Customizer LE|SE Conditional Idles LE|SE Clockwork LE|SE CCOR
LE|SE Conditional Expressions LE|SE Customizable Camera LE|SE Deadly Dragons LE|SE CGO
LE|SE Destructible Display Cases LE|SE Dual Wield Parrying LE|SE Deadly Wenches LE|SE Draw 2
LE|SE Dynamic Things Alternative BOS LE|SE Extended Encounters LE|SE Dirt and Blood LE|SE GIST
LE|SE Enhanced Blood Textures LE|SE Farmhouse Chimneys LE|SE Easy Wheelmenu LE|SE Growl
LE|SE Fine-Tuned Challenge LE|SE Forgotten Wenches LE|SE Exhaustion LE|SE iEquip
LE|SE Frozen Electrocuted Combustion LE|SE Hateful Wenches LE|SE Extended UI LE|SE IHarvest
LE|SE Immersive Amazing Follower Tweaks LE|SE Immersive Armors LE|SE Go to bed LE|SE iNeed
LE|SE Immersive Interactions LE|SE Immersive Wenches LE|SE Honed Metal LE|SE Missives
LE|SE Immersive Spell Learning LE|SE iNeed Continued LE|SE Immersive HUD LE|SE moreHUD
LE|SE Immersive World Encounters LE|SE Inpa Sekiro Combat LE|SE Imperious LE|SE OBIS
LE|SE Knockout and Surrender LE|SE JS Emissive Eyes LE|SE Morning Fogs XX|SE Ostim
LE|SE Lanterns Of Skyrim II LE|SE Judgment Wenches LE|SE Ordinator LE|SE PACE
LE|SE Legacy of the Dragonborn LE|SE Party Damage Control LE|SE Quick Light LE|SE R.A.S.S.
LE|SE Less Intrusive HUD II LE|SE Predator Vision LE|SE QuickLoot EE LE|SE RDO
LE|SE Melee Power Knockback LE|SE Realistic Water Two LE|SE Sacrosanct LE|SE Requiem
LE|SE More Interesting Loot Reborn LE|SE Shovels Bury Bodies LE|SE Simple Horse LE|SE Sacrilege
LE|SE Nether's Follower Framework LE|SE Sidequests of Skyrim LE|SE SkyRem - Mia LE|SE Sky Idles
LE|SE Obsidian Weathers and Seasons LE|SE Signature Equipment LE|SE Sleep Tight LE|SE Smilodon
LE|SE Optimal Potion Hotkey LE|SE Skysa Grip Switch LE|SE Sneak Tools LE|SE Sofia
LE|SE Passive Weapon Recharging LE|SE Sleep to Level Up LE|SE SoS Complete LE|SE SSSO
LE|SE Simple Offence Suppression LE|SE Smart NPC Potions LE|SE Spellforge LE|SE TCBM
LE|SE Skyrim Immersive Creatures LE|SE Souls Quick Menu LE|SE Summermyst LE|SE TK Dodge
LE|SE SOT Sleeping Encounters LE|SE Stealth Meter Tweak LE|SE Take A Peek LE|SE Unslaad
LE|SE Stances-Dynamic Animation Sets LE|SE Stendarr Rising LE|SE TK HitStop LE|SE VIGILANT
LE|SE The Ultimate Dodge Mod LE|SE Storm Lightning LE|SE Unarmed Hotkey LE|SE VioLens
LE|SE Thieves Guild Requirements LE|SE The Wheels of Lull LE|SE Unlucky Loot LE|SE Wildcat
LE|SE Unlimited Fast Travel LE|SE Timing is Everything LE|SE Vivid Weathers LE|SE Wintersun
LE|SE Wards Functionalities Extended LE|SE Trade and Barter LE|SE Wet and Cold LE|SE Wounds
LE|SE Werewolf Favourite Howls Menu LE|SE Ultimate Combat LE|SE Widget Addon LE|SE XPMSSE
LE|SE Werewolf Transformation Timer LE|SE Ultimate Dragons LE|SE Widget Mod
LE|SE Witcher Style Meditate Waiting LE|SE Unread Books Glow XX|SE Widget Mod SEE
LE|SE Your Choices Matter - DB LE|SE Wonders of Weather LE|SE Wyrmstooth
Dog Followers are Huskies|Random Emotions|Sensual Hagraven ESPFE|Ambriel Custom Delayed Start
More Plantable Plants for Creation Club|Slip Off Slopes MCM
Followers Cristina|Bridget -Orphan Girl-|Bridget|Ersilia|Fredrika|Hana|Ina|Miqo'te|Horora
NPC Replacers SeraNya
Clothes GZ Onepiece 4
Tweaks Fullscreen Book and Item Zoom|Bethesda.net Mods Manager Menu Disable|Skyrim Always Active
Delay The Forsworn Conspiracy|Falskaar - Addons and Patches - Fast Travel fix|SPID for Footprints fix
No NPC names in subtitles
Tools ESPFE Follower - Eslify facegen and voices
Hope my mods made your game more enjoyable and less cumbersome to configure.
If you appreciate my work please give me Kudos and Endorse my mods. For me, they are a source of motivation to work.
Paypal or Ko-fi donation is also a good way to say thank you. You can be my Patron on Patreon.