Hello everyone...Ive been going nuts trying to figure this out...I have a great script and works well with my builds ( I do alot of puppeteering) the only thing is That I cant figure out how to make it a on touch script... Ive purchased other but they wont work with the puppeteering scripts... Could someone please help Thank you so much in advance integer gState; integer DOWN=0; integer GO_UP=1; integer UP=2; integer GO_DOWN=3; float MOVE_DAMPING=4.0; float MOVE_TIME=4.0; float DOWN_CORRECTION=1.5; // Use trial-and-error to correct for SVC-2441 // Move to 2m above starting position vector gOffset = <0.0, 0.0, 2.0>; vector gStartPosition; default { touch_start(integer total_number) { // Use physics so that can use MoveToTarget gStartPosition = llGetPos (); // Stop the object rotating llSetStatus(STATUS_ROTATE_X|STATUS_ROTATE_Y|STATUS_ROTATE_Z, FALSE); llSetStatus(STATUS_PHYSICS, TRUE); llMoveToTarget (gStartPosition, MOVE_DAMPING); llSetTimerEvent (MOVE_TIME); } on_rez(integer n) { llResetScript(); } timer () { if (gState == DOWN) { gState = GO_UP; llMoveToTarget(gStartPosition + gOffset, MOVE_DAMPING); gState = UP; } else if (gState == UP) { gState = GO_DOWN; // Need to compensate (a bit) for SVC-2441 llMoveToTarget(gStartPosition, MOVE_DAMPING*DOWN_CORRECTION); gState = DOWN; } } }