first off, you need to make collision boxes of the RIGHT size for all of your objects. this is probably what you are doing wrong. Here is an algorythm to make the rigth sized static boxes:
for x=1 to 10 `change for how many objects you have
sx#=object size x(x)/2
sy#=object size y(x)/2
sz#=object size z(x)/2
set object collision on x
make object collision box x,-1*sx#,-1*sy#,-1*sz#,sx#,sy#,sz#,0
next x
and collision in the loop:
if object collision(11,0) `change the 11 to your player numb
dec x#,get object collision x()
dec y#,get object collision y()
dec z#,get object collision z()
endif
assuming your objects position are x#,y# and z#
Darken the skies, we are god