integer nowmode = 0; openClose(string openmode) { llMessageLinked(LINK_ALL_CHILDREN ,0,openmode,""); } changeMode(key id) { if (id == llGetOwner()) { if (nowmode == 0) { nowmode = 1; llOwnerSay("sensor:on"); state sensoron; } else { nowmode = 0; openClose("close"); llOwnerSay("sensor:off"); state default; } } } default { state_entry() { nowmode = 0; llSensorRemove(); } touch_start(integer num) { changeMode(llDetectedKey(0)); } on_rez(integer num) { llResetScript(); } } state sensoron{ state_entry() { llSensorRepeat("", NULL_KEY, AGENT, 5, PI , 0.5); } sensor(integer totalnum) { openClose("open"); llSetStatus(STATUS_PHANTOM , TRUE); } no_sensor() { openClose("close"); llSetStatus(STATUS_PHANTOM , FALSE); } touch_start(integer num) { changeMode(llDetectedKey(0)); } }