Как добавить автомобили дополнений (addon) на FiveM сервер: файлы stream и data
Добавьте автомобили дополнений на FiveM пошагово: папка stream, vehicles.meta, carvariations.meta, carcols.meta, handling.meta, строки data_file в fxmanifest, различие между addon и replace.
У вас есть пак автомобилей, который вы хотите добавить на сервер, и папка содержит файлы такие как .yft, .ytd и несколько файлов .meta. Это руководство объясняет, где каждый файл находится, что нужно в fxmanifest.lua и как спавнить автомобиль, с объяснением различия между автомобилями дополнений и заменяемыми.
Что содержит пак автомобилей дополнений
Автомобиль состоит из двух видов файлов:
- Файлы модели и текстур, которые находятся в папке
stream:mycar.yft(модель),mycar_hi.yft(высокодетальная модель),mycar.ytd(текстуры) и иногда файлы.ydrили.ytyp. - Файлы данных, которые находятся в папке
data:vehicles.meta,carvariations.meta,carcols.metaиhandling.meta, и иногдаvehiclelayouts.meta.
Первый набор — это как выглядит автомобиль, второй набор — это что он есть: его имя, цвета, обработка и места.
Структура папок
Создайте один ресурс для автомобиля или один для всего пака:
resources/[cars]/mycar/
fxmanifest.lua
stream/
mycar.yft
mycar_hi.yft
mycar.ytd
data/
vehicles.meta
carvariations.meta
carcols.meta
handling.metaФайлы в stream отправляются игрокам автоматически. Вам не нужно их перечислять в манифесте. Файлы в data не потоков, и манифест должен их объявить.
fxmanifest.lua
fx_version 'cerulean'
game 'gta5'
files {
'data/vehicles.meta',
'data/carvariations.meta',
'data/carcols.meta',
'data/handling.meta',
}
data_file 'HANDLING_FILE' 'data/handling.meta'
data_file 'VEHICLE_METADATA_FILE' 'data/vehicles.meta'
data_file 'CARCOLS_FILE' 'data/carcols.meta'
data_file 'VEHICLE_VARIATION_FILE' 'data/carvariations.meta'Блок files {} делает файлы доступными для игрового клиента. Каждая строка data_file сообщает игре, какой тип файла. Два правила важны:
- Каждому файлу нужно оба: одна запись в
filesи одна строкаdata_fileс правильным типом. - Пак с множеством автомобилей часто имеет папку
dataдля каждого автомобиля. Вы можете использовать паттерн типа'data/**/*.meta'вfiles {}, но строкиdata_fileдля этих файлов все равно должны быть написаны, по одной на тип, и строки типа принимают то же паттерн.
files { 'data/**/*.meta' }
data_file 'HANDLING_FILE' 'data/**/handling.meta'
data_file 'VEHICLE_METADATA_FILE' 'data/**/vehicles.meta'
data_file 'CARCOLS_FILE' 'data/**/carcols.meta'
data_file 'VEHICLE_VARIATION_FILE' 'data/**/carvariations.meta'Если пак также имеет vehiclelayouts.meta, объявите его тоже, с data_file 'VEHICLE_LAYOUTS_FILE' 'data/vehiclelayouts.meta'.
Запустите и спавните его
В server.cfg добавьте ресурс:
ensure mycarИмя папки ресурса и имя ensure должны совпадать. Если вы используете папку с скобками, такую как [cars], ensure [cars] запускает всё внутри неё.
Имя для спавна — это modelName в vehicles.meta:
<Item>
<modelName>mycar</modelName>
<txdName>mycar</txdName>
<handlingId>MYCAR</handlingId>
...
</Item>Здесь вы спавните его как mycar. В скрипте:
local model = joaat('mycar')
lib.requestModel(model)
local veh = CreateVehicle(model, coords.x, coords.y, coords.z, heading, true, false)lib.requestModel из ox_lib. Без неё вызовите RequestModel(model) и ждите, пока HasModelLoaded(model) не вернёт true. Большинство меню администратора и меню txAdmin спавнят автомобиль по тому же имени.
Совет:
modelName, имена файлов.yft/.ytdиtxdNameдолжны совпадать. Несовпадение — первое, что проверить, когда автомобиль не появляется.
Автомобили дополнений против заменяемых автомобилей
Автомобиль дополнения имеет новое имя, которое базовая игра не использует, например mycar. Ему нужны файлы данных, описанные выше, и добавляет автомобиль в список. И ваш новый автомобиль, и оригинальные автомобили существуют. Это правильный выбор для почти всех автомобилей в наши дни.
Заменяемый автомобиль использует имена файлов автомобиля из базовой игры, такие как sultan.yft, и помещает их в папку stream. FiveM затем загружает ваш вместо оригинального, везде где этот автомобиль появляется, включая трафик. Обычно ему не нужен vehicles.meta для модели, так как игра уже знает имя. Заменяемый автомобиль изменяет только внешний вид. Если вы хотите другую обработку, вам нужен соответствующий handling.meta с исходным handling id.
Не смешивайте две идеи в одной папке. Пак, который смешивает файлы replace и addon, — это обычный источник запутанных ошибок.
Проверьте результат
- Запустите сервер и читайте консоль. Ошибки ресурса, такие как отсутствующий файл, указанный в
files, появляются при запуске. Если ресурс вообще не запускается, см. не мог запустить ресурс. - Присоединитесь и спавните автомобиль. Если автомобиль не найден, имя не совпадает с
modelName, или ресурс не запущен. - Откройте цвета и обработку автомобиля в игре, чтобы проверить, что файлы
carcols.metaиhandling.metaиспользуются.
Распространённые проблемы
- Автомобиль не существует. Проверьте
ensure, записиfilesиmodelName. Опечатка в пути вfilesостанавливает ресурс. - Автомобиль невидимый, белый или имеет неправильные текстуры.
.ytdотсутствует или назван не так, как модель. См. oversized assets, если вы также видите предупреждения потоков. - Автомобиль ездит как стандартный.
handling.metaне объявлен, или егоhandlingIdне совпадает с тем, что вvehicles.meta. - Автомобиль на основе DLC выглядит сломанным. Некоторые автомобили требуют более новую версию игры. Установите одну с
sv_enforceGameBuildвserver.cfg: см. sv_enforceGameBuild и DLC.
Контрольный список
| Проблема | Решение |
|---|---|
| Ресурс не запускается | Проверьте каждый путь в files {} существует и манифест не имеет опечатки |
| Автомобиль не может быть спавнен | Спавните с помощью modelName из vehicles.meta; ensure ресурс |
| Автомобиль белый или без текстур | Проверьте файл .ytd и его имя соответствует модели |
| Автомобиль ездит неправильно | Добавьте строку HANDLING_FILE и совпадите handlingId |
| Нет цветов или неправильные цвета | Добавьте строки CARCOLS_FILE и VEHICLE_VARIATION_FILE |
| Оригинальный автомобиль изменился | Вы использовали имя replace: переименуйте файлы и модель для addon |
| Автомобиль сломан с моделью DLC | Поднимите версию игры с помощью sv_enforceGameBuild |
Короткие ответы
Какое имя использовать, чтобы спавнить автомобиль дополнения?
Значение modelName в vehicles.meta. Если там написано <modelName>mycar</modelName>, вы спавните его с помощью mycar, которое должно совпадать с названиями файлов .yft и .ytd.
В чем разница между автомобилем дополнения (addon) и заменяемым автомобилем (replace)?
Заменяемый автомобиль перезаписывает автомобиль из базовой игры, используя его имена файлов, поэтому оригинал исчезает. Автомобиль дополнения имеет новое уникальное имя и свои файлы meta, и находится рядом с исходными автомобилями.
Мой автомобиль спавнится, но ездит неправильно или выглядит белым. Что проверить?
Неправильная обработка указывает на handling.meta и его строку data_file. Белый или без текстуры автомобиль указывает на отсутствующий .ytd или несовпадающее имя с моделью.
Скрипты без этой проблемы
Chameleon Paints82 краски-хамелеона с переливом цвета в одном меню — наносятся в один клик.Смотреть скрипт →
Advanced BoostingУгон машин на заказ через планшет: контракты от класса D до S+, команды и живая очередь.Смотреть скрипт →
Car BombЗакладывайте, находите и обезвреживайте бомбы в машинах — с телефоном-детонатором и мини-игрой C4.Смотреть скрипт →