OrigenNetwork
Docs

Configuration · origen_vehiclehandling

All settings live in config.lua.


General

VariableDefaultDescription
Config.DebugfalsePrint debug messages to the server and client console
Config.CheckInterval2000Milliseconds between each vehicle handling sync check on the client
Config.Hotkey'F4'Default key to open the handling panel while inside a vehicle
Config.FocusHotkey'LMENU'Default key to toggle NUI mouse focus
Config.Locale'en'Active UI language — 'en' or 'es' built-in

While inside the NUI, focus can also be toggled with G (hardcoded internal control).


Config.Vehicles

Handling presets loaded at resource start from the config file. These entries are merged with the database; database values take priority for the same model.

lua
Config.Vehicles = {
    ['Police'] = {
        ['hvaleutian'] = {
            maxSpeed  = 220.0,
            driveForce = 0.35,
            gears      = 6,
            shiftSpeed = 1.2,
        },
    },
}

The outer key is the category name; the inner key is the vehicle spawn name. All handling fields are optional — any omitted value uses the database or GTA default.

Supported handling fields:

FieldNative paramDefault
maxSpeedfInitialDriveMaxFlatVel150.0
driveForcefInitialDriveForce0.2
gearsnInitialDriveGears6
shiftSpeedfClutchChangeRateScaleUpShift1.0
brakeForcefBrakeForce0.5
brakeBiasfBrakeBiasFront0.5
steeringLockfSteeringLock40.0
tractionMaxfTractionCurveMax2.5
tractionMinfTractionCurveMin2.0
tractionBiasfTractionBiasFront0.5
tractionLossfTractionLossMult1.0
suspensionForcefSuspensionForce2.0
suspensionHeightfSuspensionUpperLimit0.0
suspensionLowerLimitfSuspensionLowerLimit-0.1
suspensionCompfSuspensionCompDamp1.0
suspensionReboundfSuspensionReboundDamp1.0
massfMass1500.0
dragCoefffInitialDragCoeff10.0
driveBiasfDriveBiasFront0.5
inertiafDriveInertia1.0
antiRollBarfAntiRollBarForce0.5
rollCentreFrontfRollCentreHeightFront0.0
rollCentreRearfRollCentreHeightRear0.0
collisionMultfCollisionDamageMult1.0
engineMultfEngineDamageMult1.0
deformationMultfDeformationDamageMult1.0

Config.Permissions

Controls who can open and use the handling panel.

lua
Config.Permissions = {
    UseOrigenAdmin         = true,
    UseFrameworkFallback   = true,
    UseAceFallback         = true,
    EnableLicenseWhitelist = true,
    AllowedLicenses        = {
        -- 'license:1234567890abcdef1234567890abcdef12345678',
    }
}
FieldDefaultDescription
UseOrigenAdmintrueCheck permissions via origen_admin:HasPermission when the resource is running
UseFrameworkFallbacktrueAllow QBCore admin/god groups or ESX admin/superadmin groups
UseAceFallbacktrueAllow players with origen.vehiclehandling, admin, or command ACE nodes
EnableLicenseWhitelisttrueGrant access to identifiers listed in AllowedLicenses
AllowedLicenses{}List of license: or license2: identifiers that always have access

The permission chain is evaluated in this order: whitelist → origen_admin → ACE origen.vehiclehandling → framework group → ACE admin/command.


Config.Notify

Configures the in-game notification provider.

lua
Config.Notify = {
    provider = 'origen_notify',
    title    = 'Vehicle Handling',
    duration = 5000
}
FieldDefaultDescription
provider'origen_notify'Notification backend — 'origen_notify' | 'ox_lib' | 'qbcore' | 'esx' | 'chat' | 'custom'
title'Vehicle Handling'Title shown in the notification (where the provider supports it)
duration5000Duration in milliseconds

Config.CustomNotify

Used only when Config.Notify.provider = 'custom'. Define your own function:

lua
Config.CustomNotify = function(message, msgType, duration, title)
    -- message  : string  — notification body
    -- msgType  : string  — 'success' | 'error' | 'info'
    -- duration : number  — milliseconds
    -- title    : string  — notification title
end

Example — ox_lib:

lua
Config.CustomNotify = function(message, msgType, duration, title)
    if lib and lib.notify then
        lib.notify({
            title       = title,
            description = message,
            type        = msgType,
            duration    = duration,
        })
    end
end

Config.Locales

Built-in translations. Two locales ship with the resource (en and es). To add a custom locale, extend the table and set Config.Locale to its key:

lua
Config.Locale = 'pt'
 
Config.Locales = {
    -- ... existing locales ...
    pt = {
        confirm = 'Confirmar',
        -- ... add all keys ...
    }
}

Commands

The following chat/console commands are registered on the client:

CommandRestrictedDescription
/vhNoStart Live Handling on the current vehicle (must be the driver)
/vhnew [model] [category]NoOpen Live Handling for a specific model — spawns the vehicle if needed
/vhmenuNoOpen the main handling panel (categories and vehicle list)
/vhsaveNoSave the active live session to the database
/vhdiscardNoDiscard the active live session without saving
openHandlingV2Yes (ACE)Open the handling panel — intended for admin keybinds
toggleHandlingFocusYes (ACE)Toggle NUI mouse focus

/vh and /vhnew open the Live Handling editor directly on a vehicle, bypassing the main panel. Both require the player to have live-edit permission (origen.vehiclehandling.liveedit or full management access).