Difference between revisions of "LlGetInventoryPermMask"

From Second Life Wiki
Jump to navigation Jump to search
m (Correct 3rd example which would not compile (missing commas). Add "none" output where appropriate.)
m (Not sure about the name "bit field", that does make the structure a bit less ackward.)
Line 2: Line 2:
|inject-2={{LSL_Function/inventory|item|uuid=false}}
|inject-2={{LSL_Function/inventory|item|uuid=false}}
|func_id=289|func_sleep=0.0|func_energy=10.0
|func_id=289|func_sleep=0.0|func_energy=10.0
|func=llGetInventoryPermMask|return_type=integer
|func=llGetInventoryPermMask|return_type=integer|return_subtype=bit field
|p1_type=string|p1_name=item
|p1_type=string|p1_name=item
|p2_type=integer|p2_name=mask|p2_desc=MASK_* flag
|p2_type=integer|p2_name=category|p2_desc=MASK_* flag
|func_footnote
|func_footnote
|func_desc
|func_desc
|return_text=bitfield that is the requested permission {{LSLP|mask}} for the inventory {{LSLP|item}}{{LSLC|FixMe}}<!--this is terrible!-->
|return_text=of the requested permission {{LSLP|category}} for the inventory {{LSLP|item}}
|spec
|spec
|caveats
|caveats

Revision as of 22:21, 22 December 2013

Summary

Function: integer llGetInventoryPermMask( string item, integer category );

Returns a bit field (an integer) of the requested permission category for the inventory item

• string item an item in the inventory of the prim this script is in
• 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

Caveats

  • If item is missing from the prim's inventory then an error is shouted on DEBUG_CHANNEL.
All Issues ~ Search JIRA for related Bugs

Examples

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

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

else

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

</lsl> <lsl> integer ownerPerms = llGetInventoryPermMask("inventory item name goes here", MASK_OWNER);

integer copyAndModPerms = PERM_COPY

Notes

See Also

Functions

•  llGetObjectPermMask
•  llGetInventoryName Returns the inventory item's name
•  llGetInventoryType Tests to see if an inventory item exists and returns its type
•  llGetInventoryNumber Returns the number of items of a specific type in inventory
•  llGetInventoryKey Returns the inventory item's UUID (if full perm)
•  llGetInventoryCreator Returns the inventory item's creator

Articles

•  hex

Deep Notes

Search JIRA for related Issues

Tests

•  llGetInventoryPermMask Test

Signature

function integer llGetInventoryPermMask( string item, integer category );