Difference between revisions of "LlGetObjectPermMask/ja"
Jump to navigation
Jump to search
Mako Nozaki (talk | contribs) m (カテゴリ変更) |
|||
(2 intermediate revisions by one other user not shown) | |||
Line 5: | Line 5: | ||
|func_footnote | |func_footnote | ||
|func_desc | |func_desc | ||
|return_text= | |return_text=タスクが帰属するオブジェクトのためにリクエストされた権限の '''mask''' | ||
|spec | |spec | ||
|caveats | |caveats | ||
|constants={{LSL Constants Perm Mask/ja}} | |constants={{LSL Constants Perm Mask/ja}} | ||
|examples= | |examples=オブジェクトの上にフローティングテキストを表示し、次第に消えては現れて次のようなメッセージを表示します。 | ||
<pre> | <pre> | ||
Open Object | Open Object | ||
Line 17: | Line 17: | ||
Open/ Yes Mod/ Yes Copy/ Yes Transfer | Open/ Yes Mod/ Yes Copy/ Yes Transfer | ||
</pre> | </pre> | ||
インベントリから以下のスクリプトをドラッグして、オブジェクトに入れます。 | |||
< | <source lang="lsl2"> | ||
// | // オブジェクトの上にフローティングテキストで表示します: 名前、説明、権限 | ||
// http://wiki.secondlife.com/wiki/llGetObjectPermMask | // http://wiki.secondlife.com/wiki/llGetObjectPermMask | ||
Line 83: | Line 83: | ||
} | } | ||
} | } | ||
</ | </source> | ||
|helpers | |helpers | ||
|also_functions={{LSL DefineRow||[[llGetInventoryPermMask/ja|llGetInventoryPermMask]]|}} | |also_functions={{LSL DefineRow||[[llGetInventoryPermMask/ja|llGetInventoryPermMask]]|}} | ||
Line 89: | Line 89: | ||
|also_tests | |also_tests | ||
|also_articles= | |also_articles= | ||
{{LSL DefineRow||[[ | {{LSL DefineRow||[[hex]]}} | ||
|notes= | |notes=新規作成されたオブジェクトの権限は、基本 = {{LSLG/ja|PERM_ALL}} 、オーナー = {{LSLG/ja|PERM_ALL}} 、次のオーナー = {{LSLG/ja|PERM_MOVE}} または {{LSLG/ja|PERM_TRANSFER}} 、グループ = 0 (なし) 、他の人 = 0 (なし) となります。perms2String の例ではこれらの権限を "Closed / Yes Transfer" として表示しています。 | ||
|cat1=Permissions/Asset | |cat1=Permissions/Asset | ||
|cat2=Object | |cat2=Object | ||
|cat3 | |cat3 | ||
|cat4 | |cat4 | ||
}} | }} |
Latest revision as of 04:00, 25 February 2016
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
要約
関数: integer llGetObjectPermMask( integer mask );
|
|
サンプル
オブジェクトの上にフローティングテキストを表示し、次第に消えては現れて次のようなメッセージを表示します。
Open Object --- by Anonymous --- Open/ Yes Mod/ Yes Copy/ Yes Transfer
インベントリから以下のスクリプトをドラッグして、オブジェクトに入れます。
// オブジェクトの上にフローティングテキストで表示します: 名前、説明、権限
// http://wiki.secondlife.com/wiki/llGetObjectPermMask
string perms2String(integer everyonePerms, integer nextPerms)
{
integer PERMS_OPEN = (PERM_MODIFY | PERM_COPY | PERM_TRANSFER);
string line = "Closed";
if ((nextPerms & PERMS_OPEN) == PERMS_OPEN)
{
if (everyonePerms & PERM_COPY)
{
line = "Open";
}
}
if (nextPerms & PERM_MODIFY)
{
line += "/ Yes Mod";
}
if (nextPerms & PERM_COPY)
{
line += "/ Yes Copy";
}
if (nextPerms & PERM_TRANSFER)
{
line += "/ Yes Transfer";
}
return line;
}
list getLabels()
{
string name = llGetObjectName();
if (name == "Object") { name = "(No Name)"; }
string description = llGetObjectDesc();
if (description == "") { description = "(No Description)"; }
integer everyonePerms = llGetObjectPermMask(MASK_EVERYONE);
integer nextPerms = llGetObjectPermMask(MASK_NEXT);
string permissions = perms2String(everyonePerms, nextPerms);
return [name, description, permissions];
}
floatLabels(list lines)
{
string label = llDumpList2String(lines, "\n---\n");
vector color = <1.0, 1.0, 1.0>; // color = <R, G, B>
float opacity = 1.0; // opacity = alpha = 1.0 - transparency
llSetText(label, color, opacity);
}
default
{
state_entry()
{
llSetText("", <0.0, 0.0, 0.0>, 0.0);
llSleep(0.1);
floatLabels(getLabels());
llRemoveInventory(llGetScriptName());
}
}
注意点
新規作成されたオブジェクトの権限は、基本 = PERM_ALL 、オーナー = PERM_ALL 、次のオーナー = PERM_MOVE または PERM_TRANSFER 、グループ = 0 (なし) 、他の人 = 0 (なし) となります。perms2String の例ではこれらの権限を "Closed / Yes Transfer" として表示しています。
関連項目
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。