Run time permissions

From Second Life Wiki

Jump to: navigation, search

Event: run_time_permissions( integer perm ){ ; }

Triggered when an agent grants run time permissions to task

• integer perm mask of PERMISSIONS_* granted permissions
Constants Action Category Granter
PERMISSION_DEBIT 0x2 take money from agent's account Money Owner
PERMISSION_TAKE_CONTROLS 0x4 take agent's controls Control Anyone
PERMISSION_TRIGGER_ANIMATION 0x10 trigger Animation on agent Animation Anyone
PERMISSION_ATTACH 0x20 attach/detach from agent Attachment Owner
PERMISSION_CHANGE_LINKS 0x80 change links Link Owner
PERMISSION_TRACK_CAMERA 0x400 track the agent's camera position and rotation Camera Anyone
PERMISSION_CONTROL_CAMERA 0x800 control the agent's camera Camera Anyone

Examples

Plays an animation

default
{
    state_entry()
    {
        llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION);
    }
    run_time_permissions(integer perm)
    {
        if(PERMISSION_TRIGGER_ANIMATION & perm)
        {
            llStartAnimation("nyanya");
        }
    }
}

Notes

The argument perm is the bit combination of all permissions granted when this event is triggered. To determine if an exact permission is granted you will need to perform a bitwise AND comparison between perm and the permission constant you are looking for. The example above demonstrates this.

Personal tools