LV Persistent Vehicles Lite
Sistema completo de vehículos persistentes para FiveM: tus coches permanecen en el mundo, guardan estado en MySQL, incluyen concesionario cinematográfico, garajes configurables y sistema de llaves propio.
Introducción
LV Persistent Vehicles Lite es el recurso oficial de LV Scripts para servidores que necesitan persistencia real de vehículos sin depender de scripts externos pesados. Cada vehículo comprado o spawnado queda registrado en base de datos con posición, daños, combustible, colores y estado de bloqueo.
A diferencia de soluciones básicas, este script no elimina vehículos abandonados, restaura el mundo tras reinicios del servidor o del recurso, y optimiza el rendimiento con streaming por distancia compatible con OneSync.
lv-persistent-vehicles-lite ·
Producto tienda: lv-persistent-vehicles-lite ·
Autenticación: licencia por IP + clave
Características
💾 Persistencia MySQL
Posición, rotación, colores, daños, combustible, bloqueo y propiedades JSON en lv_pv_vehicles.
🏪 Concesionario
Showroom privado con routing buckets, personalización visual, test drive y compra con cuenta banco/efectivo.
🅿️ Garajes
Múltiples garajes públicos configurables en config/garages.lua. Guardar y sacar vehículos con zona E.
🔑 Sistema de llaves
Bloqueo con tecla U, animación, luces y sonido. Compartir o revocar llaves entre jugadores.
📡 Streaming OneSync
Spawn/despawn por radio configurable. Los datos permanecen en BD aunque la entidad no esté activa.
⚡ Guardado inteligente
Solo escribe en BD cuando hay cambios reales (flags dirty). Menos carga en MySQL.
Requisitos
| Componente | Obligatorio | Notas |
|---|---|---|
| FiveM + OneSync | Sí | Recomendado Infinity o Legacy con distancia ampliada |
| oxmysql | Sí | Conexión MySQL configurada en server.cfg |
| ox_lib | No | Mejora notificaciones en cliente |
| ESX / QBCore / Standalone | Uno | Auto-detección con Config.Framework.Type = 'auto' |
| Licencia LV Scripts | Sí | Generada en lvscripts.net vinculada a la IP del servidor |
Instalación
-
Copia el recurso en tu carpeta
resources/:resources/lv-persistent-vehicles-lite/ -
Base de datos — ejecuta el SQL (también se auto-instala al arrancar):
lv-persistent-vehicles-lite/sql/install.sql -
server.cfg — orden recomendado:
set mysql_connection_string "mysql://usuario:pass@localhost/nombre_bd?charset=utf8mb4" ensure oxmysql ensure lv-persistent-vehicles-lite -
Configura
config.luacon tu licencia, framework y ubicaciones de garaje/concesionario. - Reinicia el servidor y comprueba la consola: debe aparecer verificación de licencia correcta.
Licencia
La licencia se genera en tu panel de LV Scripts tras la compra. Debe estar vinculada a la IP pública de tu servidor FiveM.
Config.License = {
Key = 'LV-XXXX-XXXX-XXXX', -- Tu clave del panel
ApiBase = 'https://lvscripts.net',
RecheckInterval = 300000, -- Re-verificación cada 5 min (ms)
}
Puedes activar Config.General.Debug = true temporalmente para ver en consola la URL de verificación y la respuesta de la API.
Los textos del script (notificaciones, UI) se editan en locale.lua (archivo sin encriptar). Idioma: Config.UI.Locale = 'es' o 'en'.
Configuración
Persistencia
Config.Persistence = {
SaveInterval = 60,
SaveOnExitVehicle = true,
SaveOnPlayerDrop = true,
SaveOnResourceStop = true,
FullVehicleState = true,
DeleteAbandoned = false,
SpawnOnStart = true,
UseRoutingBuckets = true,
}
Streaming (OneSync)
Config.Streaming = {
Enabled = true,
SpawnRadius = 350.0,
DespawnRadius = 450.0,
TickMs = 2500,
}
Concesionario
Ubicación por defecto: PDM Legion Square. Personaliza en Config.Dealership:
Entrance— punto de entrada del jugadorShowroom— posición vehículo, cámara y jugador en vista previaTestDrive— duración, spawn y punto de retornoPaymentAccount—'bank'o'cash'(ESX/QBCore)UseAllGtaVehicles— catálogo completo GTA o filtrado
Garajes
Define garajes en config/garages.lua. Cada garaje incluye coordenadas de menú, zonas de guardado, spawn y blips.
Teclas
Config.Keys = {
LockToggle = 'U',
Interact = 38,
}
Catálogo del concesionario
Edita config/gta_vehicles.lua o usa Config.VehicleOverrides / Config.VehicleBlacklist.
Frameworks
Config.Framework = {
Type = 'auto',
AutoDetect = true,
}
| Framework | Detección | Cuenta de pago |
|---|---|---|
| QBCore | qb-core | Cash / Bank de QBCore |
| ESX | es_extended | Efectivo / Banco ESX |
| Standalone | Sin framework | Identificador license: |
Con auto, el orden de detección es: QBCore → ESX → Standalone.
Uso en juego
| Acción | Cómo hacerlo |
|---|---|
| Entrar al concesionario | Blip morado (PDM) → E |
| Comprar vehículo | Selecciona modelo, personaliza colores, confirma compra |
| Test drive | Desde el showroom → Test Drive (60 s por defecto) |
| Abrir garaje | Blip de parking → E |
| Guardar vehículo | Zona verde del garaje → E |
| Bloquear / desbloquear | Cerca del vehículo → U |
Comandos
| Comando | Descripción |
|---|---|
/darllave [id] | Comparte la llave del vehículo cercano con otro jugador |
/quitarllave | Revoca llaves compartidas del vehículo actual |
Exports (servidor)
local data = exports['lv-persistent-vehicles-lite']:GetVehicleData(vehicleId)
local vehicle = exports['lv-persistent-vehicles-lite']:GetVehicleByPlate('ABC 123')
Base de datos
| Tabla | Contenido |
|---|---|
lv_pv_vehicles | Vehículos persistentes |
lv_pv_keys | Llaves compartidas |
Solución de problemas
El script no arranca / licencia inválida
- Comprueba que la IP pública coincide con la licencia en lvscripts.net.
- Verifica
Config.License.Keysin espacios extra. - Activa
Config.General.Debug = truey revisa la consola.