Script de HUD y velocímetro para FiveM

Interface: documentación

La interfaz completa de tu servidor: HUD, HUD del carro, chat y panel de ajustes en un solo recurso, y viene con rolo_notify (notificaciones, burbujas "[E]" y barras de progreso). Cada jugador lo configura a su manera en /hud, y todo sigue los colores de su rolo_notify.

Funciones

HUD

  • 5 estilos: hexágono, círculo, cuadrado, barras, mínimo. En fila o en columna, escala de 60 a 160 %.
  • Modo edición: arrastra cada pieza (estado, barra de información, velocímetro, arma, chat) a cualquier parte de la pantalla.
  • Componentes: vida, chaleco, hambre, sed, voz (hablando, radio, alcance con pma-voice), estrés, oxígeno, resistencia. Cada uno se activa o desactiva.
  • Ocultar cuando está lleno: los iconos solo aparecen cuando importan. Los valores bajos parpadean.
  • Barra de información: ID del servidor, trabajo + rango, efectivo, banco (parpadean al cambiar), hora y jugadores conectados. 4 estilos: píldoras, barra, mínimo, columna.
  • Minimapa con borde neón del color del tema. Mostrar el minimapa: siempre / solo en vehículo / nunca (a pie se ocultan el mapa y su borde). Las barras de vida de GTA bajo el mapa quedan ocultas.
  • El minimapa nunca se queda en el modo grande de GTA: se redibuja cuando de verdad estás en el juego (después de la pantalla de carga y del multipersonaje) y un vigilante lo devuelve a pequeño (Config.KeepMinimapSmall).
  • Marcos neón: una luz recorre los marcos del minimapa, el velocímetro, la barra de información y el chat. Modos: fijo, luz, doble, arcoíris, pulso. Cada jugador elige la velocidad y qué marcos.
  • Colores: color principal (o el tema de rolo_notify del jugador) y un color por icono.

HUD del carro

  • 5 estilos: digital (velocidad grande, marcha, segmentos de RPM), analógico (indicador neón con anillo de RPM), mínimo, deportivo y barras. KM/H o MPH.
  • Gasolina (ox_fuel, lc_fuel, LegacyFuel, cdn-fuel, ps-fuel, okok, Renewed…), daño del motor, luces y crucero.
  • Cinturón: B. Sin él sales volando en choques fuertes. Aviso parpadeante mientras manejas.
  • Control de crucero: Y.
  • Con rolo_mechanic: el kilometraje del carro y la botella de nitro.

HUD de armas (solo con un arma en las manos)

  • Nombre del arma y un icono según el tipo (pistola, subfusil, rifle, escopeta, francotirador, pesada, cuerpo a cuerpo, arrojadiza).
  • Balas en el cargador / en reserva con una barra del cargador. Se pone roja y parpadea con el cargador bajo (25 %), y muestra RECARGANDO al recargar.
  • Granadas / arrojadizas muestran cuántas quedan; las armas cuerpo a cuerpo solo el nombre.
  • 2 estilos: tarjeta y mínimo. Nombre, reserva e icono on / off. Se mueve en el modo edición.
  • El nombre del arma viene de ox_inventory o de las armas compartidas de QBCore. Armas add-on: añádelas a WEAPON_NAMES en bridge/client.lua.
  • El icono y la munición propios de GTA quedan ocultos (Config.HideGtaHud 2 y 20). Quítalos de esa lista si prefieres los de GTA.

Chat (sustituye al chat de FiveM y todos los demás scripts siguen funcionando)

  • Pestañas: todo, OOC, radio del trabajo y staff, con contadores de no leídos.
  • /me /do con burbujas 3D sobre la cabeza (solo jugadores cercanos), /ooc, /looc, /anuncio (anuncio de pago), /staff, /radiochat (tu trabajo).
  • Insignias: STAFF, VIP (ace o Tebex con interface_vip) y por trabajo (LSPD, EMS, MEC…).
  • 4 estilos: moderno, limpio, burbujas, clásico. Tamaño, opacidad y tiempo de desvanecido por jugador.
  • Las @menciones se iluminan con un sonido. Sugerencias de comandos con autocompletado (Tab) y códigos de color ^1.
  • Historial con ↑ / ↓: tus últimos 50 comandos y mensajes, guardados en tu PC (sobreviven a reconexiones y reinicios), sin repetidos. Lo que estabas escribiendo vuelve con ↓.
  • Filtro de palabras, modo lento, /mutechat y logs de Discord.
  • Los mismos eventos que el chat de FiveM: chat:addMessage, chatMessage, chat:addSuggestion(s), chat:removeSuggestion, chat:addTemplate, chat:clear.

