Русский
Nanobots: Early Bots 3.0
Обновлённая и доработанная (в том числе с помощью ИИ) версия Nanobots: Early Bots 2.0, полностью адаптированная под Factorio 2.0.
Добавлены расширенное логирование, дополнительные проверки стабильности и настройка уровня логов (Off / Standard / Debug).
Локализация и языки
Мод поддерживает несколько языков интерфейса: русский, английский, а также дополнительные локализации:
cs, de, es, es-ES, fr, it, ja, ko, nl, pl, pt-BR, tr, uk, zh-CN, zh-TW.
Логирование можно полностью отключить в настройках игры, если вам не нужны диагностические сообщения.
Логи и уровни отчётности
Off— логирование полностью отключено (режим по умолчанию).Standard— только важные сообщения о модуле и инициализации.Debug— подробная отладка; частые однотипные операции (строительство, засыпка, апгрейды и т.п.) агрегируются в компактные сообщения вида[NANO:AGG]раз в 1–2 секунды вместо сотен строк спама.
Модули и работа наноботов
- Наноботы обрабатывают
item-request-proxyс учётом ограничений Lua API: виден только список "модуль Xв количествеN", без привязки к слотам. - Функция
hasAllModules()сначала проверяет, доступен ли полный набор модулей под текущий чертёж. - Если хватает всех модулей — вставляется полный комплект в корректном порядке.
- Если не хватает хотя бы одного — не вставляется ничего (режим
N4.0 SKIP ALL), а proxy остаётся для обычных дронов или следующего прохода наноботов.
Так исключается частичная установка и порча конфигурации модулей в чертеже.
Функционал, совпадающий с оригиналом
- Строительство, разборка и апгрейд призраков.
- Засыпка под водой (landfill под
tile-ghost/entity-ghost). - Поддержка termite‑подобного геймплея и прочих стандартных механик Nanobots.
Логи: что именно пишется
nlog() (уровень Standard и выше):
- состав модулей в машине;
- каких модулей не хватает (с качеством);
- достаточно ли модулей для полного комплекта;
- сколько и каких модулей вставлено;
- какая сущность обрабатывается;
- итог: модули успешно вставлены / пропуск.
nlog_dbg() (уровень Debug):
- вход/выход из ключевых функций;
- детали нормализации запросов;
- проверки слотов;
- статусы операций;
- состояние proxy/целевой сущности;
- дампы данных через
serpent.line().
Проверки .valid и стабильность
- Во всех ключевых местах мод проверяет
requests.valid,entity.valid,player.valid,player.character.valid,pinv.valid. - Это устраняет типичную ошибку
LuaEntity API call when LuaEntity was invalid, которая возникает, когда сущность уничтожена между постановкой задачи и её обработкой. - Перед любым обращением к сущности всегда проверяется её актуальность, что заметно повышает надёжность.
Исправления по сравнению с оригинальным Nanobots
- Исправлены визуальные эффекты: данные proxy (
surface/force/position) сохраняются до вызоваsatisfy_requests(), поэтому снаряд наноботов всегда появляется на корректной поверхности и в нужной позиции. - Удалён некорректный вызов
satisfy_requests(target, target, player), из‑за которого возникала ошибка"Entity is not a ghost or item request proxy".
English
Nanobots: Early Bots 3.0
Updated and AI‑assisted version of Nanobots: Early Bots 2.0, fully ported and fixed for Factorio 2.0.
Adds extended logging, extra stability checks, and a configurable log level (Off / Standard / Debug).
Localization and languages
The mod supports multiple interface languages: Russian, English, plus additional localizations:
cs, de, es, es-ES, fr, it, ja, ko, nl, pl, pt-BR, tr, uk, zh-CN, zh-TW.
Logs can be completely disabled in the in‑game settings if you do not need diagnostic messages.
Logging and levels
Off— all logging disabled (default).Standard— only important module and initialization messages.Debug— detailed tracing; frequent repeated operations (building, landfill, upgrades, etc.) are aggregated into compact[NANO:AGG]messages every 1–2 seconds instead of hundreds of log lines.
Modules and nanobot behavior
- Nanobots process
item-request-proxyunder the Lua API limitation: only “moduleX, amountN” is visible, with no slot‑level mapping. - The
hasAllModules()helper checks whether the full module set required by the blueprint is available. - If all modules are present, nanobots insert the complete set in the correct blueprint order.
- If anything is missing, they insert nothing (
N4.0 SKIP ALL), leaving the proxy for regular construction bots or the next nanobot pass.
This prevents half‑filled machines and broken blueprint module layouts.
Functionality matching the original mod
- Build, deconstruct, and upgrade ghosts.
- Landfill placement under tile ghosts and entity ghosts over water.
- Support for termite‑style behavior and the rest of the classic Nanobots mechanics.
What gets logged
nlog() (level Standard and above):
- module contents of the machine;
- which modules are missing (with quality);
- whether the full set is available;
- how many of each module were inserted;
- which entity is processed;
- final status: inserted or skipped.
nlog_dbg() (level Debug):
- function enter/exit tracing;
- request normalization details;
- slot checks;
- operation status;
- proxy/target state dumps;
- data dumps via
serpent.line().
.valid checks and stability
- All critical loops verify
requests.valid,entity.valid,player.valid,player.character.valid,pinv.valid. - This avoids the classic
LuaEntity API call when LuaEntity was invaliderror when an entity is destroyed between queuing and executing a task. - The mod always checks
entity.validbefore accessing any entity.
Fixes vs original Nanobots
- Fixed nanobot projectile visuals by storing proxy data (
surface/force/position) before callingsatisfy_requests(), so the projectile always spawns on the correct surface and position. - Removed the invalid call
satisfy_requests(target, target, player)that caused"Entity is not a ghost or item request proxy"errors.