Car Radio: documentación
Radio de carro para FiveM: pon YouTube o enlaces de audio directos desde cualquier carro. La música sale del carro mismo y todos los que están cerca escuchan la misma canción en el mismo momento (el que llega tarde entra a mitad de la canción).
- Versión 1.1.1
- Frameworks: QBCore · Qbox · standalone
- Idiomas: es · en
Funciones
- 🎛️ Panel del estéreo: reproducir / pausar, anterior / siguiente, parar, volumen, repetir (no / todo / una) y aleatorio.
- 🎵 Título, artista y portada reales en la pantalla (YouTube oEmbed, sin API key).
- 📜 Cola: "Poner ya" o "A la cola", saltar a cualquier canción o quitarla, hasta 30 canciones por carro.
- ⭐ Favoritos por jugador (se guardan en su PC), con un clic se ponen todos en la cola.
- 🔊 Sonido 3D en el carro, que oyen todos los que están alrededor y sincronizado.
- 🚪 Se escucha apagado desde afuera: más bajito con todo cerrado y más alto con las ventanas abajo, las puertas abiertas, el convertible sin techo o en motora.
- 💿 Emisora local: pon tus MP3 en la carpeta
music/y salen en la pestaña Emisora local de la radio (le puedes cambiar el nombre). Cualquiera las puede poner, encolar, buscar o darle a Escuchar todo. No hay enlace que se rompa: los archivos vienen con el recurso. - 📻 Canales en vivo con DJ: un DJ transmite en "Radio Ciudad" (o el canal que crees) y todos los carros sintonizados ponen la misma canción al mismo tiempo.
/radiodjabre la cabina del DJ. - ⌨️ Teclas rápidas sin abrir el panel: subir / bajar volumen, pausa y siguiente canción (se pueden cambiar).
- 👥 El chofer decide si el copiloto puede usar la radio.
- 🔑 Motor apagado: la música se pausa y sigue cuando prendes el motor (o se para, configurable).
- 🚫 Restricciones: clases y modelos de vehículo bloqueados, y un item de estéreo opcional que hay que instalar en el carro (con exports para scripts de mecánico).
- 🛡️ Anti-spam y moderación: tiempo de espera entre canciones, lista negra de enlaces y palabras, logs en Discord y los comandos de admin
/radiooff,/radiooffally/radiomusica(lista las canciones de la emisora local). - 🔇 Opcional: la radio del juego siempre apagada en todos los vehículos.
Dependencias
Instalación
- Pon
rolo_carradioen tu carpetaresources. - En el
server.cfg, después deox_libyxsound:ensure rolo_carradio - Permisos (opcional, ace):
Los admins del framework se detectan solos; también puedes dar el DJ por trabajo (add_ace group.admin rolo_carradio.admin allow # /radiooff, /radiooffall, /radiomusica add_ace group.admin rolo_carradio.dj allow # /radiodjConfig.DJJobs). - Reinicia el servidor. En el juego:
/radiodentro de un carro (o asígnale una tecla en Ajustes > Asignación de teclas > FiveM).
Emisora local (tus MP3)
- Pon tus archivos
.mp3/.ogg/.m4aenrolo_carradio/music/(sin subcarpetas). - Nómbralos
Artista - Canción.mp3para que salgan el artista y la canción. restart rolo_carradio. La consola dice cuántas canciones encontró.
Los jugadores descargan estos archivos con el recurso, así que usa calidad normal (128-192 kbps). La carpeta se lee con la API de archivos que trae FXServer (server/music_list.js): no se usa ningún comando de consola, así que funciona igual en hostings Windows y Linux.
¿No sale una canción?
- El archivo va directo en
rolo_carradio/music/(sin subcarpeta) y termina en.mp3,.oggo.m4a(en mayúsculas también sirve). - Después de agregar canciones usa
refreshy luegorestart rolo_carradio(o reinicia el servidor). Los jugadores bajan los archivos nuevos cuando el recurso arranca. - Mira la consola al arrancar:
rolo_carradio: X canción(es) en music/.0y una línea roja de que no encuentra canciones: el servidor no pudo leer la carpeta. Escribe los nombres enConfig.LocalStation.songs = { 'Artista - Cancion.mp3' }.- "ninguno es .mp3": los archivos tienen otra extensión.
/radiomusica(admin o la consola del servidor) vuelve a leer la carpeta y muestra la lista.- Los admins que abren la radio ven en la pestaña vacía por qué está vacía y qué hacer. Los jugadores solo ven "todavía no hay canciones".
Item de estéreo (opcional)
Pon Config.Stereo.required = true y crea el item car_stereo en tu inventario. Ya viene listo en items/ (ox_origen_items.lua, qb_items.lua).
- qb-inventory / QBCore: se registra solo como item usable.
- ox_inventory / origen_inventory: agrega al item
client = { export = 'rolo_carradio.useStereo' }. - Imagen: copia
items/images/car_stereo.pnga la carpeta de imágenes de tu inventario.
Otros scripts pueden manejar los estéreos con:
exports['rolo_carradio']:InstallStereo(plate)
exports['rolo_carradio']:HasStereo(plate)
exports['rolo_carradio']:RemoveStereo(plate)
Configuración (config.lua)
| Opción | Qué hace |
|---|---|
Config.Locale |
'es' o 'en' |
Config.Framework / Config.Inventory |
'auto' los detecta; 'custom' = el tuyo en bridge/server.lua |
Config.Notify / Config.TextUI / Config.Progress |
'auto' usa rolo_notify si está corriendo; 'custom' = el tuyo en bridge/client.lua |
Config.Command / Config.Key / Config.QuickKeys |
comandos y teclas por defecto |
Config.PassengerControl |
si el copiloto puede usarla por defecto |
Config.BlockedClasses / Config.BlockedModels |
vehículos sin radio |
Config.Stereo |
item de estéreo obligatorio para usar la radio |
Config.Distance / Config.MaxVolume / Config.OutsideVolume |
cómo suena |
Config.EngineOff |
'pause', 'stop' o 'none' |
Config.MaxQueue / Config.PlayCooldown / Config.Blacklist |
cola y anti-spam |
Config.Stations |
botones de emisoras fijas |
Config.LocalStation |
la pestaña de la emisora local (tus MP3 en music/): encendida / apagada, nombre y aleatorio para Escuchar todo |
Config.Channels / Config.DJJobs |
canales en vivo y quién puede ser DJ |
config_server.lua |
webhook de los logs de Discord (solo servidor) |
Archivos abiertos (sin escrow)
config.lualocales/*.lua: todos los textos del script y del panelbridge/client.lua: notificaciones y barra de progresobridge/server.lua: detección del framework, permisos de admin y DJ, items,Bridge.CanUseRadioy logs de Discord
Notas
- Algunos videos de YouTube bloquean la reproducción fuera de YouTube (sobre todo de disqueras); esos enlaces no van a sonar.
- El audio real lo pone xsound, así que el ecualizador de la pantalla es una animación (se mueve mientras suena música).
- La música es del carro: si el carro se borra o se guarda, se para.
Secretos: config_server.lua
Los webhooks de Discord y las API keys van en config_server.lua, no en config.lua. FiveM le manda config.lua al juego de cada jugador, así que cualquier tramposo lo puede leer; config_server.lua solo lo carga el servidor.
Escríbenos en el canal de soporte de Discord con el script, tu framework y el error de la consola.
