Hey, when you use an action node in a dialogue tree and it only activated the “endaction” after a certain amount of update cycles ( for example moving a camera and only ending the action when it has reached it’s destination), this causes weird behaviour.
As a first , the nodes don’t wait, so the next dialogue node gets activated immediately , disregarding the fact that the action node hasn’t finished yet.
And more importantly , when the action eventually finishes, the dialogue tree also goes in the currently next node.
Meaning that if you use an action node with a couple of “say” nodes behind them. When you just let the action finish , it will not only have gone to the node after the behaviour, it will actually have gone 2 nodes down instead. because of the delayed endaction call.
Am I using these incorrectly , if so , how do I make a similar behaviour in a dialogue tree ? ( And no , I won’t be constantly jumping in between conditions untill the action is “finished”).
Hmm. I tried replicating this, using a stock action task, like for example wait, which also does call “EndAction” after a certain amount of time:
With the above example, the nodes are called in the correct order and the Wait node does indeed make the tree wait before the last conversation node is called.
Is the example I made above equivalent to the problem you are facing?
If not, is there any way I can replicate the problem?
Hey, thanks for the reply. It made me realize the problem wasn’t with nodecanvas itself , but with the way we used our continue button to travel to the next dialogue node. this button never got disabled and thus allowed us to continue to the next node regardless of whether their was an action being executed currently or not. I made a workaround by sending an extra subtitlerequest when a dialoguenode ends , this request doesn’t have a continue actio nattached to it and does makes the continue button call nothing untill the actio nis fixed and we get teh next proper subtitlerequest of a regular dialoguenode.