Set Up Dialogue-Based Quests?

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
DrewThomasArt
Posts: 60
Joined: Thu Mar 24, 2022 12:07 am

Set Up Dialogue-Based Quests?

Post by DrewThomasArt »

How would I set up quests that are entirely based on talking to different NPCs?

For example, you must talk to and receive a quest from Batman to go talk to Superman. And then when you talk to Superman (thus completing the quest upon reaching the end of the conversation), Batman's dialogue is updated when you return to him.

What would be the method or sequence to call to change these NPCs dialogue. Thank you!

Edit: Seems like Quest Machine would be helpful to get? But I still wouldn't know how to make dialogue-based quests
Last edited by DrewThomasArt on Thu Oct 13, 2022 12:04 pm, edited 1 time in total.
User avatar
Tony Li
Posts: 22143
Joined: Thu Jul 18, 2013 1:27 pm

Re: Set Up Dialogue-Based Quests?

Post by Tony Li »

Hi,

This is the best type of quest for the Dialogue System.

Define your quest in the Dialogue Editor's Quests section. The example below has two quest entries: one for Superman, one for Batman:

jlaQuest.png
jlaQuest.png (43.79 KiB) Viewed 359 times

The Superman entry starts active. When the player talks to Superman (I got the order flipped from your example), the node to ask about the quest has Conditions that Superman's entry is active. If the player chooses this, the Superman entry becomes successful and the Batman entry becomes active:

supermanConversation.png
supermanConversation.png (73.33 KiB) Viewed 359 times

Then you can set up a similar conversation for Batman.

If you only need to talk to Superman to complete the quest, then you don't need those quest entries. You can just set the whole quest to success when the player talks to Superman. Your Batman conversation can check if the quest's state is success.
DrewThomasArt
Posts: 60
Joined: Thu Mar 24, 2022 12:07 am

Re: Set Up Dialogue-Based Quests?

Post by DrewThomasArt »

Tony Li wrote: Thu Oct 13, 2022 12:02 pm Hi,

This is the best type of quest for the Dialogue System.

Define your quest in the Dialogue Editor's Quests section. The example below has two quest entries: one for Superman, one for Batman:


jlaQuest.png


The Superman entry starts active. When the player talks to Superman (I got the order flipped from your example), the node to ask about the quest has Conditions that Superman's entry is active. If the player chooses this, the Superman entry becomes successful and the Batman entry becomes active:


supermanConversation.png


Then you can set up a similar conversation for Batman.

If you only need to talk to Superman to complete the quest, then you don't need those quest entries. You can just set the whole quest to success when the player talks to Superman. Your Batman conversation can check if the quest's state is success.
I love this, thank you.
How can I make it so that the Quest Tracker appears on the side of the UI when the quest is active?
User avatar
Tony Li
Posts: 22143
Joined: Thu Jul 18, 2013 1:27 pm

Re: Set Up Dialogue-Based Quests?

Post by Tony Li »

Hi,

Tick the quest's Trackable and Track On Start checkboxes.

The Dialogue Manager GameObject's Instantiate Prefabs component instantiates a basic quest tracker HUD prefab. You can duplicate this prefab, customize it, and assign the duplicate to Instantiate Prefabs instead of the original, or you can remove the prefab from the Instantiate Prefabs component's list and add your quest tracker HUD directly to the Dialogue Manager's Canvas (or even create a new Canvas in the Dialogue Manager just for the HUD).
DrewThomasArt
Posts: 60
Joined: Thu Mar 24, 2022 12:07 am

Re: Set Up Dialogue-Based Quests?

Post by DrewThomasArt »

EDIT: IT WORKS NOW. I forgot to set the entire quest group to active on the completion of the first dialogue. For anyone looking in the future, make sure to set both the Quest group and the quest entry to active for it to show on the quest tracker
And for alerts, click on the Alert settings in the dialogue manager and make "Allow Alerts during conversations" is checked

Original comment: They're checked. I made it so the tracker appears when the game begins, but it doesn't visually update when the quest is set to active. It just stays blank. I also can't see the "Talk to Batman" alert that is set to appear, which I'm guessing is for the same reason.

But the quest is definitely getting set to active and functions correctly. It's just the visuals aren't showing. Do you have any idea what this issue could be?
Post Reply