Client Overrides
These are the client-side manual compatibility overrides from the current Bridge build.
Use this page when you need client-side compatibility for an unsupported or custom setup.
Paste these overrides into fs_bridge/unlocked/client.lua.
Each item below is its own expandable section. Open one to see description, arguments, return value, and example code.
Ambulance
IsPlayerDowned
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
| Name | Type | Required | Notes |
|---|---|---|---|
source | number | No | Optional player source if your ambulance system supports it |
Returns:
boolean
Override code:
function Override.IsPlayerDowned(source)
if source then
return exports['your_ambulance']:isPlayerDowned(source)
else
return exports['your_ambulance']:isPlayerDowned()
end
endNotes:
- this override is client-side
- Bridge resolves this through the ambulance compatibility layer
IsPlayerDead
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
| Name | Type | Required | Notes |
|---|---|---|---|
source | number | No | Optional player server ID / ped if checking another player, or nil for local player |
Returns:
boolean
Override code:
function Override.IsPlayerDead(source)
if source then
return exports['your_ambulance']:isPlayerDead(source)
else
return exports['your_ambulance']:isPlayerDead()
end
endNotes:
- this override is client-side
- Bridge resolves this through the ambulance compatibility layer
GetAmbulanceResourceName
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
- none
Returns:
stringresource namenilif you do not want to report one
Override code:
function Override.GetAmbulanceResourceName()
return 'your_ambulance'
endNotes:
- this override is client-side
- return the exact started resource folder name
Banking
OpenBossMenu
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
| Name | Type | Required | Notes |
|---|---|---|---|
job | string | Yes | Job name for the boss menu |
Returns:
- optional result from your banking resource
Override code:
function Override.OpenBossMenu(job)
return exports['your_banking']:openBossMenu(job)
endNotes:
- use the exact export or event name from your banking resource
- this override is client-side
GetBankResourceName (Client)
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
- none
Returns:
stringresource namenilif you do not want to report one
Override code:
function Override.GetBankResourceName()
return 'your_banking'
endNotes:
- return the exact started resource folder name
- if you also need this on the server side, define the same function in
fs_bridge/unlocked/server.lua
Clothing
ResetPedCurrentScriptSkin
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
- none
Returns:
- optional result from your clothing resource
Override code:
function Override.ResetPedCurrentScriptSkin()
TriggerEvent('your_clothing:resetSkin')
endNotes:
- this override is client-side
- replace the example event with your real clothing reset event or export
SavePedCurrentScriptSkin
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
- none
Returns:
- optional result from your clothing resource
Override code:
function Override.SavePedCurrentScriptSkin()
TriggerServerEvent('your_clothing:saveSkin')
endNotes:
- this override is client-side
- replace the example event with your real clothing save flow
GetClothingResourceName
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
- none
Returns:
stringresource namenilif you do not want to report one
Override code:
function Override.GetClothingResourceName()
return 'your_clothing'
endNotes:
- return the exact started resource folder name
- this override is client-side
Dispatch
AddCustomDispatch
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
| Name | Type | Required | Notes |
|---|---|---|---|
argument.Job | table | Yes | Target jobs |
argument.Location | vector3 | Yes | Dispatch location |
argument.CallCode.Code | string | No | Dispatch call code |
argument.CallCode.Title | string | No | Dispatch title |
argument.Message | string | Yes | Main dispatch message |
argument.Flashes | boolean | No | Flash state |
argument.Image | string | No | Optional image URL |
argument.icon | string | No | Dispatch icon |
argument.Blip | table | No | Blip settings |
Returns:
- optional result from your dispatch resource
Override code:
function Override.AddCustomDispatch(argument)
return exports['your_dispatch']:sendAlert(argument)
endNotes:
- this override is client-side
- Bridge also supports a server-side dispatch override on the server page
GetDispatchResourceName (Client)
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
- none
Returns:
stringresource namenilif you do not want to report one
Override code:
function Override.GetDispatchResourceName()
return 'your_dispatch'
endNotes:
- this override is client-side
- return the exact started resource folder name
Interface
Notification
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
| Name | Type | Required | Notes |
|---|---|---|---|
argument.description | string | Yes | Main notification text |
argument.title | string | No | Notification title |
argument.type | string | No | Example: inform, success, warning, error |
argument.position | string | No | Bridge defaults this to top |
argument.duration | number | No | Bridge defaults this to 5000 |
Returns:
- optional result from your notification resource
Override code:
function Override.Notification(argument)
return exports['your_notify']:notify({
title = argument.title,
description = argument.description,
type = argument.type,
position = argument.position,
duration = argument.duration,
})
endNotes:
- this override is client-side
- Bridge already normalizes string notifications into a table before calling this override
TextUi
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
| Name | Type | Required | Notes |
|---|---|---|---|
text | string | No | Text to show; may be nil when hiding |
options.type | string | No | Example: inform, success, warning, error |
options.icon | string | No | Font Awesome icon |
options.iconColor | string | No | Hex color |
options.position | string | No | Example: right-center, left-center, top-center, bottom-center |
options.iconAnimation | string | No | Example: spin, pulse, bounce, shake |
Returns:
- optional result from your text UI resource
Override code:
function Override.TextUi(text, options)
if not text then
return exports['your_textui']:hideTextUi()
end
return exports['your_textui']:showTextUi(text, options or {})
endNotes:
- this override is client-side
- use one function for both show and hide behavior
SetClipBoard
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
| Name | Type | Required | Notes |
|---|---|---|---|
string | string | Yes | Text to copy |
Returns:
- optional result from your clipboard resource
Override code:
function Override.SetClipBoard(string)
return exports['your_clipboard']:setClipboard(string)
endNotes:
- this override is client-side
- Bridge only calls this when a string is provided
Inventory
OpenStash
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
| Name | Type | Required | Notes |
|---|---|---|---|
argument.name | string | Yes | Unique stash name |
argument.label | string | Yes | Stash label shown in UI |
argument.slots | number | Yes | Slot count |
argument.weight | number | Yes | Max weight |
argument.coords | vector3 | No | Stash location |
argument.jobs | table | No | Job access rules |
argument.identifier | string | No | Owner-linked identifier |
Returns:
- optional result from your inventory resource
Override code:
function Override.OpenStash(argument)
return exports['your_inventory']:openStash({
name = argument.name,
label = argument.label,
slots = argument.slots,
weight = argument.weight,
coords = argument.coords,
jobs = argument.jobs,
identifier = argument.identifier,
})
endNotes:
- this override is client-side
- keep your security checks around
coords,jobs, oridentifier
OpenShop
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
| Name | Type | Required | Notes |
|---|---|---|---|
argument.name | string | Yes | Unique shop name |
argument.label | string | Yes | Shop label shown in UI |
argument.items | table | Yes | Shop item list |
Returns:
- optional result from your inventory resource
Override code:
function Override.OpenShop(argument)
return exports['your_inventory']:openShop({
name = argument.name,
label = argument.label,
items = argument.items,
})
endNotes:
- this override is client-side
- the current Bridge source marks this path as one you should test carefully with your inventory
Phone
GetPhoneResourceName (Client)
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
- none
Returns:
stringresource namenilif you do not want to report one
Override code:
function Override.GetPhoneResourceName()
return 'your_phone'
endNotes:
- return the exact started resource folder name
- if you also need this on the server side, define the same function in
fs_bridge/unlocked/server.lua
Player Status
Hunger
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
| Name | Type | Required | Notes |
|---|---|---|---|
value | number | Yes | 1-100 percentage-style value to add or remove from the current hunger status |
Returns:
- optional result from your status resource
Override code:
function Override.AddHunger(value)
return exports['your_status']:addHunger(value)
end
function Override.RemoveHunger(value)
return exports['your_status']:removeHunger(value)
endNotes:
- Bridge expects
valueto be a numeric1-100percentage-style change on the current hunger status - this override is client-side
Thirst
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
| Name | Type | Required | Notes |
|---|---|---|---|
value | number | Yes | 1-100 percentage-style value to add or remove from the current thirst status |
Returns:
- optional result from your status resource
Override code:
function Override.AddThirst(value)
return exports['your_status']:addThirst(value)
end
function Override.RemoveThirst(value)
return exports['your_status']:removeThirst(value)
endNotes:
- Bridge expects
valueto be a numeric1-100percentage-style change on the current thirst status - this override is client-side
Stress
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
| Name | Type | Required | Notes |
|---|---|---|---|
value | number | Yes | 1-100 percentage-style value to add or remove from the current stress status |
Returns:
- optional result from your stress resource
Override code:
function Override.AddStress(value)
return exports['your_status']:addStress(value)
end
function Override.RemoveStress(value)
return exports['your_status']:removeStress(value)
endNotes:
- Bridge expects
valueto be a numeric1-100percentage-style change on the current stress status - this override is client-side
Health
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
| Name | Type | Required | Notes |
|---|---|---|---|
value | number | Yes | Amount to add or remove |
Returns:
- optional result from your health logic
Override code:
function Override.AddHealth(value)
local ped = PlayerPedId()
SetEntityHealth(ped, GetEntityHealth(ped) + value)
end
function Override.RemoveHealth(value)
local ped = PlayerPedId()
SetEntityHealth(ped, GetEntityHealth(ped) - value)
endNotes:
- this override is client-side
- clamp values if your server needs stricter health limits
Armour
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
| Name | Type | Required | Notes |
|---|---|---|---|
value | number | Yes | 1-100 percentage-style value to add or remove from the current armour |
Returns:
- optional result from your armour logic
Override code:
function Override.AddArmour(value)
local ped = PlayerPedId()
SetPedArmour(ped, math.min(100, GetPedArmour(ped) + value))
end
function Override.RemoveArmour(value)
local ped = PlayerPedId()
SetPedArmour(ped, math.max(0, GetPedArmour(ped) - value))
endNotes:
- Bridge expects
valueto be a numeric1-100percentage-style change on the current armour - this override is client-side
- this example clamps armour between
0and100
Vehicle Fuel
SetFuel
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
| Name | Type | Required | Notes |
|---|---|---|---|
vehicle | number | Yes | Vehicle entity handle |
value | number | No | Fuel amount; Bridge defaults to 100.0 when not provided |
Returns:
- optional result from your fuel resource
Override code:
function Override.SetFuel(vehicle, value)
return exports['your_fuel']:setFuel(vehicle, value)
endNotes:
- this override is client-side
- match the fuel scale used by your fuel resource
GetFuel
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
| Name | Type | Required | Notes |
|---|---|---|---|
vehicle | number | Yes | Vehicle entity handle |
Returns:
numberfuel amount
Override code:
function Override.GetFuel(vehicle)
return exports['your_fuel']:getFuel(vehicle)
endNotes:
- this override is client-side
- Bridge falls back to
0.0if nothing is returned
GetFuelResourceName
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
- none
Returns:
stringresource namenilif you do not want to report one
Override code:
function Override.GetFuelResourceName()
return 'your_fuel'
endNotes:
- this override is client-side
- return the exact started resource folder name
Vehicle Keys
GiveCarKeyPlayer (Client)
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
| Name | Type | Required | Notes |
|---|---|---|---|
vehicle | number | Yes | Vehicle entity handle |
Returns:
- optional result from your vehicle-keys resource
Override code:
function Override.GiveCarKeyPlayer(vehicle)
return exports['your_keys']:giveKeys(vehicle)
endNotes:
- this override is client-side
- use the client-facing give-keys function from your keys resource
RemoveCarKeyPlayer (Client)
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
| Name | Type | Required | Notes |
|---|---|---|---|
vehicle | number | Yes | Vehicle entity handle |
Returns:
- optional result from your vehicle-keys resource
Override code:
function Override.RemoveCarKeyPlayer(vehicle)
return exports['your_keys']:removeKeys(vehicle)
endNotes:
- this override is client-side
- use the client-facing remove-keys function from your keys resource
GetVehicleKeysResourceName (Client)
Description:
Copy this code into fs_bridge/unlocked/client.lua.
Arguments:
- none
Returns:
stringresource namenilif you do not want to report one
Override code:
function Override.GetVehicleKeysResourceName()
return 'your_keys'
endNotes:
- this override is client-side
- return the exact started resource folder name
