ok i used the search button and i found an example and im just using it for testing right now with collision and the collision is all messed up here is the code it doesnt need media so when you run into the cube you go flying back.
Sync On
Sync Rate 30
Autocam Off
Hide Mouse
rem variables
dy# = 0
Jumping = 0
rem make matrix
Make Matrix 1,10000,10000,20,20
rem make player
Make object cone 1,20 : Color Object 1,rgb(250,150,0)
Position Object 1,750,0,750
set object collision to polygons 1
rem make cube
make object cube 2,30
position object 2,200,15,200
set object collision to polygons 2
`***************************** MAIN LOOP ********************************
Do
rem jumping
If Spacekey()=1 and dy#=0.0
dy#=3.0
Jumping = 1
Endif
rem movement
rem store y angle
ang_y# = Object Angle Y(1)
rem control
If Upkey()=1
posx#_t = Newxvalue(posx#,ang_y#,20)
posz#_t = Newzvalue(posz#,ang_y#,20)
If posx#_t>0 and posx#_t<10000 and posz#_t>0 and posz#_t<10000
Move object 1,10
Endif
Endif
If Leftkey()=1 then Yrotate object 1,Wrapvalue(ang_y#-5)
If Rightkey()=1 then Yrotate object 1,Wrapvalue(ang_y#+5)
rem find player
posx# = Object position x(1)
posz# = Object position z(1)
If Jumping = 0
posy# = Get Ground Height(1,posx#,posz#)+3.0
Endif
rem when jump happens
If Jumping = 1
dy# = dy#-0.1
posy# = posy# + dy#
y_test# = Get Ground Height(1,posx#,posz#)+3.0
If posy# < y_test#
posy# = y_test#
Jumping = 0
dy# = 0.0
Endif
Endif
rem position player
Position object 1,posx#,posy#,posz#
rem place camera
camz# = Newzvalue(posz#,ang_y#-180,100)
camx# = Newxvalue(posx#,ang_y#-180,100)
camy# = Get Ground Height(1,camx#,camz#)
Position camera camx#,camy#+50,camz#
Point camera posx#,posy#+10,posz#
`******TITLE DESCRIPTION*****
Ink rgb(250,150,0),0
Text 10,20,"JUMPING ON A MATRIX"
text 10,95, "FPS = "+str$(screen fps())
Text 480,40,"space bar to jump"
Text 480,60,"up arrow to move"
Text 480,80,"left or right arrow to turn"
If Jumping = 1
Text 10,60,"jump height : "+str$(posy# - y_test#)
Text 10,80,"ground height : "+str$(y_test#)
Endif
If Jumping = 0
Text 10,60,"jump height : 0"
Text 10,80,"ground height : "+str$(posy#)
Endif
If OBJECT COLLISION(1,2)>0: Rem collision detected
Repeat
Move Object 1,0-ang_y#
Until OBJECT COLLISION(1,2)=0
Endif
`*****REFRESH*****
Sync
Loop
`******************END OF LOOP********************************************

Come see the WIP!