Ir al contenido

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.


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.

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.

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 ….

  • 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.SpawnNPC está 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 dice Using default. Si el modelo por defecto tampoco carga, obtienes CRITICAL: Could not load default ped model y no hay tendero: pon un modelo válido en Config.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.

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.

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.IdentifierTypeQué 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.

  • 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 ShowHelpNotification en bridge/client.lua, que está vacío para QBCore: rellénalo, o dile al jugador que pulse Y.

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.

  • Webhooks debe estar activado en esa tienda, con una URL de webhook de Discord válida.
  • Config.Screenshot está activado pero screenshot-basic no está en marcha. El log se envía junto con la captura, así que sin ese recurso no sale nada. Arranca screenshot-basic antes que este recurso, o pon Config.Screenshot = false.

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.