Jump to content

LlGetPermissions

From OSgrid Wiki

Function: integer llGetPermissions( );

Returns an integer bitfield with the script permissions granted

Constants Action Category Granter Automatic When
PERMISSION_DEBIT 0x2 take money from agent's account Money Owner
PERMISSION_TAKE_CONTROLS 0x4 take agent's controls Control Anyone sat on, attached
PERMISSION_TRIGGER_ANIMATION 0x10 start or stop Animations on agent Animation Anyone sat on, attached
PERMISSION_ATTACH 0x20 attach/detach from agent Attachment Owner attached
PERMISSION_CHANGE_LINKS 0x80 change links Link Owner
PERMISSION_TRACK_CAMERA 0x400 track the agent's camera position and rotation Camera Anyone sat on, attached
PERMISSION_CONTROL_CAMERA 0x800 control the agent's camera(must be sat on or attached) Camera Anyone sat on, attached


Caveats

Examples

<source lang="lsl">

default {

   state_entry()
   {
       llRequestPermissions(llGetOwner(),
       //Comment out any of the following lines for fun
           PERMISSION_DEBIT |
           PERMISSION_TAKE_CONTROLS |
           PERMISSION_TRIGGER_ANIMATION |
           PERMISSION_ATTACH |
           PERMISSION_CHANGE_LINKS |
           PERMISSION_TRACK_CAMERA |
           PERMISSION_CONTROL_CAMERA |
           0);
   }
   touch_start(integer a)
   {
       integer perm = llGetPermissions();
       if(perm & PERMISSION_DEBIT)
           llOwnerSay("Can use llGiveMoney");
       if(perm & PERMISSION_TAKE_CONTROLS)
           llOwnerSay("Can use llTakeControlls");
       if(perm & PERMISSION_TRIGGER_ANIMATION)
           llOwnerSay("Can use llStartAnimation");
       if(perm & PERMISSION_ATTACH)
           llOwnerSay("Can use llAttachToAvatar");
       if(perm & PERMISSION_CHANGE_LINKS)
           llOwnerSay("Can use llCreateLink");
       if(perm & PERMISSION_TRACK_CAMERA)
           llOwnerSay("Can use llGetCameraPos");
       if(perm & PERMISSION_CONTROL_CAMERA)
           llOwnerSay("Can use llSetCameraParams");
   }
   run_time_permissions(integer perm)
   {
       if(perm & PERMISSION_DEBIT)
           llOwnerSay("Can use llGiveMoney");
       if(perm & PERMISSION_TAKE_CONTROLS)
           llOwnerSay("Can use llTakeControlls");
       if(perm & PERMISSION_TRIGGER_ANIMATION)
           llOwnerSay("Can use llStartAnimation");
       if(perm & PERMISSION_ATTACH)
           llOwnerSay("Can use llAttachToAvatar");
       if(perm & PERMISSION_CHANGE_LINKS)
           llOwnerSay("Can use llCreateLink");
       if(perm & PERMISSION_TRACK_CAMERA)
           llOwnerSay("Can use llGetCameraPos");
       if(perm & PERMISSION_CONTROL_CAMERA)
           llOwnerSay("Can use llSetCameraParams");
   }

} </source>


See Also
Events
• run_time_permissions – Permission receiver event
Functions
• llGetPermissionsKey – Get the avatar who granted permissions.
• llRequestPermissions – Request permissions