One of the reasons a mod like this might be useful is by deleting corpses from the game, meaning they no longer have to be stored in your save file, reducing save size and potentially improving stability on longer saves. However, straight-up deleting corpses can interfere with respawns, break quests, and cause other problems, so much so that even the game's native cleanup script for unique actors doesn't delete them, it just hides them in a separate cell. This mod follows that method, essentially just making corpses invisible and non-interactable unless something else cleans them more thoroughly (like the cell resetting), but this means they are still stored in your save.
To be honest, I'm not super sure how save file size works. My best guess is that this mod will do little to reduce save file size or prevent it from increasing, since the Delete function is not actually called--it's mostly intended as a visual thing.
didn't seem to works, i tried with a simple bandit near Whiterun, i killed looted him set the timer to 1h i entered an interior, waited, come back to his body, still here what am i doing wrong ?
I'm afraid I can't do much to diagnose the issue off of this alone--if you enable Papyrus logging and increase the logging level in this mod's MCM, you might be able to get a but more information.
I had time to do some investigating and found some cases where the mod would fail to trigger the cleanup state. I've uploaded a new version--let me know if it works better for you!
It shouldn’t matter—nothing in this mod edits vanilla records, so I wouldn’t expect conflict with any other mod. Let me know if I missed/forgot something, though!
I really want to use your mode... but SSEdit says "[00:00] BodyCleanerAshPileKeyword [KYWD:00000005] [00:00] KYWD -> Warning: internal file FormID is a HITME: 03000005 (should be 00000005 ) [00:00] BodyCleanerPassiveEffect "Simple Body Cleaner Passive Effect" [MGEF:00000003] [00:00] MGEF -> Warning: internal file FormID is a HITME: 03000003 (should be 00000003 ) [00:00] BodyCleanerStartedDeadSpell "Simple Body Cleaner Started Dead Spell" [SPEL:00000001] [00:00] SPEL -> Warning: internal file FormID is a HITME: 03000001 (should be 00000001 ) [00:00] BodyCleanerActivatedSpell "Simple Body Cleaner Activated Spell" [SPEL:00000002] [00:00] SPEL -> Warning: internal file FormID is a HITME: 03000002 (should be 00000002 ) [00:00] BodyCleanerPassiveSpell "Simple Body Cleaner Passive Spell" [SPEL:00000004] [00:00] SPEL -> Warning: internal file FormID is a HITME: 03000004 (should be 00000004 ) [00:00] SPEL \ Effects \ Effect \ EFID - Base Effect -> Found a STAT reference, expected: MGEF [00:00] Done: Checking for Errors, Processed Records: 14, Errors found: 5, Elapsed Time: 00:00" Dose it cause some problem..?
Hmm... Can't say I've seen this error before, for this or any other mod. A quick hunt around says it has to do with the CK stripping non ESM-flagged masters--did you open the mod with CK at all? It might have happened on my end, but I'm confused as to why I wouldn't see the error then. I'll look into it, and for now make sure you have the latest version and all that.
Error checking and QAC with xEdit both come back clean for me, and my inexperience with modding means I don't have a lot of insight into why this could happen to you but not me. The only thing I can really suggest is a reinstall, I'm afraid. Sorry I can't be more help, but if you find any new leads on the issue I'd be happy to pursue them with you!
My Skyrim is also 1.5.97, and this mod doesn't contain a .dll, so I doubt that's the issue. However, do you have Backported Extended ESL Support? I initially forgot to list it in the requirements (my bad, sorry), but it is likely required since I use it and have my xEdit and Creation Kit set up to use it.
I'm unsure why this would happen--do you have MCM Helper installed? You could also try running setstage SKI_ConfigManagerInstance 1in the console, which I know can sometimes resolve missing MCM menus, although my understanding was that MCM Helper should handle this.
I'm not sure what EET is, I'm afraid, but that popup text is listed directly in config.json--it's the result of a direct call to Debug.MessageBox() using MCM Helper's action feature, with the text entered literally into the json. It should be safe to change that text (though I'm unsure what sort of non-English support is included), as long as you don't change the other fields, and doing so shouldn't require a recompile of scripts or anything.
EET is a tool for translation. When I translated it, it didn't read these two paragraphs. Now I directly open config.json and found it. Thank you for your answer ~
Ash piles and ghost remains are not currently affected, nor are non-humans. For me, this is mostly to address bodies in cities (like the famous Dragonborn cultists that never despawn), so that wasn't a priority.
If it seems like people want something more comprehensive, I think it should be fairly easy to add to other actor types, although those that spawn other containers on death rather than simply becoming corpses could be a little trickier.
Agreed. Currently, I do not believe any single mod takes care of all of these at once and it would be nice to have a one-and-done configurable version for it.
Hey TheArtfulBadger, thank you, and congrats for your first mod :-) About the differences between this mod and Dead NPC Body Cleaner Remover, another one is that you remove corpses "after a set amount of time". In Dead NPC Body Remover, as soon as you quit the cell, the bodies will be gone. Even if you come back 2 seconds later. Tell me if I'm wrong, because according to me this difference makes all the difference, from an immersive standpoint.
The author of Dead NPC Body Cleaner Remover answered this to a question on his page: Did you consider making this time based instead of when exiting a cell? It'll probably be a lot of scripting I guess. yes i did. madness lies that way. a lot more records to track and can lead to stuck scripts
So, I will be honest: the original version of this mod straight-up doesn't work due to some misunderstandings I had about script persistence. On further investigation, there seem to be essentially three options:
Clean when exiting a cell, either always or after a set amount of time. This is performant but not immersive, and the approach taken by both my original version and the previous mod (I just added a delay). Depending on how my tests go, this may be the only really viable option (at least to the limits of my abilities), unfortunately.
Clean offscreen, on a timer, always. This is the most immersive, but requires holding every dead NPC in active memory at all times, which introduces some fairly obvious performance issues, and, as the other author identified, is a huge pain in the ass to script (I have a semi-working version like this that I've been testing, but frankly I'm not optimistic about performance and I'm probably gonna scrap it).
Clean when entering a cell, provided the body has been there long enough. This is both performant and immersive, at least in theory, since the body doesn't need to be stored in memory but vanishes when come back. The potential downside, of course, is that NPCs might visibly pop out if they're near a cell border. This shouldn't be a big issue in the wilderness, but could be a problem when entering caves, for example. I'm hoping to test this soon.
Expect a new version of this mod within a few days. Hopefully, I can get the third option working with minimal pop-out, but we'll have to see. Either way, it'll at least introduce support for all actor types and some additional configuration options.
45 comments
what does this means?
or does it just stop it from bloating further?
set the timer to 1h
i entered an interior, waited, come back to his body, still here
what am i doing wrong ?
[00:00] KYWD -> Warning: internal file FormID is a HITME: 03000005 (should be 00000005 )
[00:00] BodyCleanerPassiveEffect "Simple Body Cleaner Passive Effect" [MGEF:00000003]
[00:00] MGEF -> Warning: internal file FormID is a HITME: 03000003 (should be 00000003 )
[00:00] BodyCleanerStartedDeadSpell "Simple Body Cleaner Started Dead Spell" [SPEL:00000001]
[00:00] SPEL -> Warning: internal file FormID is a HITME: 03000001 (should be 00000001 )
[00:00] BodyCleanerActivatedSpell "Simple Body Cleaner Activated Spell" [SPEL:00000002]
[00:00] SPEL -> Warning: internal file FormID is a HITME: 03000002 (should be 00000002 )
[00:00] BodyCleanerPassiveSpell "Simple Body Cleaner Passive Spell" [SPEL:00000004]
[00:00] SPEL -> Warning: internal file FormID is a HITME: 03000004 (should be 00000004 )
[00:00] SPEL \ Effects \ Effect \ EFID - Base Effect -> Found a STAT reference, expected: MGEF
[00:00] Done: Checking for Errors, Processed Records: 14, Errors found: 5, Elapsed Time: 00:00"
Dose it cause some problem..?
I think this is because my skyrim is 1.5.97.
setstage SKI_ConfigManagerInstance 1
in the console, which I know can sometimes resolve missing MCM menus, although my understanding was that MCM Helper should handle this.Ash piles and ghost remains are not currently affected, nor are non-humans. For me, this is mostly to address bodies in cities (like the famous Dragonborn cultists that never despawn), so that wasn't a priority.
If it seems like people want something more comprehensive, I think it should be fairly easy to add to other actor types, although those that spawn other containers on death rather than simply becoming corpses could be a little trickier.
thank you, and congrats for your first mod :-)
About the differences between this mod and Dead NPC Body Cleaner Remover, another one is that you remove corpses "after a set amount of time". In Dead NPC Body Remover, as soon as you quit the cell, the bodies will be gone. Even if you come back 2 seconds later. Tell me if I'm wrong, because according to me this difference makes all the difference, from an immersive standpoint.
The author of Dead NPC Body Cleaner Remover answered this to a question on his page:
Did you consider making this time based instead of when exiting a cell?
It'll probably be a lot of scripting I guess.
yes i did. madness lies that way. a lot more records to track and can lead to stuck scripts
is this solved when using SPID?
Expect a new version of this mod within a few days. Hopefully, I can get the third option working with minimal pop-out, but we'll have to see. Either way, it'll at least introduce support for all actor types and some additional configuration options.