culmor30,
Your zip didn't get through, but here is the way I did particles in a program I was playing with.
I realize this may not be what you need, but just an example.
1)- I used a smoke emitter and kept the maximum particles at a low value.
2)- The emitter is checked first to see if it exits, and if so it is deleted before creation.
3)- The emitter is ghosted so the texture will be tranparent.
4)- These emitters can be positioned in your code at the location of the shot, and will so move with your shot if you want.
if phy get emitter exist(PlayerTrail+Ammo)=1
phy delete emitter PlayerTrail+Ammo
endif
phy make smoke emitter PlayerTrail+Ammo,10, 0, 0, 0
phy set emitter life span PlayerTrail+Ammo,0.001
phy set emitter size PlayerTrail+Ammo,1.0
phy set emitter max size PLayerTrail+Ammo,2.0
texture object PlayerTrail+Ammo,PlayerTrail_tex
set detail mapping on PlayerTrail+Ammo,PlayerTrail_tex
ghost object on PlayerTrail+Ammo,2
Positioning code:
phy set emitter position PlayerTrail+t,object position x(Me(t).Shot),object position y(Me(t).Shot),object position z(Me(t).Shot)
In my code, a for next loop keeps track of twenty shots and a timer kills the phy shot and emitter. I also kill the shot object if it still exists.
if timer()-Me(t).ShotTime>3000
phy delete rigid body Me(t).Shot
phy delete emitter PlayerTrail+t
if object exist(Me(t).Shot)
delete object Me(t).Shot
endif
endif
Ad Astra Per Asper