3D Quest objective marker?

Announcements, support questions, and discussion for the Dialogue System.
Fitbie
Posts: 44
Joined: Tue Dec 07, 2021 6:30 pm

Re: 3D Quest objective marker?

Post by Fitbie »

Thanks, you are llterally the best asset dev out there
User avatar
Tony Li
Posts: 21679
Joined: Thu Jul 18, 2013 1:27 pm

Re: 3D Quest objective marker?

Post by Tony Li »

Glad to help!
Fitbie
Posts: 44
Joined: Tue Dec 07, 2021 6:30 pm

Re: 3D Quest objective marker?

Post by Fitbie »

I apologize for being so noisy, but I wanted to know one more thing.
Is there a patch for the QuestStateListener class?
There are fields

Code: Select all

public QuestStateIndicatorLevel[] questStateIndicatorLevels
public QuestEntryStateIndicatorLevel[] questEntryStateIndicatorLevels[0]; 
and I would really like it to be wrapped in a virtual property so I can override it

And additional question: how to make a player can only track 1 quest at time? I know there was such topic, but is it works for now?

Thank you!
User avatar
Tony Li
Posts: 21679
Joined: Thu Jul 18, 2013 1:27 pm

Re: 3D Quest objective marker?

Post by Tony Li »

Hi,

Those two variables are public, so you can just work with them as-is.

To track one quest at a time, you can tick the StandardUIQuestLogWindow component's Track One Quest At A Time checkbox. When the player clicks a quest's Track toggle in the quest log window, it will untrack all other quests.

If you want to do more -- such as automatically untracking other quests when you toggle tracking outside of the quest log window, you can add a script to the Dialogue Manager that has OnQuestStateChange and OnQuestTrackingEnabled methods.

In OnQuestStateChange, if the quest was just turned active and tracking is enabled, turn off tracking on all other quests.

In OnQuestTrackingEnabled, turn off tracking on all other quests.
Fitbie
Posts: 44
Joined: Tue Dec 07, 2021 6:30 pm

Re: 3D Quest objective marker?

Post by Fitbie »

Hey, Tony!
Another question:
I made my own system for tracking targets during a quest, bounded to QuestStateListener
But here's the problem: let's say we took a quest and enabled its tracking. And then the quest goes to "Success" state, we complete it.
The quest tracking is not turned off with changing state, which prevents my system from turning off tracker "compass" UI. Can you tell me if this can be fixed? I need DS to disable quest tracking when changing quest state to complete, abandoned, etc.. Thanks!
User avatar
Tony Li
Posts: 21679
Joined: Thu Jul 18, 2013 1:27 pm

Re: 3D Quest objective marker?

Post by Tony Li »

Hi,

You can add a script with an OnQuestStateChange() method to your Dialogue Manager GameObject. Example:

Code: Select all

void OnQuestStateChange(string quest)
{
    if (QuestLog.GetQuestState(quest) == QuestState.Success)
    {
        QuestLog.SetQuestTracking(quest, false);
    }
}
Post Reply