Inicio › Documentación › Exports · origen_parking

Exports · origen_parking

Todos los exports están registrados bajo el nombre de recurso origen_parking.

La mayoría de los exports son disparadores de tipo "lanzar y olvidar" que llaman el propio recurso u otros scripts (garajes, policía, sistemas de llaves). Los exports de lectura (GetVehicleByPlate, GetParkingPositions, etc.) son síncronos y se pueden llamar con seguridad desde cualquier hilo.


Exports del servidor

GetVehicleByPlate(plate) → table | nil

Devuelve los datos guardados de un vehículo aparcado en la calle a partir de su matrícula, o nil si la matrícula no está registrada.

lua
local data = exports['origen_parking']:GetVehicleByPlate('ABC123')
Parámetro Tipo Descripción
plate string Matrícula del vehículo (los espacios se comparan tal como están guardados).

La tabla devuelta es el registro interno data:

lua
{
    id         = 14,                       -- internal parking row id
    plate      = 'ABC123',
    model      = 'adder',
    hash       = 231083307,
    owner      = 'license:abc...',         -- framework identifier of the owner
    parkedBy   = 'license:abc...',         -- who parked it (may differ from owner)
    coords     = { x = 0.0, y = 0.0, z = 0.0, w = 0.0 },
    dimension  = 0,
    type       = 'automobile',
    mods       = {},                       -- vehicle properties / tuning
    lastUpdate = 1700000000,
    netID      = nil,                      -- network id when spawned, nil when stored
}

GetVehicleByEntity(entity) → table | nil

El mismo registro de antes, obtenido a partir del handle de una entidad de vehículo en el mundo. Devuelve nil si la entidad no es un vehículo gestionado por el aparcamiento.

lua
local data = exports['origen_parking']:GetVehicleByEntity(entity)
Parámetro Tipo Descripción
entity number Handle de la entidad del vehículo.

confiscateVehicle(input) → boolean

Elimina un vehículo aparcado del mundo y de la base de datos. Acepta un handle de entidad o una matrícula. Devuelve true si se encontró y se eliminó un vehículo.

lua
exports['origen_parking']:confiscateVehicle(entity)     -- by entity
exports['origen_parking']:confiscateVehicle('ABC123')   -- by plate
Parámetro Tipo Descripción
input number | string Handle de la entidad del vehículo o matrícula.

No comprueba la propiedad. Elimina el registro de forma permanente. Valida a quien llama (por ejemplo, el trabajo de agente) antes de usarlo.


ConfiscateVehicleByPlate(plate) → boolean

Variante para la integración con garajes. Elimina el vehículo aparcado por matrícula para que un garaje pueda hacerse cargo de él sin dejar una copia en la calle. Devuelve true si todo va bien.

lua
exports['origen_parking']:ConfiscateVehicleByPlate('ABC123')
Parámetro Tipo Descripción
plate string Matrícula del vehículo.

AreVehiclesLoaded() → boolean

Devuelve true cuando la cuadrícula de aparcamiento ha terminado de cargar los vehículos desde la base de datos. Úsalo para condicionar cualquier lógica que dependa de que existan vehículos aparcados tras reiniciar el recurso.

lua
if exports['origen_parking']:AreVehiclesLoaded() then
    -- safe to query parked vehicles
end

Exports del cliente

parkVehicle(vehicle)

Aparca manualmente la entidad de un vehículo. Envía la petición de aparcar al servidor con los datos capturados del vehículo. No hace nada si el aparcamiento local está desactivado.

lua
exports['origen_parking']:parkVehicle(vehicle)
Parámetro Tipo Descripción
vehicle number Handle de la entidad del vehículo que se va a aparcar.

unparkVehicle(data)

Desaparca manualmente un vehículo. Acepta un handle de entidad, una matrícula o una tabla.

