01-01-2007 10:32
hi !

i went with llTargetOmega(). Nox i was in the need to rotate and stop at the original given position. since llTargetOmega doesnt have this ability (as far as i know... because not changing prims rotation), i decided to play arround with the get/set prim and get/set rot funtions.

now i thought going with llSetRot() would be nice... but the rotation itself in a timer()

the first ~5 moves are fine... then it gets stuck....

IS THERE ANY acceptable way to rotate a non-physical (better bother) prim, smoothly, with on touch get back to old position ?

this seems to me such a basic task....

cheers
Ralf

-------- schnipp

integer gOnoff = FALSE;
rotation gEndpos;
rotation gRot;

default
{
on_rez(integer s)
{
llWhisper(0, "reseting....";);
llResetScript();
}

state_entry()
{
llWhisper(0, "rotation script starting ...";);
gEndpos = llGetRot(); // aktuelle rotation ermitteln
llSay(0, (string)gEndpos);
}

touch_start(integer total_number)
{
gOnoff =! gOnoff; // Statuswechsel

if(gOnoff == FALSE) //to off
{
llSay(0, "rotate off";);
llSetTimerEvent(0); //timer stoppen
llSetRot(gEndpos);
}
else //to on
{
llSay(0, "rotate on";);
gEndpos = llGetRot(); // get position
llSetTimerEvent(0.2); // timer set

}
}