NullSect
Systems nominal

Scripts / systems · v1.2.0

Vehicle Handling

An in-game handling editor: change a car's handling, feel it instantly, save it as a profile.

  • Qbox
  • QBCore
  • ESX
Free

Features

  1. 01

    40 real fields

    Engine, brakes, traction, suspension, drive layout and more in 9 categories, with original, current and difference for every value. Ctrl+F finds any field, built-in tips show what to change.

  2. 02

    Profiles

    Multiple profiles per model with version history. The active profile applies to every newly spawned car of that model, even after a restart.

  3. 03

    handling.meta import and export

    Paste a handling.meta to load its values into the editor, or copy your tune out as handling.meta lines.

  4. 04

    Test drive numbers

    Live speed, top speed, 0-100 km/h time and braking distance while you test drive, to compare profiles.

  5. 05

    Apply and refresh

    Respawns the car without losing mods, colours, fuel or damage.

  6. 06

    Admin only

    Fully server-validated, no idle loops, English and Turkish.

Requirements

Frameworks
Qbox, QBCore, ESX
Requires
oxmysql, OneSync
Version
1.2.0

Recent changes

Read the docs →

1.2.0

Added

  • Drive layout and suspension geometry: fDriveBiasFront (0 = rear-wheel drive, 1 = front-wheel drive, in between = all-wheel drive), fSuspensionUpperLimit, fSuspensionLowerLimit, fRollCentreHeightFront, fRollCentreHeightRear, fCamberStiffnesss (40 fields in total). They need Apply & refresh.
  • handling.meta export / import: Export shows the editor values as handling.meta lines with a Copy button. Import takes a whole handling.meta, one vehicle's <Item> or single lines; values out of range are skipped and listed, lines the editor does not have are counted and ignored. Imported values are only stored on Save (the server validates them again).
  • Field search at the top of the category list (Ctrl+F): names, field ids, descriptions and categories. Esc in the search box clears it.
  • Test drive measurements: while the panel is hidden for a test drive, a strip shows the speed, top speed, 0-100 km/h time and 100-0 km/h braking distance (last and best). The best values stay in the footer when you return, so profiles can be compared. Config.TestDrive (telemetry, unit = 'kmh' | 'mph').

Changed

  • New editor look in the NullSect theme: black panel, warm text, orange accent, NullSect mark in the header. Serif titles, numbers and labels in a monospace face, rounded buttons with the orange Save button as the main action. Fonts are bundled in nui/fonts/ (Geist, Instrument Serif, JetBrains Mono, SIL OFL); no internet access needed.
  • Field descriptions and docs now give the right units: the handling natives use handling.meta units (steering lock in degrees, top speed in km/h, 0.5 = balanced bias). Earlier texts said radians, m/s and "1.0 = balanced".
  • Turkish title is "Araç Handling" (was all caps).

Fixed

  • Default profiles captured before a field was enabled (new version or Config.AllowedFields) had no original value for it: the editor showed - and the field could not be reset. Such a Default is now completed from the vehicle the next time an admin opens the editor on that model; stored values are kept.

Upgrade notes

  • Keeping your old config.lua? Add the six new field ids to Config.AllowedFields (see INSTALLATION.md). Config.TestDrive is optional. No database change.

1.1.4

Changed

  • Release defaults: Config.Locale is 'en' and Config.Debug is false (1.1.3 shipped with Turkish and debug output on; the documentation already listed these defaults).

Fixed

  • An editor action that was still waiting for the server when the editor closed (e.g. the admin left the vehicle) was logged as an internal error; it now ends quietly.
  • Installation docs: neutral wording for getting the resource on Tebex.

1.1.3

Security

  • Admin check: on servers where the ACE check answers 1 / 0 instead of true / false, every player was treated as an admin (0 counts as yes in Lua) and could open the handling editor and manage profiles. The ACE permission (Config.Permissions.ace) and the group.* checks now accept only true or 1.

Development

  • Offline test for the 1 / 0 ACE answer.
  • ARCHITECTURE.md: profiles, applying handling (state bag + GlobalState), request contract, data ownership.
  • Offline tests (lua5.4 tests/run_tests.lua): field validation, sanitising, router gates, editor and profile lifecycle (version conflict, history / restore, activate, delete rules), public actions. Not shipped.

Related

Cart

Your cart is empty.