LlAvatarOnSitTarget/ja
From Second Life Wiki
Second Life Wiki > LlAvatarOnSitTarget/ja
警告
- プリムは、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
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。

