Script de notify para FiveM

Notify: documentación

Toda la interfaz de tu servidor con un solo estilo. Notificaciones, burbujas "[E]" flotando sobre el NPC, barras de progreso, avisos de calle y zona, controles en pantalla y anuncios. Y tus otros scripts siguen funcionando como están: toma el control de ox_lib, qb-core y otros sistemas de notificaciones.

Funciones

  • 🔷 Burbujas en el mundo: una tecla neón + una píldora de cristal sobre el NPC / vehículo / objeto que tienes delante (o en unas coordenadas exactas). Varias teclas por burbuja, la tecla reacciona al pulsarla, y textos como "Presiona [E] para abrir" se limpian solos.
  • 🔔 Notificaciones: éxito, error, aviso, información, dinero, policía, teléfono, admin. Con icono, barra de progreso, sonidos, duplicados agrupados (x2, x3…) y actualizables por id.
    • Con imagen (la imagen del item de tu inventario o cualquier URL, iconos de apps del celular).
    • Temporizadores (timer = 120 → cuenta atrás 02:00) y notificaciones fijas con una barra de progreso que tú actualizas.
  • ⏳ Barra y círculo de progreso con el mismo estilo: animaciones, escenarios, props, controles bloqueados y cancelar con X. Los mismos datos que lib.progressBar, además de QBCore.Functions.Progressbar.
  • 🛣️ Avisos de calle (calle, zona, brújula, código postal con nearest-postal) y avisos de zona ("Entrando en · VINEWOOD"), sin saltar en cada cruce.
  • ⌨️ Panel de controles para cualquier script.
  • 📢 Anuncios para todos (/aviso; el chat de rolo_interface deja /anuncio para los anuncios de los jugadores).
  • 🎛️ Ajustes del jugador (/ajustesnotify): arrastra las notificaciones y la tarjeta de calle donde quieras, tamaño, fondo oscuro, duración, cuántas a la vez, volumen, tema de color, sonidos, agrupado, avisos de calle / zona, no molestar (/nomolestar) y tipos silenciados. Se guarda en el PC de cada jugador.
  • 👑 Panel de admin (/notifyadmin): valores por defecto de todo el servidor con vista previa en vivo (posición, color, fondo, sonidos, altura de la burbuja, tiempos de calle / zona). Sin tocar el config, se aplica a todos al momento.
  • 🎵 Sonidos: campanas ROLO hechas en la interfaz (sin archivos), sonidos de GTA, tus propios .ogg o ninguno.
  • 📜 Historial (/notificaciones) y un comando de prueba (/notifytest) que lo enseña todo en segundos.
  • 🌍 Español, inglés, portugués y francés · QBCore / Qbox / standalone · 0.00 ms en reposo.

