QuestStateDispatcher of Dialogue manager

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
behindname
Posts: 9
Joined: Wed Jun 27, 2018 4:59 am

QuestStateDispatcher of Dialogue manager

Post by behindname »

Greetings,
I'm a quiet newbie for the unity development,
but going very well due to Dialogue system of pixel cruhser. This asset is really brilliant asset that makes me begin unity developing. Thanks for the good asset!

I'm now trying to implement dialogue and quest system, and just began to attach "Quest Indicator" to my NPC.
I followed this process http://pixelcrushers.com/dialogue_syste ... TrackerHUD
and it looks work, but the problem is that quest state change does not recognized in real time.

With the Quest Example, I checked that QuestStateDispatcher of Dialogue Manager, calls OnQuestStateChange(questname) function when quest state changed via lua script which is embedded in dialogue. And this function calls the NPC's listener component, so triggers the changes of indicator.

But in my project, this function - OnQuestStateChange(questname) function (in queststatedispatcher) does not works...it is not calling, so quest indicator is not changing.

After I save a game and reload it, the indicator sign changed properly. But in real time the indicator never changes though Quest State Updated.

What can I do?
quest indicator and listener is added properly I think.
I attach my project's screen shot...

Actually I'm using the Menu Framework that pixel crusher offered. It is really great but to using that my Dialogue Manager is added in Login scene and NPC is at GamePlay Scene. Would it be the reason?

I found similar issue's, but maybe problem on QuestStateDispatcher is not belong to here.
viewtopic.php?f=3&t=1335

If you have some time, I wish you can help me.
Attachments
screen shot
screen shot
QuestIndicatorImplementing2.jpg (134.37 KiB) Viewed 825 times
screen shot
screen shot
QuestIndicatorImplementing1.jpg (108.9 KiB) Viewed 827 times
User avatar
Tony Li
Posts: 22057
Joined: Thu Jul 18, 2013 1:27 pm

Re: QuestStateDispatcher of Dialogue manager

Post by Tony Li »

Hi,

Thanks for using the Dialogue System! What version of the Dialogue System are you using?
behindname
Posts: 9
Joined: Wed Jun 27, 2018 4:59 am

Re: QuestStateDispatcher of Dialogue manager

Post by behindname »

Thanks for rapid reply.
My Dialogue System is version 1.8.2
I confirmed this at Window > Dialogue System > Help > about
Since my Unity is 5.6.5, I have not updated to the newest.
Do I need to upgrade?
User avatar
Tony Li
Posts: 22057
Joined: Thu Jul 18, 2013 1:27 pm

Re: QuestStateDispatcher of Dialogue manager

Post by Tony Li »

Hi,

Thank you for the information.

The Menu Framework hasn't been updated to version 2.0 yet. For now, I recommend that you stay with 1.8.2.

Make sure the Dialogue Manager in the Start/Login scene has a QuestStateDispatcher.

You can also temporarily set the Dialogue Manager's Debug Level to Info. This will log information such as:

Code: Select all

Dialogue System: Gate Keeper: Quest 'Meet Socrates First' changed to state Active.
This will tell you that the Gate Keeper's QuestStateListener is working.

If that doesn't help, please feel free to send an example scene or example project to tony (at) pixelcrushers.com. I'd be happy to take a look.
behindname
Posts: 9
Joined: Wed Jun 27, 2018 4:59 am

Re: QuestStateDispatcher of Dialogue manager

Post by behindname »

Good morning, master tony.
I just send email with my project.
My email is behindname (at) naver.com .
Please check it if you are available.

Though I do not add QuestStatedispatcher component to Dialogue manager,
It automatically appended. But it seems not working whether I attach manually or not.


But Quest Tracking is working, so if there is no way,
I can use the logic Quest Tracking I think ^^; But i wish you can find solution.
User avatar
Tony Li
Posts: 22057
Joined: Thu Jul 18, 2013 1:27 pm

Re: QuestStateDispatcher of Dialogue manager

Post by Tony Li »

Hi,

Thank you for sending the project. I just replied. Please use SetQuestState("Meet Socrates First") instead of Item["Meet_Socrates_First"].State:

NO:

Code: Select all

Item["Meet_Socrates_First"].State = "active";
YES:

Code: Select all

SetQuestState("Meet Socrates First", "active");
This function sets the quest state and also updates the quest tracker and quest state dispatcher. You don't have to type it. You can use the "..." menu to select it from dropdown menus.

If you only set the State field (Item["Meet_Socrates_First"].State), then the quest state dispatcher won't know that the quest changed.
behindname
Posts: 9
Joined: Wed Jun 27, 2018 4:59 am

Re: QuestStateDispatcher of Dialogue manager

Post by behindname »

Oh my, it Works!!!
Thanks for this sincere reply - I solved the problem now.

Have a good day, and pleasant weekend.
Thanks again!
User avatar
Tony Li
Posts: 22057
Joined: Thu Jul 18, 2013 1:27 pm

Re: QuestStateDispatcher of Dialogue manager

Post by Tony Li »

Glad to help!
Post Reply