Difference between revisions of "LlMakeFountain"

From Second Life Wiki
Jump to navigation Jump to search
Line 14: Line 14:
|also_tests
|also_tests
|also_articles
|also_articles
|notes
|notes=
|cat1=Particles
Beginning in 1.14, the simulator will be using [[llParticleSystem]] to emulate legacy llMakeFountain particles.
|cat2
<pre>
|cat3
llMakeFountain(integer particle_count,
|cat4
|deprecated=llParticleSystem
}}
 
 
Beginning in 1.14, the simulator will be using llParticleSystem to emulate legacy llMakeFountain particles.
 
llMakeFountain(integer particle_count,
               float particle_scale,
               float particle_scale,
               float particle_speed,
               float particle_speed,
Line 34: Line 26:
               vector local_offset,
               vector local_offset,
               vector bounce_offset);
               vector bounce_offset);
 
</pre>
fakeMakeFountain(integer particle_count, float particle_scale, float particle_speed,
<pre>
fakeMakeFountain(integer particle_count, float particle_scale, float particle_speed,
                 float particle_lifetime, float source_cone, integer bounce,
                 float particle_lifetime, float source_cone, integer bounce,
                 string source_texture_id, vector local_offset, vector bounce_offset)
                 string source_texture_id, vector local_offset, vector bounce_offset)
{
{
//       local_offset is ignored
//     local_offset is ignored
//       bounce is ignored
//     bounce is ignored
//       bounce_offset is ignored
//     bounce_offset is ignored
  llParticleSystem([
    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_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_SRC_PATTERN,            PSYS_SRC_PATTERN_ANGLE_CONE,
      PSYS_PART_START_COLOR,        <1.0, 1.0, 1.0>,
        PSYS_PART_START_COLOR,        <1.0, 1.0, 1.0>,
      PSYS_PART_END_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_START_ALPHA,        0.50,
      PSYS_PART_END_ALPHA,        0.25,
        PSYS_PART_END_ALPHA,        0.25,
      PSYS_PART_START_SCALE,        <particle_scale/1.5, particle_scale/1.5, 0.0>,
        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_END_SCALE,        <0.0, 0.0, 0.0>,
      PSYS_PART_MAX_AGE,            3.0,
        PSYS_PART_MAX_AGE,            3.0,
      PSYS_SRC_ACCEL,                <1.0, 0.0, -4>,
        PSYS_SRC_ACCEL,                <1.0, 0.0, -4>,
      PSYS_SRC_TEXTURE,            source_texture_id,
        PSYS_SRC_TEXTURE,            source_texture_id,
      PSYS_SRC_BURST_RATE,        5/particle_count,
        PSYS_SRC_BURST_RATE,        5/particle_count,
      PSYS_SRC_ANGLE_BEGIN,        0.0,
        PSYS_SRC_ANGLE_BEGIN,        0.0,
      PSYS_SRC_ANGLE_END,            source_cone*PI,
        PSYS_SRC_ANGLE_END,            source_cone*PI,
      PSYS_SRC_BURST_PART_COUNT,    1,
        PSYS_SRC_BURST_PART_COUNT,    1,
      PSYS_SRC_BURST_RADIUS,        0.0,
        PSYS_SRC_BURST_RADIUS,        0.0,
      PSYS_SRC_BURST_SPEED_MIN,    particle_speed,
        PSYS_SRC_BURST_SPEED_MIN,    particle_speed,
      PSYS_SRC_BURST_SPEED_MAX,    particle_speed,
        PSYS_SRC_BURST_SPEED_MAX,    particle_speed,
      PSYS_SRC_MAX_AGE,            particle_lifetime/2,
        PSYS_SRC_MAX_AGE,            particle_lifetime/2,
      PSYS_SRC_OMEGA,                <0.0, 0.0, 0.0>      ]);
        PSYS_SRC_OMEGA,                <0.0, 0.0, 0.0>      ]);
}
}
//    Known discrepencies:
//    Known discrepencies:
//    1) The bounce level is not adjustable with the new particle system,
//    1) The bounce level is not adjustable with the new particle system,
//      it will be fixed to 0
//      it will be fixed to 0
//    2) The original llMakeFountain has random particle lifetime, which cannot be
//    2) The original llMakeFountain has random particle lifetime, which cannot be
//      created in the current particle system via a single call
//      created in the current particle system via a single call
  //    3) several values are not taken 'verbatim' in the original particle system
//    3) several values are not taken 'verbatim' in the original particle system
//      (velocity is not m/sec for instance, and number of particles seems to be
//      (velocity is not m/sec for instance, and number of particles seems to be
//      wildly off), these are approximated loosely in this simulation via basic
//      wildly off), these are approximated loosely in this simulation via basic
//      divisors, which may not work out the same in some scenarios
//      divisors, which may not work out the same in some scenarios
  //    4) There is no way to duplicate the offset from the old functions within the
//    4) There is no way to duplicate the offset from the old functions within the
//      new particle system
//      new particle system
</pre>
|cat1=Particles
|cat2
|cat3
|cat4
|deprecated=llParticleSystem
}}

Revision as of 02:37, 24 March 2007

Emblem-important.png Deprecated
(This function has been deprecated, please use llParticleSystem instead.)

Summary

Function: llMakeFountain( integer particles, float scale, float vel, float lifetime, float arc, integer bounce, string texture, vector offset, float bounce_offset );
0.1 Forced Delay
10.0 Energy

Make a fountain of particles

• integer particles
• float scale
• float vel
• float lifetime
• float arc
• integer bounce
• string texture
• vector offset
• float bounce_offset

Caveats

  • This function causes the script to sleep for 0.1 seconds.
  • This function has been deprecated, please use llParticleSystem instead.

Examples

Notes

Beginning in 1.14, the simulator will be using llParticleSystem to emulate legacy llMakeFountain particles.

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,
              vector bounce_offset);
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)
{
//      local_offset is ignored
//      bounce is ignored
//      bounce_offset is ignored
    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>      ]);
}
//    Known discrepencies:
//    1) The bounce level is not adjustable with the new particle system,
//       it will be fixed to 0
//    2) The original llMakeFountain has random particle lifetime, which cannot be
//       created in the current particle system via a single call
//    3) several values are not taken 'verbatim' in the original particle system
//       (velocity is not m/sec for instance, and number of particles seems to be
//       wildly off), these are approximated loosely in this simulation via basic
//       divisors, which may not work out the same in some scenarios
//    4) There is no way to duplicate the offset from the old functions within the
//       new particle system

Deep Notes

Signature

function void llMakeFountain( integer particles, float scale, float vel, float lifetime, float arc, integer bounce, string texture, vector offset, float bounce_offset );