
A lightweight, free combat information enhancement script for FiveM servers, featuring dynamic floating damage text, a customizable killfeed UI, and a detailed combat log panel with body part hit analytics.
Get it for free
Features
Dynamic Floating Damage Text
Real-time 3D floating damage numbers and hit icons that clearly differentiate:
- Normal damage
- Armor damage
- Headshots
- Lethal hits
Automatically scales text size based on the target’s distance.
Weapon Icon Killfeed
A modern, highly customizable killfeed that:
- Displays kill distance within a configurable radius.
- Automatically loads weapon icons from popular inventories such as ox_inventory and qs-inventory.
Combat Analytics Log Panel
An in-game combat dashboard opened via chat command that records:
- Player & NPC combat logs
- Damage history
- Weapon information
- Body part hit statistics
Highly Configurable & Optimized
Performance-friendly and easy to customize.
- Toggle damage indicators, hit icons, or clear the screen with client commands.
- Supports custom styling and entity filtering for Players, NPCs, and Animals.
Configuration code
Config = Config or {}
-- Enable damage indicators by default when the resource starts.
Config.DamageDefaultEnabled = true
-- true = only show damage on player targets; false = show damage on players and NPCs.
Config.PlayerTargetsOnly = false
-- Show hit type icons by default.
Config.DamageDefaultIconEnabled = true
-- Floating damage display behavior.
Config.DisplaySetting = {
duration = 1150, -- How long one damage indicator stays visible, in milliseconds.
worldFloat = 0.42, -- Upward movement amount in world coordinates.
randomScreenOffset = 14, -- Random screen offset for repeated hits on the same target, in pixels.
deadText = "KILL", -- Text marker used for kills.
headText = "HEAD", -- Fallback text marker used for headshots.
armorText = "ARMOR", -- Fallback text marker used for armor hits.
showDeadLabel = true, -- Allow kill text markers.
showHeadLabel = true, -- Allow headshot text markers.
showArmorLabel = true, -- Allow armor text markers.
Color = {
head = "yellow", -- Color used for headshot hits.
armor = "#3989ff", -- Color used for armor hits.
health = "#31a372", -- Color used for normal health damage.
dead = "#800" -- Color used for kill indicators.
}
}
-- Floating damage font size range. Farther targets use values closer to min.
Config.DamageFontSizeSetting = {
min = 1.0, -- Minimum visible font size.
max = 1.8 -- Font size used at the closest distance.
}
-- Hit sound settings.
Config.SoundSetting = {
active = true, -- Play hit notification sounds.
soundUrl = "sounds/hit.ogg", -- Audio file for normal hits.
headSoundUrl = "sounds/headshot.ogg", -- Audio file for headshots.
volume = 0.35, -- Normal hit volume.
headVolume = 0.45, -- Headshot volume.
frequency = 720, -- Generated normal hit pitch when no audio file is available.
headFrequency = 1080, -- Generated headshot pitch when no audio file is available.
duration = 70, -- Generated normal hit sound duration.
headDuration = 90 -- Generated headshot sound duration.
}
-- Maximum distance where damage indicators can be seen.
Config.VisibleDistance = 120.0
-- Client health scan interval. Lower values react faster but cost more.
Config.HealthScanInterval = 80
-- Enable /spawnped for creating a test NPC.
Config.SpawnPedTestCommand = true
-- Enable /damagetest for manually creating one damage indicator.
Config.DamageTestCommand = false
-- Damage record and query panel settings.
Config.DamageRecordSetting = {
enabled = true, -- Record damage data.
recordNPCDamage = true, -- Record damage dealt to NPCs.
command = "damagelog", -- Command used to open the damage record panel.
commandDesc = "Open damage records",
clientFlushInterval = 5000, -- Client batch upload interval, in milliseconds.
clientBatchSize = 25 -- Upload immediately after this many client-side records.
}
-- Chat command settings.
Config.CommandSetting = {
indicator = {
active = true, -- Register the damage display toggle command.
command = "damage", -- Damage display toggle command name.
desc = "Toggle damage number display"
},
icon = {
active = true, -- Register the icon display toggle command.
command = "damageicon", -- Hit icon toggle command name.
desc = "Toggle hit icon display"
},
fix = {
active = true, -- Register the clear-screen command.
command = "damagefix", -- Command name used to clear current floating indicators.
desc = "Clear current screen damage indicators"
}
}
-- Kill feed toggle settings. Field names stay compatible with mz_killinfo.
Config.ToggleKillfeed = {
enable = true,
startHide = false,
commandName = "killfeed"
}
-- Kill feed display duration, in milliseconds.
Config.time = 5000
-- Maximum kill feed lines kept on screen.
Config.maxLines = 5
-- Nearby kill feed visibility range.
Config.Radius = {
enable = true,
Radius = 80.0
}
-- Show kill distance.
Config.showKillDistance = true
-- NPC kill feed settings.
Config.NPCs = {
enable = true,
Label = "NPC",
Names = {
Male = {
"Ahmed", "Mohammed", "Ali", "Omar", "Hassan",
"Khaled", "Youssef", "Amir", "Nasser", "Sami",
"Hamza", "Tariq", "Adel", "Karim", "Rami",
"Fadi", "Bilal", "Zain", "Sultan", "Ziad",
"Jad", "Elias", "Oliver", "Liam", "Ethan",
"Aiden", "Noah", "Mason", "Caden", "Jackson",
"Lucas", "Avery", "Jayden", "Logan", "Carter",
"Muhammad", "Adam", "Daniel", "Ryan", "David",
"Nathan", "Tyler", "Michael", "Christopher", "Matthew",
"Benjamin", "Joseph", "Samuel", "Alexander", "William",
"Jonathan", "Nicholas", "John", "Elijah", "Daniel"
},
Female = {
"Aisha", "Fatima", "Layla", "Zahra", "Sara",
"Leila", "Noura", "Yara", "Jana", "Mia",
"Lina", "Maya", "Hana", "Amira", "Farida",
"Amina", "Dana", "Rana", "Lamia", "Dalal",
"Emma", "Sophia", "Olivia", "Ava", "Isabella",
"Mia", "Amelia", "Harper", "Evelyn", "Abigail",
"Emily", "Elizabeth", "Sofia", "Ella", "Madison",
"Scarlett", "Grace", "Chloe", "Lily", "Aria",
"Aubrey", "Zoe", "Hannah", "Nora", "Lillian",
"Addison", "Eleanor", "Natalie", "Layla", "Lucy"
}
}
}
-- Animal target display settings.
Config.Animals = {
enable = true,
Label = "Animal"
}
-- Kill feed weapon icon settings.
Config.Images = {
active = "ox_inventory", -- Current image source name.
sources = {
{ name = "ox_inventory", path = "nui://ox_inventory/web/images/" },
{ name = "qs-inventory", path = "nui://qs-inventory/html/images/" },
{ name = "core_inventory", path = "nui://core_inventory/html/images/" }
},
extension = ".png"
}
-- Kill feed style and position.
Config.KillFeedStyle = {
side = "left", -- left / right, show on the left or right side of the screen.
top = "48%", -- Position from the top of the screen.
edgeOffset = "1.5rem", -- Distance from the side edge.
width = "auto", -- auto or a fixed width, for example "28rem".
maxWidth = "38rem", -- Maximum width.
scale = 1.4, -- Overall scale.
gap = "0.45rem", -- Spacing between kill feed lines.
opacity = 1.0, -- Overall opacity.
backgroundOpacity = 0.07, -- Single line background opacity.
weaponBackgroundOpacity = 0.12 -- Weapon area background opacity.
}
-- Debug mode. Enables extra client logs when true.
Config.DebugMode = false
| Code is accessible | No |
| Subscription-based | No |
| Lines (approximately) | ~2000 |
| Requirements | qb/qbox/esx |
| Support | Yes |