Jump to content

Photo

Best practice for removing NPCs from the game world

npcs deleting best practice

  • Please log in to reply
4 replies to this topic

#1
37G

37G

    Journeyman

  • Members
  • Pip
  • 49 posts

I'm curious if you guys have experience in removing lots of NPCs, either by deletion or some less destructive means. For NPCs with a smaller role, it seems safe to:

  • delete their placed reference & flag their aliases as optional if there are any, or
  • move them to a holding cell OnInit and switch them to a 'stay here forever' package

But in the latter case, is there a clean way to ensure they are never pulled back into the game?

 

Do you try to avoid having the "__ is in use by the following forms" window come up when you delete a reference?



#2
NexBeth

NexBeth

    Old hand

  • Premium Member
  • 966 posts

It's a bad idea to delete anything in the vanilla game.  Simple to disable.  Open the object or actor then in the reference, tick the box "initially disabled".  Close the reference.  You will still see the NPC or object in the CK.  If you want to get it out of the way, simply move NPC/object below the playing area.



#3
37G

37G

    Journeyman

  • Members
  • Pip
  • 49 posts

Thanks - I'm also referring to the type of NPC that will be called back to a location or enabled by a quest though - in the past when I've tried the enable/disable dance, I always lose to a competing package or an alias filling



#4
Sphered

Sphered

    Fan

  • Premium Member
  • 413 posts

One of those questions that can yield a different answer depending who you ask and what the situation is

 

I have seen many claim SetCriticalStage(Int aiStage) is the only proper way to sanitize actors. Now on the subject of sanitizing, I personally only do this if they are NPCs that I placed myself into the game world. Existing NPCs you need to be careful here even with just disabling them, since if the game wants this NPC and expects them to be present and enabled, well, yeah you will have issues

 

If a NPC is aliased aka SoAndSo.GetNumReferenceAliases() as Bool I would def leave them alone. Some aliases dump if they are disabled or killed, and this can break a quest. Basically dont just assume its okay and do this just because it seems the game is done with them. Also try not to interfere with Vanilla NPCs with your mods since it can wreck their AI and intentions pretty easily



#5
37G

37G

    Journeyman

  • Members
  • Pip
  • 49 posts

One of those questions that can yield a different answer depending who you ask and what the situation is

 

I have seen many claim SetCriticalStage(Int aiStage) is the only proper way to sanitize actors. Now on the subject of sanitizing, I personally only do this if they are NPCs that I placed myself into the game world. Existing NPCs you need to be careful here even with just disabling them, since if the game wants this NPC and expects them to be present and enabled, well, yeah you will have issues

 

If a NPC is aliased aka SoAndSo.GetNumReferenceAliases() as Bool I would def leave them alone. Some aliases dump if they are disabled or killed, and this can break a quest. Basically dont just assume its okay and do this just because it seems the game is done with them. Also try not to interfere with Vanilla NPCs with your mods since it can wreck their AI and intentions pretty easily

 

That makes sense. It would be interesting to see how far it goes though, e.g. can hitting one key NPC with a SetCriticalStage spiral out into breaking all AI across your save

 

I like experimenting with those cursed mods in the space of one game save and virtual folders - and the Alone / Empty Skyrim mod is a more dramatic version of this. As in: if you're going to break something, break it completely







Also tagged with one or more of these keywords: npcs, deleting, best practice

IPB skins by Skinbox
Page loaded in: 1.012 seconds