Skip to main content
Complete installation, configuration, payload, event, and theme reference for fnx-pvp-killfeed.
fnx-pvp-killfeed displays kill notifications submitted by another resource. It does not detect kills or save data by itself.

First installation

ensure community_bridge
ensure fnx-pvp-panel
ensure fnx-pvp-killfeed
This resource does not use a database. You do not need to import an SQL file. Start gameplay resources after the killfeed.

First setup

Edit settings/public/client/cfg.lua, restart the resource, then submit a test entry with the Add export described below.

Client configuration

KeyTypeDefaultExplanation
ClientCfg.Feed.positionstring"top-right"Screen anchor used by the feed: top-left, top-right, bottom-left, or bottom-right.
ClientCfg.Feed.offset.xnumber24Horizontal offset in pixels from the selected anchor.
ClientCfg.Feed.offset.ynumber96Vertical offset in pixels from the selected anchor.
ClientCfg.Feed.maxItemsnumber5Maximum entries visible at once. Old entries are removed as this limit is exceeded.
ClientCfg.Feed.durationnumber5500Entry lifetime in milliseconds; 5500 equals 5.5 seconds.
ClientCfg.Feed.showWeaponbooleantrueDisplays the submitted weapon label.
ClientCfg.Feed.showHeadshotbooleantrueDisplays a headshot indicator when the payload reports one.
ClientCfg.Feed.maskNamesbooleantrueEnables name masking. Panel streamer mode can also request masking.

Server configuration

There is no public server cfg. Validate kills inside the authoritative gameplay resource. Never grant rewards from an untrusted client submission.

Shared files

Private shared code initializes internal bridge and utility values. It has no customer-facing keys.

Theme system

Colors are CSS strings; radii are pixel values; fonts are CSS font-family lists.
KeyDefaultExplanation
ClientCfg.Theme.colors.panelBg#0b0b10Main feed background.
ClientCfg.Theme.colors.panelBgStrong#070709Darker background variant.
ClientCfg.Theme.colors.accent#f97316Primary highlight.
ClientCfg.Theme.colors.accentStrong#fb923cStrong active highlight.
ClientCfg.Theme.colors.text#f5f5f5Primary text.
ClientCfg.Theme.colors.mutedTextrgba(245,245,245,0.62)Secondary text.
ClientCfg.Theme.colors.surfacergba(23,23,23,0.62)Normal entry surface.
ClientCfg.Theme.colors.surfaceStrongrgba(10,10,10,0.94)Strong entry surface.
ClientCfg.Theme.colors.borderrgba(255,255,255,0.10)Borders and separators.
ClientCfg.Theme.colors.overlayrgba(0,0,0,0.72)Dark overlay.
ClientCfg.Theme.colors.success#4ade80Positive-state foreground.
ClientCfg.Theme.colors.successBgrgba(34,197,94,0.16)Positive-state background.
ClientCfg.Theme.colors.danger#f87171Danger/kill foreground.
ClientCfg.Theme.colors.dangerBgrgba(239,68,68,0.16)Danger/kill background.
ClientCfg.Theme.colors.warning#fbbf24Warning foreground.
ClientCfg.Theme.colors.warningBgrgba(245,158,11,0.16)Warning background.
ClientCfg.Theme.colors.info#60a5faInformation foreground.
ClientCfg.Theme.colors.infoBgrgba(59,130,246,0.16)Information background.
ClientCfg.Theme.radii.panel12Feed panel radius in pixels.
ClientCfg.Theme.radii.card8Kill-entry radius in pixels.
ClientCfg.Theme.radii.control8Control radius in pixels.
ClientCfg.Theme.radii.pill999Fully rounded badge radius.
ClientCfg.Theme.effects{}Reserved effects table with no current public child keys.
ClientCfg.Theme.fonts.bodySpace Grotesk...Normal-text font stack.
ClientCfg.Theme.fonts.displayBebas Neue...Heading font stack.

Developer info

Add(payload)

exports["fnx-pvp-killfeed"]:Add({
    id = "match-42-kill-8",
    killer = "Player One",
    victim = "Player Two",
    weapon = "Pistol MK2",
    killerId = 12,
    victimId = 27,
    distance = 42.5,
    headshot = true,
    suicide = false,
    streamerMode = false
})
Payload keyTypeExplanation
idanyOptional entry identifier forwarded to the UI.
killerstringKiller display name; whitespace is trimmed.
victimstringVictim display name; whitespace is trimmed.
weaponstringHuman-readable weapon label.
killerIdnumber/stringKiller server ID. hitterId is accepted as a fallback alias.
victimIdnumber/stringVictim server ID. hittedId is accepted as a fallback alias.
distancenumberKill distance, normalized with tonumber.
headshotbooleanMarks the entry as a headshot.
suicidebooleanMarks the entry as a suicide.
streamerModebooleanExplicit masking state. When omitted, the local panel setting is used.

Other exports

ExportExplanation
Clear()Removes every current entry.
SetVisible(value)Shows or hides the feed. Entries received while hidden are ignored.

Client events

EventArgumentsExplanation
pvp-killfeed:client:addpayloadAdds one entry using the same payload as Add.
pvp-killfeed:client:clearnoneClears the feed.
pvp-killfeed:client:togglevalueChanges visibility.

Common issues

No entries appear

Another resource must call Add or trigger the add event. Also verify that visibility is true.

Names are masked unexpectedly

Check maskNames, payload.streamerMode, and the local panel streamer setting.

Entries disappear too quickly

duration uses milliseconds. Ten seconds is 10000.

Weapon or headshot details are missing

Enable the matching show* key and include the matching payload field.

Common folders

PathWhat it is for
fxmanifest.luaFiveM manifest. It loads the resource files in the correct order.
settings/public/client/cfg.luaClient settings that server owners are expected to edit.
settings/public/server/cfg.luaServer settings that server owners are expected to edit.
settings/private/**/_cfg.luaInternal/default settings. Do not edit unless you are modifying the resource itself.
client/public/*.luaPublic client API files and safe integration files.
client/private/*.luaInternal client runtime code.
server/public/*.luaPublic server API files and exports.
server/private/*.luaInternal server runtime code.
shared/public/*.luaShared public data or integration constants.
shared/private/*.luaShared internal helpers loaded by the resource.
locales/*.jsonLocales for ui and game.
web/dist/Built NUI files used in-game. Do not edit these by hand.
fnx-pvp-killfeed/
|-- client/
|   |-- private/
|   |   \-- _main.lua
|   \-- public/
|       \-- main.lua
|-- locales/
|   \-- *.json
|-- settings/
|   |-- private/
|   |   \-- client/
|   |       \-- _cfg.lua
|   \-- public/
|       \-- client/
|           \-- cfg.lua
|-- shared/
|   \-- private/
|       \-- _main.lua
|-- web/
|   \-- dist/
\-- fxmanifest.lua