Впервые здесь? Я Роха — провести быструю экскурсию?
Ошибка соединенияНеверный запросСтраница устарелаСессия истеклаТребуется входЗапрещеноНе найденоСлишком много запросовВнутренняя ошибка сервераПлохой шлюзСервис недоступенТайм-аут шлюзаВерсия HTTP не поддерживается
Сессия истекла
Ваша сессия истекла. Пожалуйста, войдите снова.
Требуется вход
Для этого нужна учётная запись. Войдите или создайте её — это займёт минуту.
Страница устарела
Токен безопасности отклонён — обычно потому, что страница была открыта слишком долго или вы вошли в систему в другом месте. Ничего не сохранено. Обновите страницу и повторите.
Запрос не выполнен
При обработке вашего запроса возникла проблема.
Проверьте подключение к интернету и попробуйте снова.
Вот сокращенный вариант из моей карты, только комп за игроком гонится, поэтому может будет не совсем так выглядеть, как вам хотелось. hero герой компьютера, player_hero соответственно герой игрока. Запускать как поток. Комп пытается допрыгать до игрока в начале хода, плюс если игрок за это время быстро отойдет в сторону, это тоже корректно обработается.
function MainKnightSavedHeroReturnWithPlayerThread()
local hero = quest_main_knight.AttackParam('hero'); local start_date = GetDate(ABSOLUTE_DAY); local move_date = 0; local curr_date; local hx_last, hy_last, hf_last = -1, -1, -1; local hx_curr, hy_curr, hf_curr;
while(1) do if(IsObjectExists(hero)) then
if(IsObjectExists(player_hero)) then hx_curr, hy_curr, hf_curr = GetObjectPosition(player_hero); if((hx_last ~= hx_curr) or (hy_last ~= hy_curr) or (hf_last ~= hf_curr)) then hx_last, hy_last, hf_last = hx_curr, hy_curr, hf_curr; MoveHeroRealTime(hero, hx_curr, hy_curr, hf_curr); end end
-- в начале каждого хода добавляются очки передвижения curr_date = GetDate(ABSOLUTE_DAY); if(move_date ~= curr_date) then move_date = curr_date; ChangeHeroStat(hero, STAT_MOVE_POINTS, 2500); sleep(1); if(IsObjectExists(player_hero)) then hx_curr, hy_curr, hf_curr = GetObjectPosition(player_hero); MoveHeroRealTime(hero, hx_curr, hy_curr, hf_curr); end end