Page 1 of 1

Quest Won't Start

Posted: Tue Jul 16, 2019 7:58 pm
by willij
I'm new to quest machine and I'm trying to get my first quest to autostart.

I create an object that uses PixelCrushers.MessageSystem.SendMessage(this, "Quest", "Start"); to send a message and my quest listens for that message in the autostart section.

When I turn on debug messages, quest machine says it's loading the quest asset and then it shows it's sending the message but the quest never starts (in quest editor it shows the status as "waiting to start")

Re: Quest Won't Start

Posted: Tue Jul 16, 2019 9:42 pm
by Tony Li
Hi,

Thanks for using Quest Machine!

A couple things to check:
  • Did you add your quest to a quest database?
    Quest Machine only manages quests that are in a loaded quest database.
  • Did you assign the quest database to the Quest Machine GameObject?
    The Quest Machine GameObject loads the quest database(s).
  • Did you assign the quest to a Quest Journal component's Quests list (e.g., on the player)?
    The quest needs to be in the scene (in a Quest Journal or similar) to be able to receive messages.
With debug on, when the quest's Message Quest Condition receives the message, it should log:

Quest Machine: MessageQuestCondition.OnMessage( Quest, Start )

Here's an example: QM_AutostartOnMessageExample_2019-07-16.unitypackage

Re: Quest Won't Start

Posted: Tue Jul 16, 2019 10:50 pm
by willij
Thank you I didn't know I had to put it in the journal - that works.

Re: Quest Won't Start

Posted: Wed Jul 17, 2019 8:43 am
by Tony Li
Great! Thanks for letting me know, The quest needs to be in a quest journal so Quest Machine knows where to activate it. (Some games have multiple questers, each with their own quest journal.)

If the player acquires the quest from a quest giver, on the other hand, the quest should not be in the quest journal. The quest giver will add a copy of the quest to the player's quest journal when the player accepts it.