Stealth Client Forum

Альтернативный клиент Ultima Online
Текущее время: 22.03.2019 15:13

Часовой пояс: UTC + 2 часа




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: зацикливание и "зависание" NewMoveXY
СообщениеДобавлено: 21.12.2018 19:26 
Не в сети Neophyte
Neophyte

Зарегистрирован: 12.11.2016 15:53
Сообщения: 22
обнаружилась такая проблема: чар (лесоруб) ищет дерево, находит, дерево оказывается за забором чужой базы, забор длинный, чар по команде NewMoveXY(x,y,true,1,true) бежит влево оббегать забор, тайлов через 30 видит что он бесконечный, бежит вправо, видит тоже самое, бежит влево и так зацикливается бегая влево/вправо

решить эту проблему пробовал так:
StepCnt:=GetPathArray(X,Y,true,1,mPathArr);
If (StepCnt>=0) and (StepCnt<20) then ... побежали else - ищем другое дерево

этот способ почемуто не срабатывает и чар бегает влево-вправо бесконечно, может "не видит" забор, может дверь в заборе считает за проход но пройти не может...

и еще одна проблема: чар стоит в 2-3-х тайлах от дерева? выводит мне в журнал: "иду к сл. дереву" - но чар остается стоять на месте, похоже что это - на перепаде высот, но, не уверен, если "руками" сдвинуть чара с "мертвой" клетки то он тут же начинает бежать и прибегает к дереву. т.е. опять же не выдает на движение "fslse" а просто стоит типа пытается шагнуть но безуспешно, зависая на команде NewMove

вопрос - можно както решить эти проблемы зависания и зацикливания без получения массива координа и перехода по каждому тайлу в отдельности? может есть какойто способ ограничить по времени NewMove? к примеру 10 секунд чар не достиг точки назначения значит NewMove прерывается возвращая результат false? может еще есть какойто способ взять под контроль эти зацикливания?


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 22.12.2018 18:41 
Не в сети Developer
Developer

Зарегистрирован: 24.03.2005 17:05
Сообщения: 3827
пиши в скайп или в дискорд, и давай чара со скриптом.
Буду смотреть, что там не так в поиске пути.

_________________
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 22.12.2018 20:41 
Не в сети Neophyte
Neophyte

Зарегистрирован: 12.11.2016 15:53
Сообщения: 22
спасибо, но тут всё не так просто, скрипт может проработать несколько суток без проблем, но потом в один момент я замечаю что чар тупо стоит на месте с надписью в журнале "иду к дереву" - это происходит совершенно непредсказуемо и повторить такое "в лаборатории" специально я не представляю как, проблему со стенами решил запретом проходить сквозь двери, вроде пока со стенками проблем не замечал после этого.

с остановкой на "одном месте" пробую изменять параметр optimized и коэфициент эвристики, вроде в последние сутки пока сбоев небыло

и всётаки вопрос остаётся - можно ли както искусственно прервать выполнение команды NewMove до того как чар достиг точки назначения?


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 23.12.2018 18:48 
Не в сети Developer
Developer

Зарегистрирован: 24.03.2005 17:05
Сообщения: 3827
в следующей версии можно будет. Но опять же, смотря на каком именно месте поиска пути он у тебя зависает.

_________________
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 30.12.2018 16:07 
Не в сети Expert
Expert

Зарегистрирован: 13.12.2012 17:35
Сообщения: 711
вообще же, достаточно обернуть гетПасАррай с степом и коллбеком после каждого степа если он ок.
Я не помню где, но точно такое было.


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 2 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Тюнинг и аксессуары. Тюнинг внедорожников: магазин 4х4 в Одессе. Интернет магазин "AMAX".
Также, на правах рекламы: школьный сайт: school-work.net и еще один: https://www.youtube.com/channel/UCFSPHKHjP22tEl8Rjcst9Fw.


Рейтинг@Mail.ru
Powered by phpBB® Forum Software © phpBB Group