⚙️API
Access tablet functionality from other scripts
Most export functions are called on client side, unless it has a note saying it's a server export.
Main
openTablet
---@param isSmall boolean
exports['sb-handlingtuning']:openTablet(isSmall)
resetHandlingToDefault
---@param vehicle ?number
exports['sb-handlingtuning']:resetHandlingToDefault(vehicle)
applyHandlingOnVehicle
---Apply handling data on vehicle entity (does not create new)
---@param vehicle number
---@param handlingData any
exports['sb-handlingtuning']:applyHandlingOnVehicle(vehicle, handlingData)
assignHandlingToVehicle
---Assign new handling data to vehicle
---@param vehicle number
---@param handlingData any
exports['sb-handlingtuning']:assignHandlingToVehicle(vehicle, handlingData)
applyHandlingValue
---Apply a single value to vehicle handling
---@param vehicle number
---@param key string
---@param value number | vector3
---@param ignoreLimit boolean
exports['sb-handlingtuning']:applyHandlingValue(vehicle, key, value, ignoreLimit)
Additional handlings
With additional handlings you can feel free to express your imagination by modifying vehicle's handling values depending on various conditions or custom tuning parts.
setAdditionalHandling
Allows you to set a new additional handling
---@param vehicle number | nil
---@param slotName string
---@param uniqueId string
---@param metadata table<string | 'enableHandlingFields', any>
---@param save boolean
exports['sb-handlingtuning']:setAdditionalHandling(vehicle, slotName, handlingData, save)
Arguments
vehicle:
number | nil
Vehicle which the additional handling will be assigned to defaults to vehicle player is sitting in.
slotName:
string
Used to identify slot. If another additional handling would be installed on the same slot, the old one would get replaced
uniqueId:
string
Unique id for the handling
metadata:
table<string | 'enableHandlingFields', any>
Data that will be assigned to the vehicle. Can have handling data
{fSteeringLock = 15.0}
, enable handling fields {enableHandlingFields = {'fSteeringLock'}}
or any other variable you'd want to assign to the vehicle to use for other scripts{myVariable = 7.5, myCoolVariable = false}
save:
boolean
If you want this handling to be saved in database set this to true
Example
RegisterCommand('installmod', function(source, args)
if args[1] == 'steeringLock' then
local metadata = {
}
exports['sb-handlingtuning']:setAdditionalHandling(
,
,
,
metadata,
)
return
end
if args[1] == 'engineecu' then
local metadata = {
,
,
}
local vehicle = GetVehiclePedIsIn(PlayerPedId())
exports['sb-handlingtuning']:setAdditionalHandling(
vehicle,
,
,
metadata,
,
)
end
end
---@param veh number | nil
---@param slotName string
---@param save boolean
exports['sb-handlingtuning']:removeAdditionalHandling(vehicle, slotName, save)
Arguments
vehicle:
number | nil
Vehicle which the additional handling will be assigned to defaults to vehicle player is sitting in.
slotName:
string
Used to identify slot from which the mod should be removed.
save:
boolean
If you want this change to be saved in database set this to true
enableAdditionalHandlings
---@param vehicle number | nil
exports['sb-handlingtuning']:enableAdditionalHandlings(vehicle)
disabledAdditionalHandlings
---@param vehicle number | nil
exports['sb-handlingtuning']:disabledAdditionalHandlings(vehicle)
applyAdditionalHandlings
---@param vehicle numer | nil
---@param handlings any
exports['sb-handlingtuning']:applyAdditionalHandlings(vehicle, handlings)
isAdditionalHandlingSlotEnabled
---@param slotName any
---@return boolean
exports['sb-handlingtuning']:isAdditionalHandlingSlotEnabled(slotName)
isAdditionalHandlingEnabled
---@param uniqueId any
---@return boolean
exports['sb-handlingtuning']:isAdditionalHandlingEnabled(uniqueId)
Engine Swap
Engine swaps allows you to assign handling data from another vehicle that is saved in default handlings
setVehicleEngineSwap
---@param vehicle number | nil
---@param modelHash string
exports['sb-handlingtuning']:setVehicleEngineSwap(vehicle, modelHash)
Drift
setDriftMode
---@param toggle boolean
exports['sb-handlingtuning']:setDriftMode(toggle)
isDriftModeEnabled
exports['sb-handlingtuning']:isDriftModeEnabled()
getVehicleDifferentialMod
---Gets vehicle differential mod used for drift mode
---@param vehicle number
---@return 'lsd'|'open'|'welded'
exports['sb-handlingtuning']:getVehicleDifferentialMod(vehicle)
getDriftAngle
---@param vehicle number
---@return number
exports['sb-handlingtuning']:getSlideAngle(vehicle)
getDriftHeat
---@return number
exports['sb-handlingtuning']:getDriftHeat()
isDrifting
---@return boolean
exports['sb-handlingtuning']:getDriftHeat()
resetDataForDrift
---@param vehicle number | nil
exports['sb-handlingtuning']:resetDataForDrift(vehicle)
Nitro
setNitro
---Sets the nitro
---@param value boolean
exports['sb-handlingtuning']:setNitro(value)
toggleNitro
---Toggles the nitro
---@return boolean
exports['sb-handlingtuning']:toggleNitro()
getNitroTankLevel
---@param vehicle number
---@return number
exports['sb-handlingtuning']:getNitroTankLevel(vehicle)
getNitroTankSize
---@param vehicle number
---@return number
exports['sb-handlingtuning']:getNitroTankSize(vehicle)
setNitroTankLevel
---@param vehicle number
---@param level number
exports['sb-handlingtuning']:setNitroTankLevel(vehicle, level)
saveNitroLevel
---@param vehicle number
exports['sb-handlingtuning']:saveNitroLevel(vehicle)
Stance
setFrontCamber
---@param vehicle number
---@param val number
exports['sb-handlingtuning']:setFrontCamber(vehicle, val)
setRearCamber
---@param vehicle number
---@param val number
exports['sb-handlingtuning']:setRearCamber(vehicle, val)
setFrontWheelOffset
---@param vehicle number
---@param val number
exports['sb-handlingtuning']:setFrontWheelOffset(vehicle, val)
setRearWheelsOffset
---@param vehicle number
---@param val number
exports['sb-handlingtuning']:setRearWheelsOffset(vehicle, val)
Last updated
Was this helpful?