Jump to content

1900 Mods Built Part 6: Sanitizing Scripts


gregaaz

314 views

Today's going to be another quick one. I started out by removing SV Mods Menu, which on further analysis didn't appear to be working correctly and which was contributing to papyrus load disproportionate to its benefits. Next, I reviewed the log from yesterday's playthrough and noticed an immediate issue:

 

image.png.5e1026d3e70c7b8fa68fe55db2c167ee.png

 

There's a lot of this, and almost all of it is coming from Immersive Decay. It looks like when the author ported the scripts from the original mod, they retired some functions but didn't remove the properties from the VMAD data in the plugin. Let's take a look at these entries and see if we can sanitize them. As we learned from fixing some previous papyrus issues in the Mod Diary, we'll need to make these change directly to the ID main plugin instead of in a patch, since the runtime tends to forward VMAD information when it builds the database.

 

image.png.16fd9be1c7ef3c579384fe7db7721863.png

 

The mod itself is pretty lightweight. Let's review it and see where these script properties are located. My first guess is the magic effects since these errors are attached to active effects. Here's an example - the script says this...

 

image.png.787e249cc1ad58c455311a655450de8c.png

 

...but the plugin says this:

 

image.png.296863e4544173d1d54b391e11186256.png

 

There's nothing in the script that uses this property "burymenu", so we'll remove it from the record.

 

image.png.af4a65774a627d082365dedd3e324cfc.png

 

Decompose is similar - it only uses five properties, but there are additional props in the VMAD and these are causing errors.

 

image.png.6af372e25c974e995c32da2a1c52c268.png

 

so we'll trim out the excess ones. Despite the huge number of errors, this actually accounts for everything I'm seeing at least in the spam, so these edits should clear the Immersive Decay errors - though they might reveal further problems buried deeper down in the script load. 

 

While we're here, let's also look at a few more items. One thing that I identified is this missing property "divineglobal" - which reveals a problem with a script conflict.

 

image.png.98508170b00cf91d5f8b2792fc84044b.png

 

Here you can see that Sexlab Shrines and Death Consumes All both edit this script. Both make additions, but since SLS is winning the conflict, DCA's changes are getting wiped out. 

 

image.png.cda2f93efcd59749fcd2951cfd2934e3.png

 

Let's create a new script that merges the changes from both.

 

image.png.7d22f5a30c9f4712ff53530dcfa7be25.png

 

Last but not least, we'll recompile this script. Before committing I made a small changed and brought the first level endif down to encompass the SLS changes. This should prevent them from firing when the shrine is blocked by DCA.

 

image.png.82e0fb938958b31fb63ce62c0ca87d77.png

 

image.png.851b5e7a0674b7414e2b62555b41181b.png

 

With that done, let's drag the merged script into our "merged scripts" folder in MO2 so it overwrites both of the native versions.

 

image.png.0ad20115bae6da78af8f98a993305fb6.png

 

I'm not going to tackle more of these bad scripts today but I want to investigate one that I've seen a lot - RSFTMainQuest. It shows up a lot, but preliminary information suggests that this is actually for a follower tweaks mod that I don't use. 

 

image.png.402297fd249a2067eda41df9f931afe4.png

 

The script(s) themselves aren't present in my data folder, so we're going to use a filter by script operation to try and nail down where this is coming from. It isn't my favorite option for addressing these issues (since that script takes forever to run) but it'll help reveal the source of what appears to be a wild dependency that does nothing for my build. Perhaps its a soft dependency type thing, but the amount of garbage its dropping into my papyrus log is really obnoxious... and I want it gone.

 

And here's the strange thing - it is gone, at least from my plugins. All this spam appears to be possibly coming out of a soft dependency in some other script, which is the most frustrating thing to track down if I don't have some kind of clue about the source. This is going to need more research but I'm sure I'll be able to find the offending script eventually.

 

That's it for today - as promised, this one was a short entry. We've still got lots of work ahead of us, but step by step we're unwinding all the issues and making this build progressively more stable and efficient.

4 Comments


Recommended Comments

