BlackSheep-LSL@Wiki llGetAgentInfo
※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

llGetAgentInfo

integer llGetAgentInfo(key id)

エージェントの情報を入手する。
腕利きのエージェントを調査する場合は報復を覚悟したりしなくても良い。
ここで言うエージェントというのは要するにアバターのことである。

この関数で調べることができるのは、主にアバターの動作である。

戻り値はビットフィールドになっているので以下の定数と&演算を行って判定する。

定数 説明 実際の値
AGENT_FLYING 飛行中もしくは落下中 1
AGENT_ATTACHMENTS アタッチメントを装備している 2
AGENT_SCRIPTED スクリプト入りのアタッチメントを装備している 4
AGENT_MOUSELOOK マウスルック状態 8
AGENT_SITTING 地面もしくはオブジェクトの上に座っている 16
AGENT_ON_OBJECT 地面ではなく何かオブジェクトの上に座っている 32
AGENT_AWAY AWAY状態 64
AGENT_WALKING 歩行中 128
AGENT_IN_AIR 飛行中ではなくジャンプ中 256
AGENT_TYPING チャット入力中 512
AGENT_CROUCHING しゃがんでいる 1024
AGENT_BUSY BUSY状態 2048
AGENT_ALWAYS_RUN 常に走る状態になっている 4096

以下の例はアタッチメントを一切装備していない可哀想なアバターに葉っぱを与える。
default {
  touch_start(integer detected){
    integer ai = llGetAgentInfo(llDetectedKey(0));
    if (!(ai & AGENT_ATTACHMENTS)){
      llGiveInventory(llDetectedKey(0), "happa");
    }
  }
}


なお、この関数はSIM内にいるアバターに対してでなければ使えない。

名前:
コメント: