2012年08月06日
スクリプトで困ってます
タッチで頭上にオブジェクトが落ちてくるスクリプトなのですが、タッチした人だけに落ちてきて欲しいのですが近くに居る人全員に落ちてきます。
下のスクリプトです。
default
{
touch_start(integer t)
{
llSensor("","",AGENT,10,PI);
}
sensor(integer t)
{
for(--t;0<=t;--t)
{
vector v = llDetectedPos(t);
v.z += 2;
llRezObject(llGetInventoryName(INVENTORY_OBJECT,0), v, ZERO_VECTOR, ZERO_ROTATION, 0);
}
}
}
AGENTのところを、いろいろ入れ替えてみましたが、エラーが出たりで、うまくいかなかったです。
スクリプトのことは、ほとんど分かりません。
どうすれば、タッチした人にだけ落ちてくるのでしょうか?
どなたか教えてください、お願いします!
下のスクリプトです。
default
{
touch_start(integer t)
{
llSensor("","",AGENT,10,PI);
}
sensor(integer t)
{
for(--t;0<=t;--t)
{
vector v = llDetectedPos(t);
v.z += 2;
llRezObject(llGetInventoryName(INVENTORY_OBJECT,0), v, ZERO_VECTOR, ZERO_ROTATION, 0);
}
}
}
AGENTのところを、いろいろ入れ替えてみましたが、エラーが出たりで、うまくいかなかったです。
スクリプトのことは、ほとんど分かりません。
どうすれば、タッチした人にだけ落ちてくるのでしょうか?
どなたか教えてください、お願いします!
テクスチェンジのHUDについて
モール用のプリムカウンターを探しています
連続するアニメーションの処理
オブジェクトの上にフローティングテキストを出す。
チャットログの盗聴について
椅子に座った後で位置調整できるスクリプト
モール用のプリムカウンターを探しています
連続するアニメーションの処理
オブジェクトの上にフローティングテキストを出す。
チャットログの盗聴について
椅子に座った後で位置調整できるスクリプト
{
touch_start(integer t)
{
llSensor("",llDetectedKey(0),AGENT,10,PI);
}
sensor(integer t)
{
vector v = llDetectedPos(0);
v.z += 2;
llRezObject(llGetInventoryName(INVENTORY_OBJECT,0), v, ZERO_VECTOR, ZERO_ROTATION, 0);
}
}
【説明】
llDetectedKey(0)という関数は、そのイベントの中で検出されたキー(この場合はアバターのキー)を取得するものです。
イベントで検出するキーは、同時にいくつかある場合がありますが、特にtouch_startの場合は、同時に複数がタッチということはないと思いますので、関数のかっこの中は0でよいです。
センサーのAGENTを変更してみたとのことですが、このAGENTは、検出対象の種類を指定するものです。ここではこのままで。
前のスクリプトだと周囲10Mのアバター全員をセンサーで探して、落としていましたが、私のスクリプトでは、タッチしたひとりを指定して、センサーを動かしています。
AGENTのところじゃなかったんですね><
llDetectedKey(0)を、AGENTのところに入れ替えたりもしてました。