Как конвертировать мод машины для одиночной GTA 5 в аддон FiveM
Чтобы конвертировать мод машины для одиночной GTA 5 в FiveM, извлеките архив dlc.rpf, положите файлы .yft и .ytd в папку stream, а файлы .meta в папку data, и напишите fxmanifest.lua с одной строкой data_file на каждый meta-файл. Если мод заменяет стоковую машину, переименуйте его файлы в новое имя модели и добавьте запись в vehicles.meta, чтобы он стал аддоном.
Какие шаги нужны, если коротко?
- Откройте
dlc.rpfмода в программе для работы с архивами и извлеките всё. - Создайте папку ресурса с подпапками
streamиdata. - Переместите файлы модели и текстур (
.yft,.ytd) вstream. - Переместите файлы
.metaвdata. - Напишите
fxmanifest.lua: каждый meta-файл вfilesи в строкеdata_file. - Если это replace-мод, переименуйте файлы и напишите запись
vehicles.metaдля нового имени. - Добавьте
ensureвserver.cfg, перезапустите сервер, заспавните машину и прочитайте консоль сервера.
Что внутри мода машины для одиночной игры?
Аддон-машина для одиночной игры приходит архивом dlc.rpf, который игрок добавляет в папку dlcpacks игры. Внутри лежат те же файлы, которые нужны ресурсу FiveM, но в структуре DLC одиночной игры:
dlc.rpf
content.xml list of every file and its type
setup2.xml name and load order of the pack
data/ (or common/data/)
handling.meta
vehicles.meta
carcols.meta
carvariations.meta
x64/vehicles.rpf (or x64/levels/gta5/vehicles/...rpf)
mycar.yft
mycar_hi.yft
mycar.ytd
Имена папок у разных авторов отличаются. Что есть что, показывает файл content.xml: в нём перечислен каждый файл данных с его fileType, и эти имена типов совпадают с теми, что FiveM использует в строках data_file.
<Item>
<filename>dlc_mycar:/data/vehicles.meta</filename>
<fileType>VEHICLE_METADATA_FILE</fileType>
</Item>
<Item>
<filename>dlc_mycar:/data/carvariations.meta</filename>
<fileType>VEHICLE_VARIATION_FILE</fileType>
</Item>
<Item>
<filename>dlc_mycar:/%PLATFORM%/vehicles.rpf</filename>
<fileType>RPF_FILE</fileType>
</Item>
| В dlc.rpf | В ресурсе FiveM |
|---|---|
.yft, .ytd внутри vehicles.rpf | stream/ |
| Модели деталей тюнинга, в отдельном архиве, если они есть у машины | stream/ |
Файлы .meta | data/, каждый со строкой data_file того типа, который указан в content.xml |
content.xml, setup2.xml | Не используются. Их работу выполняет fxmanifest.lua. |
Текстовые метки (.gxt2) | Не используются. Название добавляется строкой скрипта, см. ниже. |
Как извлечь dlc.rpf?
FiveM не загружает архивы .rpf из ресурса, поэтому файлы нужно достать. Подойдёт любая программа для архивов GTA V. В CodeWalker запустите RPF Explorer, откройте через File > Open Folder... папку, в которой лежит dlc.rpf, откройте архив и вложенные в него архивы, выберите файлы и извлеките их командой Extract Raw... или Extract All.... OpenIV делает то же самое.
Архивы вложены друг в друга: dlc.rpf содержит vehicles.rpf, а в нём лежат модели. Продолжайте, пока не дойдёте до отдельных файлов .yft, .ytd и .meta. Оба инструмента сравниваются в гайде CodeWalker или Sollumz.
Как собрать ресурс FiveM?
Разложите извлечённые файлы как в любом ресурсе с транспортом:
resources/
mycar/
fxmanifest.lua
data/
handling.meta
vehicles.meta
carcols.meta
carvariations.meta
stream/
mycar.yft
mycar_hi.yft
mycar.ytd
Затем напишите манифест. Каждый meta-файл указывается дважды: один раз в files, чтобы сервер отправил его игрокам, и один раз в строке data_file, чтобы игра загрузила его как данные нужного типа.
fx_version 'cerulean'
game 'gta5'
files {
'data/handling.meta',
'data/vehicles.meta',
'data/carcols.meta',
'data/carvariations.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'
| fileType в content.xml | Файл |
|---|---|
HANDLING_FILE | handling.meta |
VEHICLE_METADATA_FILE | vehicles.meta |
CARCOLS_FILE | carcols.meta |
VEHICLE_VARIATION_FILE | carvariations.meta |
VEHICLE_LAYOUTS_FILE | vehiclelayouts.meta |
Полный список типов и порядок их загрузки есть в гайде о fxmanifest.lua и data_file для транспорта. Запуск ресурса и спавн описаны в гайде о добавлении аддон-транспорта на сервер FiveM.
Как превратить replace-мод в аддон?
У replace-мода нет meta-файлов и нет нового имени. Его файлы названы именем стоковой машины, например sultan.yft, и игра рисует их вместо оригинала. При стриме из ресурса FiveM они работают так же: меняется каждый Sultan на сервере. Чтобы оставить стоковую машину и добавить свою рядом, дайте модели собственное имя.
- Переименуйте файлы. Имена файлов и есть имя модели.
Текстуры внутриsultan.yft -> mycar.yft sultan_hi.yft -> mycar_hi.yft sultan.ytd -> mycar.ytd.ytdсохраняют свои имена. Словарь ищется по имени файла, а не по содержимому. - Напишите запись vehicles.meta. Скопируйте запись заменяемой машины из
vehicles.metaсамой игры и изменитеmodelNameиtxdNameна новое имя, а такжеgameNameдля отображаемого названия. ОставьтеhandlingId,layoutиaudioNameHashкак есть, и машина будет ездить, сажать педов и звучать как оригинал. Каждое поле объясняется в разборе vehicles.meta. - Добавьте запись carvariations.meta с новым
modelName, если хотите свои сочетания цветов. См. carvariations и carcols. - Давайте машине свой handling, только если хотите его настраивать. Тогда скопируйте и запись handling, с новым
handlingName, и укажите на неё вhandlingId.
Отображаемое название берётся из текстовой метки. В FiveM её добавляет одна строка клиентского скрипта:
-- client script: readable name for <gameName>MYCAR</gameName>
AddTextEntry('MYCAR', 'My Car GT')Что обычно идёт не так после конвертации?
| Симптом | Причина | Где смотреть |
|---|---|---|
| Консоль предупреждает об oversized assets | Моды для одиночной игры часто идут с текстурами 4096 и одним тяжёлым мешем | Оптимизация транспорта FiveM |
| Появляются детали тюнинга от другой машины | Два файла carcols.meta используют один и тот же ID кита | carvariations и carcols |
| Машина не спавнится | Meta-файл отсутствует в files или data_file, либо не совпадает какое-то имя | Устранение проблем с транспортом |
| Не хватает части текстур | Мод опирался на общий словарь текстур, который лежал в другом архиве | Добавьте этот .ytd в stream и сохраните связь с родителем в txdRelationships. |
Ещё одна проверка перед тем, как ставить чужой мод на публичный сервер: прочитайте условия автора. Некоторые моды для одиночной игры не разрешают распространение или использование на серверах.
Что делать, если модель ещё не мод для GTA 5?
У машины из другой игры или обычного 3D-файла нет скелета, шейдеров GTA и коллизии, поэтому извлекать и раскладывать нечего. Сначала её нужно пересобрать как транспорт GTA в 3D-редакторе. Этот процесс описан в гайде о создании транспорта FiveM в Blender с Sollumz.
Частые вопросы
- Можно ли использовать мод машины для одиночной GTA 5 в FiveM?
- Да, если автор это разрешает. Файлы модели и meta-файлы те же самые. Их нужно извлечь из dlc.rpf и разложить как ресурс с папкой stream, папкой data и fxmanifest.lua.
- Можно ли положить dlc.rpf в папку stream?
- Нет. FiveM не загружает архивы .rpf из ресурса. Сначала извлеките файлы.
- Как конвертировать replace-машину в аддон?
- Переименуйте файлы .yft, _hi.yft и .ytd в новое имя модели, затем добавьте запись vehicles.meta, скопированную с заменяемой машины, изменив modelName и txdName на это имя.
- Нужны ли content.xml и setup2.xml в FiveM?
- Нет. Они относятся к системе DLC одиночной игры. В FiveM файлы и их типы перечисляет fxmanifest.lua.
- Какой тип data_file нужен каждому meta-файлу?
- То же имя типа, которое ему даёт content.xml: HANDLING_FILE для handling.meta, VEHICLE_METADATA_FILE для vehicles.meta, CARCOLS_FILE для carcols.meta и VEHICLE_VARIATION_FILE для carvariations.meta.
Источники
Товары из гайда
- Coil S-Cooter: Электросамокат FiveM
- Hoverboard Pack: 3 ховерборда FiveM
- Complete Bundle: Самокат + ховерборды FiveM
Все гайды
- Как установить ресурс FiveM из Cfx.re Escrow (Granted Assets)
- Как добавить кастомный транспорт на сервер ESX, QBCore или QBox
- Что такое LOD у транспорта в FiveM?
- Как добавить аддон-транспорт на сервер FiveM
- Разбор vehicles.meta по полям
- Разбор handling.meta: поля, единицы и флаги
- Разбор carvariations.meta и carcols.meta
- Разбор vehiclelayouts.meta: сиденья, точки входа и анимации
- Справочник data_file в fxmanifest для транспорта
- Файлы модели транспорта (yft, _hi.yft, ytd) и предупреждение oversized assets
- Проблемы с аддон-транспортом в FiveM: причины и решения
- Как исправить "You lack the required entitlement" на сервере FiveM
- Как ховерборд в FiveM работает без скрипта
- Как сделать транспорт для FiveM в Blender с Sollumz 2.9
- Как оптимизировать транспорт FiveM: полигоны, LOD и бюджет текстур
- Как настроить коллизию транспорта в Sollumz
- Покупка транспорта для FiveM: что проверить до оплаты
- Паки машин FiveM или отдельный транспорт
- Машины реальных брендов в FiveM: можно или нет?
- CodeWalker или Sollumz: какой инструмент нужен для транспорта FiveM?
