Wing Script.lsl 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. // :CATEGORY:Tour
  2. // :NAME:swan tour guide
  3. // :AUTHOR:Ferd Frederix
  4. // :CREATED:2013-09-06
  5. // :EDITED:2013-09-18 15:39:05
  6. // :ID:854
  7. // :NUM:1189
  8. // :REV:1
  9. // :WORLD:Second Life
  10. // :DESCRIPTION:
  11. // Tour
  12. // :CODE:
  13. float on = 0.0;
  14. float off = 1.0;
  15. list params_on ;
  16. list params_off ;
  17. list params_up ;
  18. list params_out ;
  19. float ona = 0.0;
  20. float offa = 1.0;
  21. integer softness = 2;
  22. float gravity = 2;
  23. float friction =3.0;
  24. float wind = 0.0;
  25. float tension = 1.5;
  26. vector force =<0,0,0>;
  27. default
  28. {
  29. state_entry()
  30. {
  31. params_on = [ PRIM_FLEXIBLE, TRUE, softness, -2, friction, wind, tension, force];
  32. params_off = [ PRIM_FLEXIBLE, TRUE, softness, -gravity, friction, wind, tension, force];
  33. params_up = [ PRIM_FLEXIBLE, TRUE, softness, 3, friction, wind, tension, force];
  34. params_out = [ PRIM_FLEXIBLE, TRUE, softness, 0, friction, wind, tension, force];
  35. llSetPrimitiveParams(params_out);
  36. llSetAlpha(offa,ALL_SIDES);
  37. }
  38. link_message(integer sender_num, integer num, string msg , key id)
  39. {
  40. if (num == 0 && msg == "FLY")
  41. {
  42. llSetPrimitiveParams(params_off);
  43. }
  44. else if (num == 0 && msg == "SIT")
  45. {
  46. llSetPrimitiveParams(params_on);
  47. }
  48. else if (num == 0 && msg == "FLAP")
  49. {
  50. llSetPrimitiveParams(params_up);
  51. llSleep(1.0);
  52. llSetPrimitiveParams(params_on);
  53. }
  54. }
  55. on_rez(integer param)
  56. {
  57. llResetScript();
  58. }
  59. }