FAQ
On this page4
Installing
Which frameworks are supported?
QBCore, Qbox, ESX and ox_core, auto-detected by default
(Config.Framework = 'auto'). It also runs standalone, with no framework at
all.
Do I need ox_lib?
No. It is only used if you pick ox_lib for notifications, the text UI or the
progress bar.
Do I have to import the SQL by hand?
No. The tables create themselves on the first start. Importing sql/install.sql
manually is optional — on ESX it is a good idea, so esx_multicharacter sees our
table on the very first boot.
Can I rename the resource folder?
No. Keep it 5code-recognition. Exports are namespaced by folder name, so every
other script that calls exports['5code-recognition'] breaks if you rename it.
Do I need an inventory? Only for the five items. Without one they are switched off, and everything else works. Standalone servers can use the script's own item store instead.
Where do the webhook URLs go?
In config_server.lua, or in convars with set — never setr, which sends
the value to every player. Never in config.lua, which players download.
Playing
Why does nobody know my name? Because nobody has met you. Stand in front of somebody, press F3, and talk. That is the whole point of the script.
The number keys do nothing in the F3 menu. That is on purpose. The menu uses the UP / DOWN arrows and Enter only, because on most servers the number keys are the inventory hotbar — pressing "3" would also use whatever sits in slot 3.
My hidden camera gave me no paper.
Camera papers are not handed out by themselves. Open F3 → Camera recordings:
every recording of the last 24 hours is listed there and prints once, with the
camera in your inventory. A look that is still running can be printed as soon as
the camera has seen 50 % — the HUD shows REC with the camera's %, green
from 50 %. A look that ends below 50 % is not kept as a recording. The big ring
is your memory % (it can read 80 % for somebody you know well); only REC
counts for a recording. Printing needs the F3 menu, so it only works on servers
that use the default Config.StartMode = 'menu'.
How do I stop all my looks at once? F3 → Stop looking ends every scan and quiet look at once. What was learned is saved as usual.
Why is my scan so slow? Look at the line under the ring. Night, rain and fog all slow a scan down, and so does standing at the edge of your range. A flashlight on the person at night recovers most of it.
Why does it say "Not sure" when I clearly know this person? Your character did not take in enough this time. Two of voice, clothing and face need to be full to reach 80 %.
I scanned someone yesterday and now I don't know them. Memories expire. A 50–79 % scan lasts two hours, 80–99 % lasts a day, 100 % lasts five days. Nobody is told when one runs out.
My friend put on a mask and now the game says "Noted" like they're a stranger. That is exactly right. A covered face means your character is looking at a masked person, not at your friend. You build a separate memory of the disguise, and nothing ever tells you the two are the same.
Can I still recognize a masked person? Yes — as the masked person. Their voice and their outfit alone add up to 80 % — the act line — and visible tattoos take it to 100 %. What you cannot do is work out who is under it.
They took the mask off. Do the two memories merge? Only if the mask came off in front of you and you recognized them in that same scan. Otherwise the two simply run out separately.
Does a barber change who I am? No. Restyle your face as often as you like; everyone still knows you. Only the face implant changes your identity.
Does the voice changer hide me completely? No. It makes the voice people learn a fake one worth half the points. Your face, clothes and tattoos are untouched.
Somebody scanned me and I got no warning. If they were memorizing you (a first meeting), you would have seen them strike a thinking pose — that is the only sign, and it is deliberate. Somebody who already remembers you recognizes you in a couple of seconds with no pose at all, and a scan made with a hidden camera plays no pose either. Use a magnetic scanner if you suspect one.
I died and now people don't know me. If you respawned rather than being revived, everybody within 25 m who saw it happen forgot you. You keep your memories of them.
Running a server
Does the script stop somebody shooting a person they don't recognize? No, and it never will. It records how well the attacker knew the victim and hands your staff the evidence. The roleplay decision stays with you.
Can staff see who remembers whom? Yes — the pair view and the lookup, in the admin panel. By default staff cannot look at pairs involving their own character.
Can I change settings without restarting? Almost all of them, from the admin panel's Settings page. Every setting has a plain title and an (i) tip that explains it. Webhook URLs and the integration selectors stay in the config file.
A staff member changed something and I want it back. Reset to file on that setting, or Reset all to file defaults. Both are logged.
Do licence identifiers go to Discord? Not by default.
Do I have to run Auto-scan? Only after installing an EUP or addon clothing pack, or after a game update. The script tells you when the numbers changed and says nothing when they did not. It never scans by itself.
How long does Auto-scan take? About 20–40 minutes for the base game the first time, then only the new items. Roughly 0.5–0.8 s per item.
Can I give staff limited access?
Yes. Grant the child permissions instead of recognition.admin:
recognition.admin.view, .edit, .export, .classifier, .identity,
.settings.
Are txAdmin admins automatically recognition admins?
They get only the levels listed in Config.Admin.TxAdminPerms — view by
default — because otherwise a trial moderator would be a full recognition admin.
Is it translatable? Yes, through open locale files. See Localization. English is the only language in the box.
How heavy is it? An idle server costs about 0.01 ms per second, and no query is ever made from inside a tick. See Performance.
For developers
How do I show a name over somebody's head?
Cache the answer from onRecognitionChanged and read a table in your draw loop.
Never call an export per frame. Full snippet on
Events.
Is IsRecognized the same as "may they act"?
No. IsRecognized is for name display and follows
Config.Api.RecognitionSource. HasRecognized is the "may act" check and always
counts a valid Lab ID.
Can I add my own ambulance or evidence script?
Yes. Set the selector to 'custom' and fill in the 'custom' branch of the
bridge file. See The Open Bridge Files.
My export call returns not_trusted.
Write exports check the calling resource. Add yours to
ServerConfig.Api.TrustedResources.
Will an update overwrite my bridge edits?
Bridge files, config.lua, config_server.lua and the locales are open and
yours. Every release that changes a bridge file lists it in the
changelog so you can merge.
Still stuck? Troubleshooting, then
discord.gg/TdMewPJ4W6 (opens in a new tab) with the output of recognition:selftest.