Collider.lsl 924 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. // :SHOW:1
  2. // :CATEGORY:Gaming
  3. // :NAME:Collider for All in One NPC Controller
  4. // :AUTHOR:Ferd Frederix
  5. // :KEYWORDS:Game, Collider
  6. // :REV:2.0
  7. // :WORLD:OpenSim
  8. // :DESCRIPTION:
  9. // Triggers the NPC controller to play the Greet notecard when collided.
  10. // :CODE:
  11. Reset()
  12. {
  13. llSetStatus(STATUS_PHANTOM, FALSE);
  14. llVolumeDetect(FALSE);
  15. llSleep(0.1);
  16. llVolumeDetect(TRUE);
  17. }
  18. default
  19. {
  20. state_entry()
  21. {
  22. Reset();
  23. llSetTimerEvent(3600);
  24. }
  25. collision_start(integer n)
  26. {
  27. if (osIsNpc(llDetectedKey(0)))
  28. {
  29. return;
  30. }
  31. llMessageLinked(LINK_SET,0,"@notecard=Greet","");
  32. }
  33. on_rez(integer p)
  34. {
  35. llResetScript();
  36. }
  37. timer()
  38. {
  39. Reset();
  40. }
  41. changed(integer what)
  42. {
  43. if (what & CHANGED_REGION_START)
  44. {
  45. llResetScript();
  46. }
  47. }
  48. }