Would properties on a topic fragment make actors persistent?

Post » Sat Jul 16, 2016 5:39 am

I'm working on a mod that will allow you to walk up to any (generic-voiced) NPC in a town, ask them for the location of another NPC in that town, and get an answer. The basic method behind this is as follows:


  • Store this dialogue on a quest with a dummy reference alias (i.e. an optional one that fills to NONE on quest start). We'll call this alias SearchTarget.


  • When you select an NPC using a dialogue option, force that NPC into SearchTarget.


  • Have subsequent dialogue run conditions on SearchTarget. This way, I don't have to create a branch for every individual NPC, with tons and tons of duplicate lines between them; there's just one branch that runs on whoever SearchTarget is, and that branch can have generic answers ("I saw him at the market") or specific answers ("Mjoll's at home; she lives with Aerin") as desired.

Now, I can only think of one way to fill SearchTarget with the player's selection: each NPC choice will need to have a topic fragment with a property pointed at its respective Actor, and it will need to force that Actor into SearchTarget. However, I'm not sure how this will affect persistence. I know that properties on a non-fragment make their values permanently persistent, and I know that properties on fragments in Fallout 4 usually don't; however, I don't know how properties on fragments in Skyrim behave. I vaguely remember reading that fragments (and their properties?) only exist for the life of the thing they're attached to (i.e. dialogue fragments only exist when they're used), but I don't remember where I read that.



Persistence is one of those things that I don't think we can really test (even if something is persistent, there's no way to be sure that I'm making it persistent), so I can't look into this myself. Does anyone know if Bethesda has said or documented how fragment properties affect persistence?

User avatar
Nikki Lawrence
 
Posts: 3317
Joined: Sat Jul 01, 2006 2:27 am

Post » Fri Jul 15, 2016 11:24 pm

You can use Tes5edit to check if you have made and actor persistent.

User avatar
Chica Cheve
 
Posts: 3411
Joined: Sun Aug 27, 2006 10:42 pm

Post » Sat Jul 16, 2016 12:26 am

Since the TIF scripts have such a short lifespan they shouldn't make the actor persistent by themselves. Unfortunately when you fill a property with a reference (ObjectReference, Actor, etc.) the CK tags that reference as persistent too. And if you were to uncheck that status the script will fail to find the NPC unless it's in a cell that's loaded.



You should probably just create an NPC finder quest which fills aliases with NPCs in the same town/city/village location as the player. When the player starts the conversation about locating people, start the quest and let it fill its aliases, then use that list of aliases as the source for the player's selection of a particular NPC. After the player makes a choice you stop the quest. The best thing about that solution is that you can support even NPCs added by other mods. The downside is it will find NPCs that might be hidden so make sure you at least filter filter out generic and disabled NPCs.

User avatar
Lovingly
 
Posts: 3414
Joined: Fri Sep 15, 2006 6:36 am

Post » Fri Jul 15, 2016 10:24 pm

That would be overly complicated and prone to failure.



99% of the Actors you will be looking for in your quest will be unique and have a persistent location, so you can make them an Alias in your quest without making them persistent by using Unique Actor. That will make the quest you are trying to build much cleaner and simpler. Also keep in mind a lot of those actors will already be persistent.



However, whenever you are working in the kit with a large # of actors always check them in TesVedit to make sure you have not made them persistent, or changed them in the cell without intending to.

User avatar
JAY
 
Posts: 3433
Joined: Fri Sep 14, 2007 6:17 am

Post » Sat Jul 16, 2016 4:42 am

Just remember that as long as that quest is running all of the aliases that are filled will force the matching actors to be persistent no matter how you fill them. If it's a well-defined list of actors you're interested in managing then I wouldn't worry too much about making them persistent. Actors are already semi-persistent and the more mods people have the more likely those actors are already being held by some alias somewhere.

User avatar
Jessica Phoenix
 
Posts: 3420
Joined: Sat Jun 24, 2006 8:49 am


Return to V - Skyrim