Alright, no prob

. Here it is:
rem declare "global" variables
dim View(0)
dim CamRot1#(0)
rem set initial graphics mode and variables
set display mode 640,480,16
autocam off
set mipmap mode 2
hide mouse
sync on
sync rate 0
rem load resources
load image "textures2.bmp",1
load image "sky2.bmp",10
load image "cockpit2.bmp",100
rem set camera values
set camera range 1,64000
rem Create fog and ambience
set ambient light 40
if fog available()=1
rem fog on : fog distance 18000 : fog color rgb(150,150,150)
FogColor=rgb(150,150,150)
fog on : fog distance 24000 : fog color FogColor
endif
rem make scenery
make matrix 1,100000,100000,20,20
prepare matrix texture 1,1,3,3
set matrix tile 1,5,5,4
set matrix tile 1,6,5,5
set matrix tile 1,7,5,6
set matrix tile 1,5,4,7
set matrix tile 1,6,4,8
set matrix tile 1,7,4,9
set matrix texture 1,1,1
update matrix 1
rem Create spherical sky
load object "skysphere.3ds",100
set object collision off 100
scale object 100,60000,60000,60000
set object 100,1,1,1,1,1,1,1
texture object 100,10
rem scale object texture 100,1,2
rem fade object 100,0
rem backdrop off
rem make cockpit
sprite 1,0,0,100
set sprite 1,0,1
rem load player
load object "f-16-h.3ds",1
position object 1,250,10,250
load object "f-16-h-wnd.3ds",2
rem position object 2,250,get ground height(1,250,250),250
ghost object on 2
glue object to limb 2,1,0
hide object 1
view(0)=0
make object sphere 150,0.1
scale object 150,0.1,0.1,0.1
rem Small ground of perimitor trees
load image "tree1.bmp",4
make object plain 52,2,4 : make mesh from object 52,52
add limb 52,1,52 : rotate limb 52,1,0,90,0
make mesh from object 52,52 : delete object 52
make object 52,52,0
range=50000
halfrange=range/2
for t=1 to 100
rx=0+rnd(50000)
rz=0+rnd(50000)
add limb 52,t,52
offset limb 52,t,rx,0,rz
next t
make mesh from object 52,52 : delete object 52 : make object 52,52,4
scale object 52,300,300,300
position object 52,0,6,0
set object 52,1,0,0
position object 1,25000,2,25000
do
rem backdrop on
color backdrop FogColor
set cursor 0,0
print screen fps(),"/32 Max FPS"
set cursor 0,14
print "Cursor keys, A/Z = Speed, X/C = Turning, 1/2/3/4 = Camera views"
playerx#=object position x(1)
playery#=object position y(1)
playerz#=object position z(1)
playerangx#=object angle x(1)
playerangy#=object angle y(1)
playerangz#=object angle z(1)
if leftkey()=1 then fr#=fr#+2
if rightkey()=1 then fr#=fr#-2
if downkey()=1 then fu#=fu#+2
if upkey()=1 then fu#=fu#-2
` hat switch commands
if inkey$()="x" then turn object left 1, 1
if inkey$()="c" then turn object right 1, 1
set cursor 0,26
print "Rot z: ",fr#
set cursor 0,26+(10+4)
print "Rot x: ",fu#
if fr#>0 then fr#=fr#-0.5
if fr#<0 then fr#=fr#+0.5
rem fr2#=curvevalue(fr#,fr2#,10)
if fr#>=8 then fr#=8
if fr#<=-8 then fr#=-8
if fu#>0 then fu#=fu#-0.5
if fu#<0 then fu#=fu#+0.5
if fu#>8 then fu#=8
if fu#<-8 then fu#=-8
roll object left 1,fr#/5
pitch object up 1, fu#/8
if inkey$()="1"
view(0)=0
show sprite 1
hide object 1
endif
if inkey$()="2"
view(0)=1
hide sprite 1
show object 1
endif
if inkey$()="3"
view(0)=2
hide sprite 1
show object 1
endif
if inkey$()="4"
view(0)=3
hide sprite 1
show object 1
endif
if inkey$()="a" then thrust#=thrust#+.25
if thrust#>50 then thrust#=50
if inkey$()="z" then thrust#=thrust#-.5
if thrust#<0 then thrust#=0
speed#=curvevalue(thrust#,speed#,25)
move object 1, speed#
remstart
`stall
if speed#<12 then position object 1, playerx#, playery#-(15-speed#), playerz#
if speed#<7 then position object 1, playerx#, playery#-(9-speed#),playerz#
set cursor 1,1
print "STALL!"
set cursor 50,1
remend
altitude#=playery#
set cursor 0,54
print "Speed: ",speed#
set cursor 0,68
print "Altitude: ",altitude#
if playery#<get ground height(1,playerx#,playerz#)+2
playery#=get ground height(1,playerx#,playerz#)+2
position object 1,playerx#,playery#,playerz#
endif
if view(0)=0
position camera playerx#,playery#,playerz#
set camera to object orientation 1
endif
if view(0)=1
chase_cam(1)
endif
if view(0)=2
chase_cam2(1)
endif
if view(0)=3
chase_cam3(1)
endif
scroll object texture 100,0.0002,0
position object 100,playerx#,0,playerz#
sync
loop
`---------
`chase cam
`---------
function chase_cam(id)
` camera controls
` get drone pos.
pitch object down 1,8
move object 1,-20
position object 150, object position x(1),object position y(1),object position z(1)
move object 1,20
pitch object up 1,8
if object position y(150)<get ground height(1,object position x(150),object position z(150))
position object 150,object position x(150),get ground height(1,object position x(150),object position z(2))+1,object position z(150)
endif
` move camera
position camera object position x(150),object position y(150), object position z(150)
set camera to object orientation 1
endfunction
`---------
`chase cam
`---------
function chase_cam2(id)
CamRot1#(0)=CamRot1#(0)+1
`work out the angle of the object being chased
rem yAng#=curveangle(object angle y(id),yAng#,10)
`grab the objects current position
xPos#=object position x(id)
yPos#=object position y(id)
zPos#=object position z(id)
`other variables
camDist=18
camHeight=2
`work out new position
xCamPos#=newxvalue(xPos#,yAng#,camDist)
zCamPos#=newzvalue(zPos#,yAng#,camDist)
xCamPos#=curvevalue(xCamPos#,object position x(id),8)
yCamPos#=curvevalue(yCamPos#,object position y(id),8)
zCamPos#=curvevalue(zCamPos#,object position z(id),8)
yCamPos#=object position y(id)+camheight
`update camera position
position camera xCamPos#,yCamPos#,zCamPos#
point camera xPos#,yPos#+camheight,zPos#
move camera 0+camDist
point camera xPos#,yPos#,zPos#
endfunction
`---------
`chase cam
`---------
function chase_cam3(id)
CamRot1#(0)=CamRot1#(0)+1
`work out the angle of the object being chased
yAng#=curveangle(wrapvalue(object angle y(id)+CamRot1#(0)),yAng#,10)
`grab the objects current position
xPos#=object position x(id)
yPos#=object position y(id)
zPos#=object position z(id)
`other variables
camDist=18
camHeight=2
`work out new position
xCamPos#=newxvalue(xPos#,yAng#,camDist)
zCamPos#=newzvalue(zPos#,yAng#,camDist)
xCamPos#=curvevalue(xCamPos#,object position x(id),8)
yCamPos#=curvevalue(yCamPos#,object position y(id),8)
zCamPos#=curvevalue(zCamPos#,object position z(id),8)
yCamPos#=object position y(id)+camheight
`update camera position
position camera xCamPos#,yCamPos#,zCamPos#
point camera xPos#,yPos#+camheight,zPos#
move camera 0+camDist
point camera xPos#,yPos#,zPos#
endfunction
::·· Intel Pentium II 300 Mhz, Sound Blaster AWE 32, 5 Gb HD, SiS 8 Mb video card, Windows 98 and 64 Mb RAM ··::