integer mychannel = -8888; integer particle_chan = -270510; string listenfor; string response; string detach; key masterid; key handle; default { state_entry() { masterid = llGetOwner(); handle = llGetKey(); listenfor = (string)masterid + "handle"; response = (string)masterid + "handle ok"; detach = (string)masterid + "handle detached"; llListen(mychannel, "", NULL_KEY, listenfor); llSay(mychannel, response); } attach(key id) { if (NULL_KEY == id) llSay(mychannel, detach); } listen(integer channel, string name, key id, string message) { llSay(mychannel, response); llSay(particle_chan, handle + "#" + masterid); } on_rez(integer param) { llResetScript(); } touch_start(integer total_number) { llSay(particle_chan, handle + "#" + masterid); } }