37 · 7 replies
Спасибо за снимок! Мы нашли ошибку, которая, скорее всего, и опустошила трюм. Мятежные морские псы — пассажиры движущегося корабля, и их место хранится относительно палубы, а не в обычных координатах мира. Когда тело убитого моряка исчезало, сервер переносил его на «место появления», понимая эти корабельные смещения как координаты мира, — то есть далеко за пределы корабля, где моряк пропадал и больше не появлялся. Пока рядом с кораблём есть игроки, команда не перезагружается, поэтому после первых убийств трюм надолго оставался пустым. Исправили: теперь убитые моряки должны возвращаться на свои места на корабле примерно через две минуты. Эти изменения заработают после ближайшего перезапуска. В игре мы это ещё не проверяли — посмотрите, пожалуйста, есть ли мятежники на нижней палубе сразу после перезапуска, появляются ли они снова после того, как вы их победите, и выпадают ли бочонки с порохом. Если трюм окажется пустым и сразу после перезапуска — напишите, это будет другая причина, и мы продолжим искать.
Спустился в трюм. Морской волк-бунтарь 25026 как крысы через стену убежали куда то вдаль. При этом по мне урон продолжает от них идти
Спасибо за подробное описание, оно очень помогло! Нашли ошибку в том, как сервер двигает существ, которые живут на борту корабля. Пока мятежник стоит на месте, всё в порядке, но как только он бросается в бой, сервер прокладывал ему путь так, будто корабля нет: на сервере бунтарь оставался рядом с вами и продолжал бить, а вашей игре этот путь доставался в другом виде, и она показывала, как он убегает сквозь борт далеко в море. Мы исправили движение обитателей кораблей: теперь путь в бою, возвращение на место, разворот, бегство и отбрасывание считаются от самого корабля, и то, что видите вы, должно совпадать с тем, что происходит на сервере. Заодно поправили то, как такие существа появляются на борту. Это затрагивает и другие корабли и дирижабли с экипажем. Эти изменения заработают после ближайшего перезапуска. В игре мы это ещё не проверяли — спуститесь, пожалуйста, в трюм и посмотрите, бегут ли мятежники к вам по палубе и остаются ли на виду всё время боя.
В бою Морской волк-бунтарь 25026 тепает обратно. Бой сбрасывается. И так циклично, даже если в упор стоять
Спасибо за точное описание — по нему удалось найти причину. Когда мятежник на корабле бросается в бой, сервер должен считать его положение от самого корабля. После прошлой правки путь бунтаря к вам строится правильно, но сервер по ошибке принимал его место на палубе за точку в открытом мире, далеко от корабля. Поэтому сервер тут же возвращал моряка на его место на борту и сбрасывал бой — и так при каждом рывке, даже если стоять вплотную. Теперь положение существ, которые двигаются по кораблю, сервер считает от самого корабля. Эта же ошибка задевала питомцев и других существ на кораблях и дирижаблях, для них исправление тоже действует. Эти изменения заработают после ближайшего перезапуска. В игре мы это ещё не проверяли — спуститесь, пожалуйста, в трюм и посмотрите, остаются ли мятежники в бою, бьют ли вас и можно ли их победить. Если бой снова будет сбрасываться, напишите, пожалуйста, стоял ли в этот момент корабль у причала или плыл.
Работает
Спасибо, что проверили и подтвердили! Ставим «Исправлено» и закрываем тему.
The topic is closed — no new replies are accepted.
