Lo que falla con más frecuencia, lo que significa en realidad y qué cambiar para solucionarlo. La mayoría se reduce al orden de carga, al permiso ACE o a un modelo de mesa para el que el script no tiene superficie.
Instalación y acceso#
"You do not have permission to use /poolcreator."
Tu identificador no tiene el ACE command.poolcreator — o el que hayas indicado en Config.Creator.permission. Añádelo como se muestra en Instalación → Dar acceso al creador y reinicia el servidor; reconectarse no basta.
El creador se abre, pero las mesas no se guardan
El servidor comprueba el ACE por sí mismo antes de guardar, mover o eliminar una mesa. Si reescribiste HasPermission para comprobar un grupo del framework, ese grupo sigue necesitando el ACE. Asegúrate también de que oxmysql esté en ejecución — sin él, no se escribe nada.
La consola nunca muestra "Loaded N table(s) from SQL."
oxmysql no está conectado o se inicia después de qs-billiards. Corrige la cadena de conexión y el orden en server.cfg y luego reinicia.
El recurso no se inicia y pide OneSync
Billiards necesita OneSync. Actívalo en txAdmin o añade set onesync on a server.cfg.
WARNING: Locale "xx" not found, falling back to "en"
Config.Locale no es uno de los 41 códigos, o falta locales/xx.json. Una línea sobre una missing key significa que a tu archivo editado le falta ese texto: se muestra en inglés hasta que lo añadas.
Mesas#
Una mesa no aparece
Las mesas se renderizan a menos de 60 m (Config.StreamDistance). Un modelo sin entrada en Config.Surfaces nunca aparece, aunque esté en Config.Creator.models — añade su entrada como en Integraciones → Añadir un modelo de mesa. Con Config.Debug activado, /poolcheck te dice si los modelos cargan en tu juego.
No hay aviso [E] en una mesa
Colócate a menos de 2 m del centro del paño (Config.InteractDistance) — en los extremos de la mesa, eso significa justo en la banda. Una mesa en uso muestra un panel en la esquina inferior derecha en lugar del aviso. Y una mesa de billar que forma parte de un mapa solo se puede jugar con Config.AutoDetect = true.
Las mesas del mapa nunca se pueden jugar
Config.AutoDetect es false por defecto. Actívalo y asegúrate de que el modelo de mesa del mapa esté tanto en Config.TableModels como en Config.Surfaces.
Un taco, un triángulo o una bola del mapa está sobre la mesa
Añade su modelo a Config.HideWorldProps.models o aumenta su radius si está a más de 1,6 m del centro de la mesa.
Las bolas son esferas de colores
No se pudieron cargar los modelos de las bolas, y la consola F8 dice ball model #N not available — drawing a coloured marker instead. Compruébalo con /poolcheck; otro recurso que sustituye o elimina los modelos prop_poolball_* es la causa habitual.
Todas las mesas desaparecieron de golpe
Alguien ejecutó /poolclear mientras Config.Debug estaba activado. Las mesas del creador vuelven en el siguiente reinicio; las de la config y del mapa, cuando los jugadores se reconectan. Desactiva Config.Debug.
Una mesa que quité de la config sigue ahí
Se guardó en el creador en algún momento, así que tiene una fila en la base de datos. Elimínala desde el creador.
Jugar#
Las bolas flotan, se hunden o quedan fuera del paño
Config.Surfaces no coincide con ese modelo de mesa — normalmente porque el modelo es nuevo o un mapa usa una versión modificada. Ajústalo con /pooledit y /pooltune, o con /poolbz para la altura, como en Uso → Calibrar una mesa personalizada.
Las bolas rebotan fuera de las troneras o no caen
Las troneras son demasiado pequeñas, o sus bocas demasiado estrechas, para esa mesa. Agrándalas con /poolpocket r y /poolpocket m y pega los valores impresos en Config.Physics.
"You left the table area — the game has ended."
Te alejaste más de 8 m de la mesa durante una partida, lo que la termina para todos en la mesa. Aumenta Config.LeaveZone.distance, cambia shape a 'square' o establece enabled = false.
No puedo poner la bola blanca donde quiero
La bola en mano se detiene en las bandas y en otras bolas: la bola blanca puede ir a cualquier parte del paño, pero no puede solaparse con otra bola ni salir de la zona de juego.
Nadie puede unirse a mi partida
Solo se puede unir a las mesas Play vs Player, y solo antes del saque. La práctica y las partidas contra el bot se juegan en solitario, y una mesa deja de aceptar jugadores cuando está llena o el anfitrión saca.
El tirador se ve mal para otros jugadores
Flotando, hundido en el suelo o con las manos lejos del taco: Config.Ped está ajustado para peds estándar. Ajústalo con /poolhands, /poolarms, /poolstick y /poolstickrot, o establece Config.Ped.enabled = false para usar en su lugar la animación estándar de jugador de billar de GTA.
Un comando responde "Activa Config.Debug = true para usar este comando."
Es el aviso exclusivo de depuración, escrito en español. Establece Config.Debug = true y reinicia el recurso — y vuelve a desactivarlo cuando termines.
Dinero y apuestas#
No se cobra dinero
O el precio de la mesa es 0 — las mesas de la config y del mapa usan Config.PlayPrice, 0 por defecto — o no se encontró ningún framework y el script funciona en standalone. Un framework que se inicia después de qs-billiards no se detecta: corrige el orden en server.cfg. En un servidor sin framework, define las tres funciones de dinero de Integraciones.
"Not enough cash! This table costs $X."
El jugador no puede pagar la entrada con el método de la mesa. La palabra del mensaje — cash o bank — te indica cuál se comprobó.
"Not enough money for a $X bet."
El jugador no puede cubrir la apuesta, pagada en Config.Bot.betMethod. En una partida entre jugadores se comprueba cuando aceptan y otra vez cuando empieza la partida; si a alguien no le alcanza entonces, la partida se cancela para todos.
Las apuestas se cobran pero nunca se paga a los ganadores
Config.RemoveMoney está definido sin Config.AddMoney. Define las tres funciones de dinero juntas.
Un bote desapareció
El recurso se reinició, o la mesa se eliminó o se movió, durante la partida. Las partidas viven en la memoria del servidor y no se liquidan cuando se descartan.
Qué significan los mensajes#
Cada mensaje viene de las secciones notify y creator de los archivos de idioma, así que se lee en el idioma de cada servidor. En inglés:
Mensaje | Significa |
|---|---|
Foul! You pocketed the cue ball — your opponent gets ball in hand. | Metiste la bola blanca. |
Foul! You hit the wrong ball first — your opponent gets ball in hand. | La bola blanca no golpeó nada o golpeó primero una bola que no puedes jugar. |
Foul! No ball was potted and no cushion was hit — your opponent gets ball in hand. | Tras el primer contacto, no se metió nada y ninguna bola llegó a una banda. |
Shot taken — waiting for the other players to shoot. | Tu turno ha pasado al siguiente jugador. |
Your opponent joined — break when you're ready! | La mesa se llenó y la partida ha empezado. |
You won the game! Nicely played. / You lost the game. | Ha terminado una partida entre jugadores. |
You beat the bot! You won $X. / The bot won this one. | Ha terminado una partida contra el bot; X es lo que pagó la victoria. |
You left the table area — the game has ended. | Saliste de |
Not enough cash! This table costs $X. | No se pudo pagar la entrada — bank en lugar de cash en una mesa que se paga por banco. |
Not enough money for a $X bet. | No se pudo cubrir la apuesta. |
You do not have permission to use /poolcreator. | Al jugador le falta el ACE del creador. |
Model could not be loaded. Check Config.Creator.models. | El modelo elegido en el creador no se cargó en 3 segundos — normalmente una errata o un modelo personalizado que no está en stream. |
No surface config for that table model. |
|
¿Sigues atascado? Abre un ticket e incluye la consola del servidor desde el momento en que se inicia
qs-billiards, tuconfig/config.luay — si el problema está en una mesa — la salida en F8 de/pooldbg, ejecutado conConfig.Debugactivado.



