Here is a very simple example from sliding collision that i made
.
rem anti autocam
autocam off
rem make the textures
cls
ink rgb(13,13,13),rgb(1,1,1)
box 5,5,45,45
get image 1111,0,0,50,50
cls
ink rgb(255,0,0),rgb(13,1,1)
box 1,2,8,8
box 10,2,18,8
box 20,2,28,8
box 30,2,38,8
box 40,2,48,8
box 1,12,8,18
box 10,12,18,18
box 20,12,28,18
box 30,12,38,18
box 40,12,48,18
box 1,22,8,28
box 10,22,18,28
box 20,22,28,28
box 30,22,38,28
box 40,22,48,28
box 1,32,8,38
box 10,32,18,38
box 20,32,28,38
box 30,32,38,38
box 40,32,48,38
box 1,42,8,48
box 10,42,18,48
box 20,42,28,48
box 30,42,38,48
box 40,42,48,48
get image 111,0,0,50,50
rem make the objects
make object cylinder 11,50
make object cylinder 5,50
make object cube 111,100
make object box 1111,1000,100,1000
make object box 4,50,100,150
make object cube 1,50
make object cube 12,50
rem texture them
texture object 1111,1111
texture object 4,111
texture object 111,111
texture object 1,111
texture object 12,111
scale object texture 1111,10,10
scale object texture 111,2,2
scale object texture 4,3,2
rem position them
position object 11,0,0,0
position object 1111,0,-50,0
position object 111,75,50,250
position object 1,-50,25,225
position object 12,0,75,225
position object 4,100,50,325
position camera 50,50,-50
rem sync on
sync on
rem make the collision boxes
Make object collision box 1,-25,-25,-25,25,25,25,0
Make object collision box 4,-25,-50,-75,25,50,75,0
Make object collision box 5,-25,-25,-25,25,25,25,0
Make object collision box 12,-25,-25,-25,25,25,25,0
Make object collision box 11,-23,-23,-23,23,23,23,0
Make object collision box 111,-50,-50,-50,50,50,50,0
Make object collision box 1111,-500,-0,-500,500,50,500,0
rem loop
do
rem print the data
set cursor 0,0
print "gravity: ";playergrav#
print "y pos : ";posy#
rem the controls
if upkey()=1 then move object 11,3
if downkey()=1 then move object 11,-1
if leftkey()=1 then r#=wrapvalue(r#-3)
if rightkey()=1 then r#=wrapvalue(r#+3)
if spacekey()=1 and playergrav#=0 then playergrav#=4.0
rem get character positions
posx#=object position x(11)
posy#=object position y(11)
posz#=object position z(11)
rem the jumpings
playergrav#=playergrav#-0.1
posy#=posy#+playergrav#
rem the camera
set camera to follow posx#,posy#,posz#,r#,60,posy#-10,10,10
point camera posx#,posy#,posz#
rem get camera positions
cposx#=camera position x()
cposy#=camera position y()
cposz#=camera position z()
rem the collision
position object 11,posx#,posy#,posz#
position object 5,cposx#,cposy#,cposz#
rem this is the object collision
if object collision(11,0)>0
dec posx#,get object collision x()
dec posy#,get object collision y()
dec posz#,get object collision z()
playergrav#=0.0
endif
rem this is the camera collision
if object collision(5,0)>0
dec cposx#,get object collision x()
dec cposy#,get object collision y()
dec cposz#,get object collision z()
endif
rem update the positions
position object 11,posx#,posy#,posz#
position camera cposx#,cposy#,cposz#
yrotate object 11,r#
rem sync
sync
rem loop
loop
if I = 1 then I = 1 else I = 0