Dialogue manager [conditional responses]

Godot Version

Godot v4.5.stable.official [876b29033]

Godot Dialogue Manager v3.10.1

Question

EDIT: Another poster has demonstrated that this feature of dialogue manager does work. I subsequently talked to the creator of Dialogue Manager, and even he wasn’t able to identify the problem, but it has something to do with me using a custom implementation that sidesteps a bunch of default ways of doing things.
For posterity - if you, dear reader, are having similar problems, install Dialogue Manager from scratch and implement it as it’s intended. You can build on the example balloon (essentially the scene DM uses) while retaining all the default functionality… and do it before developing a whole game around a faulty implementation :slight_smile:

I can’t get conditional responses to work, ie:
- A response [if variable == true] => a_label

Instead the response is always shown and selectable, regardless of what the variable evaluates to. Here is my test example:

~ start
Speaker: test_boolean evaluates to {{test_boolean}}
- Response A [if test_boolean == true] => label_a
- Response B [if test_boolean == false] => label_b
- Always visible
	Speaker: Some text

~ label_a
Speaker: This is label A

~ label_b
Speaker: This is label B

The resulting in-game dialogue looks like this:

Speaker: test_boolean evaluates to true
- Response A
- Response B
- Always visible

The responses all behave as if no conditional is applied, and all display and function as normal. I should mention that regular if statements work, so this (condensed) example works :

if test_boolean == true
	- Response A
	- Always visible
else
	- Response B
	- Always visible

Has anyone gotten these to work? I have a lot of dialogue trees, and it would really make my life easier if I could use the nice [if something == true] syntax, rather than the slightly more unwieldy if blocks. All the other dialogue manager functionality works fine, so I’m a bit perplexed.

I don’t know if this is exactly what your looking for, but theres a dialogue manager tutorial part 1/2 in godot 4 by Chevifier on youtube. it has something like this i think you could adapt?

(the 1/2 is because he has parts 1 and 2, not 1/2 of a part lol)

Thanks! I checked it, and he definitely does use the conditional responses exactly as described in the documentation. I’d already done the same, to no effect, so I guess that changes my question to “why won’t this work for me?” :confused:

I’ve also noticed that some of the other dialogue manager specific syntax doesn’t work for me, specifically [wait=1]… which leads me to think I’ve set it up incorrectly? Any insights would be appreciated, but at this point my project is getting close to content-complete, and I’m mostly just curious. Still love the dialogue manager though!

Thanks again.

huh, thats weird. Maybe it wants you to use the insert menu to insert a wait? (Its at the top hotbar)

Anyways no problem :smiley: