Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Стрелы не дропаются автоматически спустя полторы минуты #1938

Open
filkar2005 opened this issue Jan 11, 2025 · 3 comments
Labels
bug Для задач: ошибка, которую необходимо исправить confirmed

Comments

@filkar2005
Copy link

filkar2005 commented Jan 11, 2025

  1. Берем лук
  2. Стреляем издалека, так чтоб стрела улетела далеко и стала ничейной из-за бага
  3. Стрела навечно застряла в стене

П. С. Конкретно баг возник при стрельбе с крыши моего Ортханка (поле палантинов - клан палантиров Saruman_ - Ортханк) в входные ворота, стрелы попали рядом с мостиком через ров, затем я почти сразу вышел из игры. По возвращении стрелы уже были забаговавшимися - для сравнения был выполнен выстрел рядом, все новые стрелы выпали спустя некоторое время, в то время как старые остались

@filkar2005 filkar2005 added bug Для задач: ошибка, которую необходимо исправить unconfirmed labels Jan 11, 2025
@blanka-kato
Copy link

На полигоне
Лук mallorn_wood_bow
Стрелы steel_arrow

Стрельба в стену:

  • Дистанция до стены: 105 блоков

  • Дистанция обзора: 20 блоков, если влияет

  • После выстрела стрела побывала вне активной зоны и стала ничейной, т.к. я не смог её сразу вытащить из стены.

  • Спустя 1:30 минуты стрела выпала виде предмета, как и ожидалось.

Стрельба в землю:

  • С максимальным натяжением стреляем вверх и тут же выходим из игры.
  • Стрела окажется в неактивной зоне.
  • Заходим в игру.
  • Стрела завершает полёт и падает рядом с игроком, как "ничейная".
  • Через 1:30 стрела выпадает в виде предмета, как и ожидалось.

На полигоне ошибку подтвердить не могу.
Прошу дополнить описание ошибки.

@Petus228666 Petus228666 added the can't reproduce Не получается воспроизвести указанное поведение label Jan 12, 2025
@blanka-kato
Copy link

blanka-kato commented Jan 12, 2025

На данный момент баг проявляется исключительно на боевом сервере и в разных ситуациях

Территория Ортханк Saruman

  • Выстрел с крыши Ортханка в сторону ворот с мостом даёт большую вероятность забаговать стрелу.
  • Входе перестрелки Van и Saruman часть стрел забаговалась в активной зоне.
  • При выстреле строго вверх стрелы замирали на высоте и не возвращались. После того, как Saruman поднялся на эту же высоту, глянуть зависшие стрелы - последующие выстрелы вверх возле Saruman стрелы не баговали.

Иные упоминания

  • Alges отметил, что на окраине Эстеля часть стрел у мобов-эльфов застревала в земле и не дропалась.
  • Swed указал так же, что часть стрел эльфов не дропается. Есть скрин

Итоги

@VanicGame

На боевом повторяется из раза в раз;
На полигоне нет;
На локальном мастере нет, при том что на p5, что p3, что p2;

Предположение о причине отсутствия дропа стрел:

похоже по какому-то магическому стечению обстоятельств стрела не запускает таймер своей жизни

Полная версия отчёта


По ходу расследования @VanicGame подметил, что боевой сервер dev не совпадает с master: на момент проверки бага версия dev 2024.12.p3, у master 2024.12.p5
ссыль раз
ссыль два.
Влияние на причину бага, не известно

Так же @alek13 предложил пересобрать Minetest штатными средствами. Ссыль
Влияние на причину бага, не известно

@VanicGame VanicGame removed the can't reproduce Не получается воспроизвести указанное поведение label Jan 13, 2025
@VanicGame
Copy link
Contributor

VanicGame commented Jan 13, 2025

Получилось случайным образом воспроизвести баг локально на master 2024.12.p3. Повторил ещё три раза, после чего таймер вновь стал работать штатно.

Загрузил конфиг прода и попробовал с ним -- каждая вторая стрела баговалась. Доподлино неизвестно что имеено вызывает баг, но причина (покрайней мере одна из нескольких возможных) ясна -- таймер стрелы просто не запускается.

Скриншот (в чат логируется состояние таймера)
screenshot_20250113_132124

Важно отметить: выгрузка и загрузка стрелы абсолютной причиной не является, баговаться могут стрелы и без выгрузки (но скорее всего стрелы ушедшие за горизонт не запускают таймер именно по причине попадания в неактивную область)

Для решения предлагаю лаконичный и 100% вариант:

  • Активировать таймер на стрелах с самого начала. В данный момент стрела не запускает таймер пока летит. Триггером запуска является стокновение с каким либо блоком. Но не всегда это стокновение триггерит запуск таймера (грешу на приколы физики МТ), поэтому пусть стрела всегда имеет запущенный таймер пусть не в 90 секунд, а больше. Если говорить словами кода -- убрать projectile._timer_is_started вообще.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Для задач: ошибка, которую необходимо исправить confirmed
Projects
None yet
Development

No branches or pull requests

4 participants