What goes wrong most often, what it actually means, and what to do about it. Most of these are load order or configuration, not faults — and with Config.Debug = true the server console and the F8 console say exactly which step stopped. Turn it on before opening a ticket.
Installation and Start-up#
The resource stops with an error about custom.none
No framework was detected, so there is no bridge to load. Your framework must be started before ensure qs-shutter-creator, and its folder must be called es_extended, qb-core or qbx_core. A renamed core is added to the frameworks table in config/main.lua — see Integrations.
[ERROR] Using standalone inventory… repeats every few seconds
No inventory was detected. Move your inventory's ensure above Shutters Creator. If its folder name differs from the supported list — origen_inventory with an underscore, for instance — add that name to the inventories table in config/main.lua:
local inventories = {
-- ...
['origen_inventory'] = 'origen',
}No shutter ever appears and the creator stays empty
The server loads the shutters only after it has read your item list. With Config.Debug on, a repeating Waiting for item list to be populated... means your framework has no items yet — on ESX, the items table is empty or the framework has not finished loading. Fix the item list and restart.
database.sql fails near IF NOT EXISTS
Your database is MySQL, which does not accept ADD COLUMN IF NOT EXISTS. On a fresh install, run only the CREATE TABLE part — it already contains the PIN columns. When updating an older table on MySQL, run the ALTER TABLE with IF NOT EXISTS removed.
Unknown column 'enable_pin' (or pin_code, pin_length)
Your qs_shutters table comes from a version before PIN codes. Run database.sql again: your shutters are kept and the missing columns are added.
Locale … does not exist, falling back to default (en)
Config.Locale names a file that is not in locales/. Use the file name without .json — 'es', 'zh-CN'. A missing key warning means a translation you edited is older than the script: copy the named key from en.json into it.
The console is full of [DEBUG] lines
Config.Debug ships as true. Set it to false once your setup works.
The Creator#
"You do not have permission to do this" on /shuttercreator
The framework does not consider you an admin. On ESX you need the admin or superadmin group — aces do not count there. On QBCore and Qbox you need the admin or god permission or the command ace. After changing a group or an ace, reconnect.
The Required Item list is empty, or has no pictures
Empty means the script runs in standalone inventory mode — see above. Items without pictures are items whose image file is missing from your inventory's own image folder; the creator shows the same pictures your inventory does.
There is no gang selector
It only appears when your server has gangs. On ESX that means qs-gangs must be running before Shutters Creator.
"Model … is not valid" when pressing Select
The model is not streamed. For the six shipped models, shutters_props is not started — add ensure shutters_props. For a model you added to Config.ObjectList, check its spelling and that the resource streaming it is running.
"Please fill in all fields" when saving
A required field is empty; it is outlined in red. Required: the name, the model, the shutter's position, the coordinates and distance of every interaction point and, while the blip is switched on, its name, scale and coordinates.
A shutter with a PIN will not save
The code must be exactly as long as the PIN Length — 4 or 6 digits. Shorten or lengthen the code, or change the length.
"You must complete the raycast before opening the creator"
You are still placing something. Finish with ENTER (or a left-click for a point), or cancel with BACKSPACE, and the window comes back.
Players and Shutters#
The shutter is invisible
Either shutters_props is not running, or you are simply too far: a shutter is only spawned within about 10 m of it, and appears as you walk up.
The "Press [E]" prompt never appears
You are further from the point than its Interaction Distance.
The point is more than about 10 m from the shutter. Points are only listened to inside the 20 m box around it — turn on
Config.ZoneDebugto see that box, and move the point inside it.Config.UseTargetis on: there is no prompt, look for the target option Access <shutter name> instead.
"You do not have access to this shutter. Reason: …"
The reason names the rule that failed: Required item, Required job, Required grades, Required gang or Required gang grades. Every rule set on the shutter must be met at once, and admins are not exempt. Open the shutter in the creator and check its Access Control panel.
The shutter changed, but I did not see it move
Correct behaviour. Only players near the shutter watch it roll; anyone further away finds it already in its new position when they arrive.
"Invalid PIN code"
The code typed does not match. Codes are compared on the server, so an admin who changed it in the creator changed it for everyone immediately.
The target option is missing
Check that Config.UseTarget = true and that ox_target or qb-target starts before Shutters Creator. If the F8 console shows target:addBoxZone :: coords is nil, one of the shutter's points has no coordinates: open it in the creator, press Select on that point and save.
Lockpicking#
Using the lockpick does nothing
The item is not known to your inventory, or its name is not the one in Config.LockpickItem. Add it as shown in Inventory Items, mark it usable, and restart both resources. If another script also registers the same item as usable, only one of them wins — call the lockpick export from that script instead.
"No shutter found" or "This shutter does not allow lockpicking"
The first means the player is not within any interaction point's distance; the second, that the nearest point has Enable Lockpick off. Neither uses up the item.
A lockpick was used up even though the minigame failed
Correct behaviour. Every attempt at a lockpickable point costs one item, passed or failed.
Console and Screen Messages#
Server messages are prefixed SHUTTERS INFO, SHUTTERS WARNING or SHUTTERS ERROR; debug lines start with [DEBUG <version>]. The ones you are most likely to meet:
Message | Means |
|---|---|
| All is well — the ESX or QB bridge loaded. |
| No inventory detected. Fix the load order or add its name. |
| F8 console: the server refused the creator its data — you are not an admin, or the server hit an error. Read the server console. |
| An interaction point has no coordinates. |
| Your translation lacks a text; English is used for it until you add it. |
Shutter not found | The shutter was deleted while the creator was open. Close and reopen it. |
Shutter update failed | The save did not go through — the server refused it or the database did. The server console says which, usually with an oxmysql error such as a missing column. |
Still stuck? Open a ticket with
Config.Debug = trueand include the server console from the moment the resource starts, a screenshot of the F8 console, and your framework and inventory with their versions.



