PSYS Template
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
PSYS Template
Important: You might want to use llLinkParticleSystem instead of llParticleSystem dependant upon the desired effects. |
--BETLOG Hax SLT: July 9th 2009
All of the flags for making particles in a script with important inter-relationship comments only.
(declaring a bunch of variables instead of just learning to read the actual flag names is stupid)
<lsl>
integer hasParticleEffect = TRUE;
list particle_effects() {
return [PSYS_PART_FLAGS, ( 0 | PSYS_PART_INTERP_COLOR_MASK | PSYS_PART_INTERP_SCALE_MASK | PSYS_PART_EMISSIVE_MASK
// | PSYS_PART_WIND_MASK // | PSYS_PART_BOUNCE_MASK // | PSYS_PART_FOLLOW_SRC_MASK //disables BURST_RADIUS // | PSYS_PART_FOLLOW_VELOCITY_MASK // | PSYS_PART_TARGET_POS_MASK //target TARGET_KEY // | PSYS_PART_TARGET_LINEAR_MASK //requires TARGET_KEY disables ACCEL, BURST_RADIUS
), PSYS_PART_START_COLOR, <1.0, 0.5, 0.0>, PSYS_PART_START_ALPHA, 1.0, PSYS_PART_END_COLOR, <0.3, 0.0, 0.0>, PSYS_PART_END_ALPHA, 0.0, PSYS_PART_START_SCALE, <0.5, 0.5, 0>, PSYS_PART_END_SCALE, <0.5, 0.5, 0>, PSYS_PART_MAX_AGE, 1.0, PSYS_SRC_ACCEL, ZERO_VECTOR, PSYS_SRC_PATTERN, 8,
// DROP (1), EXPLODE (2), ANGLE (4), ANGLE_CONE (8), ANGLE_CONE_EMPTY (10) // 1 - disables BURST_RADIUS, BURST_SPEED_MIN, BURST_SPEED_MAX // 4/8/10 - requires ANGLE_BEGIN, ANGLE_END
PSYS_SRC_TEXTURE, "", PSYS_SRC_BURST_RATE, 0.05, PSYS_SRC_BURST_PART_COUNT, 4, PSYS_SRC_BURST_RADIUS, 1.0, PSYS_SRC_BURST_SPEED_MIN, 0.0, PSYS_SRC_BURST_SPEED_MAX, 0.1, PSYS_SRC_MAX_AGE, 0.0, PSYS_SRC_TARGET_KEY, NULL_KEY, PSYS_SRC_OMEGA, ZERO_VECTOR, PSYS_SRC_ANGLE_BEGIN, 0.5, PSYS_SRC_ANGLE_END, 0.5];
}
toggle_particles() {
hasParticleEffect = !hasParticleEffect;
if (hasParticleEffect)
// {
llParticleSystem( particle_effects() );
// }
else
// {
llParticleSystem([]);
// } }
default {
on_rez(integer start_param) { llResetScript(); }
state_entry() { toggle_particles(); }
touch_start(integer num_detected) { toggle_particles(); }
} </lsl>