Yeahh....with just Dbpro commands, you can get all collision in your .x level:
set object collision to polygons my_obj
Then you have to prepare your own engine to collide.
Here I show you a piece of code... enjoy !!
rem ********************************************
rem CHAFARI 22 May 2008
rem Tutorial for Papa Stiffy
rem showing sliding collision with some helpers
rem ********************************************
rem creating some texture
ink rgb(0,100,0),0
box 0,0,100,100
ink rgb(0,180,0),1
box 25,25,75,75
get image 1,0,0,100,100,1
autocam off
sync on
rem object player
make object box 1,10,10,10
rem helper objects(four)
for i= 2 to 5
make object box i,10,10,10
color object i,rgb(255,0,0)
next i
rem some more obstacles _to collide with.
for i= 10 to 50
make object box i,200,30,180
position object i,40+rnd(2000),rnd(5),40+rnd(2000)
yrotate object i,rnd(90)
color object i,rgb(rnd(255),rnd(255),rnd(255))
next i
rem adding a floor_
make object box 1000,4000,1,4000:position object 1000,0,-10,0
texture object 1000,1
scale object texture 1000,80,80
do
rem player movements
IF upkey()=1 then x#=NEWXVALUE(x#,gira#,1):z#=NEWZVALUE(z#,gira#,1)
IF downkey()=1 then x#=NEWXVALUE(x#,gira#,-1):z#=NEWZVALUE(z#,gira#,-1)
if leftkey()=1 then gira#=wrapvalue(gira#-1)
if rightkey()=1 then gira#=wrapvalue(gira#+1)
yrotate object 1,gira#
yrotate camera gira#
rem checking collision
if object collision(2,0)>0 then inc x#
if object collision(3,0)>0 then dec x#
if object collision(4,0)>0 then inc z#
if object collision(5,0)>0 then dec z#
rem updating position of player and helpers objects
position object 1,x#,0,z#
position object 2,x#-15,0,z#
position object 3,x#+15,0,z#
position object 4,x#,0,z#-15
position object 5,x#,0,z#+15
rem th person camera view
position camera x#,30,z#
move camera -50:point camera x#,30,z#
set cursor 5,5
print "USE ARROWKEYS TO MOVE"
sync
loop
oh my god