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.


El recurso no arranca: “could not find dependency fmLib”

Sección titulada «El recurso no arranca: “could not find dependency fmLib”»

fmLib es obligatorio, no opcional: la parte de servidor lee el dinero, los ítems y los trabajos a través de él. Instálalo y pon ensure fmLib encima de ensure mic_questcreator en server.cfg. Lo mismo vale para oxmysql.

“CRITICAL ERROR: FMLIB NOT FOUND!”, “ESX NOT FOUND!” o “QBCore NOT FOUND!”

Sección titulada «“CRITICAL ERROR: FMLIB NOT FOUND!”, “ESX NOT FOUND!” o “QBCore NOT FOUND!”»

O bien el quest creator arrancó antes que fmLib o que tu framework, o bien Config.Framework indica el equivocado. No se detecta solo: pon 'esx' o 'qbcore' en config.lua según tu servidor y luego revisa el orden de arranque.

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

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_questcreator. Sin eso, el servidor sigue con la lista de archivos que tenía.

Necesitas el ACE mic_questcreator.open. Comprueba que la línea add_ace usa el identificador con el que te conectas de verdad (un ID de Discord solo funciona si tu servidor lee identificadores de Discord), o que tu línea de grupo coincide con un grupo al que realmente perteneces. Los cambios de permisos en server.cfg necesitan reiniciar el servidor; los cambios hechos en directo en la consola se aplican al momento.

Guardar una misión no hace nada, o la consola dice que una tabla no existe

Sección titulada «Guardar una misión no hace nada, o la consola dice que una tabla no existe»

No se ha importado install.sql, o se importó en una base de datos distinta de la que usa oxmysql. El recurso no crea sus tablas por sí mismo. Importa el archivo una vez y reinicia.

  • El personaje no había cargado. Los NPCs de misión se crean cuando tu framework indica que el jugador ha cargado (esx:playerLoaded o QBCore:Client:OnPlayerLoaded). Un script de multipersonaje o de spawn que nunca lanza ese evento los deja sin aparecer; reiniciar el recurso con el jugador dentro del juego los crea.
  • El modelo está mal. Un modelo de ped que no existe no genera nada. Elige uno de la lista en el editor de ubicaciones.
  • Lo acabas de guardar. Al guardar se refrescan los NPCs de todos los jugadores; si sigue faltando alguno, reinicia el recurso.

Config.InteractionType no coincide con lo que usas. Viene como 'ox_target'. Con qb-target, pon 'qb-target'; sin ninguno, pon 'drawtext' y los jugadores pulsan E dentro de Config.InteractionDistance.

El coche de la misión sigue cerrado, o no recibo llaves

Sección titulada «El coche de la misión sigue cerrado, o no recibo llaves»

El coche empieza cerrado a propósito. El jugador debe usar Search for Keys o Break In sobre él. Las llaves se dan a través de fmLib, así que fmLib tiene que ser compatible con tu recurso de llaves de vehículos. Si Break In necesita un ítem, el jugador debe llevarlo encima.

Con qb-target o 'drawtext', esas opciones aparecen como texto 3D junto al coche en lugar de como opción de target.

La recompensa de dinero va a la cuenta equivocada

Sección titulada «La recompensa de dinero va a la cuenta equivocada»

Give Money, Remove Money y el dinero de un Reward Bundle siempre usan efectivo, muestre el nodo la cuenta que muestre; en esta versión no hay ningún ajuste para ello. Check Money es el único nodo que lee la cuenta que elijas.

Un nodo Condition (IF/ELSE) con “Job” nunca avanza

Sección titulada «Un nodo Condition (IF/ELSE) con “Job” nunca avanza»

Usa el nodo Has Job para comprobar trabajos. La opción Job del nodo Condition genérico no está conectada en esta versión, y el flujo se queda esperando en ella.

El gestor de muerte es por evento y está desactivado hasta que lo actives en los ajustes del evento. Cuando revive a alguien, lo hace a través de Bridge.Client.RevivePlayer en bridge/bridge_client.lua, que llama a esx_ambulancejob:revive (ESX) o hospital:client:Revive (QBCore). Si usas otro script de ambulancia, pon ahí su evento de revivir.

Solo se aceptan URLs de webhooks de Discord; cualquier otra se rechaza y la consola dice Blocked invalid webhook URL. Para adjuntar una captura de pantalla, screenshot-basic debe estar en marcha y Config.ScreenshotBasic debe ser true.

La lista se descarga de GitHub al abrirla. Si tu host bloquea las peticiones salientes, se queda vacía y la consola muestra Error fetching community events.

La carpeta exports no existe en el recurso. Crea una carpeta exports vacía dentro de mic_questcreator y vuelve a exportar.

He puesto checo y veo “Translation [cs][…] does not exist”

Sección titulada «He puesto checo y veo “Translation [cs][…] does not exist”»

locales/cs.lua viene incluido pero no está en fxmanifest.lua. Añádelo a shared_scripts con los demás archivos de idioma, haz refresh y reinicia.