Solución de problemas
Los problemas con los que la gente se encuentra de verdad, más o menos en el orden en que aparecen.
Un cambio en un archivo no ha hecho nada
Sección titulada «Un cambio en un archivo no ha hecho nada»restart no vuelve a leer fxmanifest.lua. Si has añadido un archivo (un nuevo locale, por ejemplo), escribe primero refresh en la consola del servidor y luego restart mic_shopcreator.
Errores sobre es_extended o qb-core al arrancar
Sección titulada «Errores sobre es_extended o qb-core al arrancar»Config.Framework no se detecta solo. Pon 'esx' o 'qbcore' según tu servidor, y arranca mic_shopcreator después de tu framework en server.cfg.
En QBox, el valor es 'qbcore' (QBox ejecuta los recursos de QBCore a través de su capa de compatibilidad) y qbx_core debe arrancar antes que mic_shopcreator.
/shopcreator dice que no tengo permiso
Sección titulada «/shopcreator dice que no tengo permiso»El ACE es mic_shop.open, no mic_shopcreator.open. Revisa cómo está escrito en tu línea add_ace, y que use un identificador con el que te conectas de verdad, o un grupo al que realmente perteneces.
Todo dice “Translation not found”
Sección titulada «Todo dice “Translation not found”»Config.Locale indica un archivo que no está en locales/, o que no está en shared_scripts en fxmanifest.lua. Cuando pasa esto, la consola dice Locale file not found for ….
El tendero no está
Sección titulada «El tendero no está»- Estás demasiado lejos. Los tenderos solo existen dentro de
Config.PedSpawnDistance(20 metros por defecto). - La ubicación ha sido atracada. Una ubicación atracada se cierra durante su cooldown: el tendero y el blip desaparecen para todos hasta que termina. Mira más abajo.
Config.SpawnNPCestá desactivado. Entonces no hay tendero a propósito, solo un marcador o un punto de target.- El modelo no es válido. Si el modelo de una ubicación no carga, se sustituye por
Config.DefaultPed, y la consola diceUsing default.Si el modelo por defecto tampoco carga, obtienesCRITICAL: Could not load default ped modely no hay tendero: pon un modelo válido enConfig.DefaultPed.
Veo al tendero pero no puedo abrir la tienda
Sección titulada «Veo al tendero pero no puedo abrir la tienda»Config.Interaction no coincide con lo que usas. Viene como 'ox_target'. Pon 'qb-target' para qb-target, o 'default' para acercarte y pulsar E dentro de Config.RadiusInteract.
En QBCore con 'default', el aviso no se muestra: ShowHelpNotification en bridge/client.lua está vacío para QBCore. E sigue funcionando; rellena esa función con tu propia llamada de texto de ayuda para mostrar el aviso.
“This shop is currently on cooldown” / una tienda atracada sigue cerrada durante horas
Sección titulada «“This shop is currently on cooldown” / una tienda atracada sigue cerrada durante horas»Una ubicación atracada sigue cerrada durante el Cooldown (minutes) de la tienda. Si una tienda no tiene ningún cooldown guardado, se usa Config.RobberyCooldown, que también se lee en minutos, así que el 300 que viene por defecto son cinco horas. Pon un cooldown en cada tienda atracable desde el panel, o baja el valor de reserva.
Faltan las imágenes de los productos
Sección titulada «Faltan las imágenes de los productos»La ventana de la tienda busca <item name>.png en cada carpeta de Config.InventoryImagePath, por orden. Viene apuntando a la carpeta de ox_inventory. Con otro inventario, pon ahí la carpeta de imágenes de ese inventario como ruta nui://. Si el nombre del ítem y el nombre del archivo de imagen no coinciden, no hay imagen.
Comprar con dinero negro falla en QBCore
Sección titulada «Comprar con dinero negro falla en QBCore»El dinero negro se paga desde una cuenta llamada black_money. QBCore no trae esa cuenta de serie, así que usa Cash, Bank o All (Cash + Bank) para los productos en QBCore, o añade la cuenta y ajusta GetAccount en bridge/server.lua a como gestione tu servidor el dinero sucio.
Un dueño abre la tienda y no tiene botón de engranaje
Sección titulada «Un dueño abre la tienda y no tiene botón de engranaje»La lista de dueños debe contener el identificador que usa Config.IdentifierType:
Config.IdentifierType | Qué escribir como dueño |
|---|---|
'discord' | Solo el número del ID de Discord, sin discord: |
'license' | La licencia completa, incluido license: |
'esx' | El identificador de ESX tal como está guardado en users, incluido cualquier prefijo char1: |
'citizenid' | El citizen ID de QBCore |
Si cambiaste Config.IdentifierType después de añadir dueños, vuelve a añadirlos.
No se puede contratar a los jugadores
Sección titulada «No se puede contratar a los jugadores»- Con
'discord', el jugador debe tener Discord vinculado; si no, se le dice que lo vincule. - Deben estar a menos de 10 metros del dueño cuando el dueño abre la lista.
- Deben pulsar Y cuando se les pregunte. En QBCore la pregunta se muestra a través de
ShowHelpNotificationenbridge/client.lua, que está vacío para QBCore: rellénalo, o dile al jugador que pulse Y.
El atraco no empieza
Sección titulada «El atraco no empieza»El atraco debe estar activado en esa tienda, y el jugador debe estar apuntando con un arma (no con las manos desnudas) al tendero desde menos de 5 metros. Una ubicación que ya se está atracando, o que sigue en cooldown, lo rechaza.
Los logs de Discord nunca llegan
Sección titulada «Los logs de Discord nunca llegan»- Webhooks debe estar activado en esa tienda, con una URL de webhook de Discord válida.
Config.Screenshotestá activado peroscreenshot-basicno está en marcha. El log se envía junto con la captura, así que sin ese recurso no sale nada. Arrancascreenshot-basicantes que este recurso, o ponConfig.Screenshot = false.
La policía no recibe ningún aviso
Sección titulada «La policía no recibe ningún aviso»Config.PoliceAlert = "default" avisa a los jugadores cuyo trabajo está en Config.RobberyNotifyJobs, por nombre de trabajo. Con "custom", no se envía nada hasta que escribas la llamada a tu dispatch en TriggerPoliceAlert en bridge/server.lua: viene vacío.