lua
exports['origen_parking']:unparkVehicle(entity)            -- by entity (resolves orp_id)
exports['origen_parking']:unparkVehicle('ABC123')          -- by plate
exports['origen_parking']:unparkVehicle({ id = 14 })       -- by parking id
exports['origen_parking']:unparkVehicle({ plate = 'ABC123' })
Parámetro Tipo Descripción
data number | string | table Handle de entidad, matrícula o { id } / { plate }.

onVehicleLocked(vehicle) → boolean

Hook explícito para sistemas de llaves. Ejecuta las mismas comprobaciones de elegibilidad que el aparcamiento automático (vehículo vacío, no es una bicicleta, no está en la lista negra, no está en una zona bloqueada, velocidad = 0) y aparca el vehículo. Devuelve true si se inició el aparcamiento.

lua
exports['origen_parking']:onVehicleLocked(vehicle)
Parámetro Tipo Descripción
vehicle number Handle de la entidad del vehículo.

No hace nada (devuelve false) si el aparcamiento está desactivado localmente, ya hay un guardado en curso o el vehículo no es elegible, así que siempre es seguro llamarlo.


onVehicleUnlocked(vehicle) → boolean

Hook explícito para sistemas de llaves. Desaparca el vehículo si forma parte del sistema de aparcamiento en ese momento. Lo identifica por el state bag orp_id y, si no lo encuentra, por la matrícula. Devuelve true si se envió una petición de desaparcar.

lua
exports['origen_parking']:onVehicleUnlocked(vehicle)
Parámetro Tipo Descripción
vehicle number Handle de la entidad del vehículo.

onVehicleLocked / onVehicleUnlocked son la forma recomendada de conectar cualquier sistema de llaves con el flujo de aparcamiento. Consulta la sección Custom → Integración con sistemas de llaves para ver ejemplos completos.


confiscateVehicle(arg)

Disparador unificado del cliente que usan el panel de administración y las integraciones de policía.

lua
exports['origen_parking']:confiscateVehicle({ id = 14 })        -- admin (ownership validated server-side)
exports['origen_parking']:confiscateVehicle({ plate = 'ABC123' })
exports['origen_parking']:confiscateVehicle(entity)             -- police (no ownership check server-side)
Parámetro Tipo Descripción
arg table | number { id } / { plate } para uso administrativo o interno, o el handle de la entidad de un vehículo para la confiscación policial.

toggleLocalParking(state)

Activa o desactiva el aparcamiento automático o manual para el jugador local. Si pasas nil, alterna el estado actual.

lua
exports['origen_parking']:toggleLocalParking(false)  -- disable
exports['origen_parking']:toggleLocalParking(true)   -- enable
exports['origen_parking']:toggleLocalParking()       -- toggle
Parámetro Tipo Descripción
state boolean | nil true activa, false desactiva, nil alterna.

GetParkingPositions() → table

Devuelve el índice local de posiciones de vehículos aparcados en la calle que se están rastreando, indexado por matrícula limpia.

lua
local positions = exports['origen_parking']:GetParkingPositions()

IsVehicleNearby(id) → boolean

Devuelve true si el vehículo aparcado con el id de aparcamiento indicado está ahora mismo dentro del rango de seguimiento del jugador.

lua
local near = exports['origen_parking']:IsVehicleNearby(14)
Parámetro Tipo Descripción
id number Id de la fila de aparcamiento.

GetVehicleByPlate(plate) → table | nil

Consulta síncrona en el cliente. Devuelve { plate = '<clean>' } si la matrícula está registrada como vehículo aparcado en la calle, o nil. Los sistemas de llaves la usan para enriquecer las notificaciones de cierre.

lua
local v = exports['origen_parking']:GetVehicleByPlate('ABC123')
Parámetro Tipo Descripción
plate string Matrícula del vehículo.

openManagement()

Abre el panel de gestión de administración (igual que el comando /orgadmin). El servidor valida el permiso de administrador con el sistema de permisos configurado antes de devolver los datos.

lua
exports['origen_parking']:openManagement()