Bullet rez.lsl 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. // :CATEGORY:Tour
  2. // :NAME:TourCopter
  3. // :AUTHOR:Ferd Frederix
  4. // :CREATED:2013-09-06
  5. // :EDITED:2013-09-18 15:39:08
  6. // :ID:909
  7. // :NUM:1292
  8. // :REV:1
  9. // :WORLD:Second Life
  10. // :DESCRIPTION:
  11. // Tour
  12. // :CODE:
  13. // ______ _ ______ _ _
  14. // | ___| | | | ___| | | (_)
  15. // | |_ ___ _ __ __| | | |_ _ __ ___ __| | ___ _ __ ___ __
  16. // | _/ _ \ '__/ _` | | _| '__/ _ \/ _` |/ _ \ '__| \ \/ /
  17. // | || __/ | | (_| | | | | | | __/ (_| | __/ | | |> <
  18. // \_| \___|_| \__,_| \_| |_| \___|\__,_|\___|_| |_/_/\_\
  19. //
  20. // fred@mitsi.com
  21. // tour copter script
  22. // Bullet rez 1 of 4
  23. //
  24. //Revisions:
  25. // 1/28/2010 initial release
  26. vector rez_pos = <2.5, 0.1, 0.05>;
  27. float bullet_speed = 200.0;
  28. default
  29. {
  30. state_entry()
  31. {
  32. }
  33. link_message(integer sender_num, integer num, string str, key id)
  34. {
  35. if (str == "fire")
  36. {
  37. integer fire = 0;
  38. rotation rot = <0.00000, -0.70711, 0.00000, 0.70711> * (llGetLocalRot() * llGetRootRotation());
  39. vector pos = llGetRootPosition() + (llGetLocalPos() * llGetRootRotation()) + (rez_pos * rot);
  40. vector vel = (<bullet_speed, 0.0, 0.0> * rot) + llGetVel();
  41. do {
  42. llTriggerSound("64aeeca3-8760-385b-b2c9-f9465c202ba7", 1.6);
  43. llRezObject(llGetObjectDesc(), pos, vel, <0.0000, 0.70711, 0.0000, 0.70711> * rot, 1);
  44. } while (fire++ < 5);
  45. }
  46. }
  47. on_rez(integer sparam)
  48. {
  49. llResetScript();
  50. }
  51. }