Como converter um mod de carro single-player do GTA 5 em add-on de FiveM
Para converter um mod de carro single-player do GTA 5 para FiveM, extraia o arquivo dlc.rpf, coloque os arquivos .yft e .ytd em uma pasta stream e os arquivos .meta em uma pasta data, e escreva um fxmanifest.lua com uma linha data_file por meta. Se o mod substitui um carro original, renomeie os arquivos para um nome de modelo novo e adicione uma entrada no vehicles.meta para ele virar um add-on.
Quais são os passos, em resumo?
- Abra o
dlc.rpfdo mod em uma ferramenta de arquivos RPF e extraia tudo. - Crie uma pasta de resource com as subpastas
streamedata. - Mova os arquivos de modelo e de textura (
.yft,.ytd) parastream. - Mova os arquivos
.metaparadata. - Escreva o
fxmanifest.lua: cada meta emfilese em uma linhadata_file. - Se for um mod replace, renomeie os arquivos e escreva uma entrada no
vehicles.metapara o nome novo. - Adicione o
ensureaoserver.cfg, reinicie, dê spawn no carro e leia o console do servidor.
O que tem dentro de um mod de carro single-player?
Um carro add-on para single-player vem como um arquivo dlc.rpf que o jogador adiciona à pasta dlcpacks do jogo. Dentro dele estão os mesmos arquivos de que um resource de FiveM precisa, embrulhados na estrutura de DLC do single-player:
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
Os nomes das pastas variam de autor para autor. O arquivo que diz o que é o quê é o content.xml: ele lista cada arquivo de dados com um fileType, e esses nomes de tipo são os mesmos que o FiveM usa nas linhas 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>
| No dlc.rpf | No resource de FiveM |
|---|---|
.yft, .ytd dentro do vehicles.rpf | stream/ |
| Modelos das peças de tuning, em um arquivo próprio quando o carro tem | stream/ |
Arquivos .meta | data/, cada um com uma linha data_file do tipo indicado no content.xml |
content.xml, setup2.xml | Não são usados. O fxmanifest.lua faz o trabalho deles. |
Text labels (.gxt2) | Não são usados. Adicione o nome com uma linha de script, veja abaixo. |
Como extraio o dlc.rpf?
O FiveM não carrega arquivos .rpf de dentro de um resource, então os arquivos têm que sair de lá. Qualquer ferramenta de arquivos do GTA V serve. No CodeWalker, abra o RPF Explorer, use File > Open Folder... na pasta onde está o dlc.rpf, abra o arquivo e os arquivos dentro dele, selecione o que quer e extraia com Extract Raw... ou Extract All.... O OpenIV faz o mesmo trabalho.
Os arquivos RPF ficam um dentro do outro: o dlc.rpf contém o vehicles.rpf, que contém os modelos. Continue abrindo até chegar a arquivos .yft, .ytd e .meta soltos. As duas ferramentas são comparadas em CodeWalker vs Sollumz.
Como monto o resource de FiveM?
Organize os arquivos extraídos como em qualquer resource de veículo:
resources/
mycar/
fxmanifest.lua
data/
handling.meta
vehicles.meta
carcols.meta
carvariations.meta
stream/
mycar.yft
mycar_hi.yft
mycar.ytd
Depois escreva o manifest. Cada meta é listado duas vezes: uma em files, para o servidor enviá-lo aos jogadores, e outra em uma linha data_file, para o jogo carregá-lo como o tipo certo.
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 no content.xml | Arquivo |
|---|---|
HANDLING_FILE | handling.meta |
VEHICLE_METADATA_FILE | vehicles.meta |
CARCOLS_FILE | carcols.meta |
VEHICLE_VARIATION_FILE | carvariations.meta |
VEHICLE_LAYOUTS_FILE | vehiclelayouts.meta |
A lista completa de tipos e a ordem em que eles carregam está em fxmanifest.lua e data_file para veículos. Iniciar o resource e dar spawn está em como adicionar um veículo add-on a um servidor FiveM.
Como transformo um mod replace em add-on?
Um mod replace não tem metas nem nome novo. Os arquivos dele têm o nome de um carro original, por exemplo sultan.yft, e o jogo desenha esses arquivos no lugar do original. Enviados por stream a partir de um resource de FiveM eles funcionam do mesmo jeito: todo Sultan do servidor muda. Para manter o carro original e adicionar o seu ao lado dele, dê ao modelo um nome próprio.
- Renomeie os arquivos. Os nomes dos arquivos são o nome do modelo.
As texturas dentro dosultan.yft -> mycar.yft sultan_hi.yft -> mycar_hi.yft sultan.ytd -> mycar.ytd.ytdmantêm os nomes delas. O dicionário é encontrado pelo nome do arquivo, não pelo que tem dentro. - Escreva uma entrada no vehicles.meta. Copie a entrada do carro substituído do
vehicles.metado próprio jogo e troquemodelNameetxdNamepelo nome novo, mais ogameNamepara o nome de exibição. DeixehandlingId,layouteaudioNameHashcomo estão e o carro anda, tem os assentos e o som do original. Cada campo é explicado em vehicles.meta explicado. - Adicione uma entrada no carvariations.meta com o novo
modelNamese quiser suas próprias combinações de cores. Veja carvariations e carcols. - Dê a ele um handling próprio só se quiser ajustar. Nesse caso copie também a entrada de handling, com um
handlingNamenovo, e aponte ohandlingIdpara ela.
O nome de exibição vem de um text label. No FiveM, uma linha de script de client adiciona o label:
-- client script: readable name for <gameName>MYCAR</gameName>
AddTextEntry('MYCAR', 'My Car GT')O que costuma dar errado depois de converter?
| Sintoma | Causa | Onde olhar |
|---|---|---|
| O console avisa sobre oversized assets | Mods de single-player costumam vir com texturas de 4096 e uma malha pesada | Como otimizar um veículo de FiveM |
| Aparecem peças de tuning de outro carro | Dois arquivos carcols.meta usam o mesmo ID de kit | carvariations e carcols |
| O carro não dá spawn | Um meta está faltando em files ou em data_file, ou um nome não bate | Solução de problemas de veículos |
| Algumas texturas estão faltando | O mod dependia de um dicionário de texturas compartilhado que estava em outro arquivo | Adicione esse .ytd a stream e mantenha o vínculo de pai em txdRelationships. |
Mais uma checagem antes de colocar o mod de outra pessoa em um servidor público: leia os termos do autor. Alguns mods de single-player não permitem redistribuição nem uso em servidores.
E se o modelo ainda não for um mod de GTA 5?
Um carro de outro jogo ou um arquivo 3D comum não tem esqueleto, nem shaders do GTA, nem colisão, então não há nada para extrair e reorganizar. Antes ele tem que ser refeito como veículo do GTA em uma ferramenta 3D. Esse processo está em como fazer um veículo de FiveM no Blender com o Sollumz.
Perguntas frequentes
- Posso usar um mod de carro single-player do GTA 5 no FiveM?
- Sim, se o autor permitir. Os arquivos de modelo e os metas são os mesmos. Eles têm que ser extraídos do dlc.rpf e organizados como um resource com uma pasta stream, uma pasta data e um fxmanifest.lua.
- Posso colocar um dlc.rpf na pasta stream?
- Não. O FiveM não carrega arquivos .rpf de dentro de um resource. Extraia os arquivos antes.
- Como converto um carro replace em add-on?
- Renomeie os arquivos .yft, _hi.yft e .ytd para um nome de modelo novo, depois adicione uma entrada no vehicles.meta copiada do carro substituído, com modelName e txdName trocados por esse nome.
- Preciso do content.xml e do setup2.xml no FiveM?
- Não. Eles pertencem ao sistema de DLC do single-player. No FiveM é o fxmanifest.lua que lista os arquivos e os tipos deles.
- De qual tipo de data_file cada meta precisa?
- Do mesmo nome de tipo que o content.xml dá a ele: HANDLING_FILE para o handling.meta, VEHICLE_METADATA_FILE para o vehicles.meta, CARCOLS_FILE para o carcols.meta e VEHICLE_VARIATION_FILE para o carvariations.meta.
Fontes
Produtos deste guia
- Coil S-Cooter: Patinete Elétrico FiveM
- Hoverboard Pack: 3 Hoverboards FiveM
- Complete Bundle: Patinete + Hoverboards FiveM
Todos os guias
- Como instalar um resource FiveM do Cfx.re Escrow (Granted Assets)
- Como adicionar um veículo custom num servidor ESX, QBCore ou QBox
- O que são LODs em veículos FiveM?
- Como adicionar um veículo add-on a um servidor FiveM
- vehicles.meta explicado, campo por campo
- handling.meta explicado: campos, unidades e flags
- carvariations.meta e carcols.meta explicados
- vehiclelayouts.meta explicado: assentos, pontos de entrada e animações
- Referência de data_file do fxmanifest para veículos
- Arquivos de modelo do veículo (yft, _hi.yft, ytd) e o aviso de asset grande demais
- Solução de problemas de veículo add-on no FiveM: causas e correções
- Como resolver "You lack the required entitlement" em um servidor FiveM
- Como um hoverboard de FiveM funciona sem script
- Como fazer um veículo de FiveM no Blender com o Sollumz 2.9
- Como otimizar um veículo de FiveM: polígonos, LODs e orçamento de texturas
- Como configurar a colisão de veículo no Sollumz
- Comprar veículos FiveM: o que conferir antes de pagar
- Pack de carros FiveM vs veículos avulsos
- Carro de marca real no FiveM: pode ou não?
- CodeWalker vs Sollumz: qual ferramenta usar em veículos de FiveM?
