Difference between revisions of "LlMakeFire"

From Second Life Wiki
Jump to navigation Jump to search
m
Line 14: Line 14:
|also_tests
|also_tests
|also_articles
|also_articles
|notes
|notes=
Beginning in 1.14, the simulator will be using llParticleSystem to emulate legacy llMakeFire particles.
<pre>
llMakeFire(integer particle_count,
          float particle_scale,
          float particle_speed,
          float particle_lifetime,
          float source_cone,
          string source_texture_id,
          vector local_offset);
</pre>
<pre>
fakeMakeFire(integer particle_count, float particle_scale, float particle_speed,
            float particle_lifetime, float source_cone, string source_texture_id,
            vector local_offset)
{
//    local_offset is ignored
    llParticleSystem([
        PSYS_PART_FLAGS,            PSYS_PART_INTERP_COLOR_MASK|PSYS_PART_INTERP_SCALE_MASK|PSYS_PART_EMISSIVE_MASK|PSYS_PART_WIND_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.10,
        PSYS_PART_START_SCALE,      <particle_scale/2, particle_scale/2, 0.0>,
        PSYS_PART_END_SCALE,        <particle_scale, particle_scale, 0.0>,
        PSYS_PART_MAX_AGE,          0.5,
        PSYS_SRC_ACCEL,            <0.0, 0.0, 0.0>,
        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 original llMakeFire has random particle lifetime, which cannot be
//      created in the current particle system via a single call
//    2) The original llMakeFire has continual particle growth throughout its
//      lifetime, ending well past the 4m limit of the current system, on long lived
//      particles
//    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
//    5) These effects do not 'pump' like the older functions do,
//      i.e. its a single, set property, calling it 10 times won't cause
//      10x as many particles, as the old ones did
</pre>
|deprecated=llParticleSystem
|deprecated=llParticleSystem
|cat1=Particles
|cat1=Particles
Line 21: Line 76:
|cat4
|cat4
}}
}}
Beginning in 1.14, the simulator will be using llParticleSystem to emulate legacy llMakeFire particles.
llMakeFire(integer particle_count,
          float particle_scale,
          float particle_speed,
          float particle_lifetime,
          float source_cone,
          string source_texture_id,
          vector local_offset);
fakeMakeFire(integer particle_count, float particle_scale, float particle_speed,
            float particle_lifetime, float source_cone, string source_texture_id,
            vector local_offset)
{
//    local_offset is ignored
  llParticleSystem([
      PSYS_PART_FLAGS,            PSYS_PART_INTERP_COLOR_MASK|PSYS_PART_INTERP_SCALE_MASK|PSYS_PART_EMISSIVE_MASK|PSYS_PART_WIND_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.10,
      PSYS_PART_START_SCALE,        <particle_scale/2, particle_scale/2, 0.0>,
      PSYS_PART_END_SCALE,        <particle_scale, particle_scale, 0.0>,
      PSYS_PART_MAX_AGE,            0.5,
      PSYS_SRC_ACCEL,                <0.0, 0.0, 0.0>,
      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 original llMakeFire has random particle lifetime, which cannot be
//      created in the current particle system via a single call
  //    2) The original llMakeFire has continual particle growth throughout its
//      lifetime, ending well past the 4m limit of the current system, on long lived
//      particles
  //    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
//    5) These effects do not 'pump' like the older functions do,
//      i.e. its a single, set property, calling it 10 times won't cause
//      10x as many particles, as the old ones did

Revision as of 02:36, 24 March 2007

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

Summary

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

Make fire like particles

• integer particles
• float scale
• float vel
• float lifetime
• float arc
• string texture
• vector 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 llMakeFire particles.

llMakeFire(integer particle_count,
           float particle_scale,
           float particle_speed,
           float particle_lifetime,
           float source_cone,
           string source_texture_id,
           vector local_offset);
fakeMakeFire(integer particle_count, float particle_scale, float particle_speed,
             float particle_lifetime, float source_cone, string source_texture_id,
             vector local_offset)
{
//    local_offset is ignored
    llParticleSystem([
        PSYS_PART_FLAGS,            PSYS_PART_INTERP_COLOR_MASK|PSYS_PART_INTERP_SCALE_MASK|PSYS_PART_EMISSIVE_MASK|PSYS_PART_WIND_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.10,
        PSYS_PART_START_SCALE,      <particle_scale/2, particle_scale/2, 0.0>,
        PSYS_PART_END_SCALE,        <particle_scale, particle_scale, 0.0>,
        PSYS_PART_MAX_AGE,          0.5,
        PSYS_SRC_ACCEL,             <0.0, 0.0, 0.0>,
        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 original llMakeFire has random particle lifetime, which cannot be
//       created in the current particle system via a single call
//    2) The original llMakeFire has continual particle growth throughout its
//       lifetime, ending well past the 4m limit of the current system, on long lived
//       particles
//    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
//    5) These effects do not 'pump' like the older functions do,
//       i.e. its a single, set property, calling it 10 times won't cause
//       10x as many particles, as the old ones did

Deep Notes

Signature

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