Question about advancing dialogue

Post » Sat Jan 12, 2013 9:30 am

I have a part of my quest where you have 3 different topics to ask the NPC. I want to have it so you must complete all 3 topics and their branches before you're able to advance with the dialogue and the quest. Which dialogue conditions can I use to make sure that the other topics have been discussed?

My idea was to have a global variable for each 3 topics, and upon completing them, their value is equal to 1. Then the advancing dialogue would be conditional upon the 3 variables being equal to 1. However, I don't know how to do this within the dialogue window as a papyrus fragment. I try to add properties to the automatically generated script but the boxes are grey.

I am sure there are multiple ways to do this, if anyone has any ideas, post em up!
User avatar
Ann Church
 
Posts: 3450
Joined: Sat Jul 29, 2006 7:41 pm

Post » Sat Jan 12, 2013 3:20 pm

I think the simplest way to do it, in that it requires no external variables or anything, is multiple stages.

I.e. have stages 1, 2, 3 and 4. The start is 1. Make the dialogue have the conditions (If 1, 2 or 3). Then in the end script fragment say 'If 1, set stage to 2', 'if 2 set 3', and 'if 3 set 4'.

Then stage 4 is the 'advancement' of the quest. If it's another dialogue topic, just say 'If getstage is 4' on that topic, or if you need other script stuff to fire you can do it in the script fragment of stage 4.

Hopefully that makes sense. Oh, and obviously replace 1 2 3 and 4 with whatever you actually need/want the stages to be numbered as.

*To get passed the issue of 'the player could click one option three times' you would check 'say once'. However the player couldn't repeat that line if they needed to. So in retrospect, this method may not be the best.

*Actually just add a 'DoOnce' check to each script fragment so they only fire the first time!
User avatar
Amanda Furtado
 
Posts: 3454
Joined: Fri Dec 15, 2006 4:22 pm


Return to V - Skyrim