Jump to content

[LE] Perma corpse


greyday01

Recommended Posts

Hmmm. Disabling that would lead to disaster. Maybe you could add a horse mod they have starter storage. Or possibly a nice house mod.

My Enchanted Ship in a Bottle mod would work perfect for this as it is not really game intrusive and has mass storage.

 

Also you carry that house mod with you in your backpack so it is always available. I in fact created this mod just for that.

Edited by NexusComa2
Link to comment
Share on other sites

I wanted a corpse outside a dungeon and I want it to stay there even if the player has been to that area and gone away again. Don't know if it is possible or if so how to set the body up. Just that corpse. Not any others.

If you just want a mod, this may be of interest to you.

 

Collect Unique Corpses

 

"It allows you to pick and store corpses, dress them up and bury them (including ash piles).

You can choose to have the dropped corpses to be unique, this way, you can revive them and turn them into followers that will never disappear or randomly change appearance."

 

https://www.nexusmods.com/skyrimspecialedition/mods/19424

Link to comment
Share on other sites

Well you could make a container in the creation kit and use the corps mesh ... place it wherever you want and save/add the mod to your game.

I wouldn't know how to find the mesh of a NPC to use as the mesh of a container.

 

Would this work? Set the NPC to not be unique and set it to respawn. It wouldn't be safe storage but if you added the book you wanted it to hold it would always be outside the door.

Link to comment
Share on other sites

In Oblivion there was one particular corpse in a house that never disappeared and was safe storage.

That might be the case, as that interior never resets? So the corpse never gets cleared fromt he game.

 

 

I honestly had very weird cases in Oblivion where persistent actors are also partially removed.

Well... Not physically removed, but if you wait 3 days to force cell reset, they turn out invisible.

I came across this issue, as of having some quests that include corpses:

 

If you NEVER EVER entered the cell of where these corpses are, you are fine and the quest can enable these corpses and they will be visible.

 

BUT, if you entered that cell, 3 days pass ingame and then come back to this cell with the proper quest progress, you'll find these corpses invisible, even if they are persistent references, and get called with the "Enable"-function in the script.

 

I found a way to trick the engine, by calling "Resurrect" on the corspes, while they are disabled, let a few frames pass to ease the engine, then enable them, let another few frames pass to ease the engine and use the "Kill" command.

As even if they have "0" health in their actor properties, they will be standing around as of that how "Resurrect" works. So you need to use the "kill" command.

The whole process will also move them away from their editor location, but luckily Skyrim's Papyrus has a nice function to ensure the corpse will be set back to the editor location: MoveToMyEditorLocation

 

Here is the respective quest progress script from Oblivion, which surely is NOT to be used in Skyrim's papyrus, but maybe it works here in a different way.

Creation Engine is simply a overhauled Gamebryo engine. :wink:

 

 

Begin GameMode
    if GetDistance Player < 4000
        if ( EnableOnce < 18 )
        if ( EnableOnce == 0 )
            if ( GetStage MQ08 > 9 )
                if Event03T01aRef.GetDisabled
                    Event03T01Ref.Disable
                    Event03T01aRef.Enable    
    
                    Event03T02Ref.Disable    
                    Event03T02aRef.Enable
                    Event03T02aRef.DisableLinkedPathPoints

                    Event03T03Ref.Enable

                    LauraRef.Disable
                    LauraTotRef.Resurrect
                    LauraTotBlutRef.Enable

                    JahrmarktTaenzerinRef.Disable
                    JahrmarktTaenzerinTotRef.Resurrect
                    JahrmarktTaenzerinTotBlutRef.Enable

                    GauklerJahrmarktRef.Disable
                    GauklerJahrmarktTotRef.Resurrect
                    GauklerJahrmarktTotBlutRef.Enable

                    JeeleRef.Disable
                    JeeleTotRef.Resurrect
                    JeeleTotBlutRef.Enable

                    BardeJahrmarktRef.Disable
                    BardeJahrmarktTotRef.Resurrect
                    ;NQ14NotizenGaukler01Ref.Disable => Useless as already performed in
                    ;NQ14NotizenGaukle02Ref.Enable    => NQ 14 quest stage 5.

                    JahrmarktWacheRef.Disable
                    SadJahrmarktWacheTotRef.Resurrect
                endif
                Set EnableOnce to 1
            endif
        elseif ( EnableOnce == 17 )            ;=> As always, dead references that are disabled,
            LauraTotRef.Kill                ;=> may appear invisible if simply re-enabled.        
            JahrmarktTaenzerinTotRef.Kill    ;=> So we must confuse the engine with this
            JeeleTotRef.Kill                ;=> weird procedure to ensure the corpses always    
            GauklerJahrmarktTotRef.Kill        ;=> appear and are visible.
            BardeJahrmarktTotRef.Kill
            SadJahrmarktWacheTotRef.Kill
            LauraTotRef.PositionWorld -12905.3984, 21332.4473, 3965.4275, -1.0830, NehrimWorldspace    
            JahrmarktTaenzerinTotRef.PositionWorld -12753.6143, 21566.6953, 3907.1047, 2.5995, NehrimWorldspace
            JeeleTotRef.PositionWorld -12780.6143, 21852.4258, 3948.6223, -2.5995, NehrimWorldspace    
            GauklerJahrmarktTotRef.PositionWorld -12329.9932, 21596.3457, 3936.1838, 0.7999, NehrimWorldspace        
            BardeJahrmarktTotRef.PositionWorld -12327.5010, 20665.8066, 3946.8286, -2.7827, NehrimWorldspace
            SadJahrmarktWacheTotRef.PositionWorld -13035.7695, 21724.3828, 3907.6960, 0.0175, NehrimWorldspace
            Let EnableOnce := 18            
        elseif ( EnableOnce > 6 )
            Let EnableOnce += 1        
        elseif ( EnableOnce == 6 )
            LauraTotRef.Enable
            JahrmarktTaenzerinTotRef.Enable
            JeeleTotRef.Enable
            GauklerJahrmarktTotRef.Enable
            BardeJahrmarktTotRef.Enable
            SadJahrmarktWacheTotRef.Enable
            Let EnableOnce := 7
        elseif ( EnableOnce > 0 )
            Let EnableOnce += 1
        endif
        endif
    endif
