ну, ищешь нужную точку
point=FindChild(Entity,"Name")
далее включаешь "первую фазу" - разворот, нужно посчитать необходимый угол разворота, самый простой (и дурацкий) способ - повернуть игрока к цели, запомнить угол, развернуть назад:
current_angle#=EntityYaw(Player)
PoinEntity(Player,point)
need_angle#=EntityYaw(Player)
RotateEntity(Player,0,current_angle#,0)
Phase=1
посчитали, включили первую фазу, далее уже в основном цикле
If Phase=1
If Int(current_angle#)<>Int(need_angle#) Then
current_angle#=current_angle#+Sign(need_angle#-current_angle#)
RotateEntity(Player,0,current_angle#,0)
Else
Phase=2
EndIf
EndIf
Если углы совпадают - переходим во вторую фазу (переджвижение). С ним все аналогично, но разница в позиции находится функцией EntityDistance(Player,point) - проверяем каждый раз в цикле, двигаем перса.