Join us in Phaze Demesnes

LSL Script Library Home   Add a script Show All
Category: Contributor: Description
Particles Encog Dod BasicParticle
BasicParticle
BasicParticle

Download this script - Please use this link to get this script. If you see all the code on one long line, please use Wordpad or another editor, such as LSLEdit.exe. The .LSL file you will download is an ordinary text file.

1 // From the book:
2 //
3 // Scripting Recipes for Second Life
4 // by Jeff Heaton (Encog Dod in SL)
5 // ISBN: 160439000
6 X// Copyright 2007 by Heaton Research, Inc.
7 //
8 // This script may be freely copied and modified so long as this header
9 // remains unmodified.
10 //
11 // For more information about this book visit the following web site:
12 //
13 // http://www.heatonresearch.com/articles/series/22/
14
15 generalParticleEmitterOn()
16 {
19 //| PSYS_PART_BOUNCE_MASK //Bounce on object's z-axis
20 | PSYS_PART_WIND_MASK //Particles are moved by wind
21 | PSYS_PART_INTERP_COLOR_MASK //Colors fade from start to end
22 | PSYS_PART_INTERP_SCALE_MASK //Scale fades from beginning to end
23 | PSYS_PART_FOLLOW_SRC_MASK //Particles follow the emitter
24 | PSYS_PART_FOLLOW_VELOCITY_MASK//Particles are created at the velocity of the emitter
25 //| PSYS_PART_TARGET_POS_MASK //Particles follow the target
26 | PSYS_PART_EMISSIVE_MASK //Particles are self-lit (glow)
27 //| PSYS_PART_TARGET_LINEAR_MASK//Undocumented--Sends particles in straight line?
28 ,
29
30 //PSYS_SRC_TARGET_KEY , NULL_KEY,//The particles will head towards the specified key
31 //Select one of the following for a pattern:
32 //PSYS_SRC_PATTERN_DROP Particles start at emitter with no velocity
33 //PSYS_SRC_PATTERN_EXPLODE Particles explode from the emitter
34 //PSYS_SRC_PATTERN_ANGLE Particles are emitted in a 2-D angle
35 //PSYS_SRC_PATTERN_ANGLE_CONE Particles are emitted in a 3-D cone
36 //PSYS_SRC_PATTERN_ANGLE_CONE_EMPTY Particles are emitted everywhere except for a 3-D cone
37
39
40 ,PSYS_SRC_TEXTURE, "" //UUID of the desired particle texture, or inventory name
41 ,PSYS_SRC_MAX_AGE, 0.0 //Time, in seconds, for particles to be emitted. 0 = forever
42 ,PSYS_PART_MAX_AGE, 4.0 //Lifetime, in seconds, that a particle lasts
43 ,PSYS_SRC_BURST_RATE, 0.5 //How long, in seconds, between each emission
44 ,PSYS_SRC_BURST_PART_COUNT, 6 //Number of particles per emission
45 ,PSYS_SRC_BURST_RADIUS, 10.0 //Radius of emission
46 ,PSYS_SRC_BURST_SPEED_MIN, .4 //Minimum speed of an emitted particle
47 ,PSYS_SRC_BURST_SPEED_MAX, .5 //Maximum speed of an emitted particle
48 ,PSYS_SRC_ACCEL, <0,0,1> //Acceleration of particles each second
49 ,PSYS_PART_START_COLOR, <1,0,0> //Starting RGB color
50 ,PSYS_PART_END_COLOR, <1,0,0> //Ending RGB color, if INTERP_COLOR_MASK is on
51 ,PSYS_PART_START_ALPHA, 1.0 //Starting transparency, 1 is opaque, 0 is transparent.
52 ,PSYS_PART_END_ALPHA, 1.0 //Ending transparency
53 ,PSYS_PART_START_SCALE, <.25,.25,.25> //Starting particle size
54 ,PSYS_PART_END_SCALE, <1.5,1.5,1.5> //Ending particle size, if INTERP_SCALE_MASK is on
55 ,PSYS_SRC_ANGLE_BEGIN, 300 * DEG_TO_RAD //Inner angle for ANGLE patterns
56 ,PSYS_SRC_ANGLE_END, 60 * DEG_TO_RAD//Outer angle for ANGLE patterns
57 ,PSYS_SRC_OMEGA, <0.0,0.0,0.0> //Rotation of ANGLE patterns, similar to llTargetOmega()
58 ]);
59 }
60
61 generalParticleEmitterOff()
62 {
64 }
65
66 default
67 {
69 {
70 generalParticleEmitterOn();
71 }
72
74 {
75 // uncomment the following line to allow this effect to be turned off
76 //state off;
77 }
78 }
79
80 state off
81 {
83 {
84 generalParticleEmitterOff();
85 }
86
88 {
89 state default;
90 }
91 }