naniSL.net直営ブログ(転居してきました。これ粗品です。)
Authour : naniSL
No.090
いまsenkageと共同で、とあるツールの開発をしています。「チャットロガぁ」いいます。(このツールについてはいずれ詳しく解説する予定〜)
んで、その開発中にこんな機能が必要になりました。「チャットした人が5メートル以内なら受信する」・・・ん? 喋ったアバターの位置って、どうやって取得するんだ?!
touchした人、衝突した物体は以下の定番スクリプトで位置やら距離を取得することが出来ます。
if (llVecDist(llGetPos(), llDetectedPos(0)) <= 5.0){ //
// 5メートル以内なら行う何か〜
}
しかし、チャットを聞いて発動するイベント(listen)では「llDetectedPos(0)」が使えないみたい・・・><
はてさて、どうしたものか・・・このままでは、またsenkage店長の角が私のあばら骨ねに突き刺さってしまいます。途方にくれていた時に思い出したのが「LSL-BBS」
listenイベントの引数で発言者のkeyは取れているのですから、「keyからアバターの位置を取得する方法」について質問してみました。
答え「llGetObjectDetails」
・・・ん? llGetObjectDetails・・・オブジェクトの詳細?・・・いやいや、私が知りたいのはアバターの位置情報ですが・・・
これがまたビックリ、位置も含めてアバターの情報も取れるじゃないですか!!
実際に取得できた情報↓
Name: "[私の名前]"
Decription: ""
Position.x: 148.223663
Position.y: 19.746208
Position.z: 22.122538
Rotation: <0>
Velocity: <0>
Owner: [私のKey]
Group: 00000000-0000-0000-0000-000000000000
Creator: 00000000-0000-0000-0000-000000000000
「LSL-BBS」でアドバイスを下さったMizさん。本当に有難う御座いました!!