LlGetObjectPermMask: Difference between revisions
Jump to navigation
Jump to search
Kireji Haiku (talk | contribs) m added some very short examples |
Kireji Haiku (talk | contribs) m restructuring |
||
Line 28: | Line 28: | ||
string getPermsAsReadableString(integer perm) | string getPermsAsReadableString(integer perm) | ||
{ | { | ||
integer allPerms = PERM_ALL; | |||
integer fullPerms = PERM_COPY | PERM_MODIFY | PERM_TRANSFER; | integer fullPerms = PERM_COPY | PERM_MODIFY | PERM_TRANSFER; | ||
integer copyModMovePerms = PERM_COPY | PERM_MODIFY | PERM_MOVE; | |||
integer copyModPerms = PERM_COPY | PERM_MODIFY; | integer copyModPerms = PERM_COPY | PERM_MODIFY; | ||
integer copyTransMovePerms = PERM_COPY | PERM_TRANSFER | PERM_MOVE; | |||
integer copyTransPerms = PERM_COPY | PERM_TRANSFER; | integer copyTransPerms = PERM_COPY | PERM_TRANSFER; | ||
integer modTransMovePerms = PERM_MODIFY | PERM_TRANSFER | PERM_MOVE; | |||
integer modTransPerms = PERM_MODIFY | PERM_TRANSFER; | integer modTransPerms = PERM_MODIFY | PERM_TRANSFER; | ||
integer copyMovePerms = PERM_COPY | PERM_MOVE; | |||
integer transMovePerms = PERM_TRANSFER | PERM_MOVE; | |||
string output = " perms: "; | string output = " perms: "; | ||
if ((perm & fullPerms) == fullPerms) | if ((perm & allPerms) == allPerms) | ||
output += "full and move"; | |||
else if ((perm & fullPerms) == fullPerms) | |||
output += "full"; | output += "full"; | ||
else if ((perm & copyModMovePerms) == copyModMovePerms) | |||
output += "copy & modify & move"; | |||
else if ((perm & copyModPerms) == copyModPerms) | else if ((perm & copyModPerms) == copyModPerms) | ||
output += "copy & modify"; | output += "copy & modify"; | ||
else if ((perm & copyTransMovePerms) == copyTransMovePerms) | |||
output += "copy & transfer & move"; | |||
else if ((perm & copyTransPerms) == copyTransPerms) | else if ((perm & copyTransPerms) == copyTransPerms) | ||
output += "copy & transfer"; | output += "copy & transfer"; | ||
else if ((perm & modTransMovePerms) == modTransMovePerms) | |||
output += "modify & transfer & move"; | |||
else if ((perm & modTransPerms) == modTransPerms) | else if ((perm & modTransPerms) == modTransPerms) | ||
output += "modify & transfer"; | output += "modify & transfer"; | ||
else if ((perm & copyMovePerms) == copyMovePerms) | |||
output += "copy & move"; | |||
else if ((perm & PERM_COPY) == PERM_COPY) | else if ((perm & PERM_COPY) == PERM_COPY) | ||
output += "copy"; | output += "copy"; | ||
else if ((perm & transMovePerms) == transMovePerms) | |||
output += "transfer & move"; | |||
else if ((perm & PERM_TRANSFER) == PERM_TRANSFER) | else if ((perm & PERM_TRANSFER) == PERM_TRANSFER) | ||
output += "transfer"; | output += "transfer"; | ||
else | |||
output += "none"; | |||
// | // Remember, items in Second Life must have either | ||
// | // PERM_COPY or PERM_TRANSFER when "talking about" | ||
// owner perms or perms for next owner. | |||
return | return | ||
Line 84: | Line 108: | ||
|also_articles= | |also_articles= | ||
{{LSL DefineRow||[[hex]]}} | {{LSL DefineRow||[[hex]]}} | ||
|notes=The perms of a newly created object often | |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) | |||
|cat1=Permissions/Asset | |cat1=Permissions/Asset | ||
|cat2=Object | |cat2=Object |
Revision as of 12:46, 25 November 2012
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: integer llGetObjectPermMask( integer mask );0.0 | Forced Delay |
10.0 | Energy |
Returns an integer that is the requested permission mask for the root object the task is attached to.
• integer | mask | – | MASK_* flag |
|
|
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 = llGetObjectPermMask(MASK_OWNER);
integer copyAndModPerms = PERM_COPYNotes
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)