return {
-- Allowed groups to use dispatch
---@type string[]
allowedGroups = { 'police', 'ambulance', 'taxi' },
--- Groups that are required to be on duty to use dispatch
---@type string[]
requiredDutyGroups = { 'police', 'ambulance' },
-- Shared between these groups
-- This will share units, drawings, cameras and logs
---@type table<string>
sharedBetweenGroups = {
{ 'police', 'ambulance' },
},
---@type table<string, number>
dispatcher = {
['police'] = 0
},
---@type Status[]
statuses = {
{ name = locale('unit_status_available'), color = '#539D1B', default = true },
{ name = locale('unit_status_unavailable'), color = '#F05B56' },
{ name = locale('unit_status_processing'), color = '#E46211' },
{ name = locale('unit_status_training'), color = '#009DE0' },
{ name = locale('unit_status_undercover'), color = '#2E570F' },
},
---@type QuickDispatchConfig
quickDispatch = {
enabled = true,
allowedGroups = { 'police' },
defaultStyle = 'old',
enabledByDefault = true
},
---@type RadarConfig
radar = {
--- Whether radar is enabled
---@type boolean
enabled = true,
-- if defined, it will enable radar for certain groups
---@type string[]
allowedGroups = { 'police' },
---@type number[]
allowedVehicleClass = { 18 },
---@type string[]
allowedVehicleModels = {},
---@type boolean
enabledByDefault = true,
-- The unit used to display the speed
---@type 'kmh' | 'mph'
speedUnits = 'kmh',
--- The range of entity detection
--- uses GTA units
---@type number
range = 100,
--- The interval in milliseconds, that is used for loop
---@type number
updateInterval = 100,
---@type RadarReceiptConfig
radarReceipts = {
enabled = true,
command = 'radar_receipt',
item = 'radar_receipt',
}
},
---@type ReaderConfig
reader = {
---@type boolean
enabled = true,
---@type string[]
allowedGroups = { 'police' },
---@type number[]
allowedVehicleClass = { 18 },
---@type string[]
allowedVehicleModels = {},
---@type boolean
enabledByDefault = true
},
keybinds = {
-- Opens full dispatch view
-- can be set to `false` or `nil` to disable the keybind
---@type string | boolean | nil
fullView = 'O',
-- Toggle components dragging. Applies to quick dispatch, radar, reader.
-- can be set to `false` or `nil` to disable the keybind
---@type string | boolean | nil
componentsDragging = 'K',
-- Toggle quick dispatch visibility
-- can be set to `false` or `nil` to disable the keybind
---@type string | boolean | nil
quickDispatchVisibility = 'L',
-- Respond to alert in quick dispatch
-- can be set to `false` or `nil` to disable the keybind
---@type string | boolean | nil
quickDispatchRespondToAlert = 'G',
-- Respond to alert in quick dispatch
-- can be set to `false` or `nil` to disable the keybind
---@type string | boolean | nil
quickDispatchJoinRadio = 'J',
-- Respond to alert in quick dispatch
-- can be set to `false` or `nil` to disable the keybind
---@type string | boolean | nil
quickDispatchMarkOnGps = 'H',
-- Toggle radar visibility
-- can be set to `false` or `nil` to disable the keybind
---@type string | boolean | nil
toggleRadar = 'NUMPAD1',
-- Toggle reader visibility
-- can be set to `false` or `nil` to disable the keybind
---@type string | boolean | nil
toggleReader = 'NUMPAD2',
-- Radar and reader lock
-- can be set to `false` or `nil` to disable the keybind
---@type string | boolean | nil
radarLock = 'NUMPAD4',
},
---@type CommandsConfig
commands = {
-- Opens full dispatch view
-- can be set to `false` or `nil` to disable the keybind
---@type string | boolean | nil
toggleFullView = 'dispatch',
},
---@type CallsignConfig
callSign = {
canChange = true,
allowedGroups = { 'police' }
},
---@type boolean
serverSideEntities = false,
---This enables or disables the glass effect on the full view.
--- If you feel any performance hits or flickers, set it to `false`
---@type boolean
useGlassEffect = true,
}