| Hello, please restart aid to a system of particles. by a jump label. I can not find the right way. 
 
 
HidePointer
AppTitle ("Emisor de partículas")
Graphics3D 640,480,16,0
SetBuffer BackBuffer()
.inicio
particula=LoadSprite("particula.png",1)
particula2=LoadSprite("particula2.png",1)
Type emisor 
    ; Emisor
    Field X_Emisor#,Y_Emisor#,Z_Emisor#    ; Posicion del emisor 
    Field RangoX#,RangoY#,RangoZ#          ; Tamaño del emisor    
    ; Particula   
    Field Entidad                          ; Entidad Sprite que forma la particula 
    Field Vida                             ; Vida de la particula una vez emitida
    Field Alfa#                            ; Transparencia de la particula
    Field Angulo_Rotacion#                 ; Angulo de rotacion de cada particula
    Field Xvel#,Yvel#,Zvel#                ; Velocidad inicial de las particulas 
End Type  
For x = 1 To 200
	b.emisor = New emisor 
    If Rand(1,2)=1                         ; Aplicamos dos tipos de sprites
     	b\Entidad =  CopyEntity(particula) 
     Else
     	b\Entidad =  CopyEntity(particula2) 
    EndIf
	b\Alfa# = Rnd(.1,.8) 
	EntityAlpha(b\Entidad,b\Alfa#) 
	EntityBlend b\Entidad,3 
Next  
Camara=CreateCamera()
Luz=CreateLight()
RotateEntity luz,0,0,0
LightColor luz,255,20,30
Emisor=CreateCone()
PositionEntity Emisor,0,-7,15
Plano=CreatePlane()
PositionEntity Plano,0,-8,15
EntityColor Plano,100,30,40
RangoX_Emisor#=0 
RangoY_Emisor#=4  ; Altura que alcanza cada partícula
RangoZ_Emisor#=0
VeloX_Particula#=.05
VeloY_Particula#=.2
VeloZ_Particula#=.05
Vida_Particula=100
Tamano_Particula#=1
Peso_Particula#=.0025
Dir_Viento#=0
Vel_Viento#=0
While Not KeyDown(1)
	
	If KeyDown(17) ;Reboot Particles Error!!!
		ClearWorld 
		Goto inicio
		
	End If 
	
	If KeyDown(205) MoveEntity Emisor,.1,0,0    
   If KeyDown(203) MoveEntity Emisor,-.1,0,0    
   If KeyDown(200) MoveEntity Emisor,0,.1,0    
   If KeyDown(208) MoveEntity Emisor,0,-.1,0    
;   If KeyDown(57) ; Fuente original
;      RangoX_Emisor#=0:RangoY_Emisor#=4:RangoZ_Emisor#=0
;      VeloX_Particula#=.05:VeloY_Particula#=.2:VeloZ_Particula#=.05
;      Vida_Particula=100:Tamano_Particula#=1:Peso_Particula#=.0025:Dir_Viento#=0:Vel_Viento#=0
;   EndIf
;   If KeyDown(2) ; Fuente 2
;      RangoX_Emisor#=0:RangoY_Emisor#=4:RangoZ_Emisor#=0
;      VeloX_Particula#=0:VeloY_Particula#=.5:VeloZ_Particula#=0
;      Vida_Particula=100:Tamano_Particula#=1:Peso_Particula#=.0025:Dir_Viento#=0:Vel_Viento#=0
;   EndIf
;   If KeyDown(3); Fuente 3
;      RangoX_Emisor#=1:RangoY_Emisor#=0:RangoZ_Emisor#=1
;      VeloX_Particula#=.3:VeloY_Particula#=.2:VeloZ_Particula#=.3
;      Vida_Particula=100:Tamano_Particula#=1:Peso_Particula#=.005:Dir_Viento#=0:Vel_Viento#=0
;   EndIf
;
;   If KeyDown(4) ; Fuente 4 particulas
;      RangoX_Emisor#=0:RangoY_Emisor#=0:RangoZ_Emisor#=0
;      VeloX_Particula#=.2:VeloY_Particula#=.01:VeloZ_Particula#=.2
;      Vida_Particula=20:Tamano_Particula#=2:Peso_Particula#=-.005:Dir_Viento#=0:Vel_Viento#=0
;   EndIf
;
;   If KeyDown(5) ; Fuego con viento
;      RangoX_Emisor#=0:RangoY_Emisor#=5:RangoZ_Emisor#=0
;      VeloX_Particula#=0:VeloY_Particula#=.1:VeloZ_Particula#=0
;      Vida_Particula=50:Tamano_Particula#=2:Peso_Particula#=.0001:Dir_Viento#=.005:Vel_Viento#=0
;   EndIf
;   If KeyDown(6) ; Explosion particulas
;      RangoX_Emisor#=0:RangoY_Emisor#=0:RangoZ_Emisor#=0
;      VeloX_Particula#=.3:VeloY_Particula#=.1:VeloZ_Particula#=.3
;      Vida_Particula=300:Tamano_Particula#=2:Peso_Particula#=.002:Dir_Viento#=0:Vel_Viento#=0
;   EndIf
		PosX_Emisor#=EntityX(Emisor): PosY_Emisor#=EntityY(Emisor): PosZ_Emisor#=EntityZ(Emisor)
   emisorparticulas (PosX_Emisor#,PosY_Emisor#,PosZ_Emisor#,RangoX_Emisor#,RangoY_Emisor#,RangoZ_Emisor#,VeloX_Particula#,VeloY_Particula#,VeloZ_Particula#,Vida_Particula,Tamano_Particula#,Peso_Particula#,Dir_Viento#,Vel_Viento#)
   RenderWorld
   Text 0,0,"Cursores para mover el emisor"
   Text 0,15,"Espacio  Emisión Estándar"
   Text 0,30,"1 - 5 Diferentes emisiones"
   Flip
   
Wend
End
Function emisorparticulas (PosX_Emisor#,PosY_Emisor#,PosZ_Emisor#,RangoX_Emisor#,RangoY_Emisor#,RangoZ_Emisor#,VeloX_Particula#,VeloY_Particula#,VeloZ_Particula#,Vida_Particula,Tamano_Particula#,Peso_Particula#,Dir_Viento#,Vel_Viento#)
  For  b.emisor = Each emisor
   If b\Vida<0
      b\X_Emisor#=Rnd(PosX_Emisor,PosX_Emisor+RangoX_Emisor) 
      b\Y_Emisor#=Rnd(PosY_Emisor,PosY_Emisor+RangoY_Emisor) 
      b\Z_Emisor#=Rnd(PosZ_Emisor,PosZ_Emisor+RangoZ_Emisor) 
	b\Xvel#=Rnd(-VeloX_Particula#,VeloX_Particula#) 
      b\Yvel#=VeloY_Particula# 
      b\Zvel#=Rnd(-VeloX_Particula#,VeloZ_Particula#) 
      Escala#=Rnd(.1,Tamano_Particula)
      ScaleSprite  (b\Entidad,Escala#,Escala#)
	b\Vida=Rnd(Vida_Particula-40,Vida_Particula+40) 
	
EndIf
   b\X_Emisor#=b\X_Emisor#+b\Xvel# 
   b\Xvel#=b\Xvel#-Dir_Viento#        ; Resistencia al viento 
   b\Y_Emisor#=b\Y_Emisor#+b\YVel# 
   b\Yvel#=b\Yvel#-Peso_Particula#     ; Gravedad
   b\Z_Emisor#=b\Z_Emisor#+b\Zvel# 
   b\Zvel#=b\Zvel#-Vel_Viento#        ; Aumenta la velocidad por el viento
   b\Vida = b\Vida - 1 
   PositionEntity b\Entidad,b\X_Emisor#,b\Y_Emisor#,b\Z_Emisor# 
   b\Angulo_Rotacion#=b\ Angulo_Rotacion #+4
   If b\ Angulo_Rotacion #>360 b\ Angulo_Rotacion #=1 
   RotateSprite b\Entidad,b\ Angulo_Rotacion # 
    
 Next 
End Function 
 
 |