AVsitter/AVsitter2/Plugins/AVcontrol/LockGuard/[AV]LockGuard-object.lsl
Builder's Brewery 5c4f5b3418 Update repo (#1)
* Update README.md

* Update and rename [AV]LockGuard-object.lslp to [AV]LockGuard-object.lsl

* Update [AV]LockGuard-object.lsl

* Update [AV]LockGuard-object.lsl

* Update [AV]LockGuard-object.lsl

* Update and rename [AV]LockGuard.lslp to [AV]LockGuard.lsl

* Update and rename shared props via BUTTON.lslp to shared props via BUTTON.lsl

* Update and rename shared props via POSE.lslp to shared props via POSE.lsl
2016-06-06 11:25:56 +10:00

40 lines
1 KiB
Text

// Placed in prop objects, this script sends the uuid of any Lockguard rings to the script in furniture.
// Ring prims in the prop should be named with "ring" in their prim name. e.g. "ring1", "ring2"
integer COMM_CHANNEL = -57841689;
integer comm_handle;
list findPrimsWithSubstring(string name)
{
list found;
integer index = llGetLinkNumber() != 0;
integer number = llGetNumberOfPrims() + index;
for (; index <= number; index++)
{
if (~llSubStringIndex(llToLower(llGetLinkName(index)), name))
{
found += [llGetLinkName(index), llGetLinkKey(index)];
}
}
return found;
}
default
{
on_rez(integer start)
{
if (!llGetStartParameter()) return;
comm_handle = llListen(COMM_CHANNEL, "", NULL_KEY, "INFORM");
}
listen(integer listen_channel, string name, key id, string msg)
{
list ring_prims = findPrimsWithSubstring("ring");
llSay(COMM_CHANNEL, llDumpList2String(["ATTACHPOINTS"] + ring_prims, "|"));
llListenRemove(comm_handle);
}
}