LlAvatarOnSitTarget/ja

From Second Life Wiki

メインページ > LlAvatarOnSitTarget > LlAvatarOnSitTarget/ja
Jump to: navigation, search

関数: key llAvatarOnSitTarget( );

primに座ったユーザのUUIDのkey値を返します。

プリムにsit targetがない場合、もしくはプリムにアバターが座っていない場合、NULL_KEYが返されます。

警告

  • プリムにはllSitTargetが最初の属性が0ではないvectorで呼ばれる場合を除いて、sit targetがありません。
  • プリムにsit targetが欠けているか、アバタが違うプリム上に座られている場合、アオブジェクトに座られるアバタの数は、リンクセットで確認する数1でのみ決定されます。

 
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");
            }
        }
    }
}
 

部分的な利用

 
//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
 

ノート

  1. llGetLinkKeyのような関数を用いてリンクセットを捜査すること。(llGetNumberOfPrims/ja#Useful_Snippetsの例を参照)
  2. sit targetのアバタの位置はllGetObjectDetailsを用いて測定できます。( llSitTarget/ja#Useful_Snippetsの例を参照)

関連項目

イベント

•  changed

関数

•  llSitTarget
•  llGetLinkKey

項目

•  CHANGED_LINK
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。
Personal tools
In other languages