--- title: Ваш первый мод для X4 summary: Минимальное расширение: структура папок, content.xml, первый MD-скрипт и проверка результата. section: start kind: guide status: example tags: ["extensions","content.xml","md","начало","первый мод"] sources: ["https://wiki.egosoft.com/X4%20Foundations%20Wiki/Modding%20Support/"] --- ## Что получится Небольшое расширение `hello_x4`, которое пишет сообщение в журнал. Для первого шага достаточно XML и Mission Director. > Это новый учебный пример, а не отдельно пройденная игровая приёмка. Готовые файлы находятся в `wiki/examples/hello_x4`. ## Создайте папки Рабочая структура расширения относительно папки `extensions`: ```text hello_x4/ ├── content.xml └── md/ └── HelloX4.xml ``` Не добавляйте лишний уровень `hello_x4/hello_x4`. Игра должна найти `content.xml` непосредственно в корне расширения. Выберите одну установку и один тестовый профиль; не держите несколько копий расширения с одинаковым ID. ## Опишите расширение Файл `content.xml`: ```xml ``` Замените автора и используйте собственный уникальный `id`. Зависимость здесь соответствует базовой версии 9.00, с которой работает эта вики. Добавляйте сторонние зависимости только тогда, когда действительно используете их API. ## Добавьте игровой код Файл `md/HelloX4.xml`: ```xml ``` `mdscript` и `cue` - имена элементов XML. `HelloX4` и `Hello` - ваши идентификаторы. Кавычки внутри `text` нужны потому, что атрибут содержит MD-выражение со строковым литералом. ## Проверьте запуск 1. Включите расширение в игре и перезапустите X4, если игра этого требует. 2. Используйте тестовое сохранение или новую игру. 3. Включите журнал: [параметры и чтение лога](wiki:debugging). 4. Найдите `Hello, X4!` и проверьте отсутствие ошибок импорта этого MD-файла. Уже выполненный cue сохраняет своё состояние. Загрузка старого сейва не обязана повторять сообщение - это не доказательство, что файл не загрузился. Подробнее: [сохранения и миграции](wiki:md-persistence). ## Следующий шаг Разберите [жизненный цикл cue](wiki:md-cues), затем переходите к [событиям Lua ↔ MD](wiki:md-lua-bridge). Для изменения существующих данных игры начните с [XML diff-патчей](wiki:xml-patches).