carvariations.meta e carcols.meta explicados

Por Nilo3D · Atualizado:

O carvariations.meta define a aparência que um modelo de veículo pode ter: combinações de cores, liveries, mod kit, configurações de luz e de sirene. O carcols.meta é a biblioteca para onde essas configurações apontam: ele define os mod kits com suas peças de tuning, as configurações de sirene e as de luz. Um veículo só precisa de carcols.meta quando traz kit, sirene ou luzes próprios.

Qual é a diferença entre carvariations.meta e carcols.meta?

carvariations.metacarcols.meta
Elemento raizCVehicleModelInfoVariationCVehicleModelInfoVarGlobal
EscopoUma entrada por modelo de veículoDefinições compartilhadas que qualquer veículo pode referenciar
ContémCombinações de cores, liveries, nomes de kit, índice de luz e de sireneKits (peças de tuning), Sirens, Lights, cores, rodas
data_file no FiveMVEHICLE_VARIATION_FILECARCOLS_FILE
Necessário em um add-on?Recomendado para todo veículoSó com peças de tuning, sirenes ou luzes personalizadas

Como se monta uma entrada do carvariations.meta?

Cada <Item> em variationData pertence ao veículo indicado em modelName. Ele lista as combinações de cores, os kits que o veículo pode usar e dois números que escolhem uma configuração de luz e uma de sirene.

<?xml version="1.0" encoding="UTF-8"?>
<CVehicleModelInfoVariation>
  <variationData>
    <Item>
      <modelName>mycar</modelName>
      <colors>
        <Item>
          <indices content="char_array">
            1
            4
            4
            156
            111
            111
          </indices>
          <liveries>
            <Item value="false" />
            <Item value="false" />
          </liveries>
        </Item>
      </colors>
      <kits>
        <Item>0_default_modkit</Item>
      </kits>
      <windowsWithExposedEdges />
      <plateProbabilities>
        <Probabilities />
      </plateProbabilities>
      <lightSettings value="1" />
      <sirenSettings value="0" />
    </Item>
  </variationData>
</CVehicleModelInfoVariation>
CampoSignificado
modelNameO veículo ao qual esta entrada se aplica. Tem que ser igual ao modelName do vehicles.meta.
colorsLista de combinações de cores. O jogo escolhe uma delas quando o veículo dá spawn sem um script definir as cores.
kitsNomes dos mod kits que o veículo usa, definidos no carcols.meta.
windowsWithExposedEdgesNomes das janelas cujas bordas ficam visíveis.
plateProbabilitiesProbabilidade de cada estilo de placa.
lightSettingsID de uma entrada Lights do carcols.meta.
sirenSettingsID de uma entrada Sirens do carcols.meta. 0 para veículos sem sirene.

Como funcionam os índices de cor?

Cada combinação de cores tem seis números. Cada número é um índice na lista de cores de veículo do jogo (0 é preto metálico, 111 é branco metálico e assim por diante). Os seis slots são fixos:

PosiçãoSlotNative do jogo que define
1Cor primáriaSET_VEHICLE_COLOURS
2Cor secundáriaSET_VEHICLE_COLOURS
3PeroladoSET_VEHICLE_EXTRA_COLOURS
4Cor das rodasSET_VEHICLE_EXTRA_COLOURS
5Cor do interiorSET_VEHICLE_EXTRA_COLOUR_5
6Cor do painelSET_VEHICLE_EXTRA_COLOUR_6

A lista liveries dentro de cada combinação diz com quais liveries aquela combinação pode dar spawn. Um veículo pode ter até 30 liveries. O Coil S-Cooter, por exemplo, traz nove combinações de cores nesse arquivo, e elas podem ser editadas à vontade porque os metas ficam abertos.

Como funcionam as liveries?

O sistema clássico de livery troca uma textura. O veículo precisa de FLAG_HAS_LIVERY no vehicles.meta e de texturas com o sufixo _sign_1, _sign_2 e assim por diante no dicionário de texturas dele; o jogo conta essas texturas quando o modelo carrega. Os scripts alternam entre elas com a native SET_VEHICLE_LIVERY.

O segundo sistema é um slot de tuning: peças de mod kit do tipo VMT_LIVERY_MOD, com os nomes de exibição listados em liveryNames do kit.

O que é um mod kit e por que o ID do kit importa?

Um mod kit é a lista de peças de tuning e upgrades de desempenho que um veículo pode receber. Os kits ficam na seção Kits do carcols.meta. Cada kit tem um nome, um ID numérico e um tipo.

<?xml version="1.0" encoding="UTF-8"?>
<CVehicleModelInfoVarGlobal>
  <Kits>
    <Item>
      <kitName>mycar_modkit</kitName>
      <id value="850" />
      <kitType>MKT_SPECIAL</kitType>
      <visibleMods>
        <Item>
          <modelName>mycar_spoiler_a</modelName>
          <modShopLabel>MYCAR_SPL_A</modShopLabel>
          <linkedModels />
          <turnOffBones />
          <type>VMT_SPOILER</type>
          <bone>chassis</bone>
          <collisionBone>chassis</collisionBone>
          <cameraPos>VMCP_DEFAULT</cameraPos>
          <audioApply value="1.000000" />
          <weight value="0" />
          <turnOffExtra value="false" />
          <disableBonnetCamera value="false" />
          <allowBonnetSlide value="true" />
        </Item>
      </visibleMods>
      <linkMods />
      <statMods>
        <Item>
          <identifier />
          <modifier value="25" />
          <audioApply value="1.000000" />
          <weight value="0" />
          <type>VMT_ENGINE</type>
        </Item>
      </statMods>
      <slotNames />
      <liveryNames />
    </Item>
  </Kits>
