I'm not an expert at Nexus' particle system, but I understand a fair bit about it. What part do you actually struggle with?
In order to create your particles you usually just create a set of nested blocks of the various types the modding manual mentions. Every particle starts with a PARTICLE-block:
PARTICLE "name"
[parameters]
[other-blocks]
END
Allowed parameters for PARTICLE are "duration" and "position", which define the particle's lifetime and actual position. Often you can leave out the position parameter, since that is being calculated by the game anyway.
[other-blocks] can be one (or more) of the following blocks: FLARE, SEQUENCE or EMITTER. FLARE is just one of several different flare effects, SEQUENCE can be an animated image sequence (like an explosion) or a still image and EMITTER makes the current Particle actually emit other particles.
FLARE and SEQUENCE are pretty self-explanatory looking at the modding manual... each takes some parameters like type, size, color, etc.
EMITTER is more complex:
EMITTER
[projection-parameter]
[frequency-parameter]
[velocity]
EMIT
[particle-description]
END
END
Projection parameters define how this particle emitter actually distributes the created particles. There are three variants, of which you may choose one:
sphere - particles will be distributed randomly inside a sphere with the given radius and fly outwards
cone - particles will shoot out from a cone pointing in the given direction
cylinder - particles shoot out from a cylinder with the given radius and direction, travelling parallel to each other
Frequency parameters control how often particles will be generated. There are again three variantes:
period - particles will be released with this interval in seconds
distanceperiod - if the emitter itself is moving, a particle is released for each distance travelled (useful for smoke trails)
maxcount - the maximum number of particles that'll be emitted; can be combined with period or distanceperiod; has to be given, if neither period nor distanceperiod have been defined
The last parameter, velocity, simply gives the speed of the projected particles.
[particle-description] is a complete PARTICLE-description (without the PARTICLE and END keywords, though). So you can give the duration and position parameters and insert FLARE, SEQUENCE or another EMITTER there.
Defining parameters:
When assigning values to parameters, you have a few choices:
- giving a concrete value (color red):
color <1,0,0>
- giving a random value with giving MIN/MAX:
velocity [100,200]
- making the parameter value change over time using effectors, e.g.:
size 100 {dur 2.0 lerpto 200}
Effectors allow for some neat effects. In this case, the above example increases the size of the FLARE or SEQUENCE from 100 to 200 during the first 2 seconds of the particles lifetime. To learn more about effectors, you should consult the modding manual.
A very simple, but complete particle example to end this overly long post:
PARTICLE "Warp"
duration 4
SEQUENCE
type 40
fps 25
startframe 0
size 0 {dur 1 lerpto 50} {dur 2.5 lerpto 50} {dur .5 lerpto 0}
END
END
This displays the animated warp sequence of my FS2 mod. The particle lives for 4 seconds (duration 4) and displays a single SEQUENCE of my own custom type 40. The animation is played back with a speed of 25 fps, starting at frame 0. It grows in size from 0 to 50 during the first second, stays at size 50 for another 2.5 seconds and shrinks to 0 again during the last half second.