That's odd, I remember an optional parameter in the waitevent function to timeout. I suppose your only option would be hooks then.
EDIT: You could just create a dummy timer and whenever the timer ticks it will get out of waitevent, that would also allow you to check EVENT_TIMERTICK to tell when your waitevent "timed out".
EDIT: You could just create a dummy timer and whenever the timer ticks it will get out of waitevent, that would also allow you to check EVENT_TIMERTICK to tell when your waitevent "timed out".
CreateTimer(20) '20hz