Home |
Add a script
|
||
|---|---|---|---|
| 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 { 17 llParticleSystem([ 18 PSYS_PART_FLAGS , 0 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 38 PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_ANGLE_CONE 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 { 63 llParticleSystem([]); 64 } 65 66 default 67 { 68 state_entry() 69 { 70 generalParticleEmitterOn(); 71 } 72 73 touch_start( integer num ) 74 { 75 // uncomment the following line to allow this effect to be turned off 76 //state off; 77 } 78 } 79 80 state off 81 { 82 state_entry() 83 { 84 generalParticleEmitterOff(); 85 } 86 87 touch_start( integer num ) 88 { 89 state default; 90 } 91 }