It gives you this function:createParticle(vector Position, vector Velocity, number Lifetime, number Radius, string Type, [number Tracer length=-1, boolean Reverse=false, texture Texture=Nil, object Attached Object=Nil])
Creates a particle. Types are 'Debug', 'Bitmap', 'Fire', 'Smoke', 'Smoke2', and 'Persistent Bitmap'.Reverse reverse animation, if one is specifiedAttached object specifies object that Position will be (and always be) relative to.
Return values: None
So you can create a particle. Uh, my test code was something like this:
scripting.tbl
#Global Hooks
$HUD: [
ts.createParticle(ma.newVector(0, 0, 0), ma.newVector(0, 0, 30), 2000, 5, "Debug")
]
#End
Which will create 1 particle every frame, at position (0, 0, 0) (That being in (x, y, z)), with a velocity of forward at 30 m/s, will last for 2000 seconds, will be 5 meters wide, and the "Debug" type is basically a red dot particle. Texture is used with the two 'bitmap' types, and it seems that the particle will display either an image or an animation. The 'fire' and 'smoke' types just seem to be hardcoded versions of the bitmap functions, that allow them to be batched and then rendered in one big group.
There's also a particle emitter thingy, but all that does is spit out a bunch of randomized particles of the same type, given a bunch of parameters. It would've been such an atrociously large function that I didn't put it in.
Still if you're curious, here's the list of values for the particle emitter. It's used for things like flak:
int num_low; // Lowest number of particles to create
int num_high; // Highest number of particles to create
vec3d pos; // Where the particles emit from
vec3d vel; // Initial velocity of all the particles
float min_life; // How long the particles live
float max_life; // How long the particles live
vec3d normal; // What normal the particle emit arond
float normal_variance; // How close they stick to that normal 0=good, 1=360 degree
float min_vel; // How fast the slowest particle can move
float max_vel; // How fast the fastest particle can move
float min_rad; // Min radius
float max_rad; // Max radius
Mostly the function is there to play around with to see if you can do anything interesting with it, I'm not sure if I want to put stuff like particles and models under the "Graphics" library, or under a separate "3D Graphics" library.
Dunno if that's what you meant, all this is sort of a level above anything else in scripting right now.