Panel de ajustes (/hud o F7)

  • Pestañas: HUD, estado, información, vehículo, arma, minimapa, chat, colores y notificaciones. La pestaña de notificaciones abre los ajustes de rolo_notify: posición, tamaño, sonidos y colores de las notificaciones, del [E] y de las barras de progreso. También funciona con versiones viejas de rolo_notify (usa su comando de ajustes, Config.NotifySettingsCommand).
  • Vista previa en vivo; se guarda por jugador.

Extras

  • /togglehud lo oculta todo y /cine pone barras negras de cine.
  • Estrés (apagado por defecto): correr y disparar lo suben (puedes eximir trabajos), baja solo, y con estrés alto aparecen desenfoque y temblor. Los items lo reducen con TriggerServerEvent('rolo_interface:server:relieveStress', amount).
  • Español e inglés. QBCore, Qbox o standalone. Ligero: los datos solo se envían a la pantalla cuando cambian.

Instalación

  1. Pon rolo_interface y rolo_notify en tus resources.
  2. En server.cfg, quita ensure chat, y quita tu HUD viejo (qb-hud, Quasar Interface…) y tu script de cinturón si vas a usar los nuestros. Después:
    ensure ox_lib
    ensure oxmysql
    ensure rolo_notify
    ensure rolo_interface
    
  3. Aces opcionales:
    add_ace group.admin rolo_interface.staff allow   # chat de staff, insignia, /mutechat
    add_ace group.vip rolo_interface.vip allow       # insignia VIP
    
  4. Insignia VIP desde Tebex: interface_vip {sid} 30 (días) en los comandos del paquete.

Configuración (config.lua)

Opción Qué hace
Config.Framework, Fuel, Locale 'auto' los detecta
Config.SettingsCommand, SettingsKey, ToggleHudCommand, CinematicCommand Comandos y teclas
Config.Defaults Con qué empieza cada jugador: estilo, componentes, infoStyle, información, carro (style), arma (style = 'card' / 'minimal', nombre, reserva, icono), minimapa (mode = 'always' / 'vehicle' / 'never'), chat (style), neon (modo, velocidad, marcos), colores, posiciones
Config.NotifySettingsCommand Comando de ajustes de rolo_notify (reserva para la pestaña Notificaciones)
Config.HideGtaHud, HideGtaHealthBars Piezas del HUD de GTA que se ocultan
Config.MinimapBorder, KeepMinimapSmall Ajuste fino del borde neón sobre el mapa; mantener el radar pequeño
Config.Seatbelt, Cruise Teclas, velocidad para salir despedido, daño, aviso
Config.Stress Apagado por defecto: causas, alivio, efectos
Config.Chat Tecla, modo texto plano, canales, comandos, precio del anuncio, insignias, filtro, modo lento
config_server.lua Logs de Discord (chat, staff), solo servidor

Exports

-- cliente
exports.rolo_interface:IsSeatbeltOn()
exports.rolo_interface:SetHudVisible(bool)
exports.rolo_interface:isOpen()            -- chat abierto
-- servidor
exports.rolo_interface:addMessage(target, message)   -- igual que el recurso chat
exports.rolo_interface:SetStress(src, value)
exports.rolo_interface:GetStress(src)

El estado del cinturón también está en LocalPlayer.state.seatbelt.

Archivos abiertos (sin escrow)

  • config.lua, locales/*.lua
  • bridge/client.lua: necesidades (hambre / sed / estrés), dinero + trabajo, gasolina, voz, cinturón, nombres de armas (WEAPON_NAMES)
  • bridge/server.lua: nombre del personaje, staff, dinero de los anuncios, guardado del estrés, logs de Discord

Secretos: config_server.lua

Los webhooks de Discord y las API keys van en config_server.lua, no en config.lua. config.lua se envía al juego de cada jugador (FiveM lo comparte), así que cualquiera con trampas podría leerlo; config_server.lua solo lo carga el servidor. Pega ahí tus webhooks y deja config.lua sin secretos.


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.