controller.lsl 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. // :CATEGORY:Bird
  2. // :NAME:Roaming Owl
  3. // :AUTHOR:Ferd Frederix
  4. // :CREATED:2013-09-06
  5. // :EDITED:2013-09-18 15:39:01
  6. // :ID:707
  7. // :NUM:965
  8. // :REV:1
  9. // :WORLD:Second Life
  10. // :DESCRIPTION:
  11. // Controller
  12. // :CODE:
  13. // ______ _ ______ _ _
  14. // | ___| | | | ___| | | (_)
  15. // | |_ ___ _ __ __| | | |_ _ __ ___ __| | ___ _ __ ___ __
  16. // | _/ _ \ '__/ _` | | _| '__/ _ \/ _` |/ _ \ '__| \ \/ /
  17. // | || __/ | | (_| | | | | | | __/ (_| | __/ | | |> <
  18. // \_| \___|_| \__,_| \_| |_| \___|\__,_|\___|_| |_/_/\_\
  19. //
  20. // fred@mitsi.com
  21. // owl bird script
  22. //
  23. integer tick;
  24. integer count;
  25. default
  26. {
  27. state_entry()
  28. {
  29. llMessageLinked(LINK_SET,0,"sit","");
  30. }
  31. timer()
  32. {
  33. if (tick++ %2 )
  34. llMessageLinked(LINK_SET,0,"up","");
  35. else
  36. llMessageLinked(LINK_SET,0,"down","");
  37. }
  38. link_message(integer sender,integer num, string str, key id)
  39. {
  40. if (str == "fly")
  41. {
  42. llSetTimerEvent(1.0);
  43. }
  44. else if (str == "land")
  45. {
  46. llSetTimerEvent(0);
  47. }
  48. else if (str == "sit")
  49. {
  50. llSetTimerEvent(0);
  51. }
  52. }
  53. touch_start(integer many)
  54. {
  55. if (count == 0) {
  56. llMessageLinked(LINK_SET,1,"sit","");
  57. // llSay(0,"sit");
  58. } else if (count == 1) {
  59. llMessageLinked(LINK_SET,1,"fly","");
  60. //llSay(0,"fly");
  61. } else if (count == 2) {
  62. llMessageLinked(LINK_SET,1,"land","");
  63. // llSay(0,"land");
  64. }
  65. count++;
  66. if (count > 2)
  67. count = 0;
  68. }
  69. }