Page 1 of 1

Devion Inventory support for Quest Machine

Posted: Sun Dec 11, 2022 4:10 am
by KingCeryn
Hey Tony, just wondering if the Devion Inventory free system works with Quest Machine, as well as Dialogue System?

Re: Devion Inventory support for Quest Machine

Posted: Sun Dec 11, 2022 1:46 pm
by Tony Li
Hi,

No, it doesn't, but I can add that to the to-do list.

Re: Devion Inventory support for Quest Machine

Posted: Mon Dec 12, 2022 2:29 am
by KingCeryn
Ah okay, i should be able to code some kind of workaround check, but is there a simple function i can call remotely- say from a trigger check that looks for the Devion Item in my inventory, etc- to manually change a speicific Quest Node?

Something like QM.instance.ChangeQuestNode(QuestName, QuestNodeName)?

Re: Devion Inventory support for Quest Machine

Posted: Mon Dec 12, 2022 6:43 am
by Tony Li
Hi,

You can call QuestMachine.SetQuestNodeState(), but probably a better approach would be to write a quest condition script. Duplicate QuestConditionTemplate.cs and fill in the code to check an inventory item amount.

Alternatively, if your project also uses the Dialogue System, you can import the Dialogue System's Devion integration package and use a Lua quest condition,

Re: Devion Inventory support for Quest Machine

Posted: Wed Dec 14, 2022 2:40 am
by KingCeryn
I do use Dialogue System! Previously on a separate game, i was using the Invector integration for both DM and QM, and i think i can handle the Conversation Devion item Quest lua conditions,

But say, picking up an item, out in the world, etc. The Invector integration has a way to detect if youve got an item, and i used that the write some code that updates UI minimap icons, etc. So i'd be trying to manually write that for Devion, but i can probably hackaround it by just calling the QuestNode update when interacting with the specific trigger, if that makes sense.

Re: Devion Inventory support for Quest Machine

Posted: Wed Dec 14, 2022 7:08 am
by Tony Li
Alternatively, if you can configure Devion to send a message using Quest Machine's MessageSystem.SendMessage() when the player picks up an item, you could write a script to listen for that message and update minimap icons accordingly.