llGetObjectPermMask
integer llGetObjectPermMask(integer mask)
オブジェクトの権限を取得する。
引数maskには調べたい権限の対象者を指定する。
引数maskには調べたい権限の対象者を指定する。
定数 | 値 | 説明 |
MASK_BASE | 0 | 基本(現在のオーナーの権限に等しい) |
MASK_OWNER | 1 | 現在のオーナーの権限 |
MASK_GROUP | 2 | グループの権限 |
MASK_EVERYONE | 3 | その他の人々の権限 |
MASK_NEXT | 4 | 次のオーナーの権限 |
戻り値はビットフィールドになっているので、以下の定数と&演算を行って権限をチェックする。
定数 | 値(16進数) | 値(整数値) | 説明 |
PERM_ALL | 0x7FFFFFFF | 2147483647 | Move/Modify/Copy/Transfer(フルパーミッション) |
PERM_COPY | 0x00008000 | 32768 | Copy可能 |
PERM_MODIFY | 0x00004000 | 16384 | Modify可能 |
PERM_MOVE | 0x00080000 | 524288 | Move可能 |
PERM_TRANSFER | 0x00002000 | 8192 | Transfer可能 |
以下の例は次のオーナーがCopy権限を持っているかどうかを調べる。
default { state_entry(){ integer perm = llGetObjectPermMask(MASK_NEXT); if (perm & PERM_COPY){ llSay(0, "Next owner can COPY."); }else{ llSay(0, "Next owner can't COPY."); } } }