Skyrim Special Edition
0 of 0

File information

Last updated

Original upload

Created by

colinswrath

Uploaded by

colinswrath

Virus scan

Safe to use

Tags for this mod

About this mod

Modlist Maintenance is an SKSE plugin geared towards assisting modlist authors perform maintenance updates.

Requirements
Permissions and credits
Changelogs
Modlist Maintenance is an SKSE plugin geared towards assisting modlist authors perform maintenance updates.

Supports 1.5.597->1.6.1170

This mod doesnt do anything by itself. As mentioned, it is meant as a utility for list authors to make use of.


What can this mod do?

  • Inform you with a messagebox when you have installed a save unsafe version of the list on an existing save (and tell you that support is forteit)
  • Notify you that your save is updating/updated to a new version
  • Refresh specified spells on the player on update
  • Restart specified quests on update
  • Refresh specified player perks on update
  • Run arbitrary console commands on update
Note: I am open to adding new features in the future should they be desired enough and/or possible to do.

What wont this mod do?

Modlist Maintenance does NOT function as a spell, perk, keyword, outfit, etc distributor. There are existing mods for this such as KID and SPID. 

This mod does NOT reach out to Wabbajack or Load Order Library to tell users if they have an update available. Use Modlist Update Checker for that.

This mod does NOT replace ConsoleUtilSSE-NG, nor does it expose a papyrus API for console commands like said mod.

"As a modlist author, why would I need this mod?"

"I can just accomplish something similar by making a mod with a quest/global in an esp, papyrus scripts, and scripts utilizing ConsoleUtil"


Well, you just answered your own question. You'd have to make it. Not everyone has the ability to do that (although anyone can learn given time). Even if you do, making a maintenance mod for your list requires time and effort that could be spent elsewhere if this utility satisfies your needs.


Documentation

Fundamentally, the way this mod functions is that it stores the modlist version in the SKSE co-save when you make a save with it installed.

During future updates, it will then look at the last version it has saved and it will use it to determine if update actions need to be performed.

You are responsible for ensuring the values you place into your ini are correct.
I should not have to say this, but please make sure you test to make sure things are functioning as expected before just adding things to the ini and pushing updates blindly.

I've made documentation as robust as I can to help with this. If you have questions feel free to ask.


Included alongside the DLL is an ini file. This ini file includes the settings you need to make use of the plugin.

ini Settings:

[bDebugLogs]
  • Valid values are (1, 0 or true, false)
  • Toggles extra debug logs to help with diagnosing problems

[sModlistName]
  • String representing the name of the modlist. Will be used in notifications and save unsafe messagebox

[bUnsafeOnFirstInstall]
  • Valid values are (1,0 or true, false)
  • Setting this value to true will cause the first installation of this mod (ie. You installed this on a save thats never had it installed before) to treat it as a save unsafe update
  • This setting will take priority over bUpdateOnNewInstall should they both be true.

[bUpdateOnNewInstall]
  • Valid values are (1,0 or true, false)
  • The opposite setting of bUnsafeOnFirstInstall. When this is true the mod will treat the first install as a new save safe update, and will perform any actions specified in the ini.
  • If neither bUpdateOnNewInstall nor bUpdateOnNewInstall  are set to true then the mod will not treat the first install as an update at all.

[sCurrentVersion]
  • Versions must be formatted as MAJOR.MINOR.PATCH 
  • Take care to notice the versions numbers are delimited by "."
  • PLEASE NOTE: This mod assumes you are using semantic versioning as most of the modding community should be doing.
  • This signifies the CURRENT NEWEST VERSION of your modlist. You need update this ini value if you want the mod to be working off of the correct version.

[sLastSaveSafeVersion]
  • Value signifies the last save safe version (in relation to the current version) of your mod.
  • Versions must be formatted as MAJOR.MINOR.PATCH (same as sCurrentVersion)
  • Take care to notice the versions numbers are delimited by "."

Defining Spells, Perks, and Quests to update:

Currently, you can define spells, perks and quests to be refreshed on an update under the [RefreshPlayerOnUpdate] section of the ini. These MUST be under that section or they will not be read.

They should be formatted as follows: TYPE=0xFormID~Filename (ex. Spell = 0x866~Starfrost.esp )

TYPE:
Can be Spell, Perk, or Quest

FormID: 
This part is VERY IMPORTANT. The FormID here must be the "local" formID. Ie, not the full formID but the shorthand ID without any of the load order info.

For example, if you are looking at a FormID from an ESL or an ESL flagged ESP then the local ID of "FE008871" is "871" (omit the first 5 digits)
When looking at a form from a normal ESP or ESM, "18010FDB" is "10FDB" (the first 3 digits are used for load order in an ESP/ESM)
When adding the formID to the ini, please prefix the number with "0x".

Currently, the mod does not have the ability to pull forms by EditorID, but this is something I can add should it be desired.

Filename:
Please pay attention to where the forms are actually from. If an esp is making changes to a form that is originally from Update.esm, then the form is from Update.esm.

Injected forms are treated by the game as being defined within Update.esm. Please take note of that distinction.

Defining Console commands to run on update:

Items placed below the [ConsoleCommands] will be treated as an arbitrary console command to run on update. Surprising I know right?

Simply place the command on the line without quotes like so -> "Command=player.additem f 20000000"

Commands will only be run on save safe updates.

Please keep in mind that the DLL does not syntax check your console command before running it, so if has syntax errors nothing will happen. You can see the normal results of commands when you open the console after an update.


FAQ

Q: Does this mod replace Modlist Update Checker?
A: No, fundamentally these two mods exist for a different purpose. Modlist Update Checker will reach out to Wabbajack or Load Order Library and tell you if there is an available update. Modlist Maintenance cannot do that. Likewise, Modlist Update Checker does not perform the update tasks that Modlist Maintenance does.

Q: Does this mean I can automagically make all my modlist updates save safe?
A: No unfortunately. What this tool is capable of is performing simple form refreshes, running console commands on update, and informing users that they have updated to a save unsafe version.
  翻译: