Advertisement
SlyTheFloof

SL Tip Jar

Mar 4th, 2024
35
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.11 KB | None | 0 0
  1. integer CHANNEL = 55;
  2. integer total;
  3.  
  4. generalParticleEmitterOn()
  5. {
  6. llParticleSystem([
  7. PSYS_PART_FLAGS , 0
  8. //| PSYS_PART_BOUNCE_MASK //Bounce on object's z-axis
  9. //| PSYS_PART_WIND_MASK //Particles are moved by wind
  10. | PSYS_PART_INTERP_COLOR_MASK //Colors fade from start to end
  11. | PSYS_PART_INTERP_SCALE_MASK //Scale fades from beginning to end
  12. | PSYS_PART_FOLLOW_SRC_MASK //Particles follow the emitter
  13. //| PSYS_PART_FOLLOW_VELOCITY_MASK//Particles are created at the velocity of the emitter
  14. //| PSYS_PART_TARGET_POS_MASK //Particles follow the target
  15. | PSYS_PART_EMISSIVE_MASK //Particles will glow
  16. //| PSYS_PART_TARGET_LINEAR_MASK//Undocumented--Sends particles in straight line?
  17. ,
  18.  
  19. //PSYS_SRC_TARGET_KEY , NULL_KEY,//The particles will head towards the specified key
  20. //Select one of the following for a pattern:
  21. //PSYS_SRC_PATTERN_DROP Particles start at emitter with no velocity
  22. //PSYS_SRC_PATTERN_EXPLODE Particles explode from the emitter
  23. //PSYS_SRC_PATTERN_ANGLE Particles are emitted in a 2-D angle
  24. //PSYS_SRC_PATTERN_ANGLE_CONE Particles are emitted in a 3-D cone
  25. //PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY Particles are emitted everywhere except for a 3-D cone
  26.  
  27. PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_EXPLODE
  28.  
  29. ,PSYS_SRC_TEXTURE, "" //UUID of the desired particle texture, or inventory name
  30. ,PSYS_SRC_MAX_AGE, 0.0 //Time, in seconds, for particles to be emitted. 0 = forever
  31. ,PSYS_PART_MAX_AGE, 10.0 //Lifetime, in seconds, that a particle lasts
  32. ,PSYS_SRC_BURST_RATE, 1.0 //How long, in seconds, between each emission
  33. ,PSYS_SRC_BURST_PART_COUNT, 1 //Number of particles per emission
  34. ,PSYS_SRC_BURST_RADIUS, 10.0 //Radius of emission
  35. ,PSYS_SRC_BURST_SPEED_MIN, 0.001 //Minimum speed of an emitted particle
  36. ,PSYS_SRC_BURST_SPEED_MAX, 0.001 //Maximum speed of an emitted particle
  37. ,PSYS_SRC_ACCEL, <0,0,0> //Acceleration of particles each second
  38. ,PSYS_PART_START_COLOR, <1,1,1> //Starting RGB color
  39. ,PSYS_PART_END_COLOR, <1,1,1> //Ending RGB color, if INTERP_COLOR_MASK is on
  40. ,PSYS_PART_START_ALPHA, 1.0 //Starting transparency, 1 is opaque, 0 is transparent.
  41. ,PSYS_PART_END_ALPHA, 1.0 //Ending transparency
  42. ,PSYS_PART_START_SCALE, <.25,.25,.25> //Starting particle size
  43. ,PSYS_PART_END_SCALE, <.25,.25,.25> //Ending particle size, if INTERP_SCALE_MASK is on
  44. ,PSYS_SRC_ANGLE_BEGIN, 1.54 //Inner angle for ANGLE patterns
  45. ,PSYS_SRC_ANGLE_END, 1.55 //Outer angle for ANGLE patterns
  46. ,PSYS_SRC_OMEGA, <0.0,0.0,0.0> //Rotation of ANGLE patterns, similar to llTargetOmega()
  47. ]);
  48. }
  49.  
  50. generalParticleEmitterOff()
  51. {
  52. llParticleSystem([]);
  53. }
  54.  
  55. updateText()
  56. {
  57. string str = llKey2Name(llGetOwner()) + "'s Tip Jar\n";
  58. if( total>0 )
  59. str+= (string)total + " donated so far.";
  60. else
  61. str+= "No Tips Yet 😢";
  62.  
  63. llSetText(str, <0,1,0>, 1);
  64. }
  65.  
  66. default
  67. {
  68. on_rez(integer s)
  69. {
  70. llResetScript();
  71. }
  72.  
  73. state_entry()
  74. {
  75. updateText();
  76. generalParticleEmitterOn();
  77. llListen(CHANNEL, "", llGetOwner(), "");
  78. }
  79.  
  80. money(key giver, integer amount) {
  81. llSay(0, "Thanks for the " + (string)amount + "L$, Donation" + llKey2Name(giver));
  82. total+=amount;
  83. updateText();
  84. }
  85.  
  86. touch_start(integer count)
  87. {
  88. if(llDetectedKey(0)==llGetOwner())
  89. {
  90. llDialog(llDetectedKey(0), "Clear total amount?", ["Yes","No"], CHANNEL);
  91. }
  92. }
  93.  
  94. listen(integer channel, string name, key id, string message)
  95. {
  96. if( message=="Yes" && id==llGetOwner() )
  97. {
  98. total = 0;
  99. updateText();
  100. }
  101. }
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement