Making my First Quest

Announcements, support questions, and discussion for Quest Machine.
Post Reply
GrumpyGit
Posts: 2
Joined: Mon Jan 15, 2018 4:08 am

Making my First Quest

Post by GrumpyGit »

Hi. I have just bought Quest Machine and I have worked through the Quick Start tutorial successfully. I then went through the procedure again in a scene in my own game, entering details for a suitable quest,, and everything was fine until I reached the last instruction, which is to inspect Quest Machine in the hierarchy and add my new quest database to the Quest Databases list. Although Quest Machine is listed in the hierarchy of the Quick Start tutorial it is not listed in my game scene. How can I add it please?
Congratulations on what looks like a very good asset.
Thanks
GrumpyGit

EDIT

I have found the Quest Machine prefab and added my quest database to the databases list, but my character, who has the quest attached, does not respond. How do I trigger the quest?
User avatar
Tony Li
Posts: 20756
Joined: Thu Jul 18, 2013 1:27 pm

Re: Making my First Quest

Post by Tony Li »

Hi,

Thanks for buying Quest Machine!

Version 1.0.2 is pending release on the Unity Asset Store. I just updated the manual on the website: Quest Machine Manual v1.0.2

Page 33 contains clearer, step-by-step instructions for setting up scenes I'll also publish a video tutorial version when 1.0.2 is released on the Asset Store. The video will cover some new features in 1.0.2, so I don't want to publish it until 1.0.2 is available for download.

Instructions for setting up a quest giver NPC start on page 35. I'll recap them below, some of which you've already done:
  • Add the Quest Machine prefab to your scene.
  • Assign your quest database to the Quest Machine GameObject in your scene.
  • Give your NPC a Quest Giver component.
  • Set the Quest Giver's ID section.
  • Add the quest to the Quest Giver's Quests list.
  • Configure the NPC to call the QuestGiver.StartDialogue method*.
* I suspect this is where you're at right now. Page 36 of the 1.0.2 manual has an example of using a Collision Event to call QuestGiver.StartDialogue when the player collides with the NPC. It also describes how you could set up a trigger collider instead which would start dialogue when the player enters the NPC's trigger collider.

As long as you can call QuestGiver.StartDialogue, passing it the player, it will run the quest giver dialogue.

For example, another way is to set up UI button on a world space canvas above the NPC's head. Use a Trigger Event component to activate the button when the player enters the NPC's trigger collider and deactivate it when the player exits. Configure the button to deactivate itself and call QuestGiver.StartDialogue.

(Version 1.0.2 also has a new method QuestGiver.StartDialogueWithPlayer that doesn't require you to specify the player GameObject. This isn't available in 1.0.1.)


If you want to trigger the quest a different way -- for example, when the player enters a trigger collider at the beginning of a mysterious cave -- let me know. I'll describe the setup, which is mostly similar to above.
Post Reply