Forgive my ignorance (I've got no way of testing this MP wise), but how about just using two triggers and dropping the script?
Init.sqs or any units init fieldPlayerout = false
Inner TriggerRadius:
As RequiredCondition: Anybody Present (Repeatedly)
Condition Field: not (vehicle player in thislist)
OnActivation: Hint "You are leaving the game area. Turn around now
Etc."
OnDeactivation: Hint "Stay in the area from now on, fool!"
Outer TriggerRadius:
As required - bigger than inner obviouslyCondition: Anybody Present (Repeatedly)
Timeout: Min 5 Mid 5 Max 5
Condition Field: not (vehicle player in thislist) and not
playeroutOnActivation: player setdammage (getdamage player + 0.1); Hint "Ouch!";
playerout = trueOnDeactivation:
playerout = falseNow because the variable
Playerout is never made public, it acts as a kind of 'client side' variable. It's only every activated using those triggers (which are client specific, due to the use of the player command). ?? Yes?
Anyway, that works in single player... not sure how it will go MP though