Quest Machine

Announcements, support questions, and discussion for Quest Machine.
Post Reply
User avatar
Tony Li
Posts: 22104
Joined: Thu Jul 18, 2013 1:27 pm

Quest Machine

Post by Tony Li »

Quest Machine 1.0.8 has been released and should be available for download on the Unity Asset Store in 3-7 business days.

This version adds support for uSurvival and Inventory Engine.

Note: If you're using Physics2D in Unity 2018+, you must select menu item Tools > Pixel Crushers > Common > Misc > Enable Physics2D Support after updating.


Release Notes:
  • CHANGED: If using Physics2D in Unity 2018+, you must set scripting define symbol USE_PHYSICS2D.
  • Added: QuestGeneratorEntity.StartDialogue methods that generate quest first if necessary.
  • Added: Can now adjust drive values at runtime.
  • Added: Quest Journal UI options to always expand groups, show details when hovering on quest name.
  • Added: Quest Journal UI quest name can now show quest's icon.
  • Added: EntityType Saver.
  • Fixed: Removed null reference error an urgency function is unassigned.
  • Fixed: Trigger Event and Collision Event components now handle >32 tags.
  • Fixed: Quest Journal > UI Settings > Journal UI incorrectly accepted Dialogue UI type.
  • Improved: Editor windows now gracefully ignore unreadable third party DLLs.
  • Improved: Added Assign Unique Key menu item for Saver components.
  • Improved: Animator Saver now saves parameter values.
  • articy:draft:
  • Articy condition nodes correctly link to true and false result nodes.
  • Links to the same node now actually link to the same node instead of duplicates of the node.
  • Dialogue System for Unity:
  • Fixed: Now only replaces tags if Process QM Tags is ticked.
  • Fixed: GiveQuest() Lua function finds Quest Journal even if ID is blank.
  • Fixed: Now shows regular Quest Machine UI if content has no Dialogue System Conversation content.
  • ORK Framework: Fixed bug in GetQuestNodeStateStep.
  • Inventory Engine: Added integration.
  • uSurvival: Added integration.
GorkaGames
Posts: 178
Joined: Fri Sep 21, 2018 8:38 pm

Re: Quest Machine

Post by GorkaGames »

Great!

What is the EntityType Saver for?

And this one? Added: QuestGeneratorEntity.StartDialogue methods that generate quest first if necessary.
User avatar
Tony Li
Posts: 22104
Joined: Thu Jul 18, 2013 1:27 pm

Re: Quest Machine

Post by Tony Li »

GorkaGames wrote: Wed Oct 24, 2018 2:49 pmWhat is the EntityType Saver for?
It's for procedural quest generation. It's now possible to change an EntityType's drive values at runtime. EntityTypeSaver saves the current runtime values of an EntityType's drives. It came up in the context of this forum post.
GorkaGames wrote: Wed Oct 24, 2018 2:49 pmAnd this one? Added: QuestGeneratorEntity.StartDialogue methods that generate quest first if necessary.
Use it if you're using the procedural quest generator.

If you call QuestGiver.StartDialogue, the quest giver will only show dialogue about quests that are already in its quest list.

If you call QuestGeneratorEntity.StartDialogue, the quest giver will try to make sure it has at least one quest before starting dialogue. If it doesn't have a quest, it will try to generate one first.
GorkaGames
Posts: 178
Joined: Fri Sep 21, 2018 8:38 pm

Re: Quest Machine

Post by GorkaGames »

Thanks
DonYep
Posts: 2
Joined: Mon Oct 29, 2018 7:40 am

Re: Quest Machine

Post by DonYep »

Hi Tony,

I have been able to use Quest machine to create & completed quests. But there is one problem,
I don't know how to assign rewards in QM, therefore not able to receive rewards into my inventory.

By the way, I'm using Gameflow, you already integrated it into Dialogue, do you have to do the same to QM as well?

Thanks Don
User avatar
Tony Li
Posts: 22104
Joined: Thu Jul 18, 2013 1:27 pm

Re: Quest Machine

Post by Tony Li »

Hi,

I hope to add Gameflow integration in a future update as time allows.

For quest rewards, what inventory system are you using? If you're using Inventory Engine, Inventory Pro, ORK, uMMORPG, uSurvival, etc., you can use the Quest Actions provided in their integration packages. Typically you'll add this to the Success state of the last node in the quest (e.g., the "Return to NPC" node).

If you're using your own inventory system, you can write a custom Quest Action by copying the QuestActionTemplate.cs file in Quest Machine's Templates folder. This requires a little familiarity with C# scripting. Edit the script and add the code to work with your inventory system. Alternatively, you can use one of the built-in actions such as Set GameObject Active Quest Action to activate a GameObject with a Gameflow component. The Gameflow component can then give the player rewards when it's activated.
DonYep
Posts: 2
Joined: Mon Oct 29, 2018 7:40 am

Re: Quest Machine

Post by DonYep »

Hi Tony,

I am trying version Questmachine trial version 1.0.5
There is a bug, here is how to reproduce :

Player accepted a quest from NPC, abandon the quest, the NPC's head has no exclamation mark, wait for quest cool down to run out,
exclamation mark still not show up. But player can again take same quest from NPC.

Thanks
User avatar
Tony Li
Posts: 22104
Joined: Thu Jul 18, 2013 1:27 pm

Re: Quest Machine

Post by Tony Li »

Hi,

I'll add that in version 1.0.9, which will be released soon. You won't need to do anything extra; it will just work.
Post Reply