Page 1 of 1

Not end conversation after selecting the option with no child node

Posted: Thu Apr 29, 2021 1:53 pm
by circusCharlie
Hi.

Is there a way to Not end conversation after the user presses an option that has no child node? For example: Question 1 has 4 options. I want the user to proceed to next question only if they press the first option. If they press any other options then Nothing should happen. Currently, on pressing an option that does not have a child node ends the conversation.

Thank you.

Re: Not end conversation after selecting the option with no child node

Posted: Thu Apr 29, 2021 3:07 pm
by Tony Li
Hi,

Do you want the conversation to just hang there, or to return to a previous node?

To return to a previous node, right-click on the no-child nodes and select Make Link. Then link them to a previous node.

To make the conversation hang, set the Sequence field to: WaitForMessage(Forever)

(Technically you can put almost anything in place of Forever. It's just an arbitrary string that the sequencer will wait to receive. But since nothing is sending the string, it will wait forever.)

Re: Not end conversation after selecting the option with no child node

Posted: Fri Apr 30, 2021 2:11 am
by circusCharlie
Thanks for a quick response.

I set the Sequence field to: WaitForMessage(Forever). But when I pressed the option (to which I set the sequence) all the options (response) disappeared and only the question was visible.

What I am trying to achieve is that if I press the wrong option (option which has no child nodes) then the entire conversation (question and response) should stay intact. Nothing should happen until the player selects the correct option. Basically, selecting the node with child should move the conversation forward but selecting the options with no child nodes should not do anything at all.

Re: Not end conversation after selecting the option with no child node

Posted: Fri Apr 30, 2021 10:16 am
by Tony Li
So you're saying the wrong options' UI Buttons should be non-functional? If so, here are a few ways you could handle it:

1. Allow the wrong options to be functional, and link them to a node that says something like: "Incorrect. Try again." Then link that node back to the options.

2. Or set the wrong options' Conditions so they'll be false, and tick the Dialogue Manager's Input Settings > Include Invalid Entries. For more details and tips on how to only show some invalid entries, see this post. This will make them visible but not clickable.

3. See this post for additional ways, including using a subclass of StandardUIMenuPanel to make the wrong options' buttons clickable but the clicks do nothing.