весь код создания частиц

Type blood_particle
Field x#,y#,z#
Field speed#
Field speed2#
Field life#
Field particle_type
Field particle_copy
End Type
Function Create_blood(x#,y#,z#,col)
For i=1 To col
e.blood_particle=New blood_particle
e\x=x
e\y=y
e\z=z
e\speed=Rnd(.03,.09)
e\speed2=Rnd(.05,.1)
e\life=45
size#=Rnd(.1,.5)
e\particle_type=CreateSprite()
ScaleSprite e\particle_type,size,size
HideEntity e\particle_type
blood_tex=LoadTexture("tex/blood_particle2.png")
TextureFilter "blood_particle2",2
EntityTexture e\particle_type,blood_tex
e\particle_copy=CopyEntity(e\particle_type)
RotateSprite e\particle_copy,Rnd(360)
PositionEntity e\particle_copy,x,y+.8,z
RotateEntity e\particle_copy,Rnd(-180),Rnd(-180),Rnd(-180)
EntityType e\particle_copy,Blood
Next
End Function
Function Update_blood()
For w.blood_particle=Each blood_particle
w\life=w\life-1*framePeriod*.01
MoveEntity w\particle_copy,0,w\speed2*framePeriod*.1,0
w\speed=w\speed-.03*framePeriod*.01
TranslateEntity w\particle_copy,0,w\speed*framePeriod*.08,0
bloodcoll=EntityCollided(w\particle_copy,PlaneC)
If bloodcoll <> 0 w\speed2 = .01
EntityAlpha w\particle_copy,w\life*.1*framePeriod*.02
If w\life < 0 Then
FreeEntity w\particle_copy
Delete w
particle2=0
Else
particle2=1
EndIf
Next
End Function