Ok this is weird
For some reason whenever I call an unveiled predicate it only reports it’s value when the block was started, not it’s current value
It made this exact block before and it worked fine but now it doesn’t
I figured it out, it’s a bug with the true/false switch block
Yup, the evaluated (regular) boolean input gets ran only once, when it gets the value to use. Unevaluated doesn't call the input before it runs the block, which allows the input to be called multiple times, with the ability for the input to change over time.
This implementation apparently consumes slightly less processing time than @pajamaclaws21's (excellent!) function - I used [Boolean (unevaluated)], too.
I compared both implementations through the following script:
On my system, running in Turbo mode, @pajamaclaws21's implementation permitted the parallel counter to reach between 200,000 and 250.000, whereas my implementation consistently facilitated 300,000+. It's not a huge difference of course but significant nonetheless.
On the other hand, with my implementation one needs to be careful when specifying the interval, because the waiting thread will keep running until the end of the interval.
I suppose so. Perhaps not under all circumstances - I could run some more tests. The downside is the script-itself’s response to events maybe somewhat slower. In this case (@cookieclickerer33 apparently wants to use it to wait for a player’s feedback) that shouldn’t be a problem.