Ok here is a better heightmap.
try running that heightmap with this code.
hide mouse
sync on : sync rate 30
`load image "grass.bmp",1
make terrain 1,"heightmap.bmp"
`texture terrain 1,1
position camera 0,0,0,0
do
rotate camera 0,camera angle x(0)+mousemovey(),camera angle y(0)+mousemovex(),0
if upkey()=1 then move camera 0,1
if downkey()=1 then move camera 0,-1
if leftkey()=1 then yrotate camera 0,camera angle y(0)-90 : move camera 0,1 : yrotate camera 0,camera angle y(0)+90
if rightkey()=1 then yrotate camera 0,camera angle y(0)+90 : move camera 0,1 : yrotate camera 0,camera angle y(0)-90
position camera 0,camera position x(0),get terrain height(1,camera position x(0),camera position z(0))+5,camera position z(0)
sync
loop
use the arrow keys to walk around, and you can see my problem. when you walk around you go under the terrain sometimes. I think this is because when you use the command to get the terrain height I think it returns it's value acording to the heightmap for speed. Instead of getting the actual terrain height. I know that that heightmap is a little bumpy but at least you can see my point. When I use a larger heightmap, even without stretching it, It doesn't give me more sections on the terrain which is what I want. It just makes larger sections.
Read the help file for the "make terrain" command. At the end of the description of the heightmap it says that extra parameters control the size and detail of the terrain. I think this is what I need. I need to give my terrain more vertices, so If anyone knows what these extra parameters are please share it with me.