Imported quest machine, already had dialogue system

Announcements, support questions, and discussion for Quest Machine.
hipsterdufus
Posts: 95
Joined: Thu Aug 12, 2021 6:39 pm

Imported quest machine, already had dialogue system

Post by hipsterdufus »

Hey there, I am going to try this asset out. I brought it into my project which already had Dialogue System. I updated both to the latest versions but I was getting an error in UITools.cs on line 144. It is complaining about too many parameters:

Code: Select all

            UIUtility.Select(selectable, allowStealFocus, eventSystem);
I removed the third parameter and it compiles now but was wondering if that's okay or did I do something wrong with my import? Thank you.
User avatar
Tony Li
Posts: 20734
Joined: Thu Jul 18, 2013 1:27 pm

Re: Imported quest machine, already had dialogue system

Post by Tony Li »

Hi,

Reimport the Dialogue System. The Dialogue System, Love/Hate, and Quest Machine share some common code to keep your project smaller and avoid redundant code. A small update was published for the Dialogue System, but the corresponding updates for Love/Hate and Quest Machine aren't on the store yet, so the latest version of the common code is in the Dialogue System. I expect the corresponding updates for LH and QM to be on the store today, at which point you'll once again be able to import in any order.
hipsterdufus
Posts: 95
Joined: Thu Aug 12, 2021 6:39 pm

Re: Imported quest machine, already had dialogue system

Post by hipsterdufus »

Thanks, I updated and it's working now.

I'm having a hard time finding the documentation for the Dialogue System integration. It says it's in the Quest System's manual but I don't see any specifics. I just want to try controlling the quest system through dialogue system's Lua commands (or write my own) as well as through sequencer commands. Would that be easy to do?
User avatar
Tony Li
Posts: 20734
Joined: Thu Jul 18, 2013 1:27 pm

Re: Imported quest machine, already had dialogue system

Post by Tony Li »

Hi,

Import Plugins > Pixel Crushers > Quest Machine > Third Party Support > Dialogue System Support.unitypackage.

This will create a folder named Plugins > Pixel Crushers > Quest Machine > Third Party Support > Dialogue System containing the integration and PDF manual.
hipsterdufus
Posts: 95
Joined: Thu Aug 12, 2021 6:39 pm

Re: Imported quest machine, already had dialogue system

Post by hipsterdufus »

Thanks that's a good starting point. I'm having some issues seeing anything happening during runtime but maybe you can help me at a high level. Can you advise me on how you would go about doing this? I already have a messaging system so I'd like to keep using mine, and I don't think I need the offer quest conditions but I'm not sure. In my game, when the player talks to an NPC I already have logic in a C# script to determine what to do. I'd like to check the state of a bunch of quests and if one is available (I guess grantable is not a state coming from Dialogue system?) I would start a dialogue conversation to grant that quest. Then if the player talks to the same NPC and the quest is active, The same conversation would start up - say TutorialQuest1 - and this time it would show the quest in progress conversation because of some lua conditions within the conversation. I suppose I'm mainly trying to utilize the node system with runtime debugging. It looks like there's a way to start a conversation within the quest node. I'm not clear on how to trigger that exactly. Can the quest itself handle the logic of what dialogue conversation to go to when the NPC is talked to or should I put that in my C# script or handle it within the conversation lua? Or maybe it would be easiest to just use the Quest Machine dialogue UI? Sorry these are probably basic questions, I will continue trying and learning over the next couple days.
User avatar
Tony Li
Posts: 20734
Joined: Thu Jul 18, 2013 1:27 pm

Re: Imported quest machine, already had dialogue system

Post by Tony Li »

Hi,

It sounds like you want to control Quest Machine quests through the Dialogue System, which you can absolutely do. Use the Lua functions that the integration provides. You can check if a quest is offerable, give the quest from a quest giver to the player, advance a quest state in the player's quest journal, etc. If you want the quest itself to know if it's currently offerable, you will want to use offer conditions.
hipsterdufus
Posts: 95
Joined: Thu Aug 12, 2021 6:39 pm

Re: Imported quest machine, already had dialogue system

Post by hipsterdufus »

I have my quest giver NPC with several quests all set up with their offerable conditions. When the player talks to the NPC I'm calling questgiver.StartDialogueWithPlayer(). My understanding is the QuestGiver component should open the default DialogueUI since I don't have it referenced. How is the default dialogue UI defined? Because I think it's trying to open my Dialogue System UI and it's locking up my game. I am open to trying the normal quest giver UI for starters if it's easier to trigger. Thank you for your time.
hipsterdufus
Posts: 95
Joined: Thu Aug 12, 2021 6:39 pm

Re: Imported quest machine, already had dialogue system

Post by hipsterdufus »

You can disregard previous message. I made some progress. I am able to see the dialogue offer text. I'd like to start a conversation at a specific node but for some reason it won't let me tick "jump to entry ID" in the offer text for dialogue conversations. Is that a limitation?
User avatar
Tony Li
Posts: 20734
Joined: Thu Jul 18, 2013 1:27 pm

Re: Imported quest machine, already had dialogue system

Post by Tony Li »

Hi,

Try importing the current version of the Dialogue System Support package if you haven't already. It should allow you to specify the starting entry ID.
hipsterdufus
Posts: 95
Joined: Thu Aug 12, 2021 6:39 pm

Re: Imported quest machine, already had dialogue system

Post by hipsterdufus »

Hmm, that's weird it let me import. I am 99% sure I already did that since I have the components already...I notice there are multiple third party packages that are duplicated maybe I imported the wrong one? Maybe that's why I'm having some strange issues. I still can't tick the jump to node option.
Post Reply