Qué es ox_lib y por qué deberías usarlo
ox_lib es una librería de utilidades open source para FiveM que se ha convertido en el estándar de facto en el desarrollo moderno. Aporta una enorme colección de componentes de UI prefabricados, funciones de utilidad y herramientas de rendimiento que eliminan la necesidad de reinventar la rueda para cada script. Antes de ox_lib, los desarrolladores construían sus propios sistemas de notificaciones, diálogos de entrada, barras de progreso y menús contextuales desde cero, a menudo con UIs inconsistentes entre scripts del mismo servidor. ox_lib resuelve esto con un set unificado y pulido. Soporta Lua y JavaScript, funciona con cualquier framework y lo mantiene activamente el equipo Overextended. Si escribes scripts de FiveM en 2026 y no usas ox_lib, estás gastando tiempo en cosas que ya existen.
Configurar ox_lib en tu recurso
Añadir ox_lib a un recurso requiere dos pasos: declarar la dependencia en tu fxmanifest.lua y llamar a la librería en tus scripts. El import @ox_lib/init.lua te da acceso a las utilidades compartidas, mientras que el sistema de módulos permite cargar selectivamente solo lo que necesites. Asegúrate de que ox_lib arranque antes que tu recurso en server.cfg con ensure ox_lib encima. El sistema se mantiene ligero porque los módulos no usados nunca se cargan.
Notificaciones: alertas limpias y consistentes
Las notificaciones de ox_lib sustituyen los feos mensajes de chat por defecto y los pop-ups NUI caseros que usan la mayoría de scripts. Aparecen como toasts elegantes con iconos, colores y desaparición automática. Configura posición, duración, tipo (éxito, error, aviso, info) y añade descripción bajo el título. Son el elemento más usado de ox_lib y deberían ser tu forma predeterminada de dar feedback.
Menús contextuales
Los menús contextuales son listas scrolleables de opciones que el jugador puede clickar. Perfectos para menús de trabajo, interfaces de tienda y cualquier escenario donde el jugador elija entre varias acciones. Cada opción puede tener icono, descripción, metadatos a la derecha y submenús anidados para árboles complejos. Los menús pueden generarse dinámicamente a partir de datos del servidor en tiempo real.
Callbacks y zonas
ox_lib ofrece un sistema de callbacks unificado que simplifica la comunicación cliente-servidor con resolución asíncrona. Las zonas geométricas (sphere, box, poly) detectan proximidad y entradas/salidas del jugador sin necesidad de gestionar bucles manualmente. Estas utilidades cubren la mayoría de patrones comunes en scripts de FiveM, reduciendo boilerplate y evitando bugs comunes en implementaciones caseras.
