Skip to main content

Configuration

La configuracion editable esta en shared/config.lua. shared/config_internal.lua completa defaults, normaliza nombres legacy y transforma la config nueva en la estructura interna que leen cliente y servidor.

Bloque publico actual

Config.Framework = 'auto'
Config.Locale = 'es'
Config.DebugLogs = false
Config.LowPerformanceMode = false

Config.Slots = {
default = 1,
max = 3,
unlockCommand = 'coldaddslot',
ace = 'admin'
}

Config.Appearance = {
preview = 'auto',
qboxCreator = 'auto',
qbcoreCreator = 'auto',
esxCreator = 'auto',
esxPreview = 'users_skin'
}

Config.Intro = {
enabled = true,
backgroundImage = 'assets/gta-v-gtav-gta-gta5-gta-5-gta.jpg',
logoText = 'COLD STORE',
menu = {
{ id = 'play', label = '@ui.intro.default_play', action = 'play' },
{ id = 'rules', label = '@ui.intro.default_rules', action = 'pdf', url = 'assets/normas.pdf' },
{ id = 'store', label = 'COLD STORE', action = 'url', url = 'https://coldhosting.com/' }
}
}

Config.Logout = {
enabled = true,
command = 'logout'
}

Config.DefaultSpawn = vec4(-540.58, -212.02, 37.65, 208.88)

Config.SpawnMode = {
existing = 'cinematic_selector',
new = 'cinematic_selector'
}

Config.CinematicSpawn = {
enabled = true,
includeDefault = true,
locations = {
{
id = 'mission_row',
label = '@client.spawn_mission_row_label',
description = '@client.spawn_mission_row_desc',
coords = vec4(426.55, -978.63, 30.71, 90.0)
}
}
}

Config.Framework, locale y logs

  • Config.Framework: auto, qbox, qbx, qbx_core, qbcore, qb, qb_core, esx, es_extended.
  • Con auto, el orden real es qbox -> qbcore -> esx.
  • Config.Locale: es o en.
  • Config.DebugLogs: imprime logs de spawn, errores de carga y diagnostico.
  • Config.LowPerformanceMode: activa por defecto el modo de rendimiento de la NUI.

Config.Slots

Config.Slots = {
default = 1,
max = 3,
unlockCommand = 'coldaddslot',
ace = 'admin'
}

Puntos importantes:

  • El maximo real sigue capado a 3 en cliente y servidor.
  • default nunca puede quedar por debajo de 1.
  • Si max < default, el recurso fuerza max = default.
  • Si unlockCommand = false, no se registra el comando admin.
  • Los slots extra se guardan por identificador (license2, license o fivem).
  • El permiso se comprueba por ACE y tambien por permisos de qbox o qbcore.

Config.Appearance

Config.Appearance = {
preview = 'auto',
qboxCreator = 'auto',
qbcoreCreator = 'auto',
esxCreator = 'auto',
esxPreview = 'users_skin'
}

Valores soportados en el codigo actual:

  • preview: auto, illenium, fivem_appearance, custom, none
  • qboxCreator: auto, illenium, qb_clothes, qb_clothing, custom, none
  • qbcoreCreator: auto, illenium, qb_clothes, qb_clothing, custom, none
  • esxCreator: auto, illenium, esx_skin, custom, none
  • esxPreview: users_skin, custom, none

Si usas custom, shared/config_internal.lua tambien acepta estas subclaves:

  • customPreview
  • customQboxCreator
  • customQbcoreCreator
  • customEsxCreator
  • esxPreviewTable

Config.Intro

Config.Intro = {
enabled = true,
backgroundImage = 'assets/gta-v-gtav-gta-gta5-gta-5-gta.jpg',
logoText = 'COLD STORE',
menu = {
{ id = 'play', label = '@ui.intro.default_play', action = 'play' },
{ id = 'rules', label = '@ui.intro.default_rules', action = 'pdf', url = 'assets/normas.pdf' },
{ id = 'store', label = 'COLD STORE', action = 'url', url = 'https://coldhosting.com/' }
}
}

Acciones soportadas por el intro:

  • play
  • pdf
  • url

Notas:

  • El menu admite un maximo real de 6 entradas.
  • pdf usa el visor interno del NUI.
  • url intenta abrir un enlace externo con window.open desde la NUI.
  • label y description pueden apuntar a locale keys si empiezan por @.

Config.Logout

Config.Logout = {
enabled = true,
command = 'logout'
}
  • Si enabled ~= false, registra el comando.
  • El archivo publico actual usa logout.
  • Si borras ese bloque y dejas que actue solo el normalizador interno, el fallback es coldlogout.

Config.DefaultSpawn y Config.SpawnMode

  • Config.DefaultSpawn: spawn de respaldo.
  • Config.SpawnMode.existing
  • Config.SpawnMode.new

Modos soportados:

  • cinematic_selector: abre el selector de spawn propio de cold_multichar y deja escoger entre las ubicaciones configuradas, el spawn por defecto y, si existe, la ultima posicion.
  • last_location: intenta usar primero la posicion que tenga cargada el framework y, si no existe, busca la ultima posicion guardada del personaje.
  • default: usa directamente Config.DefaultSpawn sin intentar recuperar la ultima ubicacion.

Logica real:

  1. Si el modo es cinematic_selector, intenta abrir el selector interno.
  2. Si falla, cae a default para personaje nuevo o last_location para personaje existente.
  3. Si last_location no tiene posicion util, usa Config.DefaultSpawn.

Config.CinematicSpawn

Config.CinematicSpawn controla:

  • enabled
  • includeDefault
  • locations

Cada location puede definir:

  • id
  • label
  • description
  • coords

Si includeDefault = true, el selector puede incluir el spawn por defecto ademas de la ultima posicion y las ubicaciones custom.

Escenas, camaras y preview idle

Estos bloques tambien son configurables:

  • Config.SceneCamera
  • Config.CreatePreviewCamera
  • Config.PreviewActions
  • Config.SceneLocations

Notas utiles:

  • SceneCamera: plano principal del selector.
  • CreatePreviewCamera: camara usada al cambiar genero en el modal de creacion.
  • PreviewActions: idle scenarios del ped de preview.
  • SceneLocations: escenas del selector, con ped, cam, clima, hora y acciones.
  • Si PreviewActions solo trae shared, el normalizador la duplica en male y female.

Validaciones de creacion de personaje

No son configurables desde shared/config.lua, pero conviene conocerlas:

  • firstname, lastname y nationality solo aceptan letras, espacios, - y '.
  • Se rechazan palabras prohibidas definidas internamente.
  • birthdate debe estar entre 1900-01-01 y 2006-12-31.

Compatibilidad con config legacy

El recurso todavia entiende nombres antiguos, pero hoy conviene documentar y editar la forma nueva:

  • Config.CharacterSlots -> se normaliza a Config.Slots
  • Config.LogoutCommand / Config.AllowLogoutCommand -> se normalizan a Config.Logout
  • Config.Spawn -> se normaliza a Config.SpawnMode