Vehículos Persistentes Lite
Vehículos · Lite

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.

ESX QBCore Standalone oxmysql OneSync

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.

Recurso: 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

ComponenteObligatorioNotas
FiveM + OneSyncRecomendado Infinity o Legacy con distancia ampliada
oxmysqlConexión MySQL configurada en server.cfg
ox_libNoMejora notificaciones en cliente
ESX / QBCore / StandaloneUnoAuto-detección con Config.Framework.Type = 'auto'
Licencia LV ScriptsGenerada en lvscripts.net vinculada a la IP del servidor

Instalación

  1. Copia el recurso en tu carpeta resources/:
    resources/lv-persistent-vehicles-lite/
  2. Base de datos — ejecuta el SQL (también se auto-instala al arrancar):
    lv-persistent-vehicles-lite/sql/install.sql
  3. server.cfg — orden recomendado:
    set mysql_connection_string "mysql://usuario:pass@localhost/nombre_bd?charset=utf8mb4"
    ensure oxmysql
    ensure lv-persistent-vehicles-lite
  4. Configura config.lua con tu licencia, framework y ubicaciones de garaje/concesionario.
  5. Reinicia el servidor y comprueba la consola: debe aparecer verificación de licencia correcta.
Sin licencia válida el script no arranca: concesionario, garaje y persistencia quedan desactivados.

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 jugador
  • Showroom — posición vehículo, cámara y jugador en vista previa
  • TestDrive — duración, spawn y punto de retorno
  • PaymentAccount'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,
}
FrameworkDetecciónCuenta de pago
QBCoreqb-coreCash / Bank de QBCore
ESXes_extendedEfectivo / Banco ESX
StandaloneSin frameworkIdentificador license:

Con auto, el orden de detección es: QBCore → ESX → Standalone.

Uso en juego

AcciónCómo hacerlo
Entrar al concesionarioBlip morado (PDM) → E
Comprar vehículoSelecciona modelo, personaliza colores, confirma compra
Test driveDesde el showroom → Test Drive (60 s por defecto)
Abrir garajeBlip de parking → E
Guardar vehículoZona verde del garaje → E
Bloquear / desbloquearCerca del vehículo → U

Comandos

ComandoDescripción
/darllave [id]Comparte la llave del vehículo cercano con otro jugador
/quitarllaveRevoca 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

TablaContenido
lv_pv_vehiclesVehículos persistentes
lv_pv_keysLlaves 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.Key sin espacios extra.
  • Activa Config.General.Debug = true y revisa la consola.
¿Sigues con dudas? Abre un ticket en Discord o escribe a contacto@lvscripts.com.