General
UI
Config.Debug = false
Config.Notify = 'kartik' -- kartik (built-in UI) | ox_lib | qb | esx
Config.Progress = 'kartik' -- kartik | ox_lib | ox_lib_circle | qb (progressbar) | esx (esx_progressbar)
Config.TextUI = 'kartik' -- key prompts ("[E] Interact"): kartik | ox_libThe callout HUD, interaction menu, offers and tablet always use the built-in UI. These options only change notifications, progress bars and key prompts.
Services
Which jobs work each service. dispatchJobs receive that service's dispatch calls.
Config.Services = {
police = { label = 'Police', icon = 'shield', jobs = { 'police', 'sheriff', 'bcso', 'sasp' }, dispatchJobs = { 'police' } },
ambulance = { label = 'EMS', icon = 'ambulance', jobs = { 'ambulance', 'ems' }, dispatchJobs = { 'ambulance' } },
fire = { label = 'Fire', icon = 'flame', jobs = { 'fire', 'safd' }, dispatchJobs = { 'fire' } },
tow = { label = 'Tow', icon = 'truck', jobs = { 'tow', 'mechanic' }, dispatchJobs = { 'tow', 'mechanic' } },
}Keep the service ids (police, ambulance, fire, tow). Callouts, backup and joint scenes refer to them. Change only label, icon and the job lists.
Shift
Config.Shift = {
requireJob = true, -- only jobs in Config.Services can start that service
dutyOnShiftStart = true, -- starting a shift puts you on duty
endShiftOnDutyOff = true, -- going off duty ends the shift
startShiftOnDuty = false, -- going on duty starts a shift automatically
}MDT status
Status ids from your MDT's Config.Statuses. false skips that step.
Config.Status = {
enabled = true,
onShiftStart = 'available',
onShiftEnd = 'unavailable',
onAccept = 'enroute',
onArrive = 'onscene',
onCalloutEnd = 'available',
onPullover = 'traffic',
onPulloverEnd = 'available',
onPursuit = 'busy',
onPursuitEnd = 'available',
}Keys
Config.Keys = {
tablet = '', -- no default key, use /ers (or set e.g. 'F7')
interact = 'E',
pullover = 'G',
accept = 'Y',
decline = 'N',
command = 'J', -- orders for your AI units
}
Config.TabletCommand = 'ers'A player's binding is saved the first time they join. Changing a default here later does not move existing bindings. Players change them in Settings → Key Bindings → FiveM.
Tablet
Config.TabletMode = 'auto' -- 'auto' = ERS app inside Kartik MDT when it runs, else built-in | 'ers' = always built-in
Config.MdtTablet = true -- list the ERS app inside Kartik MDTRecords
Config.Records = {
pushToMDT = true, -- create MDT profiles / vehicles so officers can search NPCs
pushWarrants = true, -- wanted NPCs get an active MDT warrant
flagVehicles = true, -- stolen / BOLO vehicles flagged in the MDT
idPrefix = 'ERS', -- NPC citizen ids look like ERS-1A2B3C4D
retentionDays = 14, -- delete ERS records not seen for X days (0 = keep). MDT profiles are kept
sessionLimit = 30, -- encounters kept in the tablet per officer
}Locations
Config.Locations = {
radius = 12.0, -- how close to a jail / hospital to hand someone over
routeOnArrest = true, -- GPS route to the nearest station after an arrest
markers = true, -- markers at stations / hospitals while you have someone to hand over
jails = {
{ label = 'Mission Row PD', coords = vec3(452.6, -1017.4, 28.4) },
{ label = 'Sandy Shores SO', coords = vec3(1855.9, 3682.3, 34.2) },
{ label = 'Paleto Bay SO', coords = vec3(-448.4, 6012.6, 31.7) },
{ label = 'Bolingbroke', coords = vec3(1846.3, 2585.9, 45.7) },
},
hospitals = {
{ label = 'Pillbox Medical', coords = vec3(294.6, -600.8, 43.3) },
{ label = 'Sandy Shores Med.', coords = vec3(1839.4, 3672.9, 34.3) },
{ label = 'Paleto Bay Med.', coords = vec3(-247.8, 6331.2, 32.4) },
},
}Using an MLO? Move these to its entrance.
Rewards
Paid from server/open/hooks.lua, so you can change how and where.
Config.Rewards = {
enabled = true,
account = 'bank',
calloutComplete = 250,
arrest = 150,
citation = 50,
patientDelivered = 150,
}Dispatchers
Who can send callouts to other units from the tablet.
Config.Dispatcher = {
ace = 'kartik-ers.dispatcher',
jobs = { police = 3, ambulance = 3 }, -- job = minimum grade
}
Config.Leaderboard = { size = 10 }To give someone dispatcher access by ace:
add_ace group.admin kartik-ers.dispatcher allow