LlAvatarOnSitTarget/ja
Jump to navigation
Jump to search
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
要約
関数: key llAvatarOnSitTarget( );警告
- プリムにはllSitTargetが最初の属性が0ではないvectorで呼ばれる場合を除いて、sit targetがありません。
- プリムにsit targetが欠けているか、アバタが違うプリム上に座られている場合、アオブジェクトに座られるアバタの数は、リンクセットで確認する数1でのみ決定されます。
サンプル
<lsl> default {
state_entry() { // set sit target, otherwise this will not work llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION); }
changed(integer change) { if (change & CHANGED_LINK) { key av = llAvatarOnSitTarget(); if (av) {//evaluated as true if not NULL_KEY or invalid llSay(0, "Hello " + llKey2Name(av) + ", thank you for sitting down"); } } }
}
</lsl>便利なスニペット
<lsl> //Gets the link number of a seated avatar integer GetAgentLinkNumber(key avatar) {
integer linkNum = 1 + llGetNumberOfPrims(); key linkKey; //Next we get the linkKey and make sure it's not null, if it's null we are done. while((linkKey = llGetLinkKey( --linkNum )))//is the key valid? if(avatar == linkKey)//is it the avatar we want? return linkNum;//It's the avatar we want so return. //avatar wasn not found //return a number that isn't a LINK_* flag not a valid link number either. return 0x7FFFFFFF;//max int.
}//Written by Strife Onizuka </lsl>
注意点
- llGetLinkKeyのような関数を用いてリンクセットを捜査すること。(llGetNumberOfPrims/ja#Useful_Snippetsの例を参照)
- sit targetのアバタの位置はllGetObjectDetailsを用いて測定できます。( llSitTarget/ja#Useful_Snippetsの例を参照)
関連項目
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。