Lo que falla con más frecuencia, qué significa realmente y qué hacer al respecto. La mayoría de estos problemas te los indica la consola: pon Config.Debug = true en shared/config.lua y las consolas del servidor y de F8 mostrarán líneas [DEBUG] para cada paso.
Instalación y acceso#
/licensecreator dice que no tengo permiso
Revisa las vías de Instalación → Obtener acceso de administrador:
Config.Admin.mainAdminIdentifierdebe ser uno de tus identificadores de FiveM, con su prefijo (license:ab12…) o sin él, en cuyo casomainAdminIdentifierTypeañade el prefijo.El ace es
command.licensecreator—add_ace group.admin command.licensecreator allow.Una fila en la pestaña Users necesita el identificador del framework (el citizenid en QBCore y Qbox, el identifier en ESX) y debe estar activa.
El acceso se comprueba una vez por sesión del lado del jugador. Después de concedérselo a alguien que ya está en línea, debe reconectarse antes de que el comando se le abra.
[ERROR] No inventory found
Ninguno de los inventarios compatibles estaba en ejecución cuando se inició el recurso. Mueve la línea ensure de tu inventario encima de ensure qs-licensescreator, o, si el tuyo tiene su propio puente, define Config.Inventory a mano. Hasta entonces el script asume ox_inventory.
[ERROR] … has no definition for: id_card, driver_license, …
Esos ítems aún no están en la lista de ítems de tu inventario. Abre /licensecreator → Licenses, pulsa el botón del cubo junto a cada licencia indicada, pega el fragmento y reinicia el inventario. El documento de autorización se añade una sola vez. Los fragmentos para cada inventario están en Integraciones.
Las licencias desaparecen tras un reinicio, o todos se tratan como jugadores nuevos
No se encontró el framework y el recurso pasó a modo standalone, donde un jugador es su identificador de licencia en lugar de su personaje. Los registros se guardaron con ese identificador, así que parecen perdidos. Inicia el framework antes de qs-licensescreator, o fija Config.Framework. En QBCore la consola lo dice directamente:
[qs-licensescreator] qb-core has not returned its core object yet - start it before this resource."The interface is not ready yet, try again"
La interfaz no se cargó. La interfaz viene lista para usar en web/build/ — si esa carpeta falta o está incompleta, vuelve a subir el recurso completo. Con la consola F8 abierta, una carga fallida muestra el archivo que no encontró, y el creador muestra The creator panel never mounted, releasing NUI focus. para que nunca te quedes atascado con el cursor.
Puse Config.Language y todo sigue en inglés
El idioma es un ajuste guardado en la base de datos, y se impone en cada arranque. Elígelo en Settings → Validity → Panel language y pulsa Save: cambia para todos los jugadores al instante. Un idioma que no aparece en el desplegable no está en Config.Languages.
Peds y compras#
Un ped no aparece
Debe estar activado (Spawn this ped) y colocado de verdad; si no, la lista de Peds dice Not placed yet.
El nombre del modelo debe ser válido. Colocarlo con un modelo no válido muestra That model could not be loaded.
Un ped restringido a trabajos o bandas es invisible para todos los demás: pruébalo con un personaje que tenga ese trabajo y rango.
Los peds aparecen a menos de 60 metros y desaparecen a más de 80 (
Config.Pedsenshared/advanced.lua).
Al pulsar el aviso dice "You do not have permission to do that"
El ped se negó a abrirse para ese jugador. O su trabajo o rango ya no está permitido, o (en una oficina de licencias) la licencia que se vende ahí se ha marcado como no disponible en la pestaña Licenses.
El ojo de target no muestra nada
Los targets solo se usan con Config.UseTarget = true, y el recurso de target (ox_target, qb-target o ph-target) debe iniciarse antes de qs-licensescreator. Con el interruptor desactivado, todos los peds usan el aviso [E].
Un ped está colocado pero su blip no está en el mapa
Los blips son de corto alcance por defecto y solo aparecen en el minimapa cuando estás cerca: pon Config.BlipShortRange = false para que estén siempre visibles. Revisa también el interruptor Show on the map del ped y, para las oficinas de licencias, Config.LicenseBlip.enabled.
"You cannot afford this" con dinero en el banco
Las licencias se pagan desde Config.PurchaseAccount, en efectivo por defecto. Ponlo en 'bank' para cobrar del banco. En standalone el dinero es un ítem money del inventario.
"You need an authorization document for this license"
Esa oficina requiere aprobación. El jugador la solicita en el centro de autorizaciones, espera a que la terminal la apruebe y recoge el documento en la pestaña Collect. Un documento se emite para una sola licencia: uno recogido para la licencia de piloto no abre el registro de armas de fuego.
"This license was reported, it cannot be reissued"
El jugador la reportó como robada o perdida. Un agente borra el reporte en la terminal (Licenses → Clear report), o el staff lo hace desde la pestaña Issued; entonces vuelve a ser válida y se puede comprar como duplicado.
Fotos#
"Photo upload is not configured yet"
No hay ningún proveedor definido. Settings → Photo upload, elige uno y completa sus campos; un webhook de Discord es lo más rápido. Hasta entonces no se puede emitir nada que necesite una foto nueva, incluidas las licencias iniciales.
Las fotos salen negras
screenshot-basic no está en ejecución, y la captura de respaldo no funciona en todos los builds del juego. La consola F8 dice screenshot-basic is not started, photos may come out black. Instálalo e inícialo antes de este recurso.
"The photo could not be taken"
La foto se tomó pero la subida falló, o no llegó nada en 30 segundos. La consola del servidor indica la respuesta del proveedor: License photo upload failed: discord_failed, Fivemanage upload failed (HTTP 401), etc. Revisa el webhook o la clave; si el host rechaza archivos grandes, baja quality, maxWidth y maxHeight en Config.PhotoCapture.
Mostrar una licencia#
No pasa nada al usar el ítem de licencia
Tres cosas que revisar, en orden:
El ítem existe en la lista de ítems de tu inventario: toma el fragmento de Licenses → Inventory item setup, pégalo y reinicia ese recurso.
Está marcado como
useable = true.En ox_inventory también tiene
server = { export = 'qs-licensescreator.useLicenseItem' }.
En qs-inventory el ítem se registra a través del propio qs-inventory, así que ahí el orden de inicio no importa.
"You do not carry that license" al usar el ítem
El ítem no contiene datos de licencia, o apunta a una plantilla que ya no existe. Las licencias deben emitirse con el script: un ítem generado con un comando de dar ítems está vacío. Borrar una plantilla, o cambiar su id de plantilla, deja huérfanos los ítems ya emitidos con ella.
La imagen del ítem está en blanco
El archivo debe existir en la carpeta de imágenes de tu inventario con el nombre exacto que muestra el creador; con un ítem por licencia, eso es id_card.png, driver_license.png, etc. El botón del cubo junto a la licencia muestra la carpeta y el nombre de archivo que espera.
La tarjeta muestra un trabajo, rango o nombre antiguo
Los campos de la tarjeta se escriben en el ítem cuando se emite la licencia. Comprarla de nuevo en su oficina, o volver a emitirla desde la pestaña Issued, escribe los valores actuales.
Los jugadores cercanos no ven la tarjeta
Solo la ven los jugadores dentro de Config.LicenseView.proximityRadius (tres metros), y un radio de 0 se la muestra solo al titular.
Diseños y licencias iniciales#
Las licencias iniciales nunca llegan
Ninguna plantilla tiene marcado Grant on first spawn, o la plantilla no está disponible.
La subida de fotos no está configurada: con
Config.Debugactivado, la consola diceStarter licenses skipped, photo upload is not configured.El jugador ya ha tenido esa licencia antes, aunque se le haya revocado. Las licencias iniciales nunca se conceden dos veces.
Tu creador de personajes dispara un evento que no está enlazado: añádelo a
client/custom/clothing/starter.luao llama aRequestStarterLicenses.
Las licencias de ejemplo no se parecen en nada a las capturas
Tu base de datos aún tiene diseños de una importación anterior; las capas llamadas Custom Text Copy Copy lo delatan. Los diseños viven en la base de datos, así que actualizar los archivos del recurso no toca las filas que ya tienes. Importar database/sql.sql de nuevo restaura los ejemplos actuales, y sobrescribe cualquier cambio en las plantillas 3–9, las oficinas 1–7, los peds globales 1–3 y las categorías 1–2.
¿Sigues atascado? Activa
Config.Debug, reproduce el problema y abre un ticket con la consola del servidor desde el arranque y la consola F8 desde el momento en que ocurrió.



