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
| Clave | Tipo | Por defecto | Descripción |
|---|---|---|---|
Config.Locale | string | 'es' | Idioma por defecto: 'en' o 'es' |
Config.Brand | string | 'FiveRank Motors' | Nombre del concesionario mostrado en la NUI |
Config.Accent | string | '#C62828' | Color de acento de la interfaz (hex) |
Config.Notify | bool | true | Usa fr_notify si está ejecutándose |
Config.SellPercent | number | 50 | % del precio original devuelto al vender |
Config.OpenKey | string | '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
- El jugador paga la entrada (
DownPaymentPercent) en el momento de la compra. - El resto se divide en
Instalmentscuotas iguales (más intereses) cobradas cadaInstalmentIntervalMinutesminutos reales. - 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.
- Si el vehículo permanece embargado más de
RepossessAfterDaysdías, se reposeé y el jugador queda vetado de financiación duranteFinanceBanDaysdí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' }
| Campo | Descripción |
|---|---|
model | Nombre de spawn del vehículo (igual que /car) |
label | Nombre mostrado en la NUI |
price | Precio 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
}