Skip to content

Configuration

This page documents the main configuration options available in config.lua.

Config.Framework = 'esx' -- Options: 'esx', 'qb' (default: 'esx')
Config.AmbulanceJob = 'ambulance'

Select your FiveM framework. Default is QBCore.

Config.MutePlayerOnDead = false -- Mute players while dead
Config.HealthRechargeMultiplier = 0.0 -- Health recharge (0.0 = none, 1.0 = full)
Config.NotificationLocation = 'top' -- 'top', 'top-right', 'top-left', 'bottom', etc.
Config.ProgressCircle = true
Config.DeathLogs = true -- Log player deaths via Discord webhook
Config.ReviveLogs = true -- Log admin revives via Discord webhook
Config.LogIPaddresse = true -- Include IP addresses in logs

Configure webhook URLs in server/sv_customize.lua.

Config.BagProp = 'xm_prop_x17_bag_med_01a' -- Medical bag prop
Config.StretcherProp = 'prop_ld_binbag_01' -- Stretcher prop
Config.StretcherGroundOffset = 0.85 -- Height offset for stretcher
Config.StretcherKey = 38 -- Key to place stretcher (E)
Config.LastStand = true -- Enable two-stage death
Config.AutoRespawn = true -- Auto respawn after timer
Config.RespawnTimer = 1 * Minutes -- Time before optional respawn
Config.BleedoutTimer = 5 * Minutes -- Time before forced respawn
Config.EnableAnimReset = false -- Reset animations
Config.DisableDeathAnimation = false -- Disable death animation
Config.DisableLastStandCrawl = false -- Disable crawling in last stand
Config.LastStandTickTime = 10 * Seconds -- Health deduction interval
Config.DeathScreenEffects = false -- Dark overlay when dead
Config.EnableExtremeEffects = true -- Enable critical effects
Config.DeathAnimation = {
anim = 'mini@cpr@char_b@cpr_def',
lib = 'cpr_pumpchest_idle'
}
Config.EnableInjury = true -- Enable injury tracking
Config.InjuryChance = 70 -- Chance of injury (0-100)
Config.InjuryNotification = true -- Show injury notifications
Config.InjuryNotificationFrequency = 1 * Minutes
Config.DamageDetectThreshold = {
armour = 15, -- Damage threshold through armour
health = 10 -- Damage threshold to health
}
Config.PreventJumpingInjuries = true -- Prevent jumping when injured
Config.BleedingMultiplier = {
shot = 2, -- Bleeding rate for gunshot
stabbed = 2, -- Bleeding rate for stab
beat = 1, -- Bleeding rate for blunt force
burned = 1 -- Bleeding rate for burns
}
Config.TreatmentTime = 9 * Seconds
Config.DiagnoseTime = 7 * Seconds
Config.HealthAfterRevive = {
shot = 60, -- Health after gunshot revive
stabbed = 50, -- Health after stab revive
beat = 40, -- Health after beat revive
burned = 20 -- Health after burn revive
}
Config.ItemsNeededForTreatment = {
shot = 'tweezers', -- Item for gunshot wounds
stabbed = 'suturekit', -- Item for stab wounds
beat = 'icepack', -- Item for blunt force
burned = 'burncream' -- Item for burns
}
Config.InjuryBypassWeaponsList = {
`WEAPON_FLARE`, `WEAPON_UNARMED`, `WEAPON_STUNGUN`,
`WEAPON_SNOWBALL`, `WEAPON_DROWNING`, `WEAPON_SMOKEGRENADE`,
`WEAPON_FIREEXTINGUISHER`, `WEAPON_DROWNING_IN_VEHICLE`
}
Config.EnablePainPills = true -- Enable pain medication system
Config.PhoneDistress = false -- Phone distress signal feature
Config.MythicHospital = false -- Use old MythicHospital injury system
Config.MedicineList = {
['morphine10'] = { label = 'Morphine 10MG', duration = 50, level = 5 },
['morphine30'] = { label = 'Morphine 30MG', duration = 120, level = 9 },
['percocet5'] = { label = 'Percocet 5MG', duration = 30, level = 2 },
['percocet10'] = { label = 'Percocet 10MG', duration = 45, level = 4 },
['percocet30'] = { label = 'Percocet 30MG', duration = 60, level = 6 },
['vicodin5'] = { label = 'Vicodin 5MG', duration = 20, level = 2 },
['vicodin10'] = { label = 'Vicodin 10MG', duration = 40, level = 3 }
}
Config.Inventory = 'ox' -- Inventory system
Config.RemoveItemsOnDeath = false -- Clear inventory on death

Supported: ox, qb, qs, mf, esx, ak47, custom — Note: ‘ps’ (ps-inventory) and ‘lj’ (lj-inventory) are qb-based options

Config.InventoryImage = 'nui://ox_inventory/web/images/' -- Path to item images

Set to false to disable custom image paths.

Config.FuelSystem = 'default' -- 'legacy', 'ox', 'ps', 'default'
Config.EnableAmbulanceDriveFeature = true -- NPC driver transport
Config.DrivingStyleFlag = 828 -- Driving style flag
Config.VehicleSpeed = 35 / 2.23694 -- Speed in MPH (converted)
Config.AmbulanceOffsets = {
['ambulance'] = {
trunkAsBackDoor = false,
pos = { x = 0.0, y = -3.0, z = 0.68 },
rot = { x = -1.3, y = 0.0, z = 90.0 }
}
}
Config.Bandages = {
enabled = false, -- Enable bandage system
item = 'bandage', -- Bandage item name
HealthRegen = 30, -- Health restored
duration = 7 * Seconds -- Application time
}
Config.PoliceCanTreat = {
enabled = true, -- Allow police to treat patients
jobs = { -- Jobs that can treat
'police',
'sheriff'
}
}
Config.BillingSystem = 'esx' -- 'okok', 'qb', 'esx', 'pefcl', false
Config.TargetSystem = true -- Enable qtarget, qb-target, ox_target
Config.JobMenu = 'F6' -- Key to open EMS menu
Config.OXMenu = {
enabled = false,
position = 'bottom-right'
}
Config.UseRadialMenu = false -- Requires ox_lib 3.0+
Config.EnabledKeys = {
onDead = { 1, 2, 38, 46, 47, 245 }, -- Controls while dead
onStretcher = { 1, 2, 38, 46, 245, 249 } -- Controls on stretcher
}

