CustomPlatesInstallation

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:

InventoryImage folder
ox_inventoryox_inventory/web/images/
qb-inventory / ps-inventoryhtml/images/
one_inventoryone_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 — shipped 8 / 8. Max is clamped to 8.
  • FilteredWords — rejected substrings (case-insensitive)
  • ProgressBarEnabledtrue (shipped) walks to the rear, then a 5s apply progress
  • EnableOxExclusive — shipped false. true blocks 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 MrNewbCustomPlates

Restart the server

Restart after config or item changes.