Timing issues regarding sequences & conversation flow
Posted: Thu Mar 19, 2020 10:19 am
Hi Tony,
We are on Dialogue System 2.2.4. We are experiencing some strange timing issues in Dialogue System's sequencing / conversation flows. Adding Continue()@0.01's (for example) in certain spots DOES seem to fix the issue, but also this is not ideal.
What I believe is happening is something like this:
A Dialogue System trigger fires off, there is a "Play Sequence" field with some SetVariable commands AND some custom sequencer commands I made that also (eventually) set variables too (based on more complicated things, might take a little bit longer to run than the plain SetVariable commands). The problem is that these variables in the "Play Sequence" field NEED to be set first BEFORE the conversation even starts, or else they become out of sync, since the conversation has nodes with "[var=]" tags in it. So basically, these [var=] are showing up blank/wrong, since the Play Sequence SetVariable (and similar custom commands) aren't quite setting their variables in time before the [var=] tags get processed. My custom sequencer commands ARE calling "Stop();" at the proper time, i.e. the very end.
We've noticed similar issues when using Continue(); within conversations too, so this problem is not isolated purely to "Play Sequence" field. It can also happen mid-conversation, e.g. setting a variable in one node, then later doing [var=] in a future node, yet when I debugged the [var=] gets processed FIRST, THEN the SetVariable finally runs. Is there any way around this besides just random Continue()@0.01's? Seems very ugly to have to consider this in every possible spot in our game. Thanks!
We are on Dialogue System 2.2.4. We are experiencing some strange timing issues in Dialogue System's sequencing / conversation flows. Adding Continue()@0.01's (for example) in certain spots DOES seem to fix the issue, but also this is not ideal.
What I believe is happening is something like this:
A Dialogue System trigger fires off, there is a "Play Sequence" field with some SetVariable commands AND some custom sequencer commands I made that also (eventually) set variables too (based on more complicated things, might take a little bit longer to run than the plain SetVariable commands). The problem is that these variables in the "Play Sequence" field NEED to be set first BEFORE the conversation even starts, or else they become out of sync, since the conversation has nodes with "[var=]" tags in it. So basically, these [var=] are showing up blank/wrong, since the Play Sequence SetVariable (and similar custom commands) aren't quite setting their variables in time before the [var=] tags get processed. My custom sequencer commands ARE calling "Stop();" at the proper time, i.e. the very end.
We've noticed similar issues when using Continue(); within conversations too, so this problem is not isolated purely to "Play Sequence" field. It can also happen mid-conversation, e.g. setting a variable in one node, then later doing [var=] in a future node, yet when I debugged the [var=] gets processed FIRST, THEN the SetVariable finally runs. Is there any way around this besides just random Continue()@0.01's? Seems very ugly to have to consider this in every possible spot in our game. Thanks!