Download

Is there way to skip a behavior tree task after it is called once?

I used a behavior tree to create a dialog system in my game. It works very well except I can’t seem to find a way to get the characters to stop repeating their opening dialog once the first Selector’s Child has succeeded. Once any of the dialog branches I highlighted in green finish, it runs the opening exchange (in red) again. Is there a decorator I could use that allows for a “Do Once” type of action where the NPC would stop re-greeting them before giving dialog choices, or is there a better way to structure my behavior tree where the options are presented at a higher priority than the NPCs greeting?

you can set a bool after the intro is set, and in each you can check the bool and “can enter” if bool is false. i forgot the actual terminology but it may be a service. let me check

Did you find what terms I’m looking for? I’ve been looking through videos and documentation. I think there may be a way I can set a variable on the the blackboard and set it via a decorator, I’m still trying to figure out the logic that will let the task run once, then not run again without the sequence failing.

You may be overhinking it.
the blackboard can call a task and set a valriable that disable entering the task again. With a bool. Like stated above.

Copy the mechanics from this with the visible/not visible
​​​​​​​https://youtu.be/gH88ZKB1_IE