LlAvatarOnSitTarget/ja
Jump to navigation
Jump to search
All Issues ~ Search JIRA for related Bugs
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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の関連した項目が参考になるかもしれません。