Difference between revisions of "LlAttachToAvatar/ja"
Jump to navigation
Jump to search
All Issues ~ Search JIRA for related Bugs
Asuka Neely (talk | contribs) m |
Asuka Neely (talk | contribs) |
||
Line 6: | Line 6: | ||
|sort=AttachToAvatar | |sort=AttachToAvatar | ||
|p1_type=integer|p1_name=attachment|p1_desc=ATTACH_* 定数もしくは有効な値(テーブル以下を参照) | |p1_type=integer|p1_name=attachment|p1_desc=ATTACH_* 定数もしくは有効な値(テーブル以下を参照) | ||
|func_desc=権限が付与されたアバターの、'''attachment''' | |func_desc=権限が付与されたアバターの、'''attachment'''箇所に装着します。オブジェクトはユーザのインベントリに渡されて、'''attachment'''箇所にアタッチされます。 | ||
|func_footnote | |func_footnote | ||
|return_text | |return_text | ||
Line 12: | Line 12: | ||
|caveats=*[[llGetPermissionsKey|アバタ]]がオブジェクトを装着されている[[llGetOwner|オーナ]]ではない場合、たとえ[[PERMISSION_ATTACH/ja|PERMISSION_ATTACH]]が適切に付与されていたとしても、呼び出しは失敗するでしょう。 | |caveats=*[[llGetPermissionsKey|アバタ]]がオブジェクトを装着されている[[llGetOwner|オーナ]]ではない場合、たとえ[[PERMISSION_ATTACH/ja|PERMISSION_ATTACH]]が適切に付与されていたとしても、呼び出しは失敗するでしょう。 | ||
*2つのオブジェクトを同時に同じ装着場所には装着することができません。 | *2つのオブジェクトを同時に同じ装着場所には装着することができません。 | ||
|examples | *頭(を含めたいずれかのアタッチ箇所)にアタッチされたオブジェクトは、"show attachments in mouselook"が無効の場合、一人称視点では有効にはならないでしょう。 | ||
|examples= | |||
<lsl>//-- rez object on ground, drop in this script, it will request permissions to attach, | |||
//-- and then attach to the left hand if permission is granted. if permission is denied, | |||
//-- then the script complains. | |||
default | |||
{ | |||
state_entry() | |||
{ | |||
llRequestPermissions( llGetOwner(), PERMISSION_ATTACH ); | |||
} | |||
run_time_permissions( integer vBitPermissions ) | |||
{ | |||
if (PERMISSION_ATTACH & vBitPermissions) | |||
{ | |||
llAttachToAvatar( ATTACH_LHAND ); | |||
} | |||
else | |||
{ | |||
llOwnerSay( "Permission to attach denied" ); | |||
} | |||
} | |||
on_rez(integer rez) | |||
{ | |||
if(!llGetAttached()) | |||
{ //reset the script if it's not attached. | |||
llResetScript(); | |||
} | |||
} | |||
attach(key AvatarKey) | |||
{ | |||
if(AvatarKey) | |||
{//event is called on both attach and detach, but Key is only valid on attach | |||
integer test = llGetAttached(); | |||
if (test) { | |||
llOwnerSay( "The object is attached" ); | |||
} else { | |||
llOwnerSay( "The object is not attached"); | |||
} | |||
} | |||
} | |||
}</lsl> | |||
|helpers | |helpers | ||
|also_functions={{LSL DefineRow||[[llDetachFromAvatar/ja|llDetachFromAvatar]]|アバタからオブジェクトを外します}} | |also_functions={{LSL DefineRow||[[llDetachFromAvatar/ja|llDetachFromAvatar]]|アバタからオブジェクトを外します}} |
Revision as of 21:29, 3 September 2008
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
要約
関数: llAttachToAvatar( integer attachment );権限が付与されたアバターの、attachment箇所に装着します。オブジェクトはユーザのインベントリに渡されて、attachment箇所にアタッチされます。
• integer | attachment | – | ATTACH_* 定数もしくは有効な値(テーブル以下を参照) |
実行するには、llRequestPermissions による PERMISSION_ATTACH 権限がownerから与えられなければなりません。
|
|
警告
- 権限の自動付与に頼らないようにしましょう。常に run_time_permissions イベントを使用しましょう。
- スクリプトに PERMISSION_ATTACH の権限が不足していると、スクリプトはエラーを DEBUG_CHANNEL で叫び、操作に失敗します (しかしスクリプトは処理を続けます)。
- PERMISSION_ATTACH がowner以外の人から許可され、関数が呼び出されると、 DEBUG_CHANNEL でエラーが叫ばれます。
- いったん PERMISSION_ATTACH 権限が付与されると、スクリプトの中で (例えば、新しい llRequestPermissions 呼び出しなどにより) 権限をはく奪することができません。スクリプトはオブジェクトが derez (削除、取り外し、取り込み) されない限り権限が失われません。
- アバタがオブジェクトを装着されているオーナではない場合、たとえPERMISSION_ATTACHが適切に付与されていたとしても、呼び出しは失敗するでしょう。
- 2つのオブジェクトを同時に同じ装着場所には装着することができません。
- 頭(を含めたいずれかのアタッチ箇所)にアタッチされたオブジェクトは、"show attachments in mouselook"が無効の場合、一人称視点では有効にはならないでしょう。
サンプル
<lsl>//-- rez object on ground, drop in this script, it will request permissions to attach, //-- and then attach to the left hand if permission is granted. if permission is denied, //-- then the script complains. default {
state_entry() { llRequestPermissions( llGetOwner(), PERMISSION_ATTACH ); }
run_time_permissions( integer vBitPermissions ) { if (PERMISSION_ATTACH & vBitPermissions) { llAttachToAvatar( ATTACH_LHAND ); } else { llOwnerSay( "Permission to attach denied" ); } }
on_rez(integer rez) { if(!llGetAttached()) { //reset the script if it's not attached. llResetScript(); } }
attach(key AvatarKey) { if(AvatarKey) {//event is called on both attach and detach, but Key is only valid on attach integer test = llGetAttached(); if (test) { llOwnerSay( "The object is attached" ); } else { llOwnerSay( "The object is not attached"); } } }}</lsl>
関連項目
イベント
• | run_time_permissions | – | 権限取得イベント |
関数
• | llGetPermissions | – | 付与されている権限を取得します | |
• | llGetPermissionsKey | – | 権限を許可したエージェントを取得します | |
• | llRequestPermissions | – | 権限を要求します | |
• | llDetachFromAvatar | – | アバタからオブジェクトを外します | |
• | llGetAttached | – | 装着部位番号を取得します |
記事
• | 権限/スクリプト |
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。