llGetPermissionsKey

From Second Life Wiki
(Redirected from LSL llGetPermissionsKey)
Jump to navigation Jump to search

Summary

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

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

Returns NULL_KEY if permissions were neither granted nor declined (e.g., the permissions dialog was cancelled or otherwise ignored).

Examples

// 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();

    llSay(0, "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(0, "Can't detach from you, you have not granted ATTACH perms.");
        }
        else
            llSay(0, "Sorry, you're not the owner!");
    }

    run_time_permissions(integer perm)
    {
        if (perm & PERMISSION_ATTACH)
            announce_permissions_key();
    }
}

See Also

Events

•  run_time_permissions

Functions

•  llGetPermissions
•  llRequestPermissions

Deep Notes

Signature

function key llGetPermissionsKey();