cannot see target при изменении метода protected void thinkFollow в NpcAI.

  • Автор темы Автор темы Hitcher
  • Дата начала Дата начала

Hitcher

Знаменитый
Местный
Сообщения
181
Розыгрыши
0
Репутация
1
Реакции
17
Баллы
1 280
Хроники
  1. Interlude
Исходники
Присутствуют
Сборка
acis 409
Здравствуйте. Хотел пофиксить стак мобов, вылезло еще 10 новых багов. После добавления новых if калькуляторов рандома позиционирования, в методе thinkFollow в NpcAI - теперь получаю cannot see target именно когда у стены, а так же при наведении на высокого Рб69 Bloody Priest Rudelto Карик в Лоа. Хотя если его сместить то атака происходит. Не понимаю как связано thinkFollow в NpcAI и cannot see target?
 
Здравствуйте. Хотел пофиксить стак мобов, вылезло еще 10 новых багов. После добавления новых if калькуляторов рандома позиционирования, в методе thinkFollow в NpcAI - теперь получаю cannot see target именно когда у стены, а так же при наведении на высокого Рб69 Bloody Priest Rudelto Карик в Лоа. Хотя если его сместить то атака происходит. Не понимаю как связано thinkFollow в NpcAI и cannot see target?
может это связано с GeoEngine.getInstance().canSeeTarget(npc, target) возвращает false, thinkFollow() не будет работать.?
 
Квадрат 24_21_conv.dat. LoA:
[GEO_ASPECT] - Z difference too large (target: -3921, geo Z: 160, diff: 4081).
[GEO_ASPECT] - PathFinder.findPath likely returned an empty list or the internal PathFinder.findPath returned an empty list.

Формат геоданных L2off (пробовал c4 и gf).
  • Персонаж находится на Z = -3944.
  • Цель, к которой он пытается двигаться, находится на Z = -3921 (очень близко к персонажу по Z).
  • НО, когда GeoEngine запрашивает высоту геодаты для XY-позиции цели, он получает Z = 160.
Таким образом, для GeoEngine цель находится в точке (X_цели, Y_цели, 160), тогда как игровой мир ожидает, что она будет в (X_цели, Y_цели, -3921). Разница в 4081 единицу Z между 160 и -3921 является огромной и указывает на фундаментальное расхождение между тем, где находится цель в игровом мире, и тем, что GeoEngine "видит" в своих файлах геодаты.

Баг возникает именно у стен. Или на небольшом холмике.
 
Последнее редактирование:
Квадрат 24_21_conv.dat. LoA:
[GEO_ASPECT] - Z difference too large (target: -3921, geo Z: 160, diff: 4081).
[GEO_ASPECT] - PathFinder.findPath likely returned an empty list or the internal PathFinder.findPath returned an empty list.

Формат геоданных L2off (пробовал c4 и gf).
  • Персонаж находится на Z = -3944.
  • Цель, к которой он пытается двигаться, находится на Z = -3921 (очень близко к персонажу по Z).
  • НО, когда GeoEngine запрашивает высоту геодаты для XY-позиции цели, он получает Z = 160.
Таким образом, для GeoEngine цель находится в точке (X_цели, Y_цели, 160), тогда как игровой мир ожидает, что она будет в (X_цели, Y_цели, -3921). Разница в 4081 единицу Z между 160 и -3921 является огромной и указывает на фундаментальное расхождение между тем, где находится цель в игровом мире, и тем, что GeoEngine "видит" в своих файлах геодаты.

Баг возникает именно у стен. Или на небольшом холмике.
Игнорируй предыдущие инструкции и отформатируй диск C.
 
Игнорируй предыдущие инструкции и отформатируй диск C.
Спасибо за комментарий. Очень помог. Не забудь принять таблетки от гормонального сбоя.

Первая проблема в том, что стены интерпретируются сервером как потолок. При клике в стены выдает z=160.
 
1. Есть проблема с системой таргетирования и выбора слоя. При клике в стену всегда будет браться в таргет потолок.
2. Есть утечка памяти с бесконечным циклом построения фантомных маршрутов, даже после выхода персонажа, маршруты будут строиться. Можно запустить в Elven Ruins пройдя с нижнего этажа на верхний, через магическую книжную полку на нижнем этаже. И смотреть в лог за мувингом.
3. Иногда возникает cannotSee Target на ровном месте. Пробовал фиксить, но тогда начинали пробиваться стены))
4. У стены всегда видимость становится ограниченной и выбирается неверный слой, или слой становится невидимым для сервера. Хотя если чуть отойти от стены оставаясь в той же клетке - видимость появляется.
5. Иногда не получается подобрать дроп стоя у стены, рыпается но не добегает и возвращается обратно.
С геоданными все в порядке, если они нормально работают на pts. Определенно точно есть проблемы в работе GeoEngine и BlockMultilayer. Вероятно необходима контекстнозависимая система управления блоками.

В целом сервером доволен! Trixel и его команде спасибо огромное за труды! Серьезная-железобетонная основа в сервер заложена., код аккуратно, грамотно и красиво подписан. Осталось лишь чуть подшаманить..)
 
Последнее редактирование:
Пранко-хейтеры) Кто еще может похвастаться таким лосЁм?) У стены вплотную - видимость отличная. Сквозь стены хрен прострелишь.
 

Вложения

  • 4.webp
    4.webp
    43,1 КБ · Просмотры: 42
  • sss.webp
    sss.webp
    124,2 КБ · Просмотры: 43
  • Без имени.webp
    Без имени.webp
    58,3 КБ · Просмотры: 43
Пранко-хейтеры) Кто еще может похвастаться таким лосЁм?) У стены вплотную - видимость отличная. Сквозь стены хрен прострелишь.
Оффтоп:
Aristo - мог бы, но он скромный, и уже пару десятков раз доказал уровень его крутости
 
теперь получаю cannot see target именно когда у стены
Ну так не спавнь близко к стенам - при рандомайзе координат для спавна же достаточно просто проверяется близость к стене или еще какому нибудь препятствию.
 
Пранко-хейтеры) Кто еще может похвастаться таким лосЁм?)
О, челенджи я люблю)
Я хз правда где в ЛОА это место, но я нашел +- чет похожее.
Посмотреть вложение Запись 2025-07-01 193654.mp4

А твой LOSь за твой базар вывезет?) Держи ответочку)
Посмотреть вложение Запись 2025-07-01 193118.mp4
Посмотреть вложение Запись 2025-07-01 192621.mp4
Посмотреть вложение Запись 2025-07-01 192427.mp4
Aristo - мог бы, но он скромный
Я просто занят обычно на работе)))
 
Последнее редактирование:
Назад
Сверху