Here you go, the completed code:
Sync on
sync rate 0
hide mouse
#include "NGCollision.dba"
Load Image "floor.png",1
TYPE_NGC_ELLIP=1
TYPE_NGC_MESH=2
ELLIP_2_ELLIP=1
ELLIP_2_POLY=2
RESP_STICK=1
RESP_SLIDE=2
RESP_SLIDE_NO_SLOPES=3
RESP_SLIDE_NO_GRAV=4
RESP_NONE=5
DYN_NO_RESP=1
DYN_RESP=2
DYN_RESP_LOCK=3
DYN_RESP_LOCK_NOTURN=4
PLAYER_OBJ = 1
WALL_OBJ = 2
StartCollisionPRO(000000000,000000000,000000000)
StartCollisionDebugPRO()
SetCollisionsPRO( PLAYER_OBJ, WALL_OBJ, ELLIP_2_POLY, RESP_SLIDE, DYN_RESP )
make object sphere 1,7
color object 1, RGB(247,252,44)
make object box 2,8,8, 165
color object 2,rgb(255,0,0)
make object box 3,8,8, 165
color object 3,rgb(255,0,0)
make object box 4,8,8, 155
color object 4,rgb(255,0,0)
yrotate object 4,90
make object box 5,8,8, 155
color object 5,rgb(255,0,0)
yrotate object 5,90
make object box 6,8,8, 145
color object 6,rgb(255,0,0)
make object box 7,8,8, 60
color object 7,rgb(255,0,0)
make object box 8,8,8, 50
color object 8,rgb(255,0,0)
yrotate object 8,90
make object box 9,8,8, 60
color object 9,rgb(255,0,0)
make object box 10,8,8, 50
color object 10,rgb(255,0,0)
yrotate object 10,90
make object box 11,8,8, 67
color object 11,rgb(255,0,0)
yrotate object 11,90
make object box 12,8,8, 67
color object 12,rgb(255,0,0)
yrotate object 12,90
make object box 13,8,8, 67
color object 13,rgb(255,0,0)
yrotate object 13,90
make object box 14,8,8, 67
color object 14,rgb(255,0,0)
yrotate object 14,90
make object box 15,8,8, 67
color object 15,rgb(255,0,0)
yrotate object 15,90
make object box 16,8,8, 67
color object 16,rgb(255,0,0)
yrotate object 16,90
make object box 17,8,8, 60
color object 17,rgb(255,0,0)
make object box 18,8,8, 60
color object 18,rgb(255,0,0)
make object box 19,8,8, 50
color object 19,rgb(255,0,0)
yrotate object 19,90
make object box 20,8,8, 50
color object 20,rgb(255,0,0)
yrotate object 20,90
make object box 21,8,8, 40
color object 21,rgb(255,0,0)
make object box 22,8,8, 40
color object 22,rgb(255,0,0)
make matrix 1, 175, 175, 8, 8
Prepare Matrix texture 1,1,1,1
fill matrix 1,0,1
position object 2, 8, get ground height(1,8,8)-2, 87.5
position object 3, 167, get ground height(1,8,8)-2, 87.5
position object 4, 87, get ground height(1,8,8)-2, 9
position object 5, 87, get ground height(1,8,8)-2, 166
position object 6, 87, get ground height(1,8,8)-2, 95
position object 7, 25, get ground height(1,8,8)-2, 122
position object 8, 48, get ground height(1,8,8)-2, 148
position object 9, 71, get ground height(1,8,8)-2, 122
position object 10, 48, get ground height(1,8,8)-2, 96
position object 11, 41, get ground height(1,8,8)-2, 79
position object 12, 54, get ground height(1,8,8)-2, 63
position object 13, 120, get ground height(1,8,8)-2, 63
position object 14, 133, get ground height(1,8,8)-2, 79
position object 15, 54, get ground height(1,8,8)-2, 26.5
position object 16, 120, get ground height(1,8,8)-2, 26.5
position object 17, 150, get ground height(1,8,8)-2, 122
position object 18, 103, get ground height(1,8,8)-2, 122
position object 19, 125, get ground height(1,8,8)-2, 148
position object 20, 125, get ground height(1,8,8)-2, 96
position object 21, 24.5, get ground height(1,8,8)-2, 45
position object 22, 149.5, get ground height(1,8,8)-2, 45
X# = 79
Z# = 87
PrevX# = 87
PrevZ# = 87
position object 1,X#,get ground height(1, 87, 87),Z#
position camera 87, 150, 87
point camera 87,0,87
rem Sets up player collision
CollisionTypePRO( 1, PLAYER_OBJ )
SetObjRadiusPRO( 1, 3.5, 3.5, 3.5 )
ResetObjPRO( 1 )
rem Sets up wall collision
for wallobj=2 to 22
CollisionTypePRO( wallobj, WALL_OBJ )
ResetObjPRO( wallobj )
next wallobj
rem main loop
do
rem detects escape key
If escapekey()=1 then end
rem Gets input
if Upkey()=1 and Downkey()=0 and Leftkey()=0 and Rightkey()=0
Z# = Z# + 0.6
endif
if Downkey()=1 and Upkey()=0 and Leftkey()=0 and Rightkey()=0
Z# = Z# - 0.6
endif
if Leftkey()=1 and Downkey()=0 and Upkey()=0 and Rightkey()=0
X# = X# - 0.6
endif
if Rightkey()=1 and Downkey()=0 and Leftkey()=0 and Upkey()=0
X# = X# + 0.6
endif
rem positions the object
Position object 1,X#, get ground height(1, X#, Z#), Z#
rem Runs collision
RunCollisionPRO()
rem gets the updated X/Z positions after collision
X# = object position x( 1 )
Z# = object position z( 1 )
rem draws the screen
sync
loop
Make sure it's in the same folder with the NGCollision.dba and NGCollision.dll file. And that's all there is to it.