LlAvatarOnSitTarget/ja

From Second Life Wiki
Jump to navigation Jump to search
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.

要約

関数: key llAvatarOnSitTarget( );

プリムに座っているユーザの UUID を key で返します。

プリムに 着座ポイント がないか、プリムにアバターが座っていないときは、 NULL_KEY が返されます。

警告

  • プリムは、llSitTargetゼロ以外の ベクトル値を第一引数にして呼ばれない限りは、着座ポイント をもちません。
  • プリムに着座ポイントがないか、アバターが他のプリムに座っている場合、オブジェクトに座っているアバターの人数や、どのアバターがオブジェクトに座っているかを知る唯一の方法は、リンクセットをスキャンすることです (例として、llGetNumberOfPrims を参照してください)。
All Issues ~ Search JIRA for related Bugs

サンプル

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 を参照してください)。

関連項目

イベント

•  changed

関数

•  llSitTarget
•  llGetLinkKey

記事

•  CHANGED_LINK

特記事項

Search JIRA for related Issues

Signature

function key llAvatarOnSitTarget();
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。