Pular para o conteúdo
RPScripts

Altere e teste o comportamento de direção dos veículos no FiveM

Por Luke

Como alterar o manuseio do veículo (FiveM)

Para alterar permanentemente o comportamento de um veículo, edite todo o handling.meta entrada usada por aquele modelo, em seguida, teste um veículo recém-gerado sob as mesmas condições. Mantenha os scripts de ajuste em tempo de execução fora da comparação até saber quais valores eles substituem.

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 o veículo vehicles.meta entrada e leitura handlingId. Faça a correspondência com handlingName nos dados completos de handling. Procure nomes de handling duplicados e funções nativas de handling em tempo de execução em outros recursos.

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

  1. Reinicie o recurso afetado no servidor de teste e crie um veículo novo.
  2. Use o mesmo trajeto, clima, melhorias do veículo e dispositivo de controle nas duas configurações.
  3. Compare a aceleração, a frenagem a partir de uma velocidade fixa, curvas constantes, transições e recuperação após uma derrapagem.
  4. Teste a colisão e o comportamento visto por outro jogador conectado.
  5. 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 de manifesto e o handlingId correspondência. Verifique se outro recurso ou menu de ajuste está sobrescrevendo o mesmo campo. Teste um novo veículo após a reinicialização. Resolva a propriedade duplicada em vez de depender de uma solução alternativa frágil de ordem de início.

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.

Documentação de referência

Cfx.re — arquivos de dados · Fonte: dexyfex/CodeWalker

Seleção premium para o seu servidor

Tudo em Veículos FiveM