Skip to content

Troubleshooting

The things that actually go wrong, and where to look.


A plain restart does not re-read fxmanifest.lua. If you added or renamed a file, type refresh in the server console first, then restart mic_pawnshop. Changes to config.lua only need the restart.

The app is added as soon as lb-phone is running, installed by default. If it is missing:

  • Is lb-phone started? Check with ensure lb-phone above ensure mic_pawnshop in server.cfg.
  • Did mic_pawnshop itself start? A console error on start usually means oxmysql or the framework was not up yet — move the line down.

pawnshop.sql has not been imported, or was imported into a different database from the one your server uses. Import it once into the right one; the resource does not create the tables by itself.

The console errors on start about getSharedObject or GetCoreObject

Section titled “The console errors on start about getSharedObject or GetCoreObject”

Config.Framework does not match your server. Use "esx" or "qb", in lower case.

On QBox, the value is "qb" — QBox runs QBCore resources through its compatibility layer — and qbx_core must start before mic_pawnshop.

The folder has been renamed. The app’s screens talk to the resource by the name mic_pawnshop; put the folder name back.

That is the fallback for a missing image. Config.InventoryImagePath must point at the folder your inventory keeps its item images in, written as resource/folder/ — ox_inventory/web/images/ or qb-inventory/html/images/ — and the image must be named exactly like the item.

The item is in Config.BlackList. Blacklisted items also do not appear in the item picker.

The player does not carry as many as the quantity they entered.

“Must buy full quantity for total price”

Section titled ““Must buy full quantity for total price””

The offer was listed with a Total price, so it is sold as one lot. The buyer has to take the whole quantity. For offers buyers can split, list with a Unit price.

“Insufficient funds in bank” / “Insufficient cash”

Section titled ““Insufficient funds in bank” / “Insufficient cash””

With Config.Bank = true, the price comes out of the buyer’s bank. With Config.Bank = false, it comes out of the item named in Config.Money — which only works where money is an inventory item, as on ox_inventory. On ESX’s own inventory and on QBCore, keep Config.Bank = true.

On ox_inventory the buyer could not carry the items, so the purchase was cancelled and the money refunded. The same answer when a seller deletes an offer means they have no room to take the items back; the offer stays up.

It is waiting. Sales go to the seller’s Pending balance at the top of the app, and nothing reaches their bank until they tap it and transfer.

Offers are removed when they expire — after Config.Expire days, 7 by default — or when their item is added to Config.BlackList. In both cases the items go with them; they are not returned. Changing an offer’s price starts its expiry again, so a seller can keep a listing alive.

With Config.RequireLocation on, the marker only appears while the player has an offer to post or a purchase to finish, and only within 20 metres. They have to be within Config.InteractionDistance — one metre by default — to press E. Raise it a little if players struggle to find the spot.