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"); } else { nowmode = 0; openClose("close"); llOwnerSay("sensor:off"); } } } default { state_entry() { nowmode = 0; llSetStatus(STATUS_PHANTOM , FALSE); llSensorRemove(); } touch_start(integer num) { changeMode(llDetectedKey(0)); if(nowmode==1){ state sensoron; } } 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)); if(nowmode==0){ state default; } } }