Skip to main content

Configuration

La configuracion editable esta en config.lua. Los textos de la interfaz estan en locales/es.lua y locales/en.lua.

Idioma

Config.Locale = 'es'

El valor debe corresponder con un archivo dentro de locales/.

Framework

Config.Framework = 'auto' -- auto, qbx, qbcore, esx, standalone

Con auto, cold_garages detecta automaticamente QBX, QBCore o ESX. Si ninguno esta iniciado, utiliza el modo standalone.

Interaccion y markers

Config.DrawDistance = 25.0
Config.InteractDistance = 3.0
Config.StoreDistance = 6.0
Config.MarkerType = 36
Config.MarkerScale = vec3(0.8, 0.8, 0.8)
Config.MarkerColor = { r = 40, g = 170, b = 255, a = 160 }
Config.OpenKey = 38 -- E
  • DrawDistance — distancia a la que empiezan a dibujarse los markers.
  • InteractDistance — distancia maxima para abrir un garaje o deposito.
  • StoreDistance — distancia maxima para guardar un vehiculo.
  • OpenKey — control de FiveM utilizado para interactuar. 38 corresponde normalmente a E.

Comportamiento de vehiculos

Config.TrimPlate = true
Config.SpawnInVehicle = true
Config.ModelLoadTimeoutMs = 8000
Config.TakeOutFromAnyGarage = false
  • TrimPlate elimina espacios de la matricula antes de compararla.
  • SpawnInVehicle coloca al jugador dentro del vehiculo al sacarlo.
  • ModelLoadTimeoutMs cancela el spawn si un modelo no consigue cargar a tiempo.
  • TakeOutFromAnyGarage = false obliga a trasladar primero un vehiculo que esta guardado en otro garaje.

Traslado entre garajes

Config.VehicleTransfer = {
enabled = true,
fee = 500,
account = 'bank'
}

Si el vehiculo esta guardado en otro garaje, el jugador puede trasladarlo pagando fee desde la cuenta indicada.

Si prefieres permitir sacar cualquier vehiculo directamente desde cualquier garaje:

Config.TakeOutFromAnyGarage = true

Tarifa al guardar

Config.StoreFee = 0
Config.StoreFeeAccount = 'bank'

StoreFee permite cobrar al guardar un vehiculo. Con 0, guardar es gratis.

Parking persistente y vehiculos perdidos

Config.PersistentParking = {
enabled = true,
deposit = 'city',
restrictToDeposit = true,
importExternalUnstored = true
}
  • enabled activa la gestion persistente de vehiculos que quedaron fuera.
  • deposit es el ID exacto del deposito al que iran los vehiculos perdidos.
  • restrictToDeposit = true hace que solo puedan recuperarse en ese deposito.
  • importExternalUnstored = true envia al deposito los vehiculos externos importados que aparecen como no guardados.

El ID configurado en deposit debe existir en la tabla cold_garage_points como tipo deposit.

Config.LostVehicleCheckMs = 2500
Config.ImportIntervalMs = 30000
  • LostVehicleCheckMs controla cada cuanto se comprueba si un vehiculo que estaba fuera ha desaparecido o ha sido destruido.
  • ImportIntervalMs limita la frecuencia con la que se vuelven a importar vehiculos externos por jugador.

Sistema de combustible

Config.Fuel = {
system = 'ox_fuel',
default = 100.0,
stateBagKey = 'fuel'
}

Valores soportados por system:

  • auto
  • native
  • statebag
  • LegacyFuel
  • ox_fuel
  • ps-fuel
  • lj-fuel
  • cdn-fuel
  • qs-fuel

default es el combustible utilizado cuando no existe un valor valido. stateBagKey se usa si seleccionas el modo statebag.

Validacion y seguridad

Config.Security = {
interactionDistance = 6.0,
storeDistance = 10.0,
maxVehiclePayloadBytes = 65536,
pendingSpawnTimeoutMs = 15000
}

Config.Validation = {
maxFuel = 100.0,
maxHealth = 1000.0,
minHealth = 0.0
}

Estas opciones establecen limites server-side para distancias, payloads, spawns pendientes, combustible y estado del vehiculo.

Rate limit

Config.RateLimit = {
enabled = true,
intervalMs = 350
}

Reduce peticiones repetidas demasiado rapido al servidor. En produccion es recomendable mantenerlo activado.

Blips de garajes

Config.Blips = {
enabled = true,
group = true,
category = 10,
sprite = 357,
color = 3,
scale = 0.72,
shortRange = true,
label = 'Garaje'
}

group = true agrupa los garajes en una misma categoria de la leyenda del mapa.

Blips de depositos

Config.DepositBlips = {
enabled = true,
sprite = 67,
color = 1,
scale = 0.76,
shortRange = true,
label = 'Deposito'
}

Puedes desactivar independientemente los blips de garajes o depositos con enabled = false.

Creador de garajes

Config.Creator = {
command = 'creategarage',
allowEveryone = false,
acePermission = 'cold_garages.creator',
groups = { 'admin', 'god', 'superadmin' },
identifiers = {},
defaultGarageLabel = 'Nuevo garaje',
defaultDepositLabel = 'Nuevo deposito',
defaultDepositFee = 750,
defaultDepositAccount = 'bank'
}

Formas de autorizar el comando

Puedes usar una o varias:

  1. ACE cold_garages.creator.
  2. Grupos ACE como group.admin, group.god o group.superadmin.
  3. Identificadores concretos en Config.Creator.identifiers.
  4. allowEveryone = true para abrir el creador a todos los jugadores.

Ejemplo ACE:

add_ace group.admin cold_garages.creator allow

Garajes y depositos

Config.Garages = {}
Config.Deposits = {}

Estas tablas se mantienen vacias intencionadamente. Los puntos se gestionan en MySQL mediante cold_garage_points, no escribiendolos manualmente en config.lua.

La forma recomendada de crearlos es:

/creategarage

Tambien puedes editar directamente cold_garage_points en la base de datos.

Tipos de vehiculo

Cada punto tiene un vehicle_type. Los valores reconocidos son:

  • land
  • boat
  • air

Un vehiculo solo puede utilizar puntos compatibles con su tipo.

Logs de Discord

Config.Logs = {
enabled = false,
webhook = '',
botName = 'cold_garages',
actions = {
store = true,
takeOut = true,
recover = true,
createPoint = true,
deletePoint = true
}
}

Para activarlos:

  1. Pon enabled = true.
  2. Introduce el webhook en webhook.
  3. Desactiva individualmente las acciones que no quieras registrar poniendolas en false.
warning

No publiques tu webhook de Discord ni lo compartas en capturas o repositorios publicos.

Imagenes de vehiculos addon

Para usar una imagen personalizada, coloca un .png en:

html/vehicles/

El archivo debe llamarse exactamente como el spawn name del vehiculo en minusculas. Ejemplo:

html/vehicles/mycustomcar.png

No es necesario modificar el fxmanifest.lua.

Para vehiculos sin imagen local se utilizan estas URLs como fallback:

Config.VehicleImageBaseUrl = 'https://docs.fivem.net/vehicles/%s.webp'
Config.VehicleImageFallbackBaseUrl = 'https://docs.fivem.net/vehicles/%s.png'