</CVehicleModelInfoVarGlobal>
CampoSignificado
kitNameNome do kit. É isso que o carvariations.meta referencia.
idID numérico do kit. Tem que ser único entre todos os kits carregados no servidor.
kitTypeMKT_STANDARD, MKT_SPORT, MKT_SUV ou MKT_SPECIAL.
visibleModsPeças com modelo 3D: aerofólios, para-choques, saias e assim por diante.
linkModsModelos que só aparecem junto com outra peça.
statModsUpgrades de desempenho sem modelo: motor, freios, câmbio, suspensão, blindagem.
slotNamesRenomeia um slot de tuning no menu da oficina de tuning.
liveryNamesNomes de exibição das liveries do kit.

O jogo mantém uma única tabela de IDs de kit. Quando chega um segundo kit com um ID que já está em uso, o carregador registra no log um ID de kit duplicado e dá a ele outro ID livre. Esse é o motivo mais comum de peças de tuning sumirem depois de adicionar mais veículos: dois resources trazem o mesmo id. Dê a cada kit um número próprio.

Para ligar o kit ao veículo, coloque o nome dele no carvariations.meta:

<!-- carvariations.meta -->
<kits>
  <Item>mycar_modkit</Item>
</kits>

Um veículo sem peças personalizadas pode usar o 0_default_modkit original, que dá a ele os upgrades de desempenho padrão. Um <kits /> vazio tira o tuning do veículo.

Para achar quais IDs de kit, sirene e luz estão repetidos entre todos os seus resources, solte os arquivos no verificador de conflito de IDs do carcols.

Quais são os campos de uma peça de tuning?

Cada item em visibleMods é uma peça. modelName é o nome do arquivo de modelo da peça na pasta stream. type é o slot de tuning em que ela aparece, e bone é o bone do veículo em que ela fica presa.

CampoSignificado
modelNameModelo da peça.
modShopLabelText label mostrado na oficina de tuning.
linkedModelsLink mods presos junto com esta peça.
turnOffBonesPeças originais a esconder quando a peça é instalada (por exemplo o para-choque original).
typeSlot: VMT_SPOILER, VMT_BUMPER_F, VMT_BUMPER_R, VMT_SKIRT, VMT_EXHAUST, VMT_CHASSIS, VMT_GRILL, VMT_BONNET, VMT_WING_L, VMT_WING_R, VMT_ROOF e outros.
bone, collisionBoneBone em que a peça fica presa, e o bone habilitado para colisão extra: chassis, bodyshell, bumper_f, bumper_r, bonnet, boot, misc_a e assim por diante.
cameraPosPara onde vai a câmera da oficina de tuning: VMCP_DEFAULT, VMCP_FRONT, VMCP_REAR, VMCP_LEFT, VMCP_RIGHT, VMCP_TOP e outras.
weightMudança de peso causada pela peça, de 0 a 100 por cento.
turnOffExtraSe for true, a peça esconde os extras no mesmo bone.

Os stat mods usam os slots VMT_ENGINE, VMT_BRAKES, VMT_GEARBOX, VMT_SUSPENSION, VMT_ARMOUR e VMT_HORN, com modifier como a intensidade do upgrade.

Como funcionam lightSettings e sirenSettings?

lightSettings e sirenSettings no carvariations.meta são IDs. Eles selecionam uma entrada com o mesmo id na seção Lights ou Sirens de um carcols.meta. Se o número não existir, o jogo cai para a primeira entrada.

  • Uma entrada Lights define intensidade, falloff, ângulos do cone e cor das setas, lanternas traseiras, faróis e luzes de ré, e o tamanho e a intensidade das coronas delas.
  • Uma entrada Sirens guarda até 20 luzes de sirene. Cada uma tem cor, intensidade, rotação e padrão de piscada (sequencer), e a entrada define o ritmo com sequencerBpm.

Assim como os IDs de kit, os IDs de sirene e de luz são compartilhados pelo servidor inteiro, então dois veículos de emergência que trazem o ID de sirene 1 vão entrar em conflito. Use um ID diferente para cada configuração de sirene e coloque o mesmo número em sirenSettings.

Como os dois arquivos são carregados no FiveM?

Os dois arquivos entram em files no fxmanifest.lua. O carcols.meta ganha uma linha data_file 'CARCOLS_FILE' e o carvariations.meta uma linha data_file 'VEHICLE_VARIATION_FILE'. Coloque a linha do carcols primeiro, já que o carvariations se refere aos kits pelo nome. O manifest completo está em como adicionar um veículo add-on ao FiveM, e as regras de ordem na referência de data_file. Se as peças ou as cores não aparecem no jogo, confira a seção de tuning do guia de solução de problemas.

Perguntas frequentes

Preciso de carcols.meta em um carro add-on?
Só quando o carro tem peças de tuning, configuração de sirene ou configuração de luz próprias. Um carro que usa um mod kit original e configurações de luz originais só precisa do carvariations.meta.
Por que minhas peças de tuning estão faltando ou erradas no FiveM?
A causa mais comum é um ID de kit duplicado: dois arquivos carcols.meta definem um kit com o mesmo valor de id. Troque um deles para um número que nenhum outro veículo usa e mantenha o mesmo nome de kit no carvariations.meta.
Como adiciono mais cores a um veículo?
Adicione outro Item com seis índices à lista colors do veículo no carvariations.meta. A ordem é primária, secundária, perolado, rodas, interior e painel.
Quantas liveries um veículo pode ter?
O jogo suporta até 30 liveries por veículo no sistema de troca de textura.
O que significa sirenSettings 0?
Seleciona a entrada de sirene 0, que é a usada pelos veículos sem sirene.

Fontes

Produtos deste guia

Todos os guias