|
Post by twasik4 on Apr 23, 2009 16:19:52 GMT -5
okay.. my sub's arnt working help please?
'----------------------------------------------------------
struc loc# dim camx, camy, camz, ang(2) dim onramp, onladder(1), inpit, intunnel, onbox dim collx, colly, collz dim gravity, jveloc, onground, jx dim hitx, hity, hitz dim Health, Sheild, Ammo, Clip, Gun, jumpgravity endstruc
'----------------------------------------------------------
dim loc# loc loc.camx = 0:loc.camy = 3:loc.camz = 0 loc.onground = true loc.inpit=false:loc.onladder(0) = false:loc.onladder(1) = false:loc.onbox = false:loc.onramp = false:loc.intunnel=false loc.gravity = .15:loc.jveloc=(loc.camy*loc.camy)/1.7-(2*loc.jx)+3
dim camx#,camy#,camz#,camang#,camang(1),quit,quit$,texlag,load1,load,jump camx#=0:camy#=3:camz#=0:texlag = .1 quit = false:load = true:jump = false '----------------------------------------------------------
struc ground# dim gx,gy,gz dim gvert#(31)(2) dim gtexture endstruc dim ground# ground ground.gx=0:ground.gy=0:ground.gz=0 ground.gtexture= loadtexture("textures/pavement.jpg") '----------------------------------------------------------
struc pit# dim pitx,pity,pitz dim pvert#(15)(2) dim ptexture endstruc dim pit# pit pit.pitx=-78:pit.pity=-2.5:pit.pitz=98 pit.ptexture=loadtex("textures/00002.jpg") '----------------------------------------------------------
struc pitwall# dim pvert#(31)(2) dim pwtexture endstruc dim pitwall# pitwall pitwall.pwtexture=loadtexture("textures/00003.jpg") '----------------------------------------------------------
struc box# dim boxx,boxy,boxz dim vert#(19)(2) dim btexture dim matrixx,matrixy dim hitx(1),hity,hitz(1) endstruc dim box# box(1),x box(1).btexture = loadmipmaptexture("data/crate.bmp") box(1).boxx = -15:box(1).boxy = 5:box(1).boxz = -5 dim boxposx,boxposy,boxposz BoxPosX = box(1).boxx:BoxPosY=box(1).boxy:BoxPosZ=box(1).boxz box(0).hitx(0)=boxposx-5: box(0).hitx(1)=boxposx+5 box(0).hity=boxposy box(0).hitz(0)=boxposz-5: box(0).hitz(1)=boxposy-5
'----------------------------------------------------------
struc status dim name$ dim hp dim handL$ dim handR$ dim armor$ dim charname$ endstruc
dim name$, charname$, endurance, strength, lvl, weapon$(2) lvl = 1 strength = 20 endurance = 20 weapon$(1)= "None" weapon$(2)= "None" dim status critter(7)
'----------------------------------------------------------
box(0).vert#(0)= vec3(3 ,5,3) box(0).vert#(1)= vec3(-3,5,3) box(0).vert#(2)= vec3(-3,0,3) box(0).vert#(3)= vec3(3 ,0,3)
box(0).vert#(4)= vec3(3,0, 3) box(0).vert#(5)= vec3(3,0,-3) box(0).vert#(6)= vec3(3,5,-3) box(0).vert#(7)= vec3(3,5, 3)
box(0).vert#(8)= vec3(3 ,5,-3) box(0).vert#(9)= vec3( 3,0,-3) box(0).vert#(10)=vec3(-3,0,-3) box(0).vert#(11)=vec3(-3,5,-3)
box(0).vert#(12)=vec3(-3,5,-3) box(0).vert#(13)=vec3(-3,0,-3) box(0).vert#(14)=vec3(-3,0, 3) box(0).vert#(15)=vec3(-3,5, 3)
box(0).vert#(16)=vec3(-3,0,-3) box(0).vert#(17)=vec3( 3,0,-3) box(0).vert#(18)=vec3( 3,0, 3) box(0).vert#(19)=vec3(-3,0, 3)
'----------------------------------------------------------
ground.gvert#(0) = vec3(-150,0,-150) ground.gvert#(1) = vec3(150 ,0,-150) ground.gvert#(2) = vec3(150 ,0,-120) ground.gvert#(3) = vec3(-150,0,-120)
ground.gvert#(4) = vec3( 110,0,-120) ground.gvert#(5) = vec3( 110,0, 90) ground.gvert#(6) = vec3(-150,0, 90) ground.gvert#(7) = vec3(-150,0,-120)
ground.gvert#(8) = vec3(-150,0,120) ground.gvert#(9) = vec3( 150,0,120) ground.gvert#(10)= vec3( 150,0,150) ground.gvert#(11)= vec3(-150,0,150)
ground.gvert#(12)= vec3( 35,0, 90) ground.gvert#(13)= vec3( 35,0,120) ground.gvert#(14)= vec3(150,0,120) ground.gvert#(15)= vec3(150,0, 90)
ground.gvert#(16)= vec3(-80 ,0, 90) ground.gvert#(17)= vec3(-80 ,0,120) ground.gvert#(18)= vec3(-150,0,120) ground.gvert#(19)= vec3(-150,0, 90)
ground.gvert#(20)= vec3(110,0, 90) ground.gvert#(21)= vec3(150,0, 90) ground.gvert#(22)= vec3(150,0,-40) ground.gvert#(23)= vec3(110,0,-40)
ground.gvert#(24)= vec3(-70,0,105) ground.gvert#(25)= vec3(-10,0,105) ground.gvert#(26)= vec3(-10,0, 90) ground.gvert#(27)= vec3(-70,0, 90)
ground.gvert#(28)= vec3(10,0,90) ground.gvert#(29)= vec3(35,0,90) ground.gvert#(30)= vec3(35,0,105) ground.gvert#(31)= vec3(10,0,105)
'----------------------------------------------------------
sub createbox(boxx,boxy,boxz,btexture) glpushmatrix() gltranslatef(boxx,boxy,boxz) glrotatef(180,0,0,1) glenable(gl_texture_2d) glbindtexture(gl_texture_2d,btexture) glbegin(gl_quads)
gltexcoord2f(1,0):glvertex3fv(box(0).vert#(0)) gltexcoord2f(1,1):glvertex3fv(box(0).vert#(1)) gltexcoord2f(0,1):glvertex3fv(box(0).vert#(2)) gltexcoord2f(0,0):glvertex3fv(box(0).vert#(3))
gltexcoord2f(1,0):glvertex3fv(box(0).vert#(4)) gltexcoord2f(1,1):glvertex3fv(box(0).vert#(5)) gltexcoord2f(0,1):glvertex3fv(box(0).vert#(6)) gltexcoord2f(0,0):glvertex3fv(box(0).vert#(7))
gltexcoord2f(1,0):glvertex3fv(box(0).vert#(8)) gltexcoord2f(1,1):glvertex3fv(box(0).vert#(9)) gltexcoord2f(0,1):glvertex3fv(box(0).vert#(10)) gltexcoord2f(0,0):glvertex3fv(box(0).vert#(11))
gltexcoord2f(1,0):glvertex3fv(box(0).vert#(12)) gltexcoord2f(1,1):glvertex3fv(box(0).vert#(13)) gltexcoord2f(0,1):glvertex3fv(box(0).vert#(14)) gltexcoord2f(0,0):glvertex3fv(box(0).vert#(15))
gltexcoord2f(1,0):glvertex3fv(box(0).vert#(16)) gltexcoord2f(1,1):glvertex3fv(box(0).vert#(17)) gltexcoord2f(0,1):glvertex3fv(box(0).vert#(18)) gltexcoord2f(0,0):glvertex3fv(box(0).vert#(19))
glend() glpopmatrix() endsub
'----------------------------------------------------------
sub makeground(gx,gy,gz,gtexture) glpushmatrix() gldisable(gl_cull_face) gltranslatef(gx,gy,gz) glrotatef (0,0,1,0) glbindtexture(gl_texture_2d,gtexture) glbegin (gl_quads) gltexcoord2f(5,0 ) :glvertex3fv(ground.gvert#(0)) gltexcoord2f(5,20) :glvertex3fv(ground.gvert#(1)) gltexcoord2f(0 ,20):glvertex3fv(ground.gvert#(2)) gltexcoord2f(0 ,0 ):glvertex3fv(ground.gvert#(3))
gltexcoord2f(30,0) :glvertex3fv(ground.gvert#(4)) gltexcoord2f(30,30):glvertex3fv(ground.gvert#(5)) gltexcoord2f(0,30) :glvertex3fv(ground.gvert#(6)) gltexcoord2f(0,0) :glvertex3fv(ground.gvert#(7))
gltexcoord2f(2,0) :glvertex3fv(ground.gvert#(8)) gltexcoord2f(2,30):glvertex3fv(ground.gvert#(9)) gltexcoord2f(0,30):glvertex3fv(ground.gvert#(10)) gltexcoord2f(0,0) :glvertex3fv(ground.gvert#(11))
gltexcoord2f(10,0):glvertex3fv(ground.gvert#(12)) gltexcoord2f(10,2):glvertex3fv(ground.gvert#(13)) gltexcoord2f(0,2) :glvertex3fv(ground.gvert#(14)) gltexcoord2f(0,0) :glvertex3fv(ground.gvert#(15))
gltexcoord2f(10,0):glvertex3fv(ground.gvert#(16)) gltexcoord2f(10,2):glvertex3fv(ground.gvert#(17)) gltexcoord2f(0,2) :glvertex3fv(ground.gvert#(18)) gltexcoord2f(0,0) :glvertex3fv(ground.gvert#(19))
gltexcoord2f(10,0):glvertex3fv(ground.gvert#(20)) gltexcoord2f(10,3):glvertex3fv(ground.gvert#(21)) gltexcoord2f(0,3) :glvertex3fv(ground.gvert#(22)) gltexcoord2f(0,0) :glvertex3fv(ground.gvert#(23))
gltexcoord2f(2,0):glvertex3fv(ground.gvert#(24)) gltexcoord2f(2,5):glvertex3fv(ground.gvert#(25)) gltexcoord2f(0,5):glvertex3fv(ground.gvert#(26)) gltexcoord2f(0,0):glvertex3fv(ground.gvert#(27))
gltexcoord2f(2,0):glvertex3fv(ground.gvert#(28)) gltexcoord2f(2,2):glvertex3fv(ground.gvert#(29)) gltexcoord2f(0,2):glvertex3fv(ground.gvert#(30)) gltexcoord2f(0,0):glvertex3fv(ground.gvert#(31)) glend() glenable(gl_cull_face) glpopmatrix() endsub
'----------------------------------------------------------
'initialize OpenGL glEnable (GL_FOG) glFogf (GL_FOG_END, 5 * 10 * 4) glFogf (GL_FOG_MODE, GL_LINEAR) glenable(GL_TEXTURE_2D) glEnable(GL_cull_face) glenable(GL_DEPTH_TEST)
'----------------------------------------------------------
dim map = glgenlists(1) glnewlist(map,gl_compile) glpushmatrix() createbox(box(1).boxx,box(1).boxy,box(1).boxz,box(1).btexture) makeground(ground.gx,ground.gy,ground.gz,ground.gtexture) glpopmatrix() glendlist() glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST) textmode(TEXT_OVERLAID)
'----------------------------------------------------------
load1 = 0 cls print "loading" while load = true load1 = load1 + 1 if load1 >= 10 then drawtext() sleep (10000) load = false goto start:endif wend
'----------------------------------------------------------
start: cls while true glclear(gl_color_buffer_bit or gl_depth_buffer_bit) glloadidentity() glrotatef(camang#,0,0,1) glrotatef(-camang(1),1,0,0) glrotatef(-camang(0),0,1,0) glTranslatef (-camX#, -camY#, -camZ#)
'----------------------------------------------------------
locate 0,0 print "camang(0)=";camang(0) locate 0,1 print "camang(1)=";camang(1) locate 0,2 print "camx=";camx# locate 0,3 print "camy="camy# locate 0,4 print "camz=";camz# glcalllist(map) drawtext() swapbuffers()
'----------------------------------------------------------
gosub mainmenu gosub HUD gosub control gosub collision wend
control:
camang(0)= Camang(0) - (Mouse_XD() * 40)
camang(1)= camang(1) - (Mouse_yd() * 40)
if camang(0)>360 then camang(0)=0:endif
if camang(0)<0 then camang(0)=360:endif
if camang(1)<-90 then camang(1)=-90:endif
if camang(1)>90 then camang(1)=90:endif
if keydown ("w") or keydown ("W") then camX# = camX# - sind (camAng(0)) * .75-texlag camZ# = camZ# - cosd (camAng(0)) * .75-texlag endif
if keydown ("s") or keydown ("S") then camX# = camX# + sind (camAng(0)) * .75+texlag camZ# = camZ# + cosd (camAng(0)) * .75+texlag endif
if keydown ("a") or keydown ("A") then camAng(0) = camAng(0) + .15: endif
if keydown ("d") or keydown ("D") then camAng(0) = camAng(0) - .15: endif
if keydown ("c") or keydown ("C") then camY# = camY# - 1: endif
if scankeydown (VK_SPACE) then camY# = camY# + 1 endif
if inscankey() = vk_f1 then
gosub quit quit = true endif return
collision: loc.hitx = camx#:loc.hity = camy#:loc.hitz = camz#
''''box collision if camx# < boxPosX + 5 and camx# > boxPosX + 4.7 then if camz# < boxPosZ + 5 and camz# > boxPosZ - 5 then camx# = box(0).hitx(1) endif:endif
if camx# > boxPosX - 5 and camx# < boxPosX - 4.7 then if camz# < boxPosZ + 5 and camz# > boxPosZ - 5 then camx#=box(0).hitx(0) endif:endif
if camz# > boxposz - 5 and camz# < boxPosZ - 4.7 then if camx# > boxPosX - 5 and camx# < boxPosX + 5 then camz#=box(0).hitz(0) endif:endif
if camz# < boxposz + 5 and camz# > boxPosZ + 4.7 then if camx# > boxPosX - 5 and camx# < boxPosX + 5 then camz# = box(0).hitz(1) endif:endif
''''''''''''''''' Jumping '''''''''''''''''''' if camY# > 3 then camY# = camY# - .15 endif
if camY# < 3 then camY# = 3 endif
if camY# > 15 then camY# = 13.5 endif '''''''''''''''' End of Jumping '''''''''''''
quit: while quit = true cls input "are you sure you want to quit y/n";quit$ print quit$ if quit$ = "y" then gosub exit else quit = false:endif wend return
exit: printr "" printr "" input "press any button to quit and hit ENTER twice";quit$ if quit$<>"" then:endif
'------------------------------------------------- sub HUD() critter(0).name$ = name$ critter(0).hp = (strength * .2) + (endurance * .3) + (5 * lvl) critter(0).handL$ = Weapon$(1) critter(0).handR$ = Weapon$(2) critter(0).armor$ = "Animal Hide" critter(1).name$="<del>" critter(1)=critter(0) printr critter(1).name$ printr critter(1).hp printr critter(1).handL$ printr critter(1).handR$ printr critter(1).armor$ endsub
sub mainmenu() locate 40, 40 Print "MAIN MENU" locate 40, 39.5 print "---------" locate 40, 40.5 print "New" locate 40, 41.5 print "Load" locate 40, 42.5 print "Options" locate 40, 43.5 print "Exit" endsub
|
|