llGetPermissionsKey

From Second Life Wiki
Revision as of 14:06, 6 October 2012 by Kireji Haiku (talk | contribs) (added example)
Jump to navigation Jump to search

Summary

Function: key llGetPermissionsKey( );
0.0 Forced Delay
10.0 Energy

Returns the key of the avatar that last granted or declined permissions to the script.

Returns NULL_KEY if permissions were never granted or declined.

Examples

<lsl> // 1. rez a cube // 2. create a new script and paste this // 3. save script // 4. right-click the prim and choose attach // 5. touch the prim

announce_permissions_key() {

   key permissionsKey = llGetPermissionsKey();
   // PUBLIC_CHANNEL has the integer value 0
   llSay(PUBLIC_CHANNEL,
       "key llGetPermissionsKey() = '" + (string)permissionsKey + "'");

}

default {

   state_entry()
   {
       announce_permissions_key();
       key owner = llGetOwner();
       llRequestPermissions(owner, PERMISSION_ATTACH);
   }
   touch_start(integer num_detected)
   {
       key id = llDetectedKey(0);
       key owner = llGetOwner();
       key permissionsKey = llGetPermissionsKey();
       if (id == owner)
       {
           if (permissionsKey == owner)
               llDetachFromAvatar();
           else
               llSay(PUBLIC_CHANNEL, "Can't detach from you, you have not granted ATTACH perms.");
       }
       else
           llSay(PUBLIC_CHANNEL, "Sorry, you're not the owner!");
   }
   run_time_permissions(integer perm)
   {
       if (perm & PERMISSION_ATTACH)
           announce_permissions_key();
   }

}

</lsl>

See Also

Events

•  run_time_permissions

Functions

•  llGetPermissions
•  llRequestPermissions

Deep Notes

Signature

function key llGetPermissionsKey();