Difference between revisions of "LlAvatarOnSitTarget/ja"

From Second Life Wiki
Jump to navigation Jump to search
 
Line 7: Line 7:
*プリムに着座ポイントがないか、アバターが他のプリムに座っている場合、オブジェクトに座っているアバターの人数や、どのアバターがオブジェクトに座っているかを知る唯一の方法は、リンクセットをスキャンすることです (例として、[[llGetNumberOfPrims/ja#便利なスペニット|llGetNumberOfPrims]] を参照してください)。
*プリムに着座ポイントがないか、アバターが他のプリムに座っている場合、オブジェクトに座っているアバターの人数や、どのアバターがオブジェクトに座っているかを知る唯一の方法は、リンクセットをスキャンすることです (例として、[[llGetNumberOfPrims/ja#便利なスペニット|llGetNumberOfPrims]] を参照してください)。
|spec
|spec
|examples=<lsl>default
|examples=<source lang="lsl2">default
{
{
     state_entry()
     state_entry()
Line 23: Line 23:
         }
         }
     }
     }
}</lsl>
}</source>
|helpers=<lsl>//座っているアバターのリンク番号を取得します
|helpers=<source lang="lsl2">//座っているアバターのリンク番号を取得します
integer GetAgentLinkNumber(key avatar)
integer GetAgentLinkNumber(key avatar)
{
{
Line 36: Line 36:
     //LINK_* フラグでない、かつリンク番号でない数字を返します。
     //LINK_* フラグでない、かつリンク番号でない数字を返します。
     return 0x7FFFFFFF;//最大の integer
     return 0x7FFFFFFF;//最大の integer
}//Written by Strife Onizuka</lsl>
}//Written by Strife Onizuka</source>
|related
|related
|also_tests
|also_tests

Latest revision as of 04:51, 25 February 2016

要約

関数: key llAvatarOnSitTarget( );

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

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

警告

  • プリムは、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 を参照してください)。

関連項目

イベント

•  changed

関数

•  llSitTarget
•  llGetLinkKey

記事

•  CHANGED_LINK

特記事項

Search JIRA for related Issues

Signature

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