vector r1=<135, 0, 0>; // rotazione senso 1
vector r2=<225, 0, 180>; // rotazione senso 2
vector p1=<85.4375, 38.4954-2, 23.3226>; // punto 1 della spola
vector p2=<51.8792, 41.5985-2, 23.3226>; // punto 2 della spola
integer FACT=100; // quantità di passi per senso di marcia
vector diff;
vector from;
vector to;
default
{
state_entry()
{
llSetRot(llEuler2Rot(DEG_TO_RAD*r1));
diff=(p2-p1)/FACT; from=p1; to=p2;
llSetPos(p1);
llSetTimerEvent(0.5);
}
timer()
{
if(llVecDist(llGetPos(),to)<3) state state2;
llSetPos(llGetPos()+diff);
}
}
state state2
{
state_entry()
{
llSetRot(llEuler2Rot(DEG_TO_RAD*r2));
diff=(p1-p2)/FACT; from=p2; to=p1;
llSetPos(p2);
llSetTimerEvent(0.5);
}
timer()
{
if(llVecDist(llGetPos(),to)<3) state default;
llSetPos(llGetPos()+diff);
}
}
Comments
0 B
|👍
/👎
0 B
|👍
/👎