Скачать файл
Категория:
Автор:
Версия:
19.03.2026
Размер:
0.00 MB
Расширение:
ZIP
Добавил:
Еще моды от movin
Установка модификации в Project Zomboid
1. Скачайте и распакуйте архив с модификацей.
2. Скопируйте папку с модом в C:\Users\Имя_Пользователя\Zomboid\mods
3. Запустите Зомбоид и активируйте нужное дополнение в меню.
Мод исправляет ошибку, появившуюся в сборке 42.15, из-за которой прогнозы погоды системы AEBS (Automated Emergency Broadcast System) отображают сырые заполнители формата «%s» вместо фактических значений температуры, влажности и ветра.
- Автоотключение: автоматически переходит в режим пропуска, как только ошибка будет исправлена разработчиками игры. Мод не наносит вреда, если его не отключить, но рекомендуется отписаться после выхода официального патча.
- Все языки: работает с любой локализацией, исправляя экранирование символов в момент отображения без изменения файлов перевода.
- Легковесность: минимальная реализация, переопределяющая единственную функцию игры.
Совместимость:
- Требуется сборка 42.15 и выше.
- Поддерживает одиночную и многопользовательскую игру.
- Не конфликтует с другими модами (переопределяет только функцию getRadioText).
Проверка работы:
В консоли или файле лога должно появиться одно из сообщений:
AEBSWeatherFix: double-escape bug detected, fix active
AEBSWeatherFix: bug not detected, passthrough mode
Техническая информация:
- Причина ошибки: В сборке 42.15 система локализации была переработана, а формат файлов изменён с .txt на .json. В результате Translator.java начал применять процентное экранирование (% → %%) ко всем загружаемым значениям для использования с Java String.format. Однако тексты прогнозов погоды AEBS (категория DynamicRadio) передаются напрямую в Lua через getRadioText() и обрабатываются функцией string.format языка Lua. Поскольку декодирование на стороне Java не применяется, последовательность %%s интерпретируется Lua как literal %s, что приводит к отображению сырых заполнителей.
- Принцип работы: Мод переопределяет getRadioText(), раскодировывая %% обратно в % перед возвратом значения в Lua. При первом вызове используется контрольный ключ (AEBS_temperature) для автоматического обнаружения ошибки двойного экранирования. Если ошибка не обнаружена, используется оригинальная функция.
- Затрагиваемые тексты: AEBS_temperature (температура и влажность), AEBS_wind_0 (направление и скорость ветра), AEBS_weather_warning (предупреждения о суровой погоде), AEBS_weather_0_a / _c (периоды прогноза погоды), AEBS_random_0–3 (случайные передачи AEBS).
- Workshop ID: 3687634406
- Mod ID: AEBSWeatherFix
| Версия Project Zomboid |
|
- Комментарии
Написать комментарий
Нет комментариев. Ваш будет первым!