diff options
Diffstat (limited to '')
-rw-r--r-- | onefang's leash holder.lsl | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/onefang's leash holder.lsl b/onefang's leash holder.lsl new file mode 100644 index 0000000..6d7b360 --- /dev/null +++ b/onefang's leash holder.lsl | |||
@@ -0,0 +1,44 @@ | |||
1 | integer mychannel = -8888; | ||
2 | integer particle_chan = -270510; | ||
3 | string listenfor; | ||
4 | string response; | ||
5 | string detach; | ||
6 | |||
7 | key masterid; | ||
8 | key handle; | ||
9 | |||
10 | default | ||
11 | { | ||
12 | state_entry() | ||
13 | { | ||
14 | masterid = llGetOwner(); | ||
15 | handle = llGetKey(); | ||
16 | listenfor = (string)masterid + "handle"; | ||
17 | response = (string)masterid + "handle ok"; | ||
18 | detach = (string)masterid + "handle detached"; | ||
19 | llListen(mychannel, "", NULL_KEY, listenfor); | ||
20 | llSay(mychannel, response); | ||
21 | } | ||
22 | |||
23 | attach(key id) | ||
24 | { | ||
25 | if (NULL_KEY == id) | ||
26 | llSay(mychannel, detach); | ||
27 | } | ||
28 | |||
29 | listen(integer channel, string name, key id, string message) | ||
30 | { | ||
31 | llSay(mychannel, response); | ||
32 | llSay(particle_chan, handle + "#" + masterid); | ||
33 | } | ||
34 | |||
35 | on_rez(integer param) | ||
36 | { | ||
37 | llResetScript(); | ||
38 | } | ||
39 | |||
40 | touch_start(integer total_number) | ||
41 | { | ||
42 | llSay(particle_chan, handle + "#" + masterid); | ||
43 | } | ||
44 | } | ||