See controls documentation for key IDs.

Config.GPSBlips = {
enabled = false,
refreshrate = 5,
item = false
}
Config.MessagePosition = {
respawn = { x = 0.50, y = 0.80 }, -- Respawn text position
bleedout = { x = 0.50, y = 0.80 }, -- Bleedout text position
distress = { x = 0.1750, y = 0.80 } -- Distress signal position
}
Config.EMSItems = {
sedate = { item = 'sedative', duration = 8 * Seconds, remove = true },
heal = {
item = 'medikit',
duration = 5 * Seconds,
remove = true, -- Remove medikit after use
healInjurys = false, -- Heal injuries on use
allowReviveLaststand = false, -- Enable laststand revive feature
reviveRange = 2.0, -- Detection range (units)
laststandReviveHealth = 40 -- Health on revive (uses GetEntityMaxHealth)
},
revive = { item = 'defibrillator', remove = false },
medbag = 'medbag'
}

The heal configuration now includes optional medikit laststand revive functionality:

OptionTypeDefaultDescription
allowReviveLaststandbooleanfalseEnable players to revive nearby laststand players with medikits
reviveRangenumber2.0Detection range for finding laststand players (in units)
laststandReviveHealthnumber40Health amount when reviving from laststand (1-200, where 200 is default max)

When enabled, players using a medikit near a player in laststand will see a context menu with two options:

  • Heal Yourself (heart icon) - Use medikit on self (original behavior)
  • Revive [Player Name] (user icon) - Use medikit to revive the downed player

The revived player receives partial health (20% by default) and needs proper medical attention.

Technical Implementation:

  • Uses ox_lib context menu system (lib.registerContext and lib.showContext)
  • Event handlers: ars_ambulance:medikitHealSelf and ars_ambulance:medikitReviveTarget
  • Icons provide visual clarity for quick selection
  • Menu closes automatically after selection or cancellation

Enable with default settings (20% health):

Config.EMSItems.heal.allowReviveLaststand = true

Custom revive health (30% of max):

Config.EMSItems.heal.allowReviveLaststand = true
Config.EMSItems.heal.laststandReviveHealth = 60 -- 30% of default 200 max health

Increase detection range:

Config.EMSItems.heal.allowReviveLaststand = true
Config.EMSItems.heal.reviveRange = 3.5 -- Larger detection area
  • Uses GetEntityMaxHealth() for dynamic max health detection
  • Server-side validation prevents exploits (distance checks, player validation)
  • Works with both ESX and QBCore frameworks
  • Complete locale support (7 languages)
  • Backwards compatible (disabled by default)
  • See README for full documentation
Config.CrutchAndWheelchair = {
crutch = {
useable = true,
maxAssignTime = 10,
item = 'crutch',
disableOnDeath = true,
crutchOnBleedout = 3,
crutchOnCheckOut = 3
},
wheelchair = { useable = true, maxAssignTime = 10, item = 'wheelchair' }
}
  • crutchOnBleedout and crutchOnCheckOut are both measured in minutes.
  • Set either value to false to disable the automatic crutch assignment.
  • crutchOnCheckOut is the recommended setting for automatic crutch assignment after leaving a hospital bed.
Config.StandaloneCheckIns = {
Prison = {
Target = {
enabled = true,
label = 'Check In',
coords = vec3(1729.03, 2563.33, 45.56),
heading = 63.26,
distance = 5.0,
width = 2.0,
length = 1.0,
minZ = 43.28 - 1.0,
maxZ = 43.28 + 1.0
},
Ped = 's_m_m_scientist_01',
Coords = vec3(1729.03, 2563.33, 45.56 - 1.0),
Distance = 4.85,
Heading = 181.42,
Cost = 500,
Duration = 15 * Seconds,
PayAccount = 'bank',
Label = '[E] - Check In',
HotKey = 38,
DisableHospitalBeds = true,
HospitalBeds = {
{ coords = vec3(317.67, -585.37, 42.84), heading = 160.0, model = 1631638868 }
}
}
}

Add custom check-in locations here.

Config.ReviveRewards = {
enabled = true,
accountType = 'money',
burned = 2000,
beat = 1800,
stabbed = 1500,
bleedout = 1200,
shot = 1000
}
Config.AntiCombatLog = {
enabled = false,
notification = { enabled = true }
}
Config.DeathScreenOverlay = {
enabled = true,
giveUpHoldTime = 60,
revealKillerIdentity = true
}
Config.LowHealthAlert = {
enabled = false,
health = 40,
notification = {
title = 'ATTENTION',
description = 'You are low on health, please take care of yourself!'
}
}
Config.KnockoutSettings = {
enabled = true, -- Enable knockout system
knockoutDuration = 10, -- How long player stays knocked out
knockoutWeapon = `WEAPON_UNARMED` -- Weapon that triggers knockout
}

Located in modules/knockedout/config.lua.


Note: This guide is written by a third party. If you find any incorrect or outdated information, please contact us on Discord so we can update it for you.