sloodle_move_teller.lslp 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. //
  2. // The line above should be left blank to avoid script errors in OpenSim.
  3. vector start_pos;
  4. rotation start_rot;
  5. default {
  6. state_entry() {
  7. start_pos = llGetPos();
  8. start_rot = llGetRot();
  9. llSetTimerEvent(1);
  10. }
  11. //moving_start() {
  12. // start = llGetPos();
  13. // // llSleep(2.0); // this prevents the end event from getting triggered earlier than we want
  14. // }
  15. //moving_end() {
  16. // vector to = llGetPos();
  17. // llSay(232323, (string)(start - to));
  18. // llSay(0, (string)(start - to));
  19. // start = to;
  20. // }
  21. // touch_start(integer n) {
  22. // vector to_pos = llGetPos();
  23. // rotation to_rot = llGetRot();
  24. // if ( (to_pos == start_pos) && (start_rot == to_rot) ) {
  25. // llSetTimerEvent(2.5);
  26. // return;
  27. // }
  28. // llOwnerSay( "rotated by "+ (string)llRot2Euler( to_rot / start_rot ) );
  29. // llSay(232323, (string)(start_pos - to_pos) + "|" + (string)(to_rot / start_rot) + "|" + (string)to_pos);
  30. // start_pos = to_pos;
  31. // start_rot = to_rot;
  32. // }
  33. timer() {
  34. vector to_pos = llGetPos();
  35. rotation to_rot = llGetRot();
  36. if ( (to_pos == start_pos) && (start_rot == to_rot) ) {
  37. llSetTimerEvent(1);
  38. return;
  39. }
  40. // llOwnerSay( "rotated by "+ (string)llRot2Euler( to_rot / start_rot ) );
  41. llRegionSay(232323, (string)(start_pos - to_pos) + "|" + (string)(to_rot / start_rot) + "|" + (string)to_pos);
  42. start_pos = to_pos;
  43. start_rot = to_rot;
  44. }
  45. }
  46. // Please leave the following line intact to show where the script lives in Git:
  47. // SLOODLE LSL Script Git Location: mod/set-1.0/objects/default/assets/sloodle_move_teller.lslp