Site search
2008年7月11日金曜日
アバターレーダーのスクリプト
今回はタッチで周囲のアバターをキャッチして表示する簡単なレーダーのスクリプトです。HUDに組み込んで使ってくださいねー^^
センサーは50mにしてますが、多分100mぐらいが限度じゃないかなと思います。あと、SIMの境界を越えたらキャッチできません。
それから、HUDとして装着すると自分自身はキャッチしません^^
// アバターレーダー
float range=50; // センサーの半径
default
{
touch_start(integer total_number)
{ // オーナーがタッチするとスキャン実行
if (llDetectedKey(0) == llGetOwner())
llSensor("", NULL_KEY, AGENT, range, PI);
}
sensor(integer numberDetected)
{ // センサーに反応があったとき
vector pos;
vector v;
float f;
string name;
integer i;
integer j=numberDetected; // キャッチしたアバターの数
llOwnerSay("Detected "+(string)j+" avatar(s) in "+(string)((integer)range)+"m.");
for (i=0; i < j; i++) { // アバターの数だけ実行
pos=llDetectedPos(i); // アバターの位置
v=llGetPos()-pos; // 自分の位置との差
f=llSqrt(llPow(llSqrt(llPow(v.x,2)+llPow(v.y,2)),2)+llPow(v.z,2)); // 距離
name=llDetectedName(i); // アバターの名前
llOwnerSay(name+" "+(string)pos+" "+(string)f+"m away.");
}
}
no_sensor()
{ // センサーに反応がなかったとき
llOwnerSay( "No detected avatar in "+(string)((integer)range)+"m." );
}
}
10月25日追記: センサーの範囲は最大96mでした。それから、2点間の距離を求めるのにややこしい計算してるんですけど、最近llVecDistっていう関数のあるのに気がつきました^^;
センサーは50mにしてますが、多分100mぐらいが限度じゃないかなと思います。あと、SIMの境界を越えたらキャッチできません。
それから、HUDとして装着すると自分自身はキャッチしません^^
// アバターレーダー
float range=50; // センサーの半径
default
{
touch_start(integer total_number)
{ // オーナーがタッチするとスキャン実行
if (llDetectedKey(0) == llGetOwner())
llSensor("", NULL_KEY, AGENT, range, PI);
}
sensor(integer numberDetected)
{ // センサーに反応があったとき
vector pos;
vector v;
float f;
string name;
integer i;
integer j=numberDetected; // キャッチしたアバターの数
llOwnerSay("Detected "+(string)j+" avatar(s) in "+(string)((integer)range)+"m.");
for (i=0; i < j; i++) { // アバターの数だけ実行
pos=llDetectedPos(i); // アバターの位置
v=llGetPos()-pos; // 自分の位置との差
f=llSqrt(llPow(llSqrt(llPow(v.x,2)+llPow(v.y,2)),2)+llPow(v.z,2)); // 距離
name=llDetectedName(i); // アバターの名前
llOwnerSay(name+" "+(string)pos+" "+(string)f+"m away.");
}
}
no_sensor()
{ // センサーに反応がなかったとき
llOwnerSay( "No detected avatar in "+(string)((integer)range)+"m." );
}
}
10月25日追記: センサーの範囲は最大96mでした。それから、2点間の距離を求めるのにややこしい計算してるんですけど、最近llVecDistっていう関数のあるのに気がつきました^^;
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