End

 

 

 

As you can see, I use "PositionWorld" to move the corpses into position again, but they will never look that nicely placed as with their default editor location.

Unfortunately Oblivion doesn't have such a script function to use the Editor Location. :sad:

 

But this ensures that disabled corpses, which are re-enabled are visible for the specific process.

Even though after 3 days, they will be reset again.

 

 

You can even test that out in Oblivion at least.

Let's say we have a persistent reference of a dead actor, which is called "ThisGuyRef".

Begin GameMode
   if ThisGuyRef.GetDisabled
        ;=> Will enter here, as long as the dead body is disabled.
printc "Is disabled"
  else
printc "Is NOT disabled"
        if ThisGuyRef.IsRefDeleted ;=> THIS IS AN OBSE FUNCTION!
printc "Is enabled but will be invisible"
                    ;=> This will only run, if the corpse got affected by a cell reset (it is invisible, but enabled)
       endif
  endif
End

So Oblivion gives the deletion flag also onto persistent references of actors that are dead, upon cell reset.

Even though that flag won't work as the actor is a persistent reference. Instead it will simply be invisble. XD

 

Yet, I am not sure how Skyrim exactly behaves in this case and if this workaround fixes the issue to have no invisible corpses that use the persistent flag.

Link to comment
Share on other sites

Nice.

I wonder if there is a similar constellation regarding for Oblivion.

The flags in the render window are vastly different there though. You can only set up a persistent reference and make it initially disabled, but there is no "spawn dead" thing. As you need to set the actors HP to 0 for them to spawn dead. ^^

 

But I guess allowing the dead body to respawn might do the trick.

 

After all it would be nice to throw away that dumb workaround, I'll check if I can get similar results there.

 

Thanks for bringing this up. :smile:

Link to comment
Share on other sites

So, I just got home and checked it.

I am using Nehrim not Oblivion, but the engine is the same so it shouldn't differ.

 

I've found 2 references of dead actors that do NOT despawn.

 

1.) An ill sheep, which only has the "Respawn", "No low level processing" and "Can corpse check" flag enabled. The world space reference has NOTHING checked.

I think it's just the "respawn" which ensures it doesn't despawn. So it just respawns dead, over and over. ^^ ^

Yet I believe that this would also cause the inventory to respawn. I can't check, as it has a "NoActivationScript", so you cannot go into the inventory of the sheep.

 

2.) A dead NPC, which has the "Quest Item" and "Can corpse check" flag set. The world space reference has again NOTHING checked. Except "Persistent Reference", but it is greyed out, which makes sense as of the "Quest Item" flag on the base object.

 

I will use the second method on the actors of my script above to ensure they spawn in their editor placement. :smile:

 

 

Not sure if that also translates well to Skyrim, but I guess it should work in a similar way.

 

 

In addition:

I've also checked these nice articles about cell reset.

Here to one for the Creation Kit (Skyrim's Creation Engine):

https://www.creationkit.com/index.php?title=Cell_Reset

Even though it lacks a bit of detail.

 

The one for the Construction Set (Oblivion's Gamebryo) is very detailed:

https://cs.elderscrolls.com/index.php?title=Cell_Reset

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...