Difference between revisions of "LlAvatarOnSitTarget/ja"
Jump to navigation
Jump to search
Mako Nozaki (talk | contribs) |
|||
Line 7: | Line 7: | ||
*プリムに着座ポイントがないか、アバターが他のプリムに座っている場合、オブジェクトに座っているアバターの人数や、どのアバターがオブジェクトに座っているかを知る唯一の方法は、リンクセットをスキャンすることです (例として、[[llGetNumberOfPrims/ja#便利なスペニット|llGetNumberOfPrims]] を参照してください)。 | *プリムに着座ポイントがないか、アバターが他のプリムに座っている場合、オブジェクトに座っているアバターの人数や、どのアバターがオブジェクトに座っているかを知る唯一の方法は、リンクセットをスキャンすることです (例として、[[llGetNumberOfPrims/ja#便利なスペニット|llGetNumberOfPrims]] を参照してください)。 | ||
|spec | |spec | ||
|examples=< | |examples=<source lang="lsl2">default | ||
{ | { | ||
state_entry() | state_entry() | ||
Line 23: | Line 23: | ||
} | } | ||
} | } | ||
}</ | }</source> | ||
|helpers=< | |helpers=<source lang="lsl2">//座っているアバターのリンク番号を取得します | ||
integer GetAgentLinkNumber(key avatar) | integer GetAgentLinkNumber(key avatar) | ||
{ | { | ||
Line 36: | Line 36: | ||
//LINK_* フラグでない、かつリンク番号でない数字を返します。 | //LINK_* フラグでない、かつリンク番号でない数字を返します。 | ||
return 0x7FFFFFFF;//最大の integer | return 0x7FFFFFFF;//最大の integer | ||
}//Written by Strife Onizuka</ | }//Written by Strife Onizuka</source> | ||
|related | |related | ||
|also_tests | |also_tests |
Latest revision as of 04:51, 25 February 2016
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
要約
関数: key llAvatarOnSitTarget( );警告
- プリムは、llSitTarget が ゼロ以外の ベクトル値を第一引数にして呼ばれない限りは、着座ポイント をもちません。
- プリムに着座ポイントがないか、アバターが他のプリムに座っている場合、オブジェクトに座っているアバターの人数や、どのアバターがオブジェクトに座っているかを知る唯一の方法は、リンクセットをスキャンすることです (例として、llGetNumberOfPrims を参照してください)。
サンプル
default
{
state_entry()
{
//着座ポイントを設定します。そうしないと動きません
llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION);
}
changed(integer change) {
if (change & CHANGED_LINK) {
key av = llAvatarOnSitTarget();
if (av) {//NULL_KEY または不正な値でない場合、true となります
llSay(0, "こんにちは " + llKey2Name(av) + "さん。座ってくれてありがとう");
}
}
}
}
便利なスニペット
//座っているアバターのリンク番号を取得します
integer GetAgentLinkNumber(key avatar)
{
integer linkNum = 1 + llGetNumberOfPrims();
key linkKey;
//次に linkKey を取得し、それが null でないことを確かめます。null であれば既にやっていることになります
while((linkKey = llGetLinkKey( --linkNum )))//key が正当か?
if(avatar == linkKey)//意図しているアバターか?
return linkNum;//意図したアバターなら復帰します
//アバターが見つからない
//LINK_* フラグでない、かつリンク番号でない数字を返します。
return 0x7FFFFFFF;//最大の integer
}//Written by Strife Onizuka
注意点
着座ポイント に座っているアバターの位置は llGetObjectDetails を使って導き出すことができます (例として llSitTarget を参照してください)。
関連項目
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。