Group Authorization
Revision as of 07:04, 13 October 2012 by Kireji Haiku (talk | contribs) (added missing run_time_permissions event)
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
<lsl> // © 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(); }
} </lsl>