Main Quest & Time Based Quest

Announcements, support questions, and discussion for the Dialogue System.
field2012
Posts: 17
Joined: Fri Apr 15, 2016 2:11 am

Main Quest & Time Based Quest

Post by field2012 »

Hi there,

I have started using the dialogue system and got couple of questions as outlined below:

Do you have instruction for how to setup one Main Quest for the whole duration of game? I have looked at your response in Multi Quest from One NPC. If the process is same, then I will follow that.

Also can I trigger a quest based on time?. Let says when the game starts, the quests gets assigned automatically, and it says Main Quest (alert message - Survive the attack". After 5 mins, strong enemies gets spawned, and the quest gets updated and says Escape Castle and report to General Mark".

One last bit, how would I add an animation to be played when gathering something?.

Any direction or helped would be appreciated.

Regards
User avatar
Tony Li
Posts: 22107
Joined: Thu Jul 18, 2013 1:27 pm

Re: Main Quest & Time Based Quest

Post by Tony Li »

Hi,
Thanks for using the Dialogue System!
field2012 wrote:Do you have instruction for how to setup one Main Quest for the whole duration of game? I have looked at your response in Multi Quest from One NPC. If the process is same, then I will follow that.
It's really up to you. I recommend treating it like any other quest. If you're going to organize quests by Group, you could define a separate group for the main quest or just not assign it to a group. If you want the player to start the game with the main quest active, set its State to active in your dialogue database. Otherwise, when the player obtains the main quest during play, set it active then.

Since it's a main quest, it's likely that many NPCs will consider its quest state in their conversations. Your conversations can check the state of the main quest in dialogue entries' Conditions fields.

I realize that's all kind of vague. If you have any specific implementation questions, just let me know.
field2012 wrote:Also can I trigger a quest based on time?. Let says when the game starts, the quests gets assigned automatically, and it says Main Quest (alert message - Survive the attack". After 5 mins, strong enemies gets spawned, and the quest gets updated and says Escape Castle and report to General Mark".
The Dialogue System doesn't provide any automated way to do this. I'm working on a separate quest asset that will do this and much more. The Dialogue System's quest system is designed to manage and display quest data, such as quest states and quest descriptions. Quest activity, such as timers and spawners, is up to you.
field2012 wrote:One last bit, how would I add an animation to be played when gathering something?.
You can use a Sequence Trigger and a sequencer command.

Let's say, for example, you're using the Dialogue System's Selector / OnUse system for interaction. Your player has a Mecanim animation state called "Gather". Add a Sequencer Trigger to the gatherable object, set its trigger to OnUse, and set the Sequence field to:

Code: Select all

AnimatorPlay(Gather)
Since the Sequence Trigger is set to OnUse, the default 'speaker' keyword refers to the GameObject that sent the OnUse message (i.e., the player). So the sequence above will play the "Gather" animator state on the player.

If you also want to increment a Dialogue System variable, such as "numFlowersPicked", you can also add a Lua Trigger set to OnUse. The use the Lua wizard ("..." button) to generate this Lua instructions:

Code: Select all

Variable["numFlowersPicked"] = Variable["numFlowersPicked"] + 1
When the player uses the object, it will play the "Gather" animation and increment the "numFlowersPicked" variable.
field2012
Posts: 17
Joined: Fri Apr 15, 2016 2:11 am

Re: Main Quest & Time Based Quest

Post by field2012 »

Thanks for the tips.

It took me about 10 hrs to get one quest ready. In the end I have an issue with tracker. It still shows the quest on the screen, but main quests in quest log is moved to completed.

I have attached the database and see if you have time to check it. I can't figure out why tracker shows quest shows on the main screen.

https://dl.dropboxusercontent.com/u/370 ... tabase.zip

Any help would be appreciated.

Also i got an old version, think 1.4.6. Is it worth updating to 1.6.1?

Cheers
User avatar
Tony Li
Posts: 22107
Joined: Thu Jul 18, 2013 1:27 pm

Re: Main Quest & Time Based Quest

Post by Tony Li »

Hi,

I strongly recommend updating to 1.6.1.1, or at least 1.6.0.1 which is the current version on the Unity Asset Store. The Asset Store team hasn't made 1.6.1.1 available on the store yet. They're a little backlogged. If you'd like access to the Pixel Crushers customer download site (free with your purchase of the Dialogue System) to download 1.6.1.1, please PM me your Unity Asset Store invoice number.

There have been significant improvements to quest UIs and dialogue UIs, as well as the Dialogue Editor, since 1.4.6. The updates should make it much easier to write your quests. In particular, a recent version added a Lua function "SetQuestState()" that immediately updates the quest tracker instead of waiting for the end of the conversation, which is usually a better alternative than manually setting the Quest["quest_name"].State variable. The Lua wizard dropdown for "Set > Quest > quest name > To > state" now uses SetQuestState(), too.

I looked at your dialogue database, but I'm not sure which is the main quest.

Also, make sure Show Completed Quests is UNticked in your quest tracker HUD.

To review the improvements since 1.4.6, see the Release Notes.
field2012
Posts: 17
Joined: Fri Apr 15, 2016 2:11 am

Re: Main Quest & Time Based Quest

Post by field2012 »

Ok i will see if i can update it easily without too much work.

The quest in the database is called under attack. I think it should be still there.

I got other simple quest, the tracker do disappear in those quests, but not with this particular one.
User avatar
Tony Li
Posts: 22107
Joined: Thu Jul 18, 2013 1:27 pm

Re: Main Quest & Time Based Quest

Post by Tony Li »

Thanks, I'll look at the quest In the database when I get back to the office.

As when importing any package, make sure to back up your project first!
User avatar
Tony Li
Posts: 22107
Joined: Thu Jul 18, 2013 1:27 pm

Re: Main Quest & Time Based Quest

Post by Tony Li »

No issues jumped out at me while looking over the Under Attack quest and general_alexo conversation.

If updating to 1.6.1.1 and unticking Show Completed Quests doesn't fix the issue, please let me know.
field2012
Posts: 17
Joined: Fri Apr 15, 2016 2:11 am

Re: Main Quest & Time Based Quest

Post by field2012 »

Tony Li wrote:No issues jumped out at me while looking over the Under Attack quest and general_alexo conversation.

If updating to 1.6.1.1 and unticking Show Completed Quests doesn't fix the issue, please let me know.
There is no issue with the general conversation. The only problem was with quest still being tracked even though quest is completed.
User avatar
Tony Li
Posts: 22107
Joined: Thu Jul 18, 2013 1:27 pm

Re: Main Quest & Time Based Quest

Post by Tony Li »

Hi,

Is the problem still there after updating the Dialogue System?

If so, would it be possible to send your project to tony (at) pixelcrushers.com? (Zip up the Assets and ProjectSettings folders.)

If that's not possible, then please temporarily set the Dialogue Manager's Debug Level to Info and play through the quest until you complete it. Then please send me the editor log file.
field2012
Posts: 17
Joined: Fri Apr 15, 2016 2:11 am

Re: Main Quest & Time Based Quest

Post by field2012 »

Tony Li wrote:Hi,

Is the problem still there after updating the Dialogue System?

If so, would it be possible to send your project to tony (at) pixelcrushers.com? (Zip up the Assets and ProjectSettings folders.)

If that's not possible, then please temporarily set the Dialogue Manager's Debug Level to Info and play through the quest until you complete it. Then please send me the editor log file.
The problem with quest still being tracked is there after upgrading to 1.6.1.
I will have to speak to my programmer and see what's causing this issue.
It seems to be working with the demo.

Edit: I checked the debug log, it won't help.

Thanks for your help.
Post Reply