Lo que falla con más frecuencia, lo que significa realmente y qué hacer al respecto. La mayoría se deben al orden de carga o a la configuración, no a fallos — y con Config.Debug = true la consola del servidor y la consola F8 indican exactamente qué paso se detuvo. Actívalo antes de abrir un ticket.
Instalación e inicio#
El recurso se detiene con un error sobre custom.none
No se detectó ningún framework, así que no hay bridge que cargar. Tu framework debe iniciarse antes de ensure qs-shutter-creator, y su carpeta debe llamarse es_extended, qb-core o qbx_core. Un core renombrado se añade a la tabla frameworks en config/main.lua — consulta Integraciones.
[ERROR] Using standalone inventory… se repite cada pocos segundos
No se detectó ningún inventario. Mueve el ensure de tu inventario por encima de Shutters Creator. Si el nombre de su carpeta difiere de la lista compatible — origen_inventory con guion bajo, por ejemplo — añade ese nombre a la tabla inventories en config/main.lua:
local inventories = {
-- ...
['origen_inventory'] = 'origen',
}Nunca aparece ninguna persiana y el creador permanece vacío
El servidor carga las persianas solo después de haber leído tu lista de ítems. Con Config.Debug activado, un Waiting for item list to be populated... repetido significa que tu framework aún no tiene ítems — en ESX, la tabla items está vacía o el framework no ha terminado de cargar. Corrige la lista de ítems y reinicia.
database.sql falla cerca de IF NOT EXISTS
Tu base de datos es MySQL, que no acepta ADD COLUMN IF NOT EXISTS. En una instalación nueva, ejecuta solo la parte CREATE TABLE — ya contiene las columnas del PIN. Al actualizar una tabla antigua en MySQL, ejecuta los ALTER TABLE sin IF NOT EXISTS.
Unknown column 'enable_pin' (o pin_code, pin_length)
Tu tabla qs_shutters proviene de una versión anterior a los códigos PIN. Ejecuta database.sql de nuevo: tus persianas se conservan y se añaden las columnas que faltan.
Locale … does not exist, falling back to default (en)
Config.Locale nombra un archivo que no está en locales/. Usa el nombre del archivo sin .json — 'es', 'zh-CN'. Una advertencia missing key significa que una traducción que editaste es más antigua que el script: copia la clave indicada de en.json en ella.
La consola está llena de líneas [DEBUG]
Config.Debug viene como true. Ponlo en false cuando tu configuración funcione.
El creador#
"You do not have permission to do this" en /shuttercreator
El framework no te considera administrador. En ESX necesitas el grupo admin o superadmin — ahí no cuentan los aces. En QBCore y Qbox necesitas el permiso admin o god o el ace command. Después de cambiar un grupo o un ace, vuelve a conectarte.
La lista Required Item está vacía o no tiene imágenes
Vacía significa que el script funciona en modo de inventario standalone — mira arriba. Los ítems sin imagen son ítems cuyo archivo de imagen falta en la carpeta de imágenes de tu propio inventario; el creador muestra las mismas imágenes que tu inventario.
No hay selector de bandas
Solo aparece cuando tu servidor tiene bandas. En ESX eso significa que qs-gangs debe estar en ejecución antes que Shutters Creator.
"Model … is not valid" al pulsar Select
El modelo no está en streaming. Para los seis modelos incluidos, shutters_props no está iniciado — añade ensure shutters_props. Para un modelo que añadiste a Config.ObjectList, revisa cómo está escrito y que el recurso que lo transmite esté en ejecución.
"Please fill in all fields" al guardar
Falta un campo obligatorio; aparece remarcado en rojo. Obligatorios: el nombre, el modelo, la posición de la persiana, las coordenadas y la distancia de cada punto de interacción y, mientras el blip esté activado, su nombre, escala y coordenadas.
Una persiana con PIN no se guarda
El código debe tener exactamente la longitud de PIN Length: 4 o 6 dígitos. Acorta o alarga el código, o cambia la longitud.
"You must complete the raycast before opening the creator"
Todavía estás colocando algo. Termina con ENTER (o un clic izquierdo para un punto), o cancela con BACKSPACE, y la ventana vuelve a aparecer.
Jugadores y persianas#
La persiana es invisible
O bien shutters_props no está en ejecución, o simplemente estás demasiado lejos: una persiana solo se genera cuando estás a unos 10 m de ella, y aparece a medida que te acercas.
El aviso "Press [E]" nunca aparece
Estás más lejos del punto que su Interaction Distance.
El punto está a más de unos 10 m de la persiana. Los puntos solo se detectan dentro de la caja de 20 m que la rodea — activa
Config.ZoneDebugpara ver esa caja, y mueve el punto dentro de ella.Config.UseTargetestá activado: no hay aviso; busca la opción de target Access <shutter name> en su lugar.
"You do not have access to this shutter. Reason: …"
La razón indica la regla que falló: Required item, Required job, Required grades, Required gang o Required gang grades. Todas las reglas configuradas en la persiana deben cumplirse a la vez, y los administradores no están exentos. Abre la persiana en el creador y revisa su panel Access Control.
La persiana cambió, pero no la vi moverse
Comportamiento correcto. Solo los jugadores cercanos a la persiana ven cómo se desliza; quien esté más lejos la encuentra ya en su nueva posición al llegar.
"Invalid PIN code"
El código introducido no coincide. Los códigos se comparan en el servidor, así que si un administrador lo cambió en el creador, lo cambió para todos al instante.
Falta la opción de target
Comprueba que Config.UseTarget = true y que ox_target o qb-target se inicie antes que Shutters Creator. Si la consola F8 muestra target:addBoxZone :: coords is nil, uno de los puntos de la persiana no tiene coordenadas: ábrela en el creador, pulsa Select en ese punto y guarda.
Forzar con ganzúa#
Usar la ganzúa no hace nada
Tu inventario no conoce el ítem, o su nombre no es el que figura en Config.LockpickItem. Añádelo como se muestra en Ítems de inventario, márcalo como usable y reinicia ambos recursos. Si otro script también registra el mismo ítem como usable, solo uno de ellos gana — llama en su lugar al export lockpick desde ese script.
"No shutter found" o "This shutter does not allow lockpicking"
El primero significa que el jugador no está dentro de la distancia de ningún punto de interacción; el segundo, que el punto más cercano tiene Enable Lockpick desactivado. Ninguno de los dos consume el ítem.
Se consumió una ganzúa aunque el minijuego falló
Comportamiento correcto. Cada intento en un punto forzable cuesta un ítem, tanto si se supera como si se falla.
Mensajes de consola y de pantalla#
Los mensajes del servidor llevan el prefijo SHUTTERS INFO, SHUTTERS WARNING o SHUTTERS ERROR; las líneas de depuración empiezan con [DEBUG <version>]. Los que es más probable que veas:
Mensaje | Significado |
|---|---|
| Todo está bien — se cargó el bridge de ESX o QB. |
| No se detectó ningún inventario. Corrige el orden de carga o añade su nombre. |
| Consola F8: el servidor le negó sus datos al creador — no eres administrador, o el servidor tuvo un error. Lee la consola del servidor. |
| Un punto de interacción no tiene coordenadas. |
| A tu traducción le falta un texto; se usa el inglés para él hasta que lo añadas. |
Shutter not found | La persiana se eliminó mientras el creador estaba abierto. Ciérralo y vuelve a abrirlo. |
Shutter update failed | El guardado no se completó — el servidor lo rechazó o lo hizo la base de datos. La consola del servidor indica cuál, normalmente con un error de oxmysql, como una columna que falta. |
¿Sigues atascado? Abre un ticket con
Config.Debug = truee incluye la consola del servidor desde el momento en que se inicia el recurso, una captura de pantalla de la consola F8, y tu framework e inventario con sus versiones.



