Use ray casting to determine the height of the terrain (or any other mesh) and position the character accordingly.
dbIntersectObject(objNumber, x1, y1, z1, x2, y2, z2) will return the distance from (x1, y1, z1) at which the object objNumber intersects with the ray (a line, simply enough) from (x1, y1, z1) to (x2, y2, z2), or 0 if the object doesn't intersect at all.
Therefore you can do something like this to get ground height:
float yPos = 10000.0f - dbIntersectObject(objTerrain, dbObjectPositionX(player), 10000.0f, dbObjectPositionZ(player), dbObjectPositionX(player), -10000.0f, dbObjectPositionZ(player));
dbPositionObject(player, dbObjectPositionX(player), yPos, dbPositionZ(player));
"Why do programmers get Halloween and Christmas mixed up?" Because Oct(31) = Dec(25)