Ship
Installing on your server
Unzip the resource, start it after the car, restart, and spawn a new car. Then drive it and compare with the numbers.
Install the resource
- 1
Unzip into resources
Unzip the download so the folder lands in your resources, for example
resources/[handling]/sw_sultan_handling.fxmanifest.luamust sit directly in that folder. - 2
Add it to server.cfg, after the car
Add an
ensureline. For an addon car it goes after the resource that streams the car; a vanilla car like the Sultan needs no car resource:ensure my_car_pack # only for an addon car ensure sw_sultan_handling - 3
Restart and spawn a new car
Restart the server, join, and spawn the car fresh. A car that existed before keeps its old handling. See Spawn a fresh car.
Why the order matters
A handling entry has no link to its car. The car's vehicles.meta names a handlingId, and the game uses the entry whose handlingName matches it. When several loaded files have an entry with that name, the last one loaded wins.
- The Handling Editor export keeps the car's handlingName, so it replaces the original as long as it loads later.
- If it starts before the car pack, the pack's own handling.meta loads last and wins. Put the ensure line after the pack.
- Stop the handling resource and the previous entry is back for cars spawned afterwards.
More on the load mechanism in How FiveM loads it.
Spawn a fresh car
A spawned car keeps a private copy of its handling. New handling reaches only cars spawned after it loaded. After every restart, delete the car you test with and spawn a new one.
This matters most for Max flat velocity, Gears and Mass: the game reads them when it creates the car, even when you set them with a script.
Test it in game
- Top speed: drive a long, flat straight at full throttle until the speed stops rising, and compare with the editor. Mind whether your car has upgrades.
- Launch: compare the start with the stock car, for example with a second player.
- Corners and brakes: a few fast corners and a hard stop. Grip changes show here, not on the straight.
To try a value before you change the file, set it on the car you sit in. This small test command does that with the FiveM native SetVehicleHandlingFloat, which takes the same units as the file:
RegisterCommand('hset', function(_, args)
local veh = GetVehiclePedIsIn(PlayerPedId(), false)
local value = tonumber(args[2])
if veh == 0 or not args[1] or not value then return end
SetVehicleHandlingFloat(veh, 'CHandlingData', args[1], value + 0.0)
end, false)- It changes only that one car, until it respawns. The file stays as it is.
- It has no effect on the fields that need a respawn.
- Keep it on a test server: anyone who can run the command can change their car.
Adding it to an existing resource
Instead of a second resource, you can put the tune into the resource that already has the car:
- Paste the entry. Press Copy handling.meta, open the car pack's
handling.meta, and replace the<Item type="CHandlingData">block with the same handlingName by the new one. Restart and spawn a new car. - Merge the resources. The free Resource Merger joins the car pack and the handling resource into one resource with one fxmanifest.
For several tuned cars, repeat the export per car, or paste each entry into one handling.meta.