I’m not sure if this is a bug or limitation, but when I use a flowscript node as part of a dynamic check it does not seem to re-evaluate. I’ve attached an example of the problem. I would expect the embedded flowscript node on the left to return true when the flag is set and interrupt the loop running on the right. This doesn’t seem to work. If I swap out the flowscript node for a standard ‘Check’ then it works fine.
It’s a bit annoying to work around this problem as I need to put a bunch of booleans into the blackboard, update their values as part of some parallel evaluation, and then check them instead of the output of a flowscript node.
This is kind of a limitation by design, but the reason is that the flowscript is treated as an action that can take time to complete (if for example you had some Wait node in there) and actions are not retriggered as part of a Dynamic Sequencer or Selector. If actions where to be retriggered, that might potentially lead up to multiple actions being active at the same time under the Dynamic Sequencer or Selector which should not happen. If multiple actions are required to be active at the same time, then a Parallel node might be what you need.
If you use a Parallel node in place of a sequencer on the left, then both the nested flowscript and the action will be constantely executed in parallel.
Please let me know if the Parallel node works for you.
Thanks
Thanks for the explanation. I think I see why an embedded flowscript can’t be used as a condition node now. Replacing the LHS sequencer with a parallel does not do exactly what I want, it does interrupt the RHS of the tree but it also executes the LHS log action every tick. I tried moving the sequencer underneath the new parallel (see attached), this works but then also causes the RHS tree to be re-evaluated every tick and it causes a strange flickering.
It would be nice to have two types of embedded flowscripts, a condition type and an action type. This way you can easily extend NC with your own conditions/actions and without ever needing to write any code! Well, except for maybe really special purpose stuff like constraint solvers.
Actions underneath a Parallel node, re-execute once they are complete only if the Parallel is set to Dynamic, otherwise they will only execute once and the Parallel will return as soon as all child nodes are complete. I will also take a look at including a “Condition” like nested flowscript if possible by the way.
Thanks!
Join us on Discord: https://discord.gg/97q2Rjh
Author
Posts
Viewing 4 posts - 1 through 4 (of 4 total)
You must be logged in to reply to this topic.
Login
Register
By registering on this website you agree to our Privacy Policy.