Force Dialogue through Papyrus

Post » Tue Nov 20, 2012 10:32 am

Is it in any way possible to force an NPC to enter dialogue with the player? Like what the ''StartConversation'' function back in Oblivion did? I have already tried to make the player Activate the NPC using the Activate() function but that didn't work. I also know of the existence of the ''Say()'' function but as far as I know that can only make an NPC just say something out in the open, not engage in real dialogue.

I also need this to work for ANY NPC, so can't just simply add some AI package to the NPC or something like that.
User avatar
Trevor Bostwick
 
Posts: 3393
Joined: Tue Sep 25, 2007 10:51 am

Post » Tue Nov 20, 2012 1:58 pm

Hello.

Afaik, the only way to do that is to create a quest and dynamically assign a quest's alias with the actor of your choice through papyrus. In the quest window, assign the alias with a package with a ForceGreet procedure.
You may have to use EvaluatePackage on the actor after you assigned the alias.
User avatar
James Smart
 
Posts: 3362
Joined: Sun Nov 04, 2007 7:49 pm

Post » Tue Nov 20, 2012 7:11 am

Hmm ok thanks, was already thinking of investigating something like making a new quest with an alias and restarting it every time. Luckily for the thing I'm trying to do there's always at most one character who may need to get forced into dialogue, and after that's finished there'll always be at least some time until another NPC needs to enter dialogue, so a quest with a single alias which gets started and stopped all the time should be feasible
User avatar
Calum Campbell
 
Posts: 3574
Joined: Tue Jul 10, 2007 7:55 am

Post » Tue Nov 20, 2012 11:07 am

You do not need to start and stop the quest. Make it automatically start once and just change the alias. :)
User avatar
michael flanigan
 
Posts: 3449
Joined: Thu Jun 14, 2007 2:33 pm


Return to V - Skyrim