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.
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.
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?
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.
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.