Difference between revisions of "LlGetObjectPermMask"

From Second Life Wiki
Jump to navigation Jump to search
m
m (SLuniverse vote)
Line 13: Line 13:
<lsl>
<lsl>
if ((permsYouHave & permsYouWant) == permsYouWant)
if ((permsYouHave & permsYouWant) == permsYouWant)
     llSay(PUBLIC_CHANNEL, "You have the perms you want.");
     llSay(0, "You have the perms you want.");
else
else
     llSay(PUBLIC_CHANNEL, "You don't have the perms you want.");
     llSay(0, "You don't have the perms you want.");
</lsl>
</lsl>
<lsl>
<lsl>
Line 22: Line 22:


if ((ownerPerms & copyAndModPerms) == copyAndModPerms)
if ((ownerPerms & copyAndModPerms) == copyAndModPerms)
     llSay(PUBLIC_CHANNEL, "Owner has copy & modify perms.");
     llSay(0, "Owner has copy & modify perms.");
else
else
     llSay(PUBLIC_CHANNEL, "Owner does not have copy & modify perms.");
     llSay(0, "Owner does not have copy & modify perms.");
</lsl>
</lsl>
<lsl>
<lsl>
Line 93: Line 93:
         integer everyonePerms  = llGetObjectPermMask(MASK_EVERYONE);
         integer everyonePerms  = llGetObjectPermMask(MASK_EVERYONE);


         llSay(PUBLIC_CHANNEL, "base"      + getPermsAsReadableString(basePerms));
         llSay(0, "base"      + getPermsAsReadableString(basePerms));
         llSay(PUBLIC_CHANNEL, "owner"      + getPermsAsReadableString(ownerPerms));
         llSay(0, "owner"      + getPermsAsReadableString(ownerPerms));
         llSay(PUBLIC_CHANNEL, "next owner" + getPermsAsReadableString(nextOwnerPerms));
         llSay(0, "next owner" + getPermsAsReadableString(nextOwnerPerms));
         llSay(PUBLIC_CHANNEL, "group"      + getPermsAsReadableString(groupPerms));
         llSay(0, "group"      + getPermsAsReadableString(groupPerms));
         llSay(PUBLIC_CHANNEL, "everyone"  + getPermsAsReadableString(everyonePerms));
         llSay(0, "everyone"  + getPermsAsReadableString(everyonePerms));
     }
     }
}
}

Revision as of 01:26, 9 June 2014

Summary

Function: integer llGetObjectPermMask( integer category );

Returns a bit field (an integer) of the requested permission category for the object containing this script.

• integer category MASK_* flag

Category Description
MASK_BASE 0 The base permissions.
MASK_OWNER 1 Current owner permissions.
MASK_GROUP 2 Active group permissions.
MASK_EVERYONE 3 Permissions everyone has.
MASK_NEXT 4 Permissions the next owner will have.
Permissions Value Description
PERM_ALL 0x7FFFFFFF Move/Modify/Copy/Transfer permissions
PERM_COPY 0x00008000 Copy permission
PERM_MODIFY 0x00004000 Modify permission
PERM_MOVE 0x00080000 Move permission
PERM_TRANSFER 0x00002000 Transfer permission

Examples

<lsl> if ((permsYouHave & permsYouWant) == permsYouWant)

   llSay(0, "You have the perms you want.");

else

   llSay(0, "You don't have the perms you want.");

</lsl> <lsl> integer ownerPerms = llGetObjectPermMask(MASK_OWNER);

integer copyAndModPerms = PERM_COPY

Notes

The perms of a newly created object are often:

 Base = PERM_ALL
 Owner = PERM_ALL
 Next = PERM_MOVE or PERM_TRANSFER
 Group = 0 (none)
 Everyone = 0 (none)

See Also

Functions

•  llGetInventoryPermMask

Articles

•  hex

Deep Notes

Search JIRA for related Issues

Tests

•  llGetObjectPermMask_Test

Signature

function integer llGetObjectPermMask( integer category );