LlGetInventoryPermMask/ja
From Second Life Wiki
|
|
例
// Complain unless this script is Open/ Yes Mod/ Yes Copy/ Yes Transfer. warnIfClosed() { integer PERMS_OPEN = (PERM_MODIFY | PERM_COPY | PERM_TRANSFER); string item = llGetScriptName(); integer everyonePerms = llGetInventoryPermMask(item, MASK_EVERYONE); integer nextPerms = llGetInventoryPermMask(item, MASK_NEXT); if ((everyonePerms & PERM_COPY)) { if ((nextPerms & PERMS_OPEN) == PERMS_OPEN) { llOwnerSay("Open/ Yes Mod/ Yes Copy/ Yes Transfer/ Thank you"); return; } } llSay(0, "Q: Open/ Yes Mod/ Yes Copy/ Yes Transfer? A: Not so!!!"); } default { on_rez(integer start_param) { llResetScript(); } state_entry() { warnIfClosed(); } }
ノート
- 事実上、このLSL wikiで公開されたスクリプトの権限はログインするまではPERM_COPYで、ログイン後はPERM_MODIFYかPERM_COPYです。
- 作られたスクリプトの権限は、基本はPERM_ALL、オーナはPERM_ALL、次のオーナはPERM_MOVEあるいはPERM_TRANSFER、グループは0(なし)、全体は0(なし)ということが多いです。これらの権限はインベントリ内またはオブジェクト内で作る場合のいずれも問わず同じということが多いです。

