--- title: Macro, component и индексы summary: Какие данные определяют корабль и почему имя файла, macro, component и ware нельзя смешивать. section: ships kind: guide status: reference tags: ["ship","macro","component","index","корабль"] sources: ["https://gist.github.com/MattMcFarland/1282329f83f88f1b98520c5e2ec491a2"] --- ## Четыре уровня | Уровень | Роль | | --- | --- | | Файл macro | Контейнер определения в структуре расширения | | Macro | Игровая конфигурация: класс, свойства, подключения | | Component | Модель и связанные геометрические подключения | | Ware | Товар: цена, производство, доступность и ссылка на macro | К ним добавляются индексы: они связывают зарегистрированные имена с путями ресурсов. Новый XML-файл в произвольной папке не доказывает, что игра умеет разрешать объявленное в нём имя. ## Пример существующей связки Для проверенных локальных файлов X4 9.00: ```text ware: ship_arg_s_fighter_02_a → macro: ship_arg_s_fighter_02_a_macro → component: ship_arg_s_fighter_02 ``` Имена похожи, но выполняют разные функции. Для варианта можно оставить component, создав собственные macro и ware. ## Где искать характеристику В macro Elite свойства корпуса находятся в `properties/hull`, а масса - в `properties/physics`. Грузовая ёмкость связана с отдельным storage macro через подключение. `storage/@missile` в ship macro не является объёмом товарного трюма. Перед патчем проследите ссылку и найдите поле, которое действительно отвечает за нужную характеристику. ## Новые ресурсы Имена новых macro и component делайте уникальными с префиксом своего расширения. Если создаётся собственная модель, проверьте и её регистрацию. Если используется штатная, повторно регистрировать её как новую не нужно. Разбор всей цепочки: [добавление корабля](wiki:adding-ship).