REM Project: Overhead REM Created: 12.05.2007 13:31:12 REM REM ***** Main Source File ***** REM set display mode 1024,768,32 `======================================================================================================================== `Draw Stuff `======================================================================================================================== `make healt texture ink rgb(225,225,232),rgb(0,0,0) box 0,0,29,29 ink rgb(0,0,0),rgb(0,0,0) line 0,11,29,11 line 0,17,29,17 line 11,0,11,29 line 17,0,17,29 ink rgb(255,0,0),rgb(0,0,0) box 0,12,29,17 : box 12,0,17,29 get image 1,0,0,29,29 cls `make BAR texture ink rgb(100,100,100),rgb(0,0,0) box 0,0,29,29 ink rgb(200,200,200),rgb(0,0,0) line 0,0,29,0 line 0,0,0,29 line 29,29,29,0 line 29,29,0,29 get image 2,0,0,29,29 cls `make player texture ink rgb(0,128,255),rgb(0,0,0) box 0,0,29,29 ink rgb(193,224,255),rgb(0,0,0) box 0,10,29,29 get image 3,0,0,29,29 cls `make enemy texture ink rgb(23,192,28),rgb(0,0,0) box 0,0,29,29 ink rgb(170,224,172),rgb(0,0,0) box 0,10,29,29 get image 4,0,0,29,29 `make floor texture ink rgb(55,168,17),rgb(0,0,0) box 0,0,29,29 ink rgb(51,130,18),rgb(0,0,0) dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : ink rgb(47,120,15),rgb(0,0,0) dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : ink rgb(47,120,20),rgb(0,0,0) dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : ink rgb(47,120,15),rgb(0,0,0) dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : ink rgb(255,242,0),rgb(0,0,0) dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : ink rgb(255,15,0),rgb(0,0,0) dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) get image 5,0,0,29,29 cls ink rgb(0,0,0),rgb(255,255,255) `make enemy attention texture ink rgb(214,16,16),rgb(0,0,0) box 0,0,29,29 ink rgb(247,147,147),rgb(0,0,0) box 0,10,29,29 get image 6,0,0,29,29 cls `make enemy name1 ink rgb(255,255,255),0 print "Stan" get image 7,0,0,35,20 cls `make enemy name1 ink rgb(255,255,255),0 print "Troy" get image 8,0,0,35,20 cls `make wall texture ink rgb(0,128,255),rgb(0,0,0) box 0,0,29,29 ink rgb(9,100,240),rgb(0,0,0) dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : get image 9,0,0,29,29 cls `make enemy name1 box 0,0,50,50,rgb(230,141,151),rgb(29,163,230),rgb(230,141,151),rgb(29,163,230) get image 10,0,0,50,50 cls set text size 36 `make button quit ink rgb(255,255,255),0 print "Quit" dot 70,35 get image 11,0,0,70,40 cls `make button quit ink rgb(255,255,255),0 print "Start" get image 12,0,0,80,35 cls `make button quit ink rgb(255,0,0),0 print "Quit" dot 70,35 get image 13,0,0,70,40 cls `make button quit ink rgb(255,0,0),0 print "Start" get image 14,0,0,80,35 cls `make cursor ink rgb(1,1,1),0 box 0,0,8,8 get image 15,0,0,8,8 cls `make box image ink rgb(172,152,118),rgb(0,0,0) box 0,0,29,29 ink rgb(104,82,60),rgb(0,0,0) line 0,0,29,0 line 0,0,0,29 line 29,29,29,0 line 29,29,0,29 line 6,0,6,29 line 12,0,12,29 line 18,0,18,29 line 24,0,24,29 get image 16,0,0,29,29 cls `make explosion texture ink rgb(243,143,33),rgb(0,0,0) box 0,0,29,29 ink rgb(255,242,0),rgb(0,0,0) dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : ink rgb(250,67,5),rgb(0,0,0) dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : dot rnd(29),rnd(29) : get image 17,0,0,29,29 cls `make crosshair ink rgb(0,0,0),0 box 0,0,29,29 ink rgb(55,0,0),0 box 0,13,10,15 box 18,13,29,15 box 13,0,15,10 box 13,18,15,29 get image 18,0,0,29,29 cls ink rgb(255,255,255),rgb(0,0,0) `======================================================================================================================== `Routine `======================================================================================================================== sync on : sync rate 60 hide mouse sound(9,120) `======================================================================================================================== `MAKE CAMERA ; LENS ; GROUND ; WINDOW ; MENU ; MEDIKITS ; WALLS ; EXPLOSIVE BOXES AND FIRE `======================================================================================================================== `Make Camera make camera 1 set camera range 1,1,1000000 position camera 1,100,125,75 xrotate camera 1,90 color backdrop 1,0 `Make Lens make object plain 55,100,100 color object 55,rgb(255,255,255) set object cull 55,0 position object 55,camera position x(1),camera position y(1),camera position z(1) rotate object 55,camera angle x(1),camera angle y(1),camera angle z(1) move object 55,10 set object light 55,0 set alpha mapping on 55,0 `Make Ground make matrix 1,150,150,15,15 prepare matrix texture 1,5,1,1 `Make Window make matrix 2,150,150,1,1 position matrix 2,148,5,0 prepare matrix texture 2,2,1,1 `Make Menu make matrix 3,200,200,1,1 position matrix 3,0,20,0 prepare matrix texture 3,10,1,1 `Make MediKits for h=30 to 35 make object box h,4,1,3 texture object h,1 position object h,rnd(140)+5,0,rnd(140)+5 next h `Make Walls make object box 100,75,0.1,5 position object 100,20,0,75 make object box 101,75,0.1,5 position object 101,120,0,75 texture object 100,9 : texture object 101,9 make particles 1,9,10,7 position particles 1,60,0,75 color particles 1,0,50,107 make particles 2,9,10,7 position particles 2,80,0,75 color particles 2,0,50,107 `Make Fireboxes and explosions for b=40 to 45 make object box b,5,5,5 texture object b,16 position object b,rnd(140)+5,0,rnd(140)+5 next h make object sphere 50,10 texture object 50,17 position object 50,50000,0,50 set alpha mapping on 50,90 `======================================================================================================================== `Player `======================================================================================================================== `Make Player make object sphere 1,8 texture object 1,3 position object 1,72,0,0 `Make Player Bullet make object box 2,0.5,0.5,100 color object 2,rgb(0,0,255) set alpha mapping on 2,50 `make player particles make particles 5,3,10,7 color particles 5,5,10,255 `make crosshair make object plain 11,10,10 texture object 11,18 set object cull 11,0 set object transparency 11,1 scale object 11,70,70,70 `======================================================================================================================== `Enemy 1 `======================================================================================================================== `Make Enemy 1 make object sphere 3,8 texture object 3,4 position object 3,150,0,150 `Make Enemy 1 Bullet make object box 4,0.5,0.5,80 color object 4,rgb(255,0,0) hide object 4 set alpha mapping on 4,50 `Make Enemy 1 Positioner make object cube 5,3 hide object 5 `Make Enemy 1 Collisioner make object sphere 6,50 hide object 6 `Make Enemy 1 Name make object plain 21,17.5/1.5,10/1.5 texture object 21,7 set object transparency 21,1 `make enemy 1particles make particles 3,4,10,7 color particles 3,255,10,5 `======================================================================================================================== `Enemy 2 `======================================================================================================================== `Make Enemy 2 make object sphere 7,8 texture object 7,4 position object 7,0,0,150 `Make Enemy 2 Bullet make object box 8,0.5,0.5,80 color object 8,rgb(255,0,0) hide object 8 set alpha mapping on 8,50 `Make Enemy 2 Positioner make object cube 9,3 hide object 9 `Make Enemy 2 Collisioner make object sphere 10,50 hide object 10 `Make Enemy 1 Name make object plain 22,17.5/1.5,10/1.5 texture object 22,8 set object transparency 22,1 `make enemy 2particles make particles 4,4,10,7 color particles 4,255,10,5 `======================================================================================================================== `Variables `======================================================================================================================== power=200 ene1pow=200 ene2pow=200 d1=1 d2=1 speed as float speed=0.5 nit as float nit=35 KI=1 a=1 `mode=1 => menu `mode=2 => game Mode=1 l as float l=1 do if Mode=1 sprite 15,mousex(),mousey(),15 position matrix 3,0,20,0 sprite 11,482,400,11 sprite 12,482,350,12 sprite 13,482,400,13 sprite 14,482,350,14 if sprite collision(15,11)=1 then show sprite 13 else hide sprite 13 if sprite collision(15,12)=1 then show sprite 14 else hide sprite 14 if sprite collision(15,11)=1 and mouseclick()=1 then end if sprite collision(15,12)=1 and mouseclick()=1 then Mode=2 endif if Mode=2 `======================================================================================================================== `Others `======================================================================================================================== if keystate(2)=1 then KI=1 if keystate(3)=1 then KI=0 position matrix 3,1000,1000,1000 hide sprite 11 hide sprite 12 hide sprite 13 hide sprite 14 hide sprite 15 `======================================================================================================================== `Camera `======================================================================================================================== ncr#=curvevalue(cr#,ncr#,5) ncf#=curvevalue(cf#,ncf#,5) cx#=cx#+mousemovey()*0.2 cy#=cy#+mousemovex()*0.2 if cx#>80 then cx#=80 if cx#<-80 then cx#=-80 ncx#=curveangle(cx#,ncx#,2) ncy#=curveangle(cy#,ncy#,2) rotate object 1,0,ncy#,0 `======================================================================================================================== `Medi Kits `======================================================================================================================== for h=30 to 35 if object visible(h)=1 if object collision(1,h)=1 then power=power+25 : hide object h endif next h for h=30 to 35 if object visible(h)=1 if object collision(3,h)=1 then ene1pow=ene1pow+25 : hide object h endif next h for h=30 to 35 if object visible(h)=1 if object collision(7,h)=1 then ene2pow=ene2pow+25 : hide object h endif next h for h=30 to 35 if object collision(h,100)=1 or object collision(h,101)=1 then position object h,rnd(140)+5,0,rnd(140)+5 next h `======================================================================================================================== `Player Controls `======================================================================================================================== if object position x(1)<5 then position object 1,5,object position y(1),object position z(1) if object position z(1)<5 then position object 1,object position x(1),object position y(1),5 if object position x(1)>145 then position object 1,145,object position y(1),object position z(1) if object position z(1)>145 then position object 1,object position x(1),object position y(1),145 `collisions if object position z(1)>68 and object position z(1)<75 and object collision(1,100)=1 then position object 1,object position x(1),object position y(1),68 if object position z(1)<82 and object position z(1)>75 and object collision(1,100)=1 then position object 1,object position x(1),object position y(1),82 if object position z(1)>68 and object position z(1)<75 and object collision(1,101)=1 then position object 1,object position x(1),object position y(1),68 if object position z(1)<82 and object position z(1)>75 and object collision(1,101)=1 then position object 1,object position x(1),object position y(1),82 `movement + nitro if upkey()=1 then move object 1,speed if downkey()=1 then move object 1,-speed if leftkey()=1 then move object left 1,speed if rightkey()=1 then move object right 1,speed if shiftkey()=1 and nit>0 then speed=0.7 else speed=0.5 if shiftkey()=1 and nit>0 then dec nit,0.3 if shiftkey()=0 and nit<=35 then inc nit,0.8 if nit<=0 then nit=0 `others rotate object 11,object angle x(1),object angle y(1),object angle z(1) position object 11,object position x(1),2,object position z(1) move object 11,50 xrotate object 11,270 rotate object 2,object angle x(1),object angle y(1),object angle z(1) position object 2,object position x(1),object position y(1),object position z(1) move object 2,50 if object visible(3)=1 if mouseclick()=1 and pene=0 and object collision(2,3)=1 then ene1pow=ene1pow-rnd(10)-20 : pene=50 if object collision(2,3)=1 and mouseclick()=1 then position object 5,object position x(1),object position y(1),object position z(1) endif if object visible(7)=1 if mouseclick()=1 and pene=0 and object collision(2,7)=1 then ene2pow=ene2pow-rnd(10)-20 : pene=50 if object collision(2,7)=1 and mouseclick()=1 then position object 9,object position x(1),object position y(1),object position z(1) endif position particles 5,object position x(1),object position y(1),object position z(1) if pene>30 then show particles 5 else hide particles 5 if pene>40 then show object 2 else hide object 2 if pene>40 and sound playing(9)=0 then play sound 9 `======================================================================================================================== `Enemy Controls 1 `======================================================================================================================== hide object 4 hide object 8 if KI=1 if ene1pow>0 rotate object 4,object angle x(3),object angle y(3),object angle z(3) position object 4,object position x(3),object position y(3),object position z(3) position object 6,object position x(3),object position y(3),object position z(3) move object 4,40 if object position x(3)<5 then position object 3,5,object position y(3),object position z(3) if object position z(3)<5 then position object 3,object position x(3),object position y(3),5 if object position x(3)>145 then position object 3,145,object position y(3),object position z(3) if object position z(3)>145 then position object 3,object position x(3),object position y(3),145 if object position z(3)>68 and object position z(3)<75 and object collision(3,100)=1 then position object 3,object position x(3),object position y(3),68 if object position z(3)<82 and object position z(3)>75 and object collision(3,100)=1 then position object 3,object position x(3),object position y(3),82 if object position z(3)>68 and object position z(3)<75 and object collision(3,101)=1 then position object 3,object position x(3),object position y(3),68 if object position z(3)<82 and object position z(3)>75 and object collision(3,101)=1 then position object 3,object position x(3),object position y(3),82 `======================================================================================================================== `Enemy KI 1 `======================================================================================================================== if object collision(4,1)=0 if da1=0 then position object 5,rnd(140)+5,0,rnd(140)+5 : da1=1 : ent1=200 point object 3,object position x(5),object position y(5),object position z(5) move object 3,0.9/2 if object collision(3,5)=1 then da1=0 if ent1=0 then da1=0 texture object 3,4 endif if object collision(4,1)=1 or object collision(1,6)=1 texture object 3,6 point object 3,object position x(1),object position y(1),object position z(1) if object collision(1,3)=0 then move object 3,0.45 if ene1=0 then power=power-rnd(10)-13 : ene1=50 if sound playing(10)=0 then play sound 10 endif if ene1>35 then show object 4 else hide object 4 if ene1>35 then show particles 4 else hide particles 4 position particles 4,object position x(3),object position y(3),object position z(3) endif `======================================================================================================================== `Enemy Controls 2 `======================================================================================================================== if ene2pow>0 rotate object 8,object angle x(7),object angle y(7),object angle z(7) position object 8,object position x(7),object position y(7),object position z(7) position object 10,object position x(7),object position y(7),object position z(7) move object 8,40 if object position x(7)<5 then position object 7,5,object position y(7),object position z(7) if object position z(7)<5 then position object 7,object position x(7),object position y(7),5 if object position x(7)>145 then position object 7,145,object position y(7),object position z(7) if object position z(7)>145 then position object 7,object position x(7),object position y(7),145 if object position z(7)>68 and object position z(7)<75 and object collision(7,100)=1 then position object 7,object position x(7),object position y(7),68 if object position z(7)<82 and object position z(7)>75 and object collision(7,100)=1 then position object 7,object position x(7),object position y(7),82 if object position z(7)>68 and object position z(7)<75 and object collision(7,101)=1 then position object 7,object position x(7),object position y(7),68 if object position z(7)<82 and object position z(7)>75 and object collision(7,101)=1 then position object 7,object position x(7),object position y(7),82 `======================================================================================================================== `Enemy KI 2 `======================================================================================================================== if object collision(8,1)=0 if da2=0 then position object 9,rnd(140)+5,0,rnd(140)+5 : da2=1 : ent2=200 point object 7,object position x(9),object position y(9),object position z(9) move object 7,0.9/2 if object collision(3,9)=1 then da2=0 if ent2=0 then da2=0 texture object 7,4 endif if object collision(8,1)=1 or object collision(1,10)=1 texture object 7,6 point object 7,object position x(1),object position y(1),object position z(1) if object collision(1,7)=0 then move object 7,0.45 if ene2=0 then power=power-rnd(10)-13 : ene2=50 if sound playing(10)=0 then play sound 10 endif if ene2>35 then show object 8 else hide object 8 if ene2>35 then show particles 3 else hide particles 3 position particles 3,object position x(7),object position y(7),object position z(7) endif if ene2pow<=0 then hide particles 3 if ene1pow<=0 then hide particles 4 if ene2pow<=0 then hide object 7 if ene1pow<=0 then hide object 3 endif `======================================================================================================================== `Position Names `======================================================================================================================== position object 21,object position x(7),10,object position z(7) xrotate object 21,270 if object visible(7)=0 then hide object 21 else show object 21 position object 22,object position x(3),10,object position z(3) xrotate object 22,270 if object visible(3)=0 then hide object 22 else show object 22 `======================================================================================================================== `If Dead `======================================================================================================================== if ene1pow<=0 then ene1pow=0 if ene2pow<=0 then ene2pow=0 if ene1pow<=0 then hide object 3 else show object 3 if ene2pow<=0 then hide object 7 else show object 7 if ene1pow<=0 and d1=1 and object visible(3)=0 then ppunkte=ppunkte+1 : d1=0 if ene2pow<=0 and d2=1 and object visible(7)=0 then ppunkte=ppunkte+1 : d2=0 if power<=0 then epunkte=epunkte+1 for h=30 to 35 if power<=0 or ene1pow<=0 and ene2pow=0 then show object h : position object h,rnd(140)+5,0,rnd(140)+5 next h for b=40 to 45 if power<=0 or ene1pow<=0 and ene2pow=0 then show object b : position object b,rnd(140)+5,0,rnd(140)+5 next b if power<=0 position object 1,72,0,0 position object 3,150,0,150 position object 7,0,0,150 ene1pow=200 ene2pow=200 power=200 d1=1 d2=1 lens=1 : l=1 endif if ene1pow<=0 and ene2pow<=0 position object 1,72,0,0 position object 3,150,0,150 position object 7,0,0,150 ene1pow=200 ene2pow=200 power=200 d1=1 d2=1 lens=1 : l=1 endif if lens=1 inc l,5 set alpha mapping on 55,l if l=>100 then set alpha mapping on 55,0 : lens=0 endif `======================================================================================================================== `Explosive Boxes `======================================================================================================================== for b=40 to 45 if object visible(b)=1 if object collision(1,b)=1 then power=power-15 : hide object b : s=0 : explo=1 : ex=b endif next b for b=40 to 45 if object visible(b)=1 if object collision(3,b)=1 then ene1pow=ene1pow-15 : hide object b : s=0 : explo=1 : ex=b endif next b for b=40 to 45 if object visible(b)=1 if object collision(7,b)=1 then ene2pow=ene2pow-15 : hide object b : s=0 :explo=1 : ex=b endif next b for b=40 to 45 if object collision(b,100)=1 or object collision(b,101)=1 then position object b,rnd(140)+5,0,rnd(140)+5 next b if explo=1 inc s,10 position object 50,object position x(ex),object position y(ex),object position z(ex) scale object 50,s,s,s if s=>200 then scale object 50,0,0,0 : explo=0 endif `======================================================================================================================== `Variables `======================================================================================================================== if ene1>0 then dec ene1 if ent1>0 then dec ent1 if ene2>0 then dec ene2 if ent2>0 then dec ent2 if pene>0 then dec pene `======================================================================================================================== `Text `======================================================================================================================== set text size 18 text 10,768-20,"Controls: Movement - Arrowkeys ; Shift - Sprint ; Left Mouse = Fire ; Mouse = Control Camera" text 850,30,"FPS: "+str$(screen fps()) text 850,150,"Your Points: "+str$(ppunkte) text 850,180,"Enemy Points: "+str$(epunkte) text 850,370,"Troy's Energy: "+str$(ene1pow) text 850,400,"Stan's Energy: "+str$(ene2pow) set text size 32 text 880,600,str$(power)+" %" endif sync loop function sound(soundnumber,length#) outWord as word samples=5984 make memblock 1,samples*2+28 position=0 write memblock dword 1, position, 1 : inc position,4 write memblock dword 1, position, 2 : inc position,4 write memblock dword 1, position, 22050 : inc position,4 write memblock dword 1, position, 88260 : inc position,4 write memblock dword 1, position, 4 : inc position,4 write memblock dword 1, position, 16 : inc position,4 write memblock dword 1, position, 0 : inc position,4 rem generate and write wave for x=1 to samples outInteger=int(sin((x/5.5)*(30+0*sin(0)))*(10900))*4.0 outWord=outInteger write memblock word 1, position, outWord : inc position,2 next x make sound from memblock 9,1 : set sound volume 9,80 clone sound 10,9 : set sound volume 10,80 endfunction