Configuration

Config keys and the open name-write hook for NameChanger.

Item
namechangevoucher
blankmarriagecertificate
filledcertificate

Icons: Item images.

Config files

configs/config.lua:

KeyDefaultPurpose
Config.DebugfalseReloads clerk points on resource start. Leave off live.
Config.Items.NameChangeVoucher'namechangevoucher'Personal voucher item
Config.Items.MarriageCertificate'blankmarriagecertificate'Blank certificate the officiant uses
Config.Items.FilledCertificate'filledcertificate'Signed certificate the recipient uses
Config.NameFilter.MaxLength32Max length per first or last name
Config.NameFilter.BadWords'fart', 'bitch', 'fuck'Case-insensitive substring rejects
Config.Marriage.RequireJobfalseWhen true, filling a blank certificate needs an allowed job
Config.Marriage.AllowedJobs'police', 'judge', 'pastor'Jobs that may fill a blank certificate
Config.RecordsClerk.EnabledfalseSpawn clerk NPCs. Set true to turn them on.
Config.RecordsClerk.Price10000Charge for a clerk name change
Config.RecordsClerk.Account'cash''cash' or 'bank'
Config.RecordsClerk.Cooldown86400Seconds per character (in memory, cleared on resource restart)
Config.RecordsClerk.LocationsCityHallClerk points. Each entry needs Coords (vector4). Shipped model is ig_priest. Optional: Model (fallback s_m_m_judge_01), Label (target option text; omit to use the locale), Scenario (default WORLD_HUMAN_CLIPBOARD), SpawnRadius (default 50.0), InteractDistance (default 2.5), Icon (default fa-solid fa-id-card).

Names are letters only (A-Z). No spaces, hyphens, or apostrophes.

bridge.inventory.addItem(src, 'namechangevoucher', 1)

Item use registers at start. ## Open hook

Override OpenUpdatePlayerName(src, firstName, lastName) in resource/open/server/update.lua for custom identity stacks. Return true when the live name actually updated.

The shipped function reads bridge.framework.getResourceName() (the framework module, not bridge.frameworks) and branches on those slugs:

local framework = bridge.framework.getResourceName() -- 'qb-core' | 'qbx_core' | 'es_extended'
SlugWrite
qb-core / qbx_corecharinfo.firstname / lastname, then Save + UpdatePlayerData
es_extendedxPlayer.setName / `set('firstName'
anything elsereturn false

If the write returns false, vouchers and marriage certificates keep the item (no notify). The clerk refunds Price.

On this page