Kill quest question

Announcements, support questions, and discussion for Quest Machine.
om3n
Posts: 19
Joined: Mon Jan 31, 2022 8:29 am

Kill quest question

Post by om3n »

Hello,

I'm sorry if this or something similar has been asked, but I can't seem to figure out or find any similar situations.

I've been playing around with topdown engine and quest machine. However in a test I can't seem to trigger the kill message. I've tried looking over the Orc and Rabbit examples and have been trying to get the count to increment. However I can't seem to make it happen. Is there something I may have missed that I need to hard code somewhere or a way I should call it differently from the demo assets?

I hope the question isn't too vague, I'm terrible at explaining sometimes.

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

Re: Kill quest question

Post by Tony Li »

Hi,

Quest Machine has TopDown Engine integration. Import Assets / Plugins / Pixel Crushers / Quest Machine / Third Party Support / TopDown Engine Support.unitypackage.

You'll find a PDF manual and example scene. The example scene has a quest to kill a ninja whose GameObject is named KoalaNinjaPatrol. This ninja has QuestControl and OnDeathEvent components. The OnDeathEvent component tells QuestControl to send the message "Killed" + "Ninja" when the ninja is killed. The Kill Ninja Quest's "Kill Ninja" node listens for this message.
om3n
Posts: 19
Joined: Mon Jan 31, 2022 8:29 am

Re: Kill quest question

Post by om3n »

I tried playing with the integration at first but there's an error out of the box so I had wiped it earlier.

Assets\Pixel Crushers\Quest Machine\Third Party Support\TopDown Engine Support\Scripts\PauseTopDown.cs(102,30): error CS1061: 'InputManager' does not contain a definition for 'InputDetectionActive' and no accessible extension method 'InputDetectionActive' accepting a first argument of type 'InputManager' could be found (are you missing a using directive or an assembly reference?)
User avatar
Tony Li
Posts: 22104
Joined: Thu Jul 18, 2013 1:27 pm

Re: Kill quest question

Post by Tony Li »

What version of TopDown Engine (TDE) are you using? If you're using an older version of TDE, can you back up your project and update TDE?

Does your project have any other scripts named InputManager, other than TDE's? If so, please put that other script in a proper namespace.
om3n
Posts: 19
Joined: Mon Jan 31, 2022 8:29 am

Re: Kill quest question

Post by om3n »

Ah there was a plugin I was playing around with. Surprised I didn't catch that before.

I'm using the current 2.3.1 version of TDE form december. So the only change I made was setup the camera as I'm using URP and deleted the door to save time. There didn't seem to be any message sent. I can't really find how it's death should be sent as well.

So the quest never completed. I haven't touched any of the 2d tde assets either.
om3n
Posts: 19
Joined: Mon Jan 31, 2022 8:29 am

Re: Kill quest question

Post by om3n »

Ah there was a plugin I was playing around with. Surprised I didn't catch that before.

I'm using the current 2.3.1 version of TDE form december. So the only change I made was setup the camera as I'm using URP and deleted the door to save time. There didn't seem to be any message sent. I can't really find how it's death should be sent as well.

So the quest never completed. I haven't touched any of the 2d tde assets either.

Edit: there seems to be a missing component added to the one in the new scene. There is quest control, loot and a missing reference on the npc.
User avatar
Tony Li
Posts: 22104
Joined: Thu Jul 18, 2013 1:27 pm

Re: Kill quest question

Post by Tony Li »

Hi,

Please also import Assets / Plugins / Pixel Crushers / Common / Third Party Support / TopDown Engine Support.unitypackage. I forgot to mention that earlier.
om3n
Posts: 19
Joined: Mon Jan 31, 2022 8:29 am

Re: Kill quest question

Post by om3n »

Thanks a lot. The second package made a difference and was able to get most of it figured.

One more question If I may. I'm trying to do a return to quest giver and discuss, however when I return to the quest giver, it doesn't seem to trigger the part of the conversation (Sorry I should mention I also have the dialogue system). It just skips past it to another part. I followed the video tutorial on the integration a few times and can't seem to see anything I've missed.

The conversation tests CurrentQuestState("ShowYourMettle") == "success" and the quest return has Discuss Quest / ShowYourMettle. I'm not really sure where to look to finish this off.

Thanks again for the great tools.
User avatar
Tony Li
Posts: 22104
Joined: Thu Jul 18, 2013 1:27 pm

Re: Kill quest question

Post by Tony Li »

Are you using a Dialogue System Conversation quest action in your quest to start the conversation? If so, and if the "return to quest giver" quest node goes to True when you talk to the quest giver, then make sure the quest action is in the quest node's True > Dialogue Text list. It may be better to change the message to "Discussed Quest" so the quest node's state changes after the conversation starts. Then put the Dialogue System Conversation quest action in the quest node's Active > Dialogue Text list. This way it won't mark the entire quest complete when you try to start the conversation.
om3n
Posts: 19
Joined: Mon Jan 31, 2022 8:29 am

Re: Kill quest question

Post by om3n »

So I've played around a little more and the conversation step is still completely bypassed.

The conditions are:
(CurrentQuestState("ShowYourMettle") == "active") and (GetQuestNodeState("ShowYourMettle", "RetunToRob") == "active")

And script event is:
SetQuestNodeState("ShowYourMettle" "ReturnToRob", "success")

And the condition of ReturnToRob is Discussed Quest:ShowYourMettle

Really a head scratcher. Really not sure where to look/what I've done wrong.

edit: Pretty sure the condition of the quest is active as the test in the log, hud etc displays the text from the states Return to {QUESTGIVER} with correct name etc.
Post Reply