Почему мой код не работает.

Function create_missile()
P.phmissile = New phmissile ;создаём ракету
P\life=0
k.strail = New strail ; создаём шлейф
k\life=0
k\mesh=CreateMesh()
EntityFX k\mesh,2+32
k\surf=CreateSurface( k\mesh )
k\life=k\life+1
k\trail.typetrail=New typetrail
k\trail\alpha=1
k\trail\v1=AddVertex (k\surf,EntityX (p\entity,1)+0.1,EntityY (p\entity,1)-0.1,EntityZ (p\entity,1)+0.1)
k\trail\v2=AddVertex (k\surf,EntityX (p\entity,1)+0.1,EntityY (p\entity,1)-0.1,EntityZ (p\entity,1))
P\trail_handle=Handle(k) ;передаём указатель на шлейф
End Function
Function update_missile()
For P.phmissile= Each phmissile
P\Life=P\Life+1
k.strail=Object.strail(P\trail_handle) ;получаем указатель
k\life=k\life+1
k\trail.typetrail=New typetrail ;продолжаем шлейф
k\trail\alpha=1
k\trail\v1=AddVertex (k\surf,EntityX (P\entity,1)-0.1,EntityY (P\entity,1)-0.1,EntityZ (P\entity,1),0,0)
k\trail\v2=AddVertex (k\surf,EntityX (P\entity,1)+0.1,EntityY (P\entity,1)-0.1,EntityZ (P\entity,1),0,0)
AddTriangle k\surf,k\vert,k\vert+2,k\vert+3
AddTriangle k\surf,k\vert,k\vert+3,k\vert+1
AddTriangle k\surf,k\vert,k\vert+3,k\vert+2
AddTriangle k\surf,k\vert,k\vert+1,k\vert+3
k\vert=k\vert+2
; управление ракетой
Local dx#=EntityX(target)-EntityX (P\entity)
Local dy#=EntityY(target)-EntityY (P\entity)
Local dz#=EntityZ(target)-EntityZ (P\entity)
AlignToVector P\entity,dx,dy,dz,0,0.005
MoveEntity p\entity,0,0,0.5
TurnEntity p\entity,0,0,1
Next
End Function
Function update_trail()
For t.strail=Each strail
If t\life>0
t\life=t\life+1
For t\trail.typetrail=Each typetrail
If t\trail\alpha>0
t\trail\alpha=t\trail\alpha-0.001
VertexColor t\surf,t\trail\v1,255,255,255,t\trail\alpha
VertexColor t\surf,t\trail\v2,255,255,255,t\trail\alpha
Else
t\life=t\life-1
Delete t\trail
EndIf
Next
Else
FreeEntity t\mesh
Delete t
EndIf
Next
End Function
Type typetrail
Field v1,v2,alpha#
End Type
Type strail
Field mesh,surf,vert,life
Field trail.typetrail
End Type
Type phmissile
Field trail_handle
Field entity,body
Field target_number%
Field x,y,z
Field life%
Field d_pitch#,d_yaw#
Field snd_ch
Field no_smoke
End Type