Instalación

  1. Pon rolo_notify en resources. Arráncalo justo después de tu core:

    ensure ox_lib
    ensure qb-core        # o qbx_core
    ensure rolo_notify
    
  2. Apaga cualquier otro script de notificaciones / text UI que haga lo mismo.

  3. Parches recomendados (1 línea cada uno, mira patches/) para que el 100 % de tus scripts usen rolo_notify:

    • ox_lib/resource/interface/client/textui.lua → patches/ox_lib_textui.lua (la caja "[E]" → burbuja)
    • ox_lib/resource/interface/client/notify.lua → patches/ox_lib_notify.lua
    • ox_lib/resource/interface/client/progress.lua → líneas en patches/snippets.lua
    • qb-core/client/functions.lua → líneas de Notify + Progressbar en patches/snippets.lua
    • qb-core/client/drawtext.lua → patches/qb-core_drawtext.lua
    • Menú del target (el ojo), cualquier framework: rolo_notify no puede cambiar la pantalla de otro recurso por sí solo (en FiveM cada recurso tiene su propia NUI), así que el diseño ROLO del menú del target es una carpeta que copias una sola vez. Solo esa carpeta va dentro del target; el resto de patches/ se queda en rolo_notify.
      • qb-target (QBCore): copia la carpeta patches/qb-target/html dentro de qb-target/ (reemplaza su carpeta html, haz backup antes) y restart qb-target. GPL-3.0 como qb-target.
      • ox_target (Qbox, ox_core y cualquier server que use ox_target; también el fork de RedM de RSG): copia la carpeta patches/ox_target/web dentro de ox_target/ (reemplaza su carpeta web, haz backup antes) y restart ox_target. Cubre también qtarget, porque ox_target lo provee.
      • Todos los menús del target, de cualquier script, salen con el diseño ROLO; el código y las opciones del target no cambian. Mientras qb-target u ox_target corran sin él, la consola te lo recuerda al arrancar (Config.TargetSkinHint). Si actualizas el target vuelve su menú original: copia la carpeta otra vez. Para deshacerlo, pon tu backup.

    Cada parche solo actúa mientras rolo_notify está encendido: si lo paras, todo vuelve a la normalidad. Al actualizar esos recursos se pierden los parches: vuelve a pegarlos.

  4. Scripts que tienen su propia opción de "sistema de notificaciones" en el config: ponla en ox_lib / oxlib / qbcore.

  5. Admins: grupos del framework en Config.AdminGroups, o el ace rolo_notify.admin.

Comandos

Comando
/ajustesnotify los ajustes propios del jugador
/nomolestar no molestar on / off
/notificaciones historial
/notifytest enseña todas las funciones
/aviso <texto> anuncio (admins)
/notifyadmin panel de valores del servidor (admins)

Exports (cliente)

exports.rolo_notify:Notify('Texto', 'success', 5000, 'Título')
exports.rolo_notify:Notify({ text = 'Te dieron Agua x2', type = 'success', image = 'water' })
exports.rolo_notify:Notify({ id = 'heist', title = 'Robo en curso', text = 'La policía llega en', type = 'police', timer = 120 })
exports.rolo_notify:Notify({ id = 'dl', text = 'Descargando...', sticky = true, progress = 40 }) -- llama otra vez con el mismo id para actualizar
exports.rolo_notify:CloseNotify('dl')

exports.rolo_notify:ShowPrompt('myscript:door', { text = '[E] Abrir puerta', coords = vector3(x, y, z) })
exports.rolo_notify:ShowPrompt('myscript:shop', { rows = { { key = 'E', text = 'Comprar' }, { key = 'G', text = 'Vender' } }, entity = ped })
exports.rolo_notify:HidePrompt('myscript:door')

exports.rolo_notify:ShowHints('driving', { title = 'Controles', keys = { { 'W', 'Acelerar' }, { 'X', 'Cancelar' } } })
exports.rolo_notify:HideHints('driving')

local ok = exports.rolo_notify:Progress({ label = 'Reparando', duration = 5000, canCancel = true,
    anim = { dict = 'mini@repair', clip = 'fixing_a_ped' }, disable = { move = true, combat = true } })

Exports (servidor)

exports.rolo_notify:Notify(source, 'Texto', 'error')
exports.rolo_notify:NotifyAll('Texto', 'info')
exports.rolo_notify:CloseNotify(source, 'id')
exports.rolo_notify:Announce('Título', 'Mensaje', 9000)

O TriggerClientEvent('rolo_notify:notify', source, 'Texto', 'success').

Archivos abiertos (sin escrow)

config.lua · locales/*.lua · bridge/*.lua (toma de control de otros sistemas, permisos de admin) · patches/*

Sonidos propios

Pon Config.Sounds.mode = 'custom' y coloca success.ogg, error.ogg, warning.ogg, info.ogg, money.ogg, police.ogg, phone.ogg, admin.ogg en html/sounds/.


ROLO SCRIPT · Soporte y actualizaciones en nuestro Discord.

¿Te atascaste?

Escríbenos en el canal de soporte de Discord con el script, tu framework y el error de la consola.