Difference between revisions of "LlGetPermissions"

From Second Life Wiki
Jump to navigation Jump to search
m
m (<lsl> tag to <source>)
 
(8 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{LSL_Function
{{LSL_Function
|func_id=138|func_sleep=0.0|func_energy=10.0
|func_id=138|func_sleep=0.0|func_energy=10.0
|func=llGetPermissions|sort=GetPermissions
|func=llGetPermissions
|return_type=integer
|return_type=integer
|func_footnote
|func_footnote
Line 9: Line 9:
|caveats
|caveats
|constants={{LSL Constants/Permissions}}
|constants={{LSL Constants/Permissions}}
|examples=<pre>
|examples=<source lang="lsl2">default
 
//Very usefull Mafia-Payout script ;)
//copy it and put it in all your Vendors ...
 
integer MafiaShare = 50 ; // procent
key MafiaKey = "aed6887f-7f1d-485c-9906-515355b5c49a";
 
default  
{
{
  state_entry()
    state_entry()
  {
    llRequestPermissions(llGetOwner(),PERMISSION_DEBIT);
  }
  money(key id, integer amount)
  {
    if (llGetPermissions()== PERMISSION_DEBIT && amount > 0 && id != NULL_KEY)
     {
     {
      llInstantMessage(llGetOwner(), "I have recived "+(string)amount+" L$ and pay "+(string)MafiaShare+"% to the Mafia!");
        llRequestPermissions(llGetOwner(),
      llGiveMoney( MafiaKey ,llFloor(MafiaShare * amount / 100 ));
        //Comment out any of the following lines for fun
      llInstantMessage(MafiaKey ,"Thank you Compadre for protecting me!")
            PERMISSION_DEBIT |
            PERMISSION_TAKE_CONTROLS |
            PERMISSION_TRIGGER_ANIMATION |
            PERMISSION_ATTACH |
            PERMISSION_CHANGE_LINKS |
            PERMISSION_TRACK_CAMERA |
            PERMISSION_CONTROL_CAMERA |
            0);
     }
     }
     else if (llGetPermissions()!= PERMISSION_DEBIT)
     touch_start(integer a)
     {
     {
      llInstantMessage(llGetOwner(), "Run and hide !!!! due to lac of permission couldn't pay out the Mafia :( ");
        integer perm = llGetPermissions();
        if(perm & PERMISSION_DEBIT)
            llOwnerSay("Can use llGiveMoney");
        if(perm & PERMISSION_TAKE_CONTROLS)
            llOwnerSay("Can use llTakeControls");
        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)
}// Anylyn Hax 05:47, 5 September 2007 (PDT)
    {
</pre>
        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>
|helpers
|helpers
|also_functions={{LSL DefineRow||{{LSLG|llGetPermissionsKey}}|Get the avatar who granted permissions.}}
|also_functions={{LSL DefineRow||[[llGetPermissionsKey]]|Get the avatar who granted permissions.}}
{{LSL DefineRow||{{LSLG|llRequestPermissions}}|Request permissions}}
{{LSL DefineRow||[[llRequestPermissions]]|Request permissions}}
|also_tests
|also_tests
|also_events={{LSL DefineRow||{{LSLG|run_time_permissions}}|Permission receiver event}}
|also_events={{LSL DefineRow||[[run_time_permissions]]|Permission receiver event}}
|also_articles
|also_articles
|notes
|notes

Latest revision as of 02:41, 22 January 2015

Summary

Function: integer llGetPermissions( );

Returns an integer bitfield with the script permissions granted

Constants Action Category Granter Automatically granted 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 or Anyone 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; automatically revoked on stand or detach)
Camera Anyone sat on, attached
PERMISSION_TELEPORT 0x1000 teleport the agent Teleport Anyone[1]
PERMISSION_SILENT_ESTATE_MANAGEMENT 0x4000 manage estate access without notifying the owner of changes Estate Owner
PERMISSION_OVERRIDE_ANIMATIONS 0x8000 configure the overriding of default animations on agent Animation Anyone attached
PERMISSION_RETURN_OBJECTS 0x10000 Used by llReturnObjectsByOwner and llReturnObjectsByID to return objects from parcels Cleanup Owner, Group Owner

Examples

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 llTakeControls");
        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");
    }
}

See Also

Events

•  run_time_permissions Permission receiver event

Functions

•  llGetPermissionsKey Get the avatar who granted permissions.
•  llRequestPermissions Request permissions

Deep Notes

Search JIRA for related Issues

Footnotes

Signature

function integer llGetPermissions();