I've never seen a publicVariable "dropped" in any of my missions. Ever. If you have that problem, you're probably using too many public functions. Or your server needs more guaranteed packet allowance. Acknowledgements and handshakes are NOT necessary, they only multiply the problem.
And the above example was only intended to broadcast the variable. All it takes to make the script wait for the randomTime is another wait statement:
@time == randomTime
After the @randomTime != 0. But why would you want to broadcast the time and do it the long, discrepancy-likely way (time will vary on every client) when you can just have the server wait for the time to be reached then broadcast the event? Two scripts execed by all:
(first, init event = false)
;; begin serverEvent.sqs
?!(local Server): exit
_randTime = random (24)
~_randTime
event = true; publicVariable "event"
exit
;; end serverEvent.sqs
;; begin clientEvent.sqs
@event
(arbitrary code here)
;; end clientEvent.sqs
I promise it will work. publicVar on a bool should be more reliable than on a number, eh?