Page 1 of 2

Another quest log issue.

Posted: Mon Mar 18, 2019 1:09 pm
by nivlekius
I just noticed that the entries in the quest log are all being shown regardless of the state the quest is in. So, the success entry is showing while the quest is just active.

Thanks

Re: Another quest log issue.

Posted: Mon Mar 18, 2019 1:51 pm
by nivlekius
On this same topic, is there a way to change the entry based on a variable instead of quest state?

Re: Another quest log issue.

Posted: Mon Mar 18, 2019 3:44 pm
by Tony Li
nivlekius wrote: Mon Mar 18, 2019 1:09 pmI just noticed that the entries in the quest log are all being shown regardless of the state the quest is in. So, the success entry is showing while the quest is just active.
That's by design. Many games show completed entries with strikethrough or a checkmark next to it. If you don't want to show it, you can assign a Quest Entry Success Text Template whose height is 0, which will make it invisible.
nivlekius wrote: Mon Mar 18, 2019 1:51 pmOn this same topic, is there a way to change the entry based on a variable instead of quest state?
You can change color based on a variable, or even on a complex Lua expression if you want to go wild.

Let's say the entry text is: "Collect some lava."

You could make the text orange by changing it to: "<color=orange>Collect some lava.</color>"

But you can also include [var=varName] tags in text. Let's say you've defined a variable named LavaColor and set it to "orange". Then you can set the entry text to: "<color=[var=LavaColor]>Collect some lava.</color>"

From there, it's not much more work to make it variable. Let's say the quest's target changes. It could be lava or it could be ice. You store the name of the target in a variable named Target. Then the entry text can be: "Collect some [var=Target]."

And then you can save the color in a variable named TargetColor, and set the entry text to:
"<color=[var=TargetColor]>Collect some [var=Target].</color>"

If Target is "ice" and TargetColor is "blue", then the entry text ends up being: "<color=blue>Collect some ice.</color>"

Re: Another quest log issue.

Posted: Mon Mar 18, 2019 3:54 pm
by nivlekius
For the second part, I meant is there a way to show the entry based on a variable instead of a quest state but the first part answered it.

I wanted to use it as a notification that a quest was ready to turn in. Like you got the item in a different zone (scene) the player would be reminded to go turn it in. Not a big deal though I guess. The Alert should suffice.

Re: Another quest log issue.

Posted: Mon Mar 18, 2019 4:07 pm
by Tony Li
I don't recall if you've made a custom subclass of StandardUIQuestLogWindow to override some of its functionality. If so, you can override the GetQuestInfo() method. This method is defined in the base class, QuestLogWindow. In your overridden version, you could copy the code from the original method and then customize it to look up variable values.

Re: Another quest log issue.

Posted: Mon Mar 18, 2019 5:39 pm
by nivlekius
I'll have a look at that, thanks.

Re: Another quest log issue.

Posted: Tue Mar 19, 2019 2:11 pm
by nivlekius
I'm going to just add this here so I don't overload your board with by:Nivlekius and again, I don't mean to be a pest I'm just trying to get this working the way I'd like if possible. So I worked for hours trying to come up with a solution for this on my own but nothing seems to work or is very clunky and just not good to do. What's happening is, the QuestStateListener always stays on the last state and adding another listener will not override it.

For example, at the end of the first quest, the state is "success" that make the indicator go away. But Then when a new quest is on the say, "active" state it should have an question mark but it doesn't show it's showing the same state form the last quest, which is finished. How can it be resolved to have multiple quests on one npc and have it listening for all of them individually?

Thanks

Re: Another quest log issue.

Posted: Tue Mar 19, 2019 2:24 pm
by nivlekius
I even tried using a sequencer, which does work in changing the vars in the QuestStateListener, but I couldn't figure out how to refresh the listener and it's a pretty clunky way to it, really.

Re: Another quest log issue.

Posted: Tue Mar 19, 2019 2:54 pm
by Tony Li
Hi,

Reorder your indicators so the success indicator is Element 0.

Each QuestStateListener tells the QuestStateIndicator which indicator it would like to show. The QuestStateIndicator then shows the indicator with the highest element number.

I plan to write custom editors for QuestStateListener and QuestStateIndicator that should make it much clearer to see how they work. I didn't have time to put it into version 2.1.3, which came out yesterday. (A big list of things did make it into 2.1.3. See the release notes.)

Re: Another quest log issue.

Posted: Tue Mar 19, 2019 2:58 pm
by nivlekius
Aaaah ok, that makes it much simpler. Yeah I read those :) looks good.