2007年11月24日
撃つと吹っ飛んで勝手に戻ってくるターゲット
スクリプトはこんな感じ
vector gloc=<-1,-1,-1>;
rotation grot =<-1,-1,-1,-1>;
integer st=0;
default
{
state_entry()
{
llSetStatus(STATUS_PHYSICS,FALSE);
}
touch_start(integer total_number)
{
gloc = llGetPos();
grot = llGetRot();
st=0;
llSay(0,"Target set to "+(string)gloc);
}
collision_start(integer num_detected) {
if (st==0){
//llSay(0,"Collision!");
llSetTimerEvent(5.0);
llSetStatus(STATUS_PHYSICS,TRUE);
st=1;
}
}
timer() {
llSetTimerEvent(0.0);
if (gloc.z >=0){
llSetStatus(STATUS_PHYSICS,FALSE);
llSetPos(gloc);
llSetRot(grot);
st=0;
}
}
}
このスクリプトを仕込んだオブジェクトを、好きな位置に置いて、一度タッチすればその位置と向きを記憶するので、あとは適当に撃てばOK。
なんか色々改良の余地ありそうだなあ。
Posted by Kenji at 21:21│Comments(0)
│銃関係