Group Authorization

From Second Life Wiki
Jump to navigation Jump to search

Group Authorization

This script is used to check whether the object is set to the appropriate group (by group key).


The Script

<source lang="lsl2"> // © 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();
   }

} </source>