Skip to content

llMakeFountain

Deprecated
void llMakeFountain(integer Particles, float Scale, float Velocity, float Lifetime, float Arc, integer Bounce, string Texture, vector Offset, float Bounce_Offset)

Make a fountain of particles. Deprecated: Use llParticleSystem instead.

Make a fountain of particles using texture from the objects inventory. Deprecated: Use llParticleSystem instead.

Parameters
Particles(integer)
Scale(float)
Velocity(float)
Lifetime(float)
Arc(float)
Bounce(integer)
Texture(string)
Offset(vector)
Bounce_Offset(float)

Beginning in version 1.14, the simulator uses llParticleSystem to emulate legacy llMakeFountain particles. This function is deprecated and you should use llParticleSystem for new scripts.

The original function signature:

llMakeFountain(integer particle_count,
float particle_scale,
float particle_speed,
float particle_lifetime,
float source_cone,
integer source_bounce,
string source_texture_id,
vector local_offset,
float bounce_offset);

Below is an example of how to emulate the old llMakeFountain behavior using llParticleSystem:

fakeMakeFountain(integer particle_count, float particle_scale, float particle_speed,
float particle_lifetime, float source_cone, integer bounce,
string source_texture_id, vector local_offset, vector bounce_offset)
{
// Note: local_offset, bounce, and bounce_offset are not used in this emulation
llParticleSystem([
PSYS_PART_FLAGS, PSYS_PART_INTERP_COLOR_MASK | PSYS_PART_INTERP_SCALE_MASK | PSYS_PART_WIND_MASK | PSYS_PART_BOUNCE_MASK | PSYS_PART_EMISSIVE_MASK,
PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_ANGLE_CONE,
PSYS_PART_START_COLOR, <1.0, 1.0, 1.0>,
PSYS_PART_END_COLOR, <1.0, 1.0, 1.0>,
PSYS_PART_START_ALPHA, 0.50,
PSYS_PART_END_ALPHA, 0.25,
PSYS_PART_START_SCALE, <particle_scale/1.5, particle_scale/1.5, 0.0>,
PSYS_PART_END_SCALE, <0.0, 0.0, 0.0>,
PSYS_PART_MAX_AGE, 3.0,
PSYS_SRC_ACCEL, <1.0, 0.0, -4>,
PSYS_SRC_TEXTURE, source_texture_id,
PSYS_SRC_BURST_RATE, 5/particle_count,
PSYS_SRC_ANGLE_BEGIN, 0.0,
PSYS_SRC_ANGLE_END, source_cone*PI,
PSYS_SRC_BURST_PART_COUNT, 1,
PSYS_SRC_BURST_RADIUS, 0.0,
PSYS_SRC_BURST_SPEED_MIN, particle_speed,
PSYS_SRC_BURST_SPEED_MAX, particle_speed,
PSYS_SRC_MAX_AGE, particle_lifetime/2,
PSYS_SRC_OMEGA, <0.0, 0.0, 0.0>
]);
}

When migrating from llMakeFountain to llParticleSystem, be aware of these limitations:

  1. Bounce level - Not adjustable with the new particle system; fixed to 0
  2. Particle lifetime - The original function had random particle lifetime, which cannot be created in the current particle system via a single call
  3. Velocity and particle count - Several values are not taken verbatim in the original particle system (velocity is not in m/sec, particle count may differ significantly). These are approximated loosely in the simulation via basic divisors, which may not work out the same in all scenarios
  4. Offset parameters - There is no way to duplicate the offset from the old function within the new particle system