run_time_permissions
run_time_permissions(integer perm// Bitfield of currently granted permissions (PERMISSION_* flags). Values: ScriptPermission
) { … }Triggered when an agent grants or denies runtime permissions requested by llRequestPermissions. Passes the active integer permissions bitfield perm (returns 0 if no permissions are currently granted).
Triggered when an agent grants run time permissions to this script.
run_time_permissions(integer perm){
}Specification
Section titled “Specification”| 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 | Anyone1 | |
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 | |
PERMISSION_PRIVILEGED_LAND_ACCESS | 0x80000 | Grants the script privileged access to land parcel functions, such as parcel sale. Used by llSetParcelForSale. | Land | Owner | |
PERMISSION_GAME_CONTROL | 0x100000 | Permission to receive game_control input events. | Control | Anyone | sat on, attached |
Examples
Section titled “Examples”Example 1
Plays an animation
Section titled “Plays an animation”default{ state_entry() { llRequestPermissions(llGetOwner(), PERMISSION_TRIGGER_ANIMATION); } run_time_permissions(integer perm) { if(PERMISSION_TRIGGER_ANIMATION & perm) { llStartAnimation("nyanya"); } }}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. Perm will be 0 if the user has refused to grant any permissions.
Original wiki source
Some wiki templates and tables need their original context. View this article on the Second Life Wiki. Technical wording and examples are retained from the source; historical guidance may differ from current behavior.
Footnotes
Section titled “Footnotes”-
PERMISSION_TELEPORTcannot be held by temporary attachments. ↩