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
Set Up Dialogue-Based Quests?
-
- Posts: 60
- Joined: Thu Mar 24, 2022 12:07 am
Set Up Dialogue-Based Quests?
Last edited by DrewThomasArt on Thu Oct 13, 2022 12:04 pm, edited 1 time in total.
Re: Set Up Dialogue-Based Quests?
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:
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:
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.
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:
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:
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.
-
- Posts: 60
- Joined: Thu Mar 24, 2022 12:07 am
Re: Set Up Dialogue-Based Quests?
I love this, thank you.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.
How can I make it so that the Quest Tracker appears on the side of the UI when the quest is active?
Re: Set Up Dialogue-Based Quests?
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).
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).
-
- Posts: 60
- Joined: Thu Mar 24, 2022 12:07 am
Re: Set Up Dialogue-Based Quests?
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?
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?