Это делается очень просто. Объясняю. Для начала присвоим террейну по которому мы хотим ходить мод 2 EntityPickMode terrain, 2 и еще обозначим нашему террейну имя, чтобы мы смогли его отличить от остальных, при пике NameEntity terrain, "terrain". Терь мы сможем находить пики по полигонно. Далее найдем нашу конечную точку пути. Делается так:
If mousehit(1) then ent = CameraPick(camera, Mousex(), Mousey())
Это пишеться в главный цикл, перед командой упдейтВорлд. теперь переменая ent нам возратит пикнутый энити, либо если мы никуда не попали, то 0. Далее будем делать условие: если мы попали куда-либо и если мы попали именно в террейн, то ставим наш указатель( это будет просто объект, к которому мы потом заставим перемещаться персонажа ) в точку пика.
If ent<> 0 then
pickname$ = EntityName(ent)
If pickname$="terrain" then
PositionEntity pointer, PickedX(), pickedY(), pickedz()
Endif
Endif
Вот и почти все. Нам осталось передвинуть нашего перса к пункту его назначения(pointer).
If entityDistance(player, pointer) <=1 then
PointEntity player, pointer
moveentity player, 0, 0, 1
ЗЫ ниручаюсь что все сделал правильно, ибо спать хочеться, и время поджимает, так что ошибки исправте сами