Changelog
All notable changes to 5code-recognition are listed here, newest first.
How versions work
| Change | Version |
|---|---|
| A breaking change to an export, a public event or a hook | Major — 2.0.0 |
| A new feature, a new integration, a new config key | Minor — 1.1.0 |
| A fix that changes nothing you call or configure | Patch — 1.0.1 |
Every release that changes an open file — config.lua,
config_server.lua, locales/*.lua or anything in bridge/ — says so here, so
you can diff your copy against ours and merge your edits.
See Updating for the procedure.
v1.0.1
Initial release.
Release candidate update (2026-10-01)
- Camera recordings in the F3 menu. A hidden-camera look no longer drops a paper by itself. The recording waits in F3 → Camera recordings for 24 hours and prints once, with a 3-second Printing.... The hidden camera must be in the player's inventory to print.
- Print from 50 %. A look that is still running can be printed as soon as the camera has seen 50 % — no need to stop or walk away, and the look keeps running after the print. The list shows running looks as Recording now · n%, gray with (needs 50%), (camera on too short) or (printed recently) when they cannot be printed yet. A look that ends below 50 % now says so: "The camera saw only n% - not enough for a recording (needs 50%)".
- REC % on the HUD. While the camera is on, the HUD shows REC n% — the share of the look the camera has seen — in green from 50 %.
- Stop looking. A new F3 option ends every scan and quiet look at once. What was learned is saved as usual.
- Arrow keys only in the F3 menu. The menu now uses UP / DOWN and Enter; the number keys do nothing, because on most servers 1–5 are the inventory hotbar. The options are Scan person to memory, Recognize, Camera recordings and Stop looking.
- Redesigned admin panel. A tablet look with an icon sidebar. Pair shows % rings, cue bars and short chips. Lookup suggests matches as you type (name, server id, character key, device serial or report id) with a "search by" hint. Timeline: pick a player, then read a day-by-day list with one short line per event — click a line for details — and filter by time (24 h, 7 days, 30 days) and by kind (scans, proofs, papers, deaths, admin). Deaths explains itself and has Keep memories / Wipe memories buttons. Clothing has summary tiles and filter chips.
- Settings with plain titles and tips. Every setting on the Settings page has
a readable title and an (i) tip, in friendly groups. The texts live in the
new open file
locales/en_settings.lua, so they can be translated. - Fixed: after a revive the menu now works at once.
- Fixed: the HUD no longer flashes 0 % right after a mask comes off.
- Open files changed:
locales/en.lua(new menu, camera and admin panel lines), newlocales/en_settings.lua, andbridge/framework_client.lua(the revive fix for QBCore / Qbox).
Recognition
- Scanning with four cues — voice, clothing, face, tattoo — and a points model that caps at 100.
- Memory tiers by scan quality: 5 days, 24 hours, 2 hours; 30 days for a hidden-camera recording.
- A successful recognition refreshes the memory, never shortens it, and upgrades a weak one to the tier the new scan earns.
- Ten-minute live results that follow a person's current look.
- The quick look. Somebody you already remember is recognized after 2–3 seconds
of looking instead of a full scan: Recognized with the label at 80 % or
more, Not sure with only the % below that. The first meeting stays the full
scan. After the answer the look goes quiet and keeps working: the person's voice
is added live when they talk, what you keep seeing is learned, and walking away
saves it. A "Not sure" that never reaches 80 changes nothing. A masked person is
only quick-recognized by the same voice-changer voice or remembered tattoos,
never by clothes alone. The thinking pose only plays while memorizing someone
new. New config block
Config.QuickLookand keyConfig.Clothing.FaceItemsOnce(both with built-in defaults, so an olderconfig.luakeeps working). - The scan menu. F3 opens a small menu on the left: Scan person to memory
or Recognize (the 2–3 second look only — "You don't know him" for somebody you
do not remember, nothing saved), plus Camera recordings and Stop looking
(see the release candidate update above). SPACE picks up to three people
and scans them at once, with a small ring and the % above each scanned head. Only the scanner has
to face the other person. You learn within 5 m; a scan stays open to 7 m and waits
30 s after the person walks further.
Config.StartMode = 'prompt'keeps the arrow and Recognize [E] prompt ('menu'is the new default). New keysConfig.Keys.Menu,Config.Prompt.PickedColor,Config.Hud.Overhead,Config.Scan.KeepDistance,CameraDistance,AngleBands,LeaveGraceSecondsandMaxParallel, and newui_menu_*andui_hud_slow_*lines inlocales/en.lua. - Familiarity in four levels, speeding up the re-learning of someone whose memory ran out up to ×2 — and switched off while a face is hidden, so speed never gives a person away.
- The memory line. Players see where and when they first met someone ("Met him
on Vinewood Blvd in the evening", "The guy from the tattoo shop") instead of the
clothing words, and "I know him well" from the familiar level on (never on a
disguise memory). Admins and Discord still get the clothing words, plus the full
detail. New config block
Config.Places, new keyConfig.Familiarity.KnownWellLevel, newlabel_*lines inlocales/en.lua, and a newscenecolumn that an existing database gets on its own at start (the database user needs the ALTER right once; without it the resource does not start and prints the one statement to run by hand).Hooks.FormatAutoLabelnow only changes the clothing words admins see.
Disguises
- The masked-person rule: a covered face is scanned, scored and remembered exactly like a stranger, in a separate memory.
- Disguise memories matched by similarity, not by an exact outfit, with up to four per person.
- The two memories merge only when the mask comes off in front of you during a scan.
Items
- Voice changer — a fake voice worth half the points, one per device, forever.
- Hidden camera — twice as fast, 7 m, silent, 30-day memories, recordings printed as paper reports from the F3 menu.
- Magnetic scanner — a four-second sweep for cameras.
- Batteries and paper reports.
Identity
- Face implant at a clinic: new face, new name, new voice, everybody forgets you — and you keep your own memories of everybody else.
- New Life Rule: respawning makes you forget the witnesses within 25 m.
- A barber never changes recognition.
Social
- Introduce yourself under any name, attached to the look the listener can see.
- Describe somebody to a friend, capped at 50 % for 24 hours.
- Witness statements as paper and MDT entries.
- Lab ID from evidence scripts, counting as 100 % for acting, for 7 days.
- The "possible match" hint line, only for the jobs in
Config.Jobs.HintJobs(police by default).
Weather, light and the world
- Night, rain, fog and range all slow the seeing cues; flashlights recover most of the night penalty; the voice is never slowed.
Staff tools
- One tablet-style in-game panel: overview, live pair view with a trend chart, lookup, timeline, deaths, clothing tools, audit log, settings.
- Recognition records on aim, damage, kill, cuff, uncuff, rob, search, escort and kidnap — always with both numbers: what the attacker remembered, and what they could have reached right then.
- Tamper-evident records and audit log, verifiable with
recognition:verifyproofs. - One-click Discord export, with licences left out by default.
- Six permission levels, so staff roles can be as narrow as you like.
- A live settings editor for almost every config value, with clamps, relation checks, an audit trail and one-button reset to the file defaults.
Clothing classifier
- Four layers: shipped rules, the game's own shop tags, a photographic coverage test, and admin overrides.
- Auto-scan from the admin panel, in a private room, with pause and stop.
- A silent startup check that only speaks when the item counts changed.
- Until an item is classified: an unknown mask hides the face, an unknown top counts as long sleeves, hats and helmets behave like a cap, and an unknown gloves-slot item leaves the hands bare.
Interface
- A movable, resizable HUD with round or square badges, saved per machine.
- A mirror check: "how recognizable am I right now?"
- Works alongside JG HUD, with an automatic offset.
Integrations
- Frameworks: QBCore, Qbox, ESX, ox_core, and standalone.
- Every integration lives in an open bridge file with an
'auto', pinned,'custom'and'none'branch. - Inventories, voice systems, appearance and tattoo scripts, death and ambulance scripts, MDTs, evidence scripts, target, text UI, progress, notify, emotes, nametags and chat.
- Public exports, public events and hooks, all documented.
Everything else
- Automatic database setup and migrations.
- English locale in an open file; a new language is a copy and a translate.
recognition:selftest,recognition:statusandrecognition:checkfor diagnosing an installation.