flames.lsl 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. // :CATEGORY:Follower
  2. // :NAME:Keyframe Follower
  3. // :AUTHOR:Ferd Frederix
  4. // :KEYWORDS:
  5. // :CREATED:2014-12-04 12:14:28
  6. // :EDITED:2014-12-04
  7. // :ID:1058
  8. // :NUM:1686
  9. // :REV:1
  10. // :WORLD:Second Life
  11. // :DESCRIPTION:
  12. // Dragon Flames for a dragon follower
  13. // :CODE:
  14. Particles()
  15. {
  16. llParticleSystem( [
  17. PSYS_SRC_TEXTURE,"", // llGetInventoryName(INVENTORY_TEXTURE, 0),
  18. PSYS_PART_START_SCALE, <.1,.1,1>, PSYS_PART_END_SCALE, <0,2.0, 0>,
  19. PSYS_PART_START_COLOR, <0.2,1,0.2>, PSYS_PART_END_COLOR, <.5,1,1>,
  20. PSYS_PART_START_ALPHA, 1.0, PSYS_PART_END_ALPHA, 0.0,
  21. PSYS_SRC_BURST_PART_COUNT, 1,
  22. PSYS_SRC_BURST_RATE, 0.01,
  23. PSYS_PART_MAX_AGE, .5,
  24. PSYS_SRC_MAX_AGE, 0,
  25. PSYS_SRC_PATTERN, 8, // 1=DROP, 2=EXPLODE, 4=ANGLE, 8=ANGLE_CONE,
  26. PSYS_SRC_ACCEL, <1.0,0.0,0.0>,
  27. // PSYS_SRC_BURST_RADIUS, 0.0,
  28. PSYS_SRC_BURST_SPEED_MIN, .01,
  29. PSYS_SRC_BURST_SPEED_MAX, 3.01,
  30. PSYS_SRC_ANGLE_BEGIN, PI,
  31. PSYS_SRC_ANGLE_END, PI,
  32. PSYS_SRC_OMEGA, <0,0,0>,
  33. PSYS_PART_FLAGS, ( 0
  34. | PSYS_PART_INTERP_COLOR_MASK
  35. | PSYS_PART_INTERP_SCALE_MASK
  36. | PSYS_PART_EMISSIVE_MASK
  37. | PSYS_PART_FOLLOW_VELOCITY_MASK
  38. // | PSYS_PART_WIND_MASK
  39. // | PSYS_PART_BOUNCE_MASK
  40. // | PSYS_PART_FOLLOW_SRC_MASK
  41. // | PSYS_PART_TARGET_POS_MASK
  42. // | PSYS_PART_TARGET_LINEAR_MASK
  43. ) ] );
  44. }
  45. default
  46. {
  47. state_entry()
  48. {
  49. llParticleSystem([]);
  50. }
  51. link_message(integer sender, integer num, string str, key id)
  52. {
  53. if (str=="flames"){
  54. float which = llFrand(3);
  55. //llOwnerSay((string) which);
  56. if (which < 1)
  57. llTriggerSound("roar1",1.0);
  58. else if (which < 2)
  59. llTriggerSound("roar2",1.0);
  60. else
  61. llTriggerSound("roar3",1.0);
  62. Particles();
  63. llSetTimerEvent(1.0);
  64. }
  65. }
  66. timer()
  67. {
  68. llSetTimerEvent(0);
  69. llParticleSystem([]);
  70. }
  71. }