The syntax rules are simple.  You don't have to use \'s or ='s to set values or execute instructions, but it keeps otherwise-messy scripts looking clean.
You can't use addition, subtraction, mutliplication, division, modulation, sin, cos, etc. when setting values.  It would take too much time to add them.
So, the symbols #$%^*+-=/ are not useable.

This is a basic instruction in LPS:
     Class\Modifier = Value
That's the basic syntax of a command.  Some commands only require:
     Class = Value
to set a variable.  They are all listed below.

Classes should be treated like virtual Types in BlitzBasic, they have fields that don't really exist, but when accessed they will instruct the interpreter to set their field to a value.
Take this as an example:
     Size\From_X = 50
This would tell the interpreter to set the X value in an Emitter's SizeFrom type to 50.  So, close to all variables changeable by using the normal emitter modification functions are available.

Simple enough, I think.

Tokomak physics cannot be used through the scripting language.

|==================================================|
|= Lotus Particle Scripting Language Command List =|
|==================================================|

True
     When used as an argument to any command, it is interpreted as 1.


False
     When used as an argument to any command, it is interpreted as 0.


Emitter\Open Name$
     This creates a new emitter with Name$ as its name.

Deflector\Open
	This creates a new particle deflector.

Deflector\Close
	This closes the current deflector.


Name$\*
     Open
          This opens an already existing emitter with the name Name$
     Close
          This closes the currently open particle system.  In order to set particle textures, this is required.


Texture\*
     Path = Path$
          Prepares a texture to be loaded from the file Path$.
     Flags = Flags%
          Sets that the to-be-loaded texture should be loaded with.  False by default.


Size\*
     From_X, From_Y, From_Z = N#    [Individual fields, not stringed]
          Sets the SizeFrom fields to the provided values
     To_X, To_Y, To_Z = N#    [Individual fields, not stringed]
          Sets the SizeTo fields to the provided values


Red\*, Green\*, Blue\*, Alpha\*
     From = N%
          Sets the ColorFrom field of the emitter.
     To = N%
          Sets the ColorTo field of the emitter.

     In the case of Alpha, you should use a floating point value between 0 and 1 (though values above and below are allowed).
     
     
Ang\*, Ang_Vel\*, Ang_Accel\*,RandMin\*,RandMax\*
     Pitch, Yaw, Roll = N#
          Sets the angle type fields to the provided values.


Pos\*, Vel\*, Accel\*,Sphere_Radii\*,Sphere_Speed\*,Wave_Radius\*,Wave_Speed\*
     X, Y, Z = N#
          Sets the position type fields to the provided values.  This affects emitters and deflectors.


Box\*
     Min_*,Max_*
          X,Y,Z = N#
               Sets the minimum and maximum values of the emitter's cube-emission area.


Wiggle\*
     Min_*,Max_*,Speed_*
          Pitch,Yaw,Roll = N#
               Sets the provided values for the Wiggle mode.


Cylinder\*
     Top,Bottom,Radius = N#
          Sets the provided values for the emitter's cylindrical-emission area.


Wind\*
     X,Y,Z,Affects = N#
          Sets the GLOBAL wind speed.
          The Affects variable sets whether or not the emitter is affected by windspeed.

          
Collision\*
     Min_Enabled, Max_Enabled = True|False
          Enables or disables the provided Y collision planes.
     Min_Y, Max_Y = N#
          Sets the Min/Max Y positions of the collision planes- enabled or not.


Blend, BlendMode = N%
     Sets the blend mode of the emitter mesh.


FX = N%
     Sets the FX mode of the emitter mesh.


PMesh, Mesh, Particle_Mesh = Path$
     Sets the particle mesh of the emitter to the mesh loaded from Path$.


Life, LifeSpan = N%
     Sets the lifespan of an emitter's particles.
     
     
Wait, WaitSpan = N%
     Sets the distance, in frames, between an emitter's particle emissions.


AutoEmit = True|False
     Enables or disables automatic emissions for the emitter.


Sort = True|False
     Enables or disables an emitter's particle sorting.

     
Cull = True|False
     Enables or disables an emitter's particle culling (hides those not visible).
     
     
Bounce = N#
     Sets the bounce variable of the emitter's particles.  Set to 0 (or False) to disable.
     
     
ViewMode = N%
     Sets the viewmode of an emitter's particles.
     1 for always-facing.
     2 (and any other number besides 1,3, and 4) for oriented (does not try to face the camera).
     3 to face only along the Y axis.
     4 to face only along the X axis.
     

CMode, ChildMode, Child_Mode = N%
     Sets the child-emission mode for the emitter's particles.
     0 to emit the child's particles only on death.
     1 to emit the child's particles only on 'birth', or creation.
     2 to emit the child's particles on both occasions.


Trail = EmitterName$
     Sets the current emitter's trail emitter to the first emitter with EmitterName$
     

Parent = EmitterName$
     Sets the emitter's parent to the first emitter with EmitterName$


Include Path$
	Loads another LPS script.


Delete
     Kills the currently-open emitter.


Rate = ParticlesPerEmission%
     Sets the emitter emission rate.


Weight = Weight#
     Sets the weight of the emitter's particles.


Deflectors = True|False
     Sets whether or not Particle Deflectors affect the emitter.


Angle_Mode = Mode%
     Sets the emitter's angle mode.


Radius = Radius#
     Sets the emitter's spherical-emission radius or the current deflector's radius.


LifeMode = Mode%
	Sets the way in which lifespan for an emitter's particles is handled.  1 for frame-based life, 2 for milliseconds.


Tokamak = True|False
	This only applies to versions of Lotus that use Tokamak.  It sets whether or not Tokamak is used by the emitter (False by default).


TokaMesh = Box|Sphere|Cylinder (Default: Sphere)


Active = True|False
	Sets whether or not the current deflector is active.


Strength = N#
	Sets the strength of the current deflector.
	
     
     
If you have any suggestions, comments, or whatever regarding the addition, removal, or anything else of anything, contact noel_cower@earthlink.net either via e-mail or on MSN Messenger (that address works with MSN Messenger).

