Jump to content

[LE] Question about dialog infos and quest stages


greyday01

Recommended Posts

In one on my infos I have it setting the next stage as well as completing and displaying objectives.

Should the completing and displaying of objectives be put in the quest stage end instead or both or doesn't it matter?

Also I need to have a script that takes gold from the player and gives it to the NPC, takes a key from the NPC and gives it to the player and adds a mapmarker to the map. Should this be in the info or quest stage or doesn't it matter?

 

This is my first attempt at doing anything with dialog and almost my first attempt at anything to do with quests.

I've been watching tutorials but they're all the same.

Talk with someone, kill someone, give item to npc, get gold.

Only difference is item fetched. No variety of starts or ends or middle either.

Link to comment
Share on other sites

It is probably personal preference; but I like to put these things in the quest stages where I can easily see what you have done in a single tab. Otherwise you have to start digging around in Dialogues to find out. Depends how good your memory is or how much you document the quest.

 

There are some occasions when a papyrus fragment (other than setstage) in a dialogue is relevant (like counting something) but if what happens next can be done in a quest state put it there.

Link to comment
Share on other sites

Thank you agerweb. Could you give me an example in the dialog papyrus fragment how you would count something? In one of my infos I used a condition that the player had to have a certain number of an item for that info to show, but the counting sounds different and interesting.

Link to comment
Share on other sites

For example, I had a quest where the player has to question 3 NPC, but they could do it in any order, so at the end of each dialogue I incremented a global by 1 and checked when it was 3: Counter here is the property filled with a Global.

 

Counter.SetValue(Counter.GetValueInt()+1)
float CurrentCount = counter.getValue()
if CurrentCount >= 3
GetOwningQuest().SetStage(15)
endif

 

Or if I want to keep track of whether or how often a player has heard a particular rumour or any line of text: Rumour here is the property filled with a Global.

 

Rumour.Mod(1)

 

Notice I have used two different ways of incrementing the global by 1, either is valid, but the first would be needed if the increment was greater than 1.

 

 

In this one the player is delivering a note to NPC's a note is taken out of the player inventory each time: I have added this one because of course it would work the other way round, if after the dialogue the player was given something.

 

Counter.SetValue(Counter.GetValueInt()+1)
float CurrentCount = counter.getValue()
if CurrentCount >= 4
GetOwningQuest().SetStage(20)
endif
Game.GetPlayer().RemoveItem(Blessing)

Link to comment
Share on other sites

  • Recently Browsing   0 members

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