Si algo no va

El export no existe

  • Comprueba que la carpeta instalada se llama exactamente jex_interactions.
  • Comprueba que ensure jex_interactions va antes que el recurso que lo llama.
  • Comprueba que el export se llama desde un script de cliente.
  • Mira la consola del cliente por si hay errores al arrancar el recurso.

Un aviso no aparece

  • Asegúrate de que label lleva texto.
  • Asegúrate de que el recurso está arrancado y de que la llamada es de cliente.
  • Si hay muchos avisos activos, sube su priority o Config.MaxVisible.
  • Si usas duration, comprueba que es suficiente y que no la recorta Config.MaxDuration.

Un aviso se queda en pantalla

  • Llama a hide con el mismo id que usaste en show y desde el mismo recurso.
  • Si el id se generó solo, pasa el handle completo que devolvió show.
  • Con ox_lib, empareja cada apertura con lib.hideTextUI() y comprueba que el bloque de compatibilidad llama a releaseTextUI().
  • Con QBX, comprueba que el recurso deja de llamar a qbx.drawText3d cuando el jugador sale de la zona.

Se ven el HUD y la interfaz original a la vez

  • En el puente de QBX, confirma que la función hace return cuando el export dice que se ha hecho cargo del aviso.
  • En el de ox_lib, confirma que el TextUI nativo se oculta cuando el aviso se acepta.
  • Reinicia el servidor entero después de cambiar ox_lib o qbx_core.

Un aviso compatible de QBX sigue en 3D

  • Confirma Config.InterceptDrawText3D = true.
  • Confirma que jex_interactions arranca antes que el recurso que usa el módulo de QBX.
  • Confirma que el texto usa uno de los formatos de tecla E admitidos.
  • Reinicia el servidor entero para que todos los recursos recarguen el módulo modificado.

Los cambios de configuración no se notan

  • Reinicia jex_interactions, o el servidor entero si también tocaste un puente de compatibilidad.
  • Confirma que editaste el config.lua de la copia del recurso que está en marcha.