Lo que falla con más frecuencia, qué significa realmente y qué hacer al respecto. La mayoría de estos casos son de configuración u orden de carga, no fallos, y la consola del servidor suele indicar la causa en una línea [qs-dancemachine]. Léela antes de abrir un ticket.
Instalación y acceso#
El recurso no se inicia
Dance Machine requiere OneSync, ox_lib y oxmysql, y no se inicia sin ellos. Activa OneSync en txAdmin o con set onesync on, y asegúrate de que ambas librerías tengan su ensure por encima de él.
No aparece ninguna máquina, o la cabina es invisible
Un servidor nuevo no tiene máquinas: coloca la primera con
/dancecreator.dancemachine-assetsdebe estar en ejecución, con su ensure antes deqs-dancemachine.Config.MachineModeldebe ser un modelo cargado por stream:qs_arcade_dance_machine_02(el predeterminado) oqs_arcade_dance_machine_01.Las cabinas solo aparecen dentro de
Config.StreamDistance(60 m) alrededor del jugador.Las cabinas colocadas con Arcade Creator solo son visibles para los jugadores que están dentro de ese salón arcade.
"Model could not be loaded. Check Config.MachineModel."
Aparece al pulsar Select para colocar una máquina. El modelo de la cabina no se cargó en tres segundos: dancemachine-assets no está en ejecución, o Config.MachineModel indica un modelo que tu servidor no carga por stream.
"You don't have permission to use /dancecreator."
Tanto /dancecreator como /dancemusic muestran este mensaje. A tu cuenta le falta el ACE en Config.Creator.permission / Config.Music.permission — command.dancecreator por defecto. Nueve de cada diez veces, la línea add_principal usa un identificador de una cuenta distinta de la que usas en el juego, o server.cfg se editó sin reiniciar. Ejecutar las mismas líneas add_ace / add_principal en la consola del servidor las aplica al instante.
La consola dice framework: standalone, pero uso ESX, QBCore o Qbox
Tu framework se inicia después de Dance Machine, y la detección solo ve lo que ya está en ejecución. Hasta que lo corrijas, las partidas son gratis y las puntuaciones se guardan con la licencia de FiveM en lugar del personaje. Mueve su ensure por encima de ensure qs-dancemachine, o configura Config.Framework a mano.
La máquina no muestra ningún aviso ni opción de target
Con Config.UseTarget = true la máquina no tiene ningún aviso de proximidad, así que ox_target debe estar en ejecución. Con él en false, el aviso aparece a menos de Config.InteractDistance (2.2 m) del centro de la máquina: acércate del todo. El aviso también se oculta mientras ya estás jugando.
Canciones y charts#
Una canción nueva no aparece en el Music Manager
La carpeta songs/ se lee una sola vez, al iniciar el recurso: reinícialo después de añadir archivos y revisa la línea Loaded N song(s). El archivo debe ser .mp3, .ogg o .wav, directamente en songs/ o una carpeta más abajo (songs/my_track/song.mp3). No se buscan carpetas más profundas.
Una canción está en el Music Manager pero no en las máquinas
No se ha generado: la lista la marca como not generated. Solo se ofrecen a los jugadores las canciones con chart. Selecciónala y pulsa Generate. Si todas las canciones incluidas muestran esto, database/sql.sql nunca se importó: impórtalo o genéralas una por una.
"The audio file could not be read. Restart the resource…"
El juego solo sirve archivos que existían cuando se inició el recurso, así que un archivo copiado después no se puede obtener hasta el siguiente reinicio. Un archivo cuyo nombre tenía espacios, acentos o símbolos se renombra cuando el recurso se detiene: dale un reinicio más y vuelve a generarlo.
El análisis rechaza una canción
Mensaje | Significado |
|---|---|
The audio file is corrupt or not a supported format | No se pudo decodificar el archivo. Vuelve a exportarlo como MP3, OGG o WAV estándar. |
The audio file is too short to analyze | No hay suficiente música para crear un chart. |
The audio file is silent | La pista decodificada no tiene sonido. |
No clear beat was found in this track | Audio ambiental o hablado. Usa una canción con una percusión más marcada. |
The tempo of this track could not be tracked | El tempo varía demasiado. Usa una canción con un ritmo más estable. |
This track has too few usable beats | No quedaron suficientes golpes para llenar una dificultad. |
Another player is analyzing this song | Otro administrador la está generando. El bloqueo se libera cuando termina, o después de tres minutos. |
WARN: skipped N remote song(s) from dance_songs
La base de datos contiene canciones que apuntan a una dirección web o a un enlace de YouTube, normalmente de una versión anterior. Solo se pueden reproducir los archivos dentro de songs/. Descarga en la carpeta el audio sobre el que tengas derechos, reinicia y genéralo.
WARN: cannot scan songs/ - falling back to the dance_songs table only
Tu hosting no permite que el recurso lea su propia carpeta songs/. Las canciones que ya están en la base de datos se siguen cargando (sus archivos deben seguir en la carpeta), pero no se pueden descubrir archivos nuevos. Pide a tu hosting que permita el acceso a archivos para el recurso.
WARN: stored beatmap is invalid, it will be regenerated
Un chart en dance_songs está dañado, normalmente por una edición manual. La canción vuelve a not generated: ábrela en el Music Manager y pulsa Generate.
Las notas se sienten adelantadas o atrasadas
Config.Gameplay.audioOffsetMs compensa la latencia del audio y se aplica a todos los jugadores. El valor predeterminado es -90; hazlo más negativo si los aciertos se registran tarde, o menos negativo si se registran pronto, en pasos de 10–20 ms. Los auriculares inalámbricos añaden su propio retraso, que ningún ajuste puede eliminar.
La vista previa del menú empieza en la parte equivocada de la canción
La vista previa empieza en el Start de la canción, que también es donde empieza la partida. Muévelo en el Music Manager y pulsa Save Changes.
Jugar#
Duo y Versus muestran FREE PAD y no se pueden elegir
Ambos necesitan una máquina de 2 Players que los permita, y un segundo jugador en el menú de canciones de esa máquina. Una máquina de 1 jugador nunca los ofrece.
"Wait for the other player to finish their selection."
En una máquina de dos pads, solo un jugador puede pasar de la lista de pistas a la vez, así que dos invitaciones nunca se cruzan. Espera a que empiece o vuelva atrás.
"You do not have enough money to play."
La máquina cobra su precio en efectivo o del banco, según se configure en el creador. En Duo y Versus pagan ambos jugadores, y si a alguno le falta dinero, la partida no empieza y no se cobra a nadie.
"The game session has ended."
Un administrador guardó, movió o eliminó la máquina mientras estaba en uso, o el salón arcade al que pertenece la quitó. Los jugadores quedan liberados y pueden volver a empezar.
Mi puntuación no se guardó
Una partida abandonada nunca se guarda. Si no, el servidor rechazó los resultados: cada nota debe estar evaluada, la puntuación debe ser una que el chart pueda dar y la canción debe sonar durante la mayor parte de su duración. Activa Config.Debug.enabled y una línea rejected results en la consola del servidor muestra qué número no coincidió.
El menú se cierra solo
El jugador se alejó más de Config.Gameplay.autoCloseDistance más dos metros de la máquina (6 m por defecto) y el menú se cerró para que no se quede atascado en él.
El cielo parpadea o la hora salta mientras bailas
Un recurso de clima o de sincronización horaria que el script no conoce está peleando por el reloj. Añade su pausa y reanudación a client/custom/main.lua (consulta Integraciones) o configura Config.DanceStage.forceNight = false.
Mi HUD se queda en pantalla durante la canción
El HUD propio del juego se oculta, y también qs-interface. Cualquier otro HUD necesita que se añada su export de ocultar/mostrar a SetCustomHud en client/custom/main.lua.
Claves de error#
El servidor responde a los rechazos con claves de idioma en lugar de frases, así que se leen en el idioma del servidor. Las que más probablemente encontrarás:
Clave | Significado |
|---|---|
| Todos los pads de la máquina están ocupados. |
| El jugador no está lo bastante cerca de la máquina, o la máquina ya no existe para él. |
| El jugador (o, en los modos de dos jugadores, cualquiera de ellos) no puede pagar el precio. |
| La máquina no permite ese modo. |
| El otro jugador está ocupado: jugando o ya invitado. |
| La canción o esa dificultad no tiene chart, o el jugador no estaba en el menú de canciones. |
| La máquina se editó o se eliminó mientras estaba en uso. |
| El compañero se fue, dijo que no o dejó que la invitación caducara. |
| Al jugador le falta el ACE para el creador o el Music Manager. |
| La canción ya no está cargada (reinicia después de quitar archivos) o su id tiene caracteres no válidos. |
¿Sigues atascado? Abre un ticket e incluye las líneas
[qs-dancemachine]de la consola de tu servidor, tu framework y su versión, y una captura de la consola F8 para cualquier cosa relacionada con la interfaz o las canciones.



