Yes, there is.
(script continuous Cloak
(begin
(sleep_until (= (unit_get_current_flashlight_state (unit (list_get (players) 0))) true))
(object_create cloak)
(objects_attach (unit (list_get (players) 0)) "" cloak "")
(objects_detach (unit (list_get (players) 0)) cloak)
(sleep 1650)
(sleep_until (= (unit_get_current_flashlight_state (unit (list_get (players) 0))) false))
(sleep_until (= (unit_get_current_flashlight_state (unit (list_get (players) 0))) true))
(object_create cloak)
(objects_attach (unit (list_get (players) 0)) "" cloak "")
(objects_detach (unit (list_get (players) 0)) cloak)
(sleep 1650)
)
)
I DID NOT MAKE THIS. It was in a thread posted a while back on halomaps.
Cloak is the name of the active camo you need to have placed somewhere on the map. It doesn't have to be cloak, it can be anything you desire.
I believe 1650 is the time it takes to use the camo again. You can change that to whatever you please as well.