--- title: Параметры корпуса: пути, типы и результат summary: Где менять имя, прочность, экипаж, трюм и физику; какие поля не являются ценой или скоростью. section: ships kind: guide status: reference updated: 2026-10-27 tags: ["ship","корабль","macro","equipment","X4 9.00"] sources: ["https://wiki.egosoft.com/X4%20Foundations%20Wiki/Modding%20Support/Assets%20Modding/Guides/JPMFlight/","https://wiki.egosoft.com/X4%20Foundations%20Wiki/Modding%20Support/Assets%20Modding/Guides/Tags%20and%20flags/","https://wiki.egosoft.com/X4%20Foundations%20Wiki/Modding%20Support/Anatomy%20of%20an%20extension/XML%20diff%20patching/"] --- ## Как читать таблицы Пути ниже отсчитываются от выбранного элемента macro, а не от корня файла. Например, `properties/hull/@max` находится внутри /macros/macro. Таблицы охватывают основные поля корпуса и связанных ресурсов; это не полный перечень полей всех классов X4. Значения примера сверены с базовыми каталогами 9.00. Отсутствующий атрибут не равен нулю: часть настроек задаётся в `defaults.xml`. По одному XML нельзя доказать итоговое значение после всех расширений и игровых модификаций оборудования. ## Идентификация и классификация | Путь | Тип | Назначение | | --- | --- | --- | | `@name` | Строковый ID | Уникальное имя macro; на него ссылаются индекс и товар | | `@class` | ID класса | Класс определения, например `ship_s`; не название и не просто размер модели | | `component/@ref` | ID component | Описание модели; меняйте только при переходе на другой совместимый component | | `properties/identification/@name` | Текстовая ссылка | Отображаемое имя; например {990001,1} с собственным текстовым ID | | `properties/identification/@description` | Текстовая ссылка | Описание из языкового файла | | `properties/identification/@makerrace` | ID расы | Производитель; это не текущий владелец экземпляра | | `properties/purpose/@primary` | Строковая категория | Основное назначение; само по себе не создаёт AI-приказ | | `properties/ship/@type` | ID типа корабля | Например fighter; это отдельное поле от class | Для собственного варианта согласуйте имя и описание в macro и ware. Изменение одной стороны может дать разные подписи в интерфейсе. Синтаксис текстовых ссылок разобран в [локализации](wiki:localization). ## Прочность, люди и запасы | Путь в macro корпуса | Тип / единицы | Пример `Elite` 9.00 и смысл | | --- | --- | --- | | `properties/hull/@max` | Число, единицы прочности | 1800: максимальная прочность корпуса, не щит | | `properties/people/@capacity` | Целое, люди | 2: вместимость; поле не нанимает людей | | `properties/storage/@missile` | Целое, ракеты | 0: ракетный запас, не товарный трюм | | `properties/storage/@deployable` | Целое, устройства | Запас размещаемых устройств; у примера задаётся через defaults | | `properties/storage/@countermeasure` | Целое, контрмеры | Отдельный запас контрмер; не объём контейнерного груза | Стоимость корпуса хранится в товаре, параметры щита - в оборудовании. Увеличение `hull/@max` не ремонтирует повреждённый экземпляр. Пример полного точечного патча: [прочность `Elite`](wiki:editing-parameters). ## Товарный трюм находится в storage macro В проверенной связке `Elite` `con_storage01` указывает на `storage_arg_s_fighter_02_a_macro`. В нём `properties/cargo/@max` равно 150, а `properties/cargo/@tags` равно container. max задаёт объём в м³; число единиц товара зависит также от его volume. ```xml 300 ``` Путь файла патча: `assets/units/size_s/macros/storage_arg_s_fighter_02_a_macro.xml.` Ожидается объём 300 вместо 150; тип container сохраняется. Это не 300 единиц любого товара. Для условного товара объёмом 2 м³ такой трюм вмещает 150 единиц при отсутствии другого груза. Патч storage затронет все macro, ссылающиеся на этот ресурс. Для трюма только своего варианта создайте отдельный storage macro, зарегистрируйте его и измените ссылку нового корпуса. Другие типы груза нельзя разрешать простым увеличением max. ## Масса и движение | Путь | Тип / пример | На что влияет | | --- | --- | --- | | `properties/physics/@mass` | Положительное число; у `Elite` 3.772 | Масса в данных движка; перевод в килограммы здесь не установлен | | `properties/physics/inertia/@pitch` | Числовой параметр | Инерция вращения по тангажу; yaw и roll задаются отдельно | | `properties/physics/drag/@forward` | Числовой параметр | Сопротивление продольному движению; не прямая скорость в м/с | | `properties/physics/drag/@horizontal` | Числовой параметр | Боковое сопротивление; есть отдельные vertical и угловые оси | | `properties/physics/accfactors/@forward` | Безразмерный множитель | Корректировка продольного ускорения; у `Elite` 1.2 | | `properties/physics/accfactors/@horizontal` | Безразмерный множитель | Корректировка бокового ускорения; у `Elite` 0.8 | | `properties/jerk` | Блок настроек | Плавность изменения ускорения, а не отдельная сила двигателя | | `properties/steeringcurve/point` | Точки кривой | Изменение управляемости в зависимости от режима скорости | Точные параметры двигателя и маневровых двигателей находятся в других macro. Продолжение с типами, единицами и примером: [полёт корабля](wiki:ship-flight). ## Что проверять после изменения Сначала проверьте путь, один выбранный узел и изменённый XML. Затем сравните новый экземпляр в игре: максимум корпуса, людей, трюм и движение при одинаковом оборудовании. Существующее сохранение проверяйте отдельно. Примеры этой статьи не объявляются пройденными игровыми тестами.