2008年5月18日日曜日

startgate script

タッチすると90度回転するというシンプルなスクリプトを書きました。
先日あったジェットスキー大会@JSB*JSSAで使いました。
あと、これと同じ仕組みで、タッチするとテクスチャーが変わる(ループ)やつも書きました。
JSBのblogのpost

//////ココカラ
integer i = 0 ;
rotation dRot;

default
{
on_rez(integer start_param) {
llResetScript();
}

state_entry()
{
dRot = llEuler2Rot(<0,0,0> * DEG_TO_RAD);// 角度の固定
}

touch_start(integer total_number)
{
if(llDetectedGroup(0)){

if(i == 0){
llSetRot(dRot * llEuler2Rot(<0,-pi_by_two,0>)); //-90度
i = 1 ;

}else if(i == 1){
llSetRot(dRot * llEuler2Rot(<0,0,0>)); //+90
i = 0;
}

}else{
llOwnerSay("fail");
}

}

}
//////ココマデ

iの値を入れ替えすることで、スイッチ的な機能をつけてます。
llDetectedGroup(0)で、オブジェクトのグループ設定=タッチした人が
そのグループタグかどうかを判定しているので、
グループ以外の人がタッチしても反応しません。

これ、最初はオーナー以外という判定してたんですが
オーナー落ちたらどうするんだろうとおもって
グループで管理できるように修正しました。

0 件のコメント: