Skip to content

Configuración

Todas las opciones de shared/config.lua y los archivos de datos editables de Cuxial Emotes, con ejemplos de los cambios habituales.

Todos los ajustes están en shared/config.lua. El catálogo de emotes y algunas listas están en data/. Reinicia el recurso después de cualquier cambio.

General ​

OpciónTipoPor defectoQué hace
debugbooleanfalsetrue imprime trazas en la consola. setr cuxial_emotes_debug 1 en server.cfg hace lo mismo sin tocar el archivo.

Interfaz (ui) ​

OpciónTipoPor defectoQué hace
accentstringconfigurableColor de acento del menú, en hexadecimal, por ejemplo '#3b82f6'.
blurbooleanfalsetrue desenfoca el juego con el menú abierto.
walkWhileOpenbooleantruetrue permite caminar con el menú abierto. false hace que el menú bloquee el movimiento.
newEmoteDaysnumber14Días que un emote con fecha Added aparece con la marca de «nuevo».

Staff (admin) ​

OpciónTipoPor defectoQué hace
permissionstring'admin'Permiso que se comprueba a través de cuxial_bridge para gestionar las zonas de emotes y, si commands.syncPos.adminOnly es true, para usar /syncpos.

Comandos (commands) ​

OpciónTipoPor defectoQué hace
emote.namestring'e'Comando que reproduce un emote: /e <emote> [variante]. /e c cancela.
emote.cooldownnumber1000Milisegundos entre dos emotes.
cancel.enabledbooleantruetrue registra un comando suelto para cancelar. false deja solo la tecla y /e c.
cancel.namestring'c'Nombre del comando suelto para cancelar.
menu.namestring'animationmenu'Nombre interno del atajo que abre el menú.
set.namestring'emoteset'Comando que cambia el set rápido activo: /emoteset <1-6>.
animEdit.enabledbooleantruetrue activa el editor de posición, tanto el comando como el botón del menú.
animEdit.namestring'animedit'Nombre del comando del editor de posición.
animEdit.maxDistancenumber3.0Metros que el jugador puede alejarse del punto inicial mientras edita.
animEdit.canEditAllbooleantruetrue deja que el comando edite cualquier emote. false lo limita a los emotes en bucle que usan un diccionario de animación.
syncPos.enabledbooleantruetrue registra el editor de posiciones de emotes en pareja (herramienta de desarrollo).
syncPos.namestring'syncpos'Nombre de ese comando.
syncPos.maxDistancenumber6.0Distancia máxima en metros mientras se usa el editor.
syncPos.adminOnlybooleantruetrue lo restringe al staff. false deja usarlo a cualquiera.
zones.namestring'emotezones'Comando que abre el panel de zonas.
zones.restrictedstring'group.admin'Grupo ACE autorizado a ejecutar el comando de zonas.

No cambies menu.name en un servidor en marcha. Es la clave con la que FiveM guarda la tecla de cada jugador: cambiarla reinicia la tecla del menú a todos.

Teclas por defecto (keys) ​

Son las teclas que recibe un jugador la primera vez que entra. Cada jugador puede cambiarlas en los ajustes de GTA, en la asignación de teclas de FiveM.

OpciónPor defectoAcción
menuF3Abrir el menú
cancelXCancelar el emote actual
acceptYAceptar un emote en pareja o una sugerencia
rejectXRechazar un emote en pareja o una sugerencia
pointingBSeñalar con el dedo
ragdollcommaTirarse al suelo
handsUpHManos arriba
crossArmsGCruzar los brazos
pronercontrolTumbarse
crouchLCONTROLAgacharse
photoPanelhModo foto: ocultar o mostrar el panel
photoFocuslmenuModo foto: liberar o capturar el cursor
quick1 a 5Emotes rápidos 1 a 5, pulsados junto con Shift

Cambiar una tecla por defecto solo afecta a los jugadores que nunca han entrado con el recurso. Los demás conservan la tecla que ya tienen guardada en su juego.

Jugadores muertos (deadCheck) ​

OpciónTipoPor defectoQué hace
enabledbooleantruetrue impide que un jugador muerto use emotes.
useStateBagbooleantruetrue lee el estado dead del jugador. false pregunta al juego si el personaje está muerto.

Si cuxial_medical está iniciado, el script le pregunta a él si el jugador está muerto e ignora estas dos opciones.

Emotes (emotes) ​

OpciónTipoPor defectoQué hace
disableInCarbooleanfalsetrue bloquea los emotes dentro de un vehículo.
quickAnimsbooleantruetrue activa los emotes rápidos (Shift + 1-5) y el comando de sets.
maxPropsnumber8Máximo de props por emote que se crean en la pantalla de los demás jugadores.

Lo que se guarda entre sesiones (saving) ​

OpciónTipoPor defectoQué hace
walkStylebooleantruetrue recuerda el estilo de caminar elegido.
expressionbooleantruetrue recuerda la expresión elegida.

Emotes en pareja (sync) ​

OpciónTipoPor defectoQué hace
distancenumber10.0Metros máximos entre dos jugadores para un emote en pareja.
pendingMsnumber30000Milisegundos que una solicitud sigue viva sin respuesta.
cooldownMsnumber3000Milisegundos mínimos entre dos solicitudes o sugerencias del mismo jugador.

Reportes (report) ​

OpciónTipoPor defectoQué hace
enabledbooleantruetrue acepta los reportes de emotes rotos enviados desde el menú. false los rechaza.
cooldownnumber30Segundos entre reportes del mismo jugador.
convarstring'cuxial_emotes:report_webhook'Nombre de la convar de server.cfg que contiene el webhook de Discord.

Zonas (zones) ​

Solo se aplica cuando el complemento cuxial_emotes_dlc está iniciado.

OpciónTipoPor defectoQué hace
globalbooleanfalsetrue hace que los emotes de zona estén disponibles en todas partes. false los limita a su zona.

Relaciones (relations) ​

Estas dos opciones solo se aplican cuando el complemento cuxial_emotes_dlc está iniciado. El resto del módulo se configura en los archivos del propio complemento.

OpciónTipoPor defectoQué hace
testShareDistancenumber3.0Metros a los que los demás jugadores ven el resultado de un test ya usado.
staleSessionSecnumber900Segundos tras los que una sesión colgada se cierra sola.

Límites (limits) ​

OpciónTipoPor defectoQué hace
favoritesnumber100Favoritos por personaje.
nameLengthnumber64Caracteres máximos del comando de un emote.
setSlotsnumber6Número de sets rápidos.
setAnimsnumber4Máximo de emotes guardados por set.
recentsnumber15Entradas que se guardan en «recientes».
usagenumber300Emotes distintos con contador de uso.
usageFlushMsnumber5000Milisegundos mínimos entre dos guardados del contador de uso.

Archivos de datos ​

ArchivoContenido
data/manifest.luaCategorías que aparecen en el menú y su orden.
data/emotes/*.luaEl catálogo: un archivo por categoría.
data/tags.luaPalabras con las que el menú etiqueta los emotes automáticamente para los filtros y el buscador.
data/weapons.luaArmas que admiten una animación de apuntado propia.
data/photomode.luaLímites del modo foto (distancia, velocidad, zoom, profundidad de campo), controles bloqueados y lista de filtros.
data/bypass.luaExcepciones de desarrollo por personaje. Apagadas por defecto.
locales/*.jsonTodos los textos, en inglés y español.

Deja data/bypass.lua desactivado en producción. Su grupo SharedEmotes hace que los emotes en pareja empiecen sin preguntar al otro jugador.

Cambios habituales ​

Cambiar el color de acento ​

shared/config.lua
lua
ui = {
    accent = '#3b82f6',
},

Bloquear los emotes en vehículos ​

shared/config.lua
lua
emotes = {
    disableInCar = true,
},

Dejar a todos usar el editor de emotes en pareja ​

shared/config.lua
lua
syncPos = { enabled = true, name = 'syncpos', maxDistance = 6.0, adminOnly = false },

Añadir un emote propio ​

Abre el archivo de la categoría que le corresponda, por ejemplo data/emotes/general.lua, y añade una entrada a options:

data/emotes/general.lua
lua
{
    Label = 'Apoyarse en la pared',
    Command = 'leanwall',
    Dictionary = 'lean@wall',
    Animation = 'lean_clip',
    Options = {
        Flags = { Loop = true, Move = true },
        Duration = 4000,
    },
    Added = '2026-01-15',
},
CampoObligatorioQué es
LabelSíNombre que se ve en el menú.
CommandSíSe usa con /e. Debe ser único en todo el menú.
Dictionary / AnimationSí, salvo con ScenarioDiccionario de animación y clip.
ScenarioAlternativaNombre de un escenario de GTA en lugar de diccionario y clip.
Options.FlagsNoLoop repite la animación. Move la reproduce en bucle en el torso, así el jugador puede caminar. Stuck la reproduce en el torso y mantiene el último fotograma.
Options.DurationNoDuración en milisegundos.
Options.PropsNoLista de props: Name, Bone y Placement (dos vec3: posición y rotación).
Options.EnterEmoteNoComando de un emote que se reproduce una vez antes de este.
Options.ExitEmoteNoNombre de una entrada de data/emotes/exits.lua, que se reproduce al cancelar un emote en bucle.
TagsNoEtiquetas extra para los filtros del menú.
AddedNoFecha como 'AAAA-MM-DD'. Marca el emote como nuevo durante ui.newEmoteDays días.

Un emote en pareja necesita además Synchronized = true y Options.Shared.OtherEmote con el comando que hace el otro jugador.

Un diccionario de animación propio necesita su archivo .ycd dentro de la carpeta stream/ del recurso. Los diccionarios nativos de GTA no necesitan nada más.

Los estilos de caminar, las expresiones y los escenarios usan una forma más corta, en data/emotes/walks.lua, expressions.lua y scenarios.lua:

lua
{ Label = 'Brave', Command = 'brave', Walk = 'move_m@brave' },
{ Label = 'Angry', Command = 'angry', Expression = 'mood_angry_1' },
{ Label = 'ATM', Command = 'atm', Scenario = 'PROP_HUMAN_ATM' },

Añadir una categoría ​

  1. Crea data/emotes/<archivo>.lua:
data/emotes/myserver.lua
lua
return {
    id = 'myserver',
    name = 'My Server',
    label = { es = 'Mi servidor', en = 'My server' },
    icon = 'fa-star',
    options = {
        -- aquí van los emotes
    },
}
  1. Añade el nombre del archivo, sin .lua, a categories en data/manifest.lua, en la posición en la que quieras que aparezca.

El menú lee la lista desde ahí. No hay que cambiar nada más.

Campos opcionales de la categoría:

CampoQué hace
synced = trueLanza todos sus emotes en pareja.
hideInAll = trueDeja la categoría fuera del filtro «Todos».
syncDances = trueAñade una versión sincronizada /e s<comando> de cada emote. La usa la categoría de bailes.

© Cuxial