--- title: Как устроено расширение X4 summary: Каталоги и слои обычного расширения: данные, корабли, MD, Lua и локализация. section: start kind: guide status: reference tags: ["архитектура","extensions","md","lua","native"] sources: ["https://wiki.egosoft.com/X4%20Foundations%20Wiki/Modding%20Support/"] --- ## Слои обычного мода Расширение может состоять из данных, игровых скриптов и интерфейса. Для простой правки характеристики достаточно одного XML diff и манифеста. Добавляйте другие слои по задаче. | Каталог / файл | Назначение | | --- | --- | | `content.xml` | Идентификатор, описание, версия и зависимости | | `assets/` | Корабли, оборудование, модели и связанные macro | | `index/` | Регистрация новых ресурсов | | `libraries/` | Товары, рецепты и другие игровые данные | | `md/` | Событийная логика Mission Director | | `aiscripts/` | Поведение AI и его патчи | | `ui.xml`, `ui/` | Подключение и код интерфейса | | `t/` | Тексты и переводы | Это основные рабочие области, а не полный перечень ресурсов X4. ## Выберите маршрут по задаче - Изменить прочность: [патч характеристики](wiki:editing-parameters). - Добавить вариант корабля: [macro → товар → доступность](wiki:adding-ship). - Создать своё окно: [Lua и Helper](wiki:create-ui). - Запустить событие в мире: [Mission Director](wiki:md-cues). - Изменить название или описание: [локализация](wiki:localization). Обычный мод не требует отдельного сервиса, TCP-транспорта или нативной DLL. ## Интерфейс и игровой эффект Lua рисует окно и принимает ввод; MD может выполнять игровую логику. Свяжите их событием и возвращайте в UI фактический результат. Не переносите все изменения мира в обработчик отрисовки. ```text Кнопка интерфейса → событие в MD → проверка объекта и выполнение действия → ответ в Lua → обновление окна ``` ## Следующий шаг Если программирование пока новое, начните с [подробного объяснения работы кода X4](wiki:x4-code-basics) и [операторов с примерами](wiki:x4-language-cheatsheet). [Первое расширение](wiki:first-extension) показывает минимальный манифест. [Зависимости](wiki:compatibility) помогут отделить собственные файлы от ресурсов DLC и других модов.