Aller au contenu principal

Configuración

Toda la configuración de FR Dealership está en config.lua. No hay que tocar ningún otro archivo para personalizar el script.

Opciones generales

ClaveTipoPor defectoDescripción
Config.Localestring'es'Idioma por defecto: 'en' o 'es'
Config.Brandstring'FiveRank Motors'Nombre del concesionario mostrado en la NUI
Config.Accentstring'#C62828'Color de acento de la interfaz (hex)
Config.NotifybooltrueUsa fr_notify si está ejecutándose
Config.SellPercentnumber50% del precio original devuelto al vender
Config.OpenKeystring'E'Tecla de interacción (también rebindable en Key Bindings)

Test drive (Config.TestDrive)

Config.TestDrive = {
Enabled = true, -- false para ocultar el botón completamente
Duration = 30, -- segundos que dura la prueba
Spawn = vector4(-1387.6, -3018.5, 13.94, 327.0), -- tarmac aeropuerto
Area = { center = vector3(-1336.0, -3044.0, 13.9), radius = 600.0 },
UseSelectedColour= true, -- pinta el coche con el color elegido en el showroom
}

Seguridad incorporada: el coche de prueba no puede guardarse, venderse ni conservarse; el jugador no puede salir del vehículo; abandonar el área finaliza la prueba.


Financiación (Config.Finance)

Config.Finance = {
Enabled = true,
Account = 'bank', -- 'cash' o 'bank'
DownPaymentPercent = 20, -- % pagado por adelantado
InterestPercent = 10, -- % de interés sobre el resto
Instalments = 6, -- número de cuotas
InstalmentIntervalMinutes = 1440, -- tiempo entre cuotas (1440 = 1 día real)
LateFeePercent = 5, -- % de penalización por cuota perdida
AutoCharge = true, -- cobra automáticamente si el jugador está online
RepossessAfterDays = 7, -- días embargado antes de reposeerse
FinanceBanDays = 30, -- días vetado de financiación tras reposeimiento
CheckIntervalSeconds = 60, -- cada cuántos segundos el servidor revisa préstamos
MinPrice = 0, -- precio mínimo para financiar (0 = cualquier vehículo)
}

Cómo funciona la financiación

  1. El jugador paga la entrada (DownPaymentPercent) en el momento de la compra.
  2. El resto se divide en Instalments cuotas iguales (más intereses) cobradas cada InstalmentIntervalMinutes minutos reales.
  3. Si una cuota no puede pagarse, el vehículo queda embargado y no puede sacarse del garaje. La deuda crece con cargos por mora en cada ciclo perdido.
  4. Si el vehículo permanece embargado más de RepossessAfterDays días, se reposeé y el jugador queda vetado de financiación durante FinanceBanDays días.

El jugador puede pagar una cuota o saldar el préstamo completo desde el menú del garaje en cualquier momento.


Showrooms (Config.Showrooms)

Cada entrada de la lista es un showroom independiente. Todos venden el mismo catálogo.

Config.Showrooms = {
{
label = 'FiveRank Motors',
Entry = vector3(-56.94, -1096.6, 26.42), -- donde aparece el prompt "pulsa E"
Ped = { Model = 's_m_m_autoshop_01', heading = 160.0 }, -- false para desactivar
Podium = vector4(-46.0, -1095.6, 26.42, 30.0), -- donde se muestra el coche
Camera = { offset = vector3(5.2, -5.6, 1.4), lookAtZ = 0.4, fov = 50.0 },
TurnSpeed = 14.0, -- velocidad de rotación del turntable (grados/seg)
Blip = { sprite = 326, color = 3, scale = 0.9 }, -- false para ocultar
},
}

Clonar un showroom: copia el bloque y cambia solo Entry y Podium. El Camera.offset es relativo al podio, así que la cámara se ajusta automáticamente.


Garajes (Config.Garages)

Config.Garages = {
{
label = 'Legion Square Garage',
Entry = vector3(-30.0, -1090.0, 26.0),
Spawn = vector4(-25.7, -1086.5, 25.9, 240.0), -- donde aparece el vehículo al sacar
Blip = { sprite = 357, color = 3, scale = 0.8 },
},
}

Los vehículos de un jugador son accesibles desde cualquier garaje de la lista.


Catálogo de vehículos (Config.Categories)

Añadir un vehículo personalizado (add-on)

Añade una línea a la lista vehicles de cualquier categoría:

{ model = 'micocheaddon', label = 'Mi Coche Custom', price = 150000, type = 'car' }
CampoDescripción
modelNombre de spawn del vehículo (igual que /car)
labelNombre mostrado en la NUI
pricePrecio en dinero del juego
type'car' o 'bike'

El recurso del vehículo personalizado debe estar iniciado antes de que un jugador intente comprarlo.

Añadir una categoría nueva

{
id = 'custom', label_en = 'Custom', label_es = 'Personalizado',
vehicles = {
{ model = 'micocheaddon', label = 'Mi Coche', price = 150000, type = 'car' },
},
},

Los precios se validan server-side: ningún jugador puede pagar un precio diferente al definido aquí.


Colores (Config.Colors)

Config.Colors = {
{ name = 'Pearl White', r = 245, g = 245, b = 245 },
{ name = 'Jet Black', r = 10, g = 10, b = 12 },
-- ... añade o elimina colores según necesites
}