Installation
Start this after ox_lib, oxmysql, your framework, your inventory, and Newb_Bridge. The bridge auto-detects running resources; if this script starts first, detection can miss them. Keep the folder named MrNewbCustomPlates.
Dependencies
Newb_Bridge, ox_lib, oxmysql, artifact /server:6116 or newer, and OneSync. Vehicle keys go through the bridge so the old plate key is removed and a new one is issued.
SQL write by core: Framework. There is no SQL file to import. No exports and no commands.
Add items and images
Paste from Item setup. Copy customizableplate.png from [INSTALL]/itemimages/ into:
| Inventory | Image folder |
|---|---|
| ox_inventory | ox_inventory/web/images/ |
| qb-inventory / ps-inventory | html/images/ |
| one_inventory | one_inventory/web/images/ |
Do not add server.export on the ox_inventory item. Use is registered with bridge.framework.registerItemUse. Omit consume on the item def.
Configure
Edit configs/config.lua:
PlateItemName— must match the inventory item (customizableplate)Settings.MinCharacters/MaxCharacters— shipped8/8. Max is clamped to 8.FilteredWords— rejected substrings (case-insensitive)ProgressBarEnabled—true(shipped) walks to the rear, then a 5s apply progressEnableOxExclusive— shippedfalse.trueblocks giving this item to another player on ox_inventory (not rearranging it in your own inventory)
Labels: locales/en.json. Plate text must be alphanumeric. The player must be outside the vehicle, within 10.0 of a networked vehicle they own. The server re-checks at 12.0.
If jg-mechanic is started, the resource calls vehiclePlateUpdated(oldPlate, newPlate) after a successful apply.
Add to server.cfg
Swap qbx_core / ox_inventory for whatever you actually run.
ensure ox_lib
ensure oxmysql
ensure qbx_core
ensure ox_inventory
ensure Newb_Bridge
ensure MrNewbCustomPlatesRestart the server
Restart after config or item changes.