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 ![]()
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.