[icarus_uk]'s fantastical superific drop particle array script. Patent pending.
Just copy and paste that into a sqs text file, all the strange added spaces will make the coloumns line up when wordwrap is deselected in notepad, this will allow for easier editing. Ive added the explanations of each value to the bottom of the script as well for your referance. I think you'll get the best results when you change the size, move velocity, mass and volume values. Although I like to think this creates a nice fire and smoke effect already.
---begin code snippet---
;Fire script by [icarus_uk]
;
http://furryclan.net;call with [objectname]exec "fire.sqs"
_object = _this select 0
_time = 0
#burn
;drop[ShapeName , "", Type , TimerPeriod, LifeTime , Position , MoveVelocity ,RotationVelocity,Weight , Volume ,Rubbing, Size , Color , AnimationPhase , RandomDirectionPeriod , RandomDirectionIntensity , OnTimer , BeforeDestroy , Object ]
drop ["cl_fire" , "", "Billboard", 1 , 0.7 , [ random(0.75)-2.5, random(0.75)-4, random(0.75)-1.5], [random(15), random(15), 30] , 0 , 1.2 , 0.2 , random(0.2), [random(3),random(5),0],[[1,1,1,1],[1,1,1,0]] ,
- , 0 , 0 , "" , "" , _object]
drop ["cl_fire" , "", "Billboard", 1 , 0.7 , [ random(0.75)-2.5, random(0.75)-4, random(0.75)-1.5], [random(10), random(10), 15] , 0 , 1.2 , random(0.2), random(0.2), [random(3),random(5),0],[[1,1,1,1],[1,1,1,0]] ,
- , 0 , 0 , "" , "" , _object]
drop ["cl_fire" , "", "Billboard", 1 , 0.7 , [ random(0.75)-2.5, random(0.75)-4, random(0.75)-1.5], [random(0.2), random(0.2), 0.5] , 0 , 1.2 , random(0.2), random(0.2), [random(3),random(5),0],[[1,1,1,1],[1,1,1,0]] ,
- , 0 , 0 , "" , "" , _object]
drop ["cl_basic", "", "Billboard", 5 ,random(10), [ random(0.75)-2.5, random(0.75)-4, random(0.75)-1.5], [random(1), random(1), random(10)], 0 , 0.75 , 1 , random(1) , [1,random(10)+10] ,[[0,0,0,0.9],[0.4,0.4,0.4,0]] ,
- , 0 , 0 , "" , "" , _object]
_time=_time + 1
?_time >=1000:goto "exit"
goto "burn"
#exit
exit
Drop Global parameters:
ShapeName - Name of the shape associated with the particle.
AnimationName - Name of the animation of the shape.
Type - Type of the particle (either "Billboard" or "SpaceObject").
TimerPeriod - The period of calling the "OnTimer" event (in sec).
LifeTime - Life time of the particle (in sec).
Physical parameters:
Position - Either 3D coordinate (xzy) or name of the selection - in this case the Object property must be set.
MoveVelocity - 3D vector (xyz) which describes the velocity vector of the particle (direction and speed in m/s).
RotationVelocity - Float number which determines number of rotations in one second.
Weight - Weight of the particle (in kg).
Volume - Volume of the particle (in m^3).
Rubbing - Float number without dimension which determines the impact of the density od the enviroment on this particle. 0 - no impact (vacuum).
Render parameters: Note that all these values are set as arrays to show their development in time. F.I. if you set the array [1,2] as a size then at the beginning the size of the particle will be 1 and at the end of the life time of the particle it's size will be 2. The rest od the values during the life time will be lineary interpolated.
Size - Size of the particle in time to render (m).
Color - Color of the particle in time to render (RGBA).
AnimationPhase - Phase of the animation in time.
Random parameters:
RandomDirectionPeriod - Period of changing the velocity vector (s).
RandomDirectionIntensity - Each MoveVelocity component will be changed with random value from interval <0, RandomDirectionIntensity>.
OnTimer - Name of the script to run every period determined by TimerPeriod property. Position of the particle is stored in "this" variable.
BeforeDestroy - Name of the script to run right before destroying the particle. Position of the particle is stored in "this" variable.
Object - Object to bind this particle to.
---end of file---