Para uma alteração persistente no comportamento do veículo, edite a entrada completa de handling.meta usada pelo modelo e teste um veículo recém-gerado nas mesmas condições. Deixe os scripts de ajuste em tempo de execução fora da comparação até saber quais valores eles sobrescrevem.
A configuração e os exemplos de código aqui são voltados ao FiveM para GTA V Legacy. O Enhanced tem regras diferentes de runtime e de compatibilidade; verifique as alterações de Legacy para Enhanced do Cfx.re antes de aplicá-las a um servidor Enhanced.
Encontre o recurso responsável
Localize a entrada do veículo em vehicles.meta e leia handlingId. Encontre o handlingName correspondente nos dados completos de comportamento do veículo. Procure em outros recursos nomes de handling duplicados e funções nativas que alterem o handling em tempo de execução.
Faça backup do recurso e registre os valores originais. Trabalhe em um servidor isolado, usando um veículo ou pacote compatível com a edição de GTA dele. Não substitua um arquivo completo de metadados por um pequeno fragmento de exemplo.
Registre o arquivo real
Se o recurso já declara seu arquivo de handling, mantenha essa declaração. Um arquivo em data/handling.meta é registrado no manifesto com:
files { 'data/handling.meta' }
data_file 'HANDLING_FILE' 'data/handling.meta'
Mantenha todos os outros arquivos e registros necessários. Se você introduzir um novo nome de handling, atualize, no veículo pretendido, o handlingId de forma consistente. Alterar uma entrada compartilhada por vários modelos muda a base comum deles, então identifique primeiro todos os que a utilizam.
Altere um comportamento pequeno e específico
Escolha um objetivo, como uma distância de frenagem menor ou uma transição mais controlável. Inspecione o valor original, altere-o moderadamente e guarde o par exato de antes e depois. Por exemplo, este é um campo dentro de uma entrada completa existente, não um arquivo completo de handling:
<fBrakeForce value="0.90" />
Trate a força do motor, o arrasto, as relações de marcha, a tração e a suspensão como valores que interagem. fInitialDriveMaxFlatVel não é uma leitura direta e garantida da velocidade máxima em km/h. Os valores do centro de rolagem não são o deslocamento do centro de massa. Não aplique uma “correção” universal para saída de frente ou capotamento sem uma comparação medida.
Teste o resultado salvo
- Reinicie o recurso afetado no servidor de teste e crie um veículo novo.
- Use o mesmo trajeto, clima, melhorias do veículo e dispositivo de controle nas duas configurações.
- Compare a aceleração, a frenagem a partir de uma velocidade fixa, curvas constantes, transições e recuperação após uma derrapagem.
- Teste a colisão e o comportamento visto por outro jogador conectado.
- Reconecte e reinicie para confirmar que as configurações salvas do recurso continuam sendo a origem do resultado.
Entenda as substituições em tempo de execução
No FiveM, SetVehicleHandlingFloat recebe o identificador de uma entidade de veículo, uma classe de handling, um campo e um valor. Passar um hash de modelo obtido de GetEntityModel ou GetHashKey como primeiro argumento está incorreto. Leia a assinatura exata da função nativa antes de usá-la.
Substituições em tempo de execução precisam tratar explicitamente a propriedade da entidade, o respawn e a restauração dos valores originais. Não transmita para todos listas de campos e valores enviadas pelo cliente. Se os jogadores puderem solicitar uma configuração de ajuste, o servidor deve autorizar uma configuração fixa e validada, e a implementação deve considerar como ela se aplica entre os clientes.
Se nada mudar
Verifique o arquivo ativo, seu registro no manifest e a correspondência de handlingId. Confira se outro recurso ou menu de ajustes sobrescreve o mesmo campo. Teste um veículo novo após reiniciar. Resolva o conflito entre os recursos responsáveis, em vez de depender de uma solução frágil baseada na ordem de inicialização.
Mantenha um registro útil dos ajustes
Registre o modelo, a versão do recurso, as alterações nos campos, as condições de teste e a contrapartida observada. Peça a outro piloto que repita o teste. Mantenha a configuração original disponível e publique apenas os valores que você realmente verificou; uma configuração de handling é específica do veículo e do uso pretendido.