Condition doesn't affect Dialogue entry until too late

Announcements, support questions, and discussion for the Dialogue System.
Post Reply
Antonio O
Posts: 10
Joined: Wed Apr 18, 2018 6:54 pm

Condition doesn't affect Dialogue entry until too late

Post by Antonio O »

After several tests, I can't figure out how to stop a dialogue from showing, using a quest state as the decisive element.

What I want to achieve is that the NPC (Trigger by the player), will talk to him about a task he need to complete, after several seconds later (3) if the player didn't complete the task, he (NPC) will remind him(in a more aggressive now).

The problem is that the conversation follows without taking into account the recent quest status change.

Is my approach the right one? thanks!
User avatar
Tony Li
Posts: 22154
Joined: Thu Jul 18, 2013 1:27 pm

Re: Condition doesn't affect Dialogue entry until too late

Post by Tony Li »

Hi,

To accommodate certain continue buttons modes, the Dialogue System evaluates conditions one level ahead (from the More On Conditions page). This may be the issue if you're setting the quest state in one dialogue entry node and then checking that quest state in the next node.

If that's not the issue, does the NPC start a new conversation after 3 seconds? Or is the conversation still running from before?

Are you setting the quest state in Script fields and checking it in Conditions fields, like this:

Image
Antonio O
Posts: 10
Joined: Wed Apr 18, 2018 6:54 pm

Re: Condition doesn't affect Dialogue entry until too late

Post by Antonio O »

To accommodate certain continue buttons modes, the Dialogue System evaluates conditions one level ahead (from the More On Conditions page). This may be the issue if you're setting the quest state in one dialogue entry node and then checking that quest state in the next node.
That's exactly the issue, I will check the documentation right away! to make it work thanks
Antonio O
Posts: 10
Joined: Wed Apr 18, 2018 6:54 pm

Re: Condition doesn't affect Dialogue entry until too late

Post by Antonio O »

Is there a way to Delay the "Delay evaluation Node" , cause using @# doesn't seems to work ?
User avatar
Tony Li
Posts: 22154
Joined: Thu Jul 18, 2013 1:27 pm

Re: Condition doesn't affect Dialogue entry until too late

Post by Tony Li »

Hi,

Are you talking about the node whose title is "<delay evaluation>" in the image below?

Image

(From Conversations Evaluate Conditions One Extra Level Ahead)

If so, does this mean you want the conversation to stay on this node for some duration? If that's the case, you can set its Sequence to:

Code: Select all

Delay(#)
where # is the duration.
Antonio O
Posts: 10
Joined: Wed Apr 18, 2018 6:54 pm

Re: Condition doesn't affect Dialogue entry until too late

Post by Antonio O »

That way doesn't work. If I add the "Delay(#)" The "delay evaluation" node doesn't seem to delay the evaluation, I need to add an extra node in order to work. Weird, not sure why
User avatar
Tony Li
Posts: 22154
Joined: Thu Jul 18, 2013 1:27 pm

Re: Condition doesn't affect Dialogue entry until too late

Post by Tony Li »

Hi,

It sounds like the "delay evaluation" node might have some Conditions or Script on it itself. If you'd like to investigate this further, please let me know what's different about the structure of your quest conversation vs. the example conversation screenshot above. You're also welcome to send an example to tony (at) pixelcrushers.com. I'll be happy to take a look.
Post Reply