Difference between revisions of "Group Authorization"
Jump to navigation
Jump to search
Kireji Haiku (talk | contribs) (added missing run_time_permissions event) |
m (<lsl> tag to <source>) |
||
Line 8: | Line 8: | ||
==The Script== | ==The Script== | ||
< | <source lang="lsl2"> | ||
// © 2009 Chase Quinnell and TerraCo Designs | // © 2009 Chase Quinnell and TerraCo Designs | ||
// http://www.terracodesigns.com | // http://www.terracodesigns.com | ||
Line 53: | Line 53: | ||
} | } | ||
} | } | ||
</ | </source> |
Latest revision as of 20:29, 24 January 2015
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Group Authorization
This script is used to check whether the object is set to the appropriate group (by group key).
The Script
// © 2009 Chase Quinnell and TerraCo Designs
// http://www.terracodesigns.com
// Please keep this open source and leave my name reference here
// This is the group key for the authorized group.
string authgroupkey = "INSERT YOUR GROUP KEY HERE";
Unauthorized()
{
string thisScript = llGetScriptName();
llOwnerSay("/me [" + thisScript + "]: Sorry, you're wearing the wrong group tag.");
llDetachFromAvatar();
llRemoveInventory(thisScript);
llDie();
}
default
{
on_rez(integer start_param)
{
llResetScript();
}
state_entry()
{
key ownerKey = llGetOwner();
llRequestPermissions(ownerKey, PERMISSION_ATTACH);
key thisPrimsKey = llGetKey();
string groupKey = llList2String(llGetObjectDetails(thisPrimsKey, [OBJECT_GROUP]), 0);
if (groupKey != authgroupkey)
Unauthorized();
else
llOwnerSay("Authorization passed");
}
run_time_permissions(integer perm)
{
if (!(perm & PERMISSION_ATTACH))
llResetScript();
}
}