Gr...it should work. They just go it circles:
Function Move_Enemy_Missles
For I = 1 to 25
If ALienmissle#(I,1) = 1
Position object 699+I,Alienmissle#(I,2),Alienmissle#(I,3),-1
Position object 724+I,Alienmissle#(I,2),Alienmissle#(I,3),1
Point object 724+I,object position x(1),object position y(1),1
IF object angle z(724+I) > object angle z(699+I) then ALienmissle#(I,4) = wrapvalue(Alienmissle#(I,4) - 2)
IF object angle z(724+I) < object angle z(699+I) then ALienmissle#(I,4) = wrapvalue(Alienmissle#(I,4) + 2)
zrotate object 699+I,Alienmissle#(I,4)
yrotate object 699+I,90
move object I+699,0.5
yrotate object 699+I,0
zrotate object 699+I,wrapvalue(Alienmissle#(I,4)+180)
ALienmissle#(I,2) = object position x(699+I)
ALienmissle#(I,3) = object position y(699+I)
IF Alienmissle#(I,2) < -40 or Alienmissle#(I,2) > 40 or Alienmissle#(I,3) < -17 or ALienmissle#(I,3) > 17
Alienmissle#(I,1) = 0
endif
Endif
Next I
Endfunction
Alienmissle#(I,1) = If it exists
Alienmissle#(I,2) = x pos
Alienmissle#(I,3) = y pos
Alienmissle#(I,4) = z pos
699+I = missle object
724+I = missle direction object that points at player
There is a background object(a plain) positioned at 0,0,0
The missle direction object is hidden behind it (z=1)
The missle rotate angle is z