Advance to tree .lsl 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. // :SHOW:1
  2. // :CATEGORY:NPC
  3. // :NAME:Hypergrid Story Three
  4. // :AUTHOR:Ferd Frederix
  5. // :KEYWORDS:
  6. // :CREATED:2015-11-24 20:36:34
  7. // :EDITED:2015-11-24 19:36:34
  8. // :ID:1090
  9. // :NUM:1858
  10. // :REV:1
  11. // :WORLD:Opensim
  12. // :DESCRIPTION:
  13. // Sample collision script for NPC animator
  14. // :CODE:
  15. integer debug = FALSE;
  16. DoIt()
  17. {
  18. llMessageLinked(1,5, "@walk=<121.16252, 121.84969, 37.72606>","");
  19. llMessageLinked(1,1, "@say=The route is easy and not dangerous. Just follow me. ","");
  20. llMessageLinked(1,1, "@walk=<103, 103, 39>","");
  21. }
  22. Reset()
  23. {
  24. llVolumeDetect(FALSE);
  25. llSetStatus(STATUS_PHANTOM, FALSE);
  26. llSleep(0.1);
  27. llVolumeDetect(TRUE);
  28. }
  29. default
  30. {
  31. state_entry()
  32. {
  33. llSetText("",<1,1,1>,1.0);
  34. llSetTimerEvent(3600);
  35. Reset();
  36. }
  37. collision_start(integer n) {
  38. if (debug) llOwnerSay("Collided with " + llKey2Name(llDetectedKey(0)));
  39. if (! osIsNpc(llDetectedKey(0)))
  40. {
  41. if (debug) llOwnerSay("Collided with " + llKey2Name(llDetectedKey(0)));
  42. DoIt();
  43. }
  44. }
  45. timer()
  46. {
  47. Reset();
  48. llSetTimerEvent(3600);
  49. }
  50. on_rez(integer p)
  51. {
  52. llResetScript();
  53. }
  54. changed(integer what)
  55. {
  56. if (what & CHANGED_REGION_START)
  57. {
  58. llResetScript();
  59. }
  60. }
  61. }