RSFT, it turns out, is theoretically part of SV Mod Menus, though given the volume of errors I'm pretty sure it wasn't working right. Either way, I've removed it now, so that's one mess thing to worry about. 

Link to comment

So I'm giving Easy NPC a try currently (should be named drudgy NPC though, setting that up right is simply, aye, but also extremely mind-numbing). Anyway it should help, having all NPC's on a common base AI (either basic Skyrim, USSEP or AI Overhaul, depending on what's available) and with the right paths to their assets. Still leaves me with a good chunk of mods that make minor edits (like say Immersive Jewelry, SexLab Stories, Devious Skyrim Encounters, etc.). So before I start another mind-numbing task, pulling all those records into my patchfile one by one ... you happen to know a nifty (xedit) script to simplify that process?
I've tried https://www.nexusmods.com/skyrimspecialedition/mods/52919 but that one seems to spits out one patch per input file, not really helping.

Edited by Talesien
Link to comment
6 hours ago, Talesien said:

So I'm giving Easy NPC a try currently (should be named drudgy NPC though, setting that up right is simply, aye, but also extremely mind-numbing).

 

I've heard a lot of good things about Easy NPC. I don't use it personally but that's mostly because I keep finding new NPC mods that I like, and it's easier for me to just patch in the content I want when that happens rather than rebuilding the whole NPC list from scratch. 

 

6 hours ago, Talesien said:

Anyway it should help, having all NPC's on a common base AI (either basic Skyrim, USSEP or AI Overhaul, depending on what's available)

 

Interesting... what issues do you run into if common AI package loads aren't uniform? Is it just a drag on the system, or do you run into more concrete problems? My default approach is usually to try and preserve some of the variety to get a less uniform/more naturalistic world.

 

6 hours ago, Talesien said:

and with the right paths to their assets.

 

That's definitely critical. I'm glad that folks are starting to recognize again the importance of having properly patched face data rather than relying on the so-called face discoloration fix.

 

6 hours ago, Talesien said:

Still leaves me with a good chunk of mods that make minor edits (like say Immersive Jewelry, SexLab Stories, Devious Skyrim Encounters, etc.). So before I start another mind-numbing task, pulling all those records into my patchfile one by one ... you happen to know a nifty (xedit) script to simplify that process?

 

Not really. There is a 'merged patch' function which I haven't really explored much but that should be able to forward some changes such as faction changes/additions, but for the most part I just patch the records manually. That can be especially important when multiple mods edit the same characteristics and I need to make a contextual decision about which edit makes the more sense (or even take the edits and average them to get a blended result).

 

6 hours ago, Talesien said:

I've tried https://www.nexusmods.com/skyrimspecialedition/mods/52919 but that one seems to spits out one patch per input file, not really helping.

 

Hmm, sounds like a useful tool at face value, but I'd be hesitant to use this without a more clear explanation of what it actually does and how its patch logic works. The large number of outputs shouldn't be too bad since you could ESL flag those patches or even merge them in zEdit after you were done, but still... I don't know if I trust something like this without a clear understanding of how it works.

Link to comment
14 hours ago, gregaaz said:

Interesting... what issues do you run into if common AI package loads aren't uniform? Is it just a drag on the system, or do you run into more concrete problems? My default approach is usually to try and preserve some of the variety to get a less uniform/more naturalistic world.

I simply like/find it easier to have a level base for things, particularly NPC's from which to build on. (I.e. add in all the changes I want/need). It's not really necessary, but I always found it irritating if some NPC's already have changes made to them, while others have not, purely depending on where in the load order that NPC gets added. In theory that can also be achieved by careful juggling ones LO, in practice that might not be so easy. I might not be an actual advantage, but I find it helps me not messing things up (like ending up with guards walking into a wall all the time). ^^

 

14 hours ago, gregaaz said:

That's definitely critical. I'm glad that folks are starting to recognize again the importance of having properly patched face data rather than relying on the so-called face discoloration fix.

That patch is nice for an occasional outlier, but no cure. You usually end up with a correctly colored, but 'Potatoefaced' NPC, I hate those.


Well, I might experiment a little more with that script and see if the output is any good to help simplify things.
As always, thanks for your in depth answer.

Link to comment

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use