Los fallos más habituales después de instalar Cuxial Chat, con la causa y la solución de cada uno.
El recurso no arranca
Causa. Falta una dependencia o arranca después del chat. Cuxial Chat necesita OneSync, ox_lib, oxmysql y cuxial_bridge.
Solución. Activa OneSync y arranca primero las dependencias:
ensure ox_lib
ensure oxmysql
ensure cuxial_bridge
ensure cuxial_chatSalen dos chats, o sigue abriéndose el chat por defecto
Causa. Hay otro recurso de chat en marcha. Cuxial Chat ocupa el lugar de chat y no puede compartirlo.
Solución. Quita ensure chat y cualquier otro script de chat de server.cfg y reinicia el servidor.
Pulsar T no hace nada y el chat no aparece
Causa. La interfaz no carga. Falta la carpeta web/dist o está incompleta, normalmente por una subida a medias.
Solución. Comprueba que existen web/dist/index.html y la carpeta web/dist/assets dentro del recurso. Si faltan, vuelve a copiar el recurso desde el paquete original y reinicia el servidor.
He cambiado ui.openKey y el chat sigue abriéndose con la tecla anterior
Causa. ui.openKey es solo el valor por defecto. Cuando un jugador ya ha entrado, FiveM recuerda su tecla.
Solución. Cada jugador la cambia en los ajustes de GTA, en las teclas de FiveM. Los jugadores nuevos reciben el valor nuevo.
/me y /do no salen en el chat
Causa. actions.display está en 'head', así que las acciones solo se ven sobre la cabeza.
Solución. Pon actions.display = 'both' en shared/config.lua. Quien ya haya elegido un valor en sus ajustes conserva el suyo.
Los nombres salen como «Jugador 12»
Causa. El chat no ha podido leer el nombre del personaje. cuxial_bridge no está conectado al framework o arrancó antes que él.
Solución. Arranca el framework antes que cuxial_bridge, y cuxial_bridge antes que cuxial_chat.
El nombre no se oculta al llevar máscara
Causa. Una de estas:
anonymous.enabledestá enfalse.anonymous.anyMaskestá enfalsey el número de la máscara no está enanonymous.masks.- El canal no está en
truedentro deanonymous.channels. - Es un mensaje privado o del canal de organizaciones. Los dos muestran siempre el nombre real.
- El recurso de ropa acaba de cambiar la máscara.
Solución. Revisa el bloque anonymous. Para que se actualice al momento tras un cambio de ropa, llama a exports.cuxial_chat:refreshMask() desde el cliente.
/gchat responde «No perteneces a ninguna organización»
Causa. El jugador no tiene banda y su trabajo no está en gchat.policeJobs (o está fuera de servicio con gchat.requireDuty = true).
Solución. Asigna una banda al jugador, o añade su tipo o nombre de trabajo a gchat.policeJobs.
Todas las organizaciones salen con el mismo color en /gchat
Causa. cuxial_gang no está en marcha, así que todas usan gchat.fallbackColor.
Solución. Arranca cuxial_gang, o cambia gchat.fallbackColor. El chat vuelve a leer los colores en menos de un minuto; no hace falta reiniciar.
El comando de imágenes no existe o rechaza el enlace
Causa. images.enabled viene en false. Con él activado, un enlace se rechaza si no es https, si pasa de 400 caracteres, si su dominio no está en images.hosts, si no acaba en una extensión de images.extensions, o si el jugador ha superado images.perMinute.
Solución. Pon images.enabled = true y añade los dominios que quieras permitir. El chat le dice al jugador por qué se ha rechazado el enlace.
Los ajustes se pierden cuando el jugador reconecta
Causa. persistSettings está en false, o no se pudo crear la tabla cuxial_chat_settings.
Solución. Pon persistSettings = true y revisa en la consola del servidor los errores de oxmysql al arrancar el recurso. El usuario de la base de datos necesita permiso para crear tablas.
Los registros no llegan a Discord
Causa. La convar del webhook está vacía o no se llama como indica logs.discord.convar, o el canal no está activado en logs.channels.
Solución. Añade la convar a server.cfg antes de que arranque el chat. Se lee una sola vez, al arrancar el recurso:
set cuxial_chat_webhook "https://discord.com/api/webhooks/..."Los mensajes se envían por lotes, así que pueden tardar hasta logs.discord.flushMs en llegar. Con debug = true la consola indica si Discord está activo y cualquier respuesta fallida.
Los textos salen en otro idioma
Causa. El chat sigue la convar ox:locale.
Solución. Defínela en server.cfg y reinicia. Se incluyen es y en:
setr ox:locale "es"Faltan comandos de otro recurso en el autocompletado
Causa. Ese recurso no anuncia sus comandos al chat.
Solución. Añádelos con el evento estándar:
TriggerClientEvent('chat:addSuggestion', -1, '/micomando', 'Qué hace')Los mensajes enviados muy seguidos se pierden
Causa. Para el texto escrito sin comando, el chat acepta un mensaje cada 300 milisegundos por jugador. Los mensajes están limitados a 400 caracteres. Protege al servidor del spam.
Solución. No hace falta ninguna. Es intencionado.
