--- title: Добавление нового корабля summary: Путь от варианта существующего корпуса до отдельного корабля: macro, индексы, товар, название и доступность. section: ships kind: guide status: reference tags: ["корабль","новый корабль","ship","macro","ware","вариант"] sources: ["https://wiki.egosoft.com/X4%20Foundations%20Wiki/Modding%20Support/Assets%20Modding/Community%20Guides/Making%20custom%20ships/","https://gist.github.com/MattMcFarland/1282329f83f88f1b98520c5e2ec491a2"] --- ## Выберите тип изменения **Изменить существующий корабль:** достаточно точечного патча его параметров. Новое имя macro и отдельный товар не нужны. Начните с [изменения характеристик](wiki:editing-parameters). **Добавить новый вариант:** сохраните существующую модель, но создайте свой macro и товар с уникальными ID. Оригинальный корабль останется отдельным объектом. **Создать новый корпус:** сначала подготовьте собственную модель и component, затем подключите ту же цепочку игровых данных. Это отдельный [процесс Blender → игра](wiki:ship-models). ## Начните с рабочего аналога Выберите корабль близкого класса и назначения из своей версии игры. Для первого варианта проще использовать штатный component и менять только характеристики. Локально скопируйте исходный macro в рабочий каталог нового расширения. Например, исходный macro Elite Vanguard использует component `ship_arg_s_fighter_02`. Для нового варианта меняется имя macro, а ссылка на существующую модель может сохраниться. > Полный оригинальный macro здесь не распространяется. Его нужно получить из своей установки. Приведённые ниже блоки - фрагменты, а не готовый полноценный корабль. ## Свяжите файлы ```text wiki_ship/ ├── content.xml ├── assets/units/size_s/macros/wiki_scout_macro.xml ├── index/macros.xml ├── libraries/wares.xml └── t/0001-l044.xml ``` 1. В скопированном macro задайте уникальное имя `wiki_scout_macro`. 2. Сохраните нужный component, подключения, физику и свойства аналога. 3. Подключите новый macro через индекс. 4. Добавьте собственный ware и свяжите его с macro. 5. Подключите [свои текстовые ID](wiki:localization). Фрагмент diff для `index/macros.xml`, если этот путь соответствует вашей структуре: ```xml ``` Для `libraries/wares.xml` возьмите запись подходящего корабля из своей версии. Поменяйте её `id`, name/description и ссылку component. Часть записи ware: ```xml ``` Это ссылка товара на **macro**, а не ссылка macro на модель. Не заменяйте обе ссылки одним именем. ## Сделайте корабль доступным Регистрация macro, наличие товара и продажа на верфи - разные шаги. Настройте цену, производство, владельцев/фракционные ограничения и путь получения чертежа по аналогу в установленной версии. Для ассортимента и AI также могут требоваться связанные группы кораблей и настройки фракции. Сначала подтвердите, что корабль вообще создаётся в тестовом сценарии и имеет правильный корпус. Затем отдельно проверяйте чертёж и покупку. Одна запись `owner` не является универсальным доказательством доступности на каждой верфи. ## Приёмка нового варианта - Оригинал и новый вариант имеют разные ID и доступны независимо. - Отображаются правильные имя, описание и класс. - Работают двигатели, щиты, оружие, кокпит и посадочные подключения. - Проверены масса, корпус, грузовой отсек и вместимость экипажа. - У созданного экземпляра сохраняются оснащение и имя после загрузки. См. [macro и component](wiki:ship-macros), [товары и цены](wiki:wares-and-prices), [оснащение](wiki:ship-equipment).