MasteRмне кажется, что-то не так идет в функции check_loop()
я использовал @SetObjectPosition ..., чтобы сократить излишне большое расстояние для бега и @AddHeroCreatures ..., чтобы восстановить несправедливые потери от автобоя там, где было лень драться полчаса.
Скорее всего, вы перескочили какой-то регион скриптом. Увы, читы зачастую ломают скрипты, потому вместо SetObjectPos рекомендую просто ChangeHeroStat("Egil", STAT_MOVE_POINTS, 3200) и, повесив маркер на нужную клетку, просто постоянно прожимать лошадку (не закрывая консоли). Но всё равно в этом сценарии сильная привязка ко времени, потому лучше не читерить на тему передвижения, да и армию тоже: можно случайного включить(выключить) какой-то блок проверки наличия сущест и т.д.