Início › Documentação › Exports · origen_parking

Exports · origen_parking

Todos os exports estão registados com o nome de recurso origen_parking.

A maioria dos exports são disparadores do tipo "disparar e esquecer" chamados pelo próprio recurso ou por outros scripts (garagens, polícia, sistemas de chaves). Os exports de leitura (GetVehicleByPlate, GetParkingPositions, etc.) são síncronos e podem ser chamados com segurança a partir de qualquer thread.


Exports do servidor

GetVehicleByPlate(plate) → table | nil

Devolve os dados guardados de um veículo estacionado na rua a partir da matrícula, ou nil se a matrícula não estiver registada.

lua
local data = exports['origen_parking']:GetVehicleByPlate('ABC123')
Parâmetro Tipo Descrição
plate string Matrícula do veículo (os espaços são comparados tal como foram guardados).

A tabela devolvida é o registo 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

O mesmo registo de cima, obtido a partir do handle de uma entidade de veículo no mundo. Devolve nil se a entidade não for um veículo gerido pelo estacionamento.

lua
local data = exports['origen_parking']:GetVehicleByEntity(entity)
Parâmetro Tipo Descrição
entity number Handle da entidade do veículo.

confiscateVehicle(input) → boolean

Remove um veículo estacionado do mundo e da base de dados. Aceita um handle de entidade ou uma matrícula. Devolve true se um veículo foi encontrado e removido.

lua
exports['origen_parking']:confiscateVehicle(entity)     -- by entity
exports['origen_parking']:confiscateVehicle('ABC123')   -- by plate
Parâmetro Tipo Descrição
input number | string Handle da entidade do veículo ou matrícula.

Não verifica a propriedade. Elimina o registo de forma permanente. Valida quem chama (por exemplo, o trabalho de agente) antes de o usar.


ConfiscateVehicleByPlate(plate) → boolean

Variante para a integração com garagens. Remove o veículo estacionado por matrícula para que uma garagem o possa assumir sem deixar uma cópia na rua. Devolve true em caso de sucesso.

lua
exports['origen_parking']:ConfiscateVehicleByPlate('ABC123')
Parâmetro Tipo Descrição
plate string Matrícula do veículo.

AreVehiclesLoaded() → boolean

Devolve true quando a grelha de estacionamento terminou de carregar os veículos da base de dados. Usa-o para condicionar qualquer lógica que dependa da existência de veículos estacionados depois de reiniciar o recurso.

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

Exports do cliente

parkVehicle(vehicle)

Estaciona manualmente a entidade de um veículo. Envia o pedido de estacionar ao servidor com os dados capturados do veículo. Não faz nada se o estacionamento local estiver desativado.

lua
exports['origen_parking']:parkVehicle(vehicle)
Parâmetro Tipo Descrição
vehicle number Handle da entidade do veículo a estacionar.

unparkVehicle(data)

Retira manualmente um veículo do estacionamento. Aceita um handle de entidade, uma matrícula ou uma tabela.

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 Descrição
data number | string | table Handle de entidade, matrícula ou { id } / { plate }.

onVehicleLocked(vehicle) → boolean

Hook explícito para sistemas de chaves. Executa as mesmas verificações de elegibilidade que o estacionamento automático (veículo vazio, não ser uma bicicleta, não estar na lista negra, não estar numa zona bloqueada, velocidade = 0) e estaciona o veículo. Devolve true se o estacionamento foi iniciado.

lua
exports['origen_parking']:onVehicleLocked(vehicle)
Parâmetro Tipo Descrição
vehicle number Handle da entidade do veículo.

Não faz nada (devolve false) se o estacionamento estiver desativado localmente, se já houver uma gravação em curso ou se o veículo não for elegível, por isso é sempre seguro chamá-lo.


onVehicleUnlocked(vehicle) → boolean

Hook explícito para sistemas de chaves. Retira o veículo do estacionamento se ele fizer parte do sistema nesse momento. Identifica-o pelo state bag orp_id e, em alternativa, pela matrícula. Devolve true se foi enviado um pedido para retirar do estacionamento.

lua
exports['origen_parking']:onVehicleUnlocked(vehicle)
Parâmetro Tipo Descrição
vehicle number Handle da entidade do veículo.

onVehicleLocked / onVehicleUnlocked são a forma recomendada de ligar qualquer sistema de chaves ao fluxo de estacionamento. Consulta a secção Custom → Integração com sistemas de chaves para exemplos completos.


confiscateVehicle(arg)

Disparador unificado do cliente usado pelo painel de administração e pelas integrações de polícia.

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 Descrição
arg table | number { id } / { plate } para uso administrativo ou interno, ou o handle da entidade de um veículo para a apreensão policial.

toggleLocalParking(state)

Ativa ou desativa o estacionamento automático ou manual para o jogador local. Se passares nil, alterna o estado atual.

lua
exports['origen_parking']:toggleLocalParking(false)  -- disable
exports['origen_parking']:toggleLocalParking(true)   -- enable
exports['origen_parking']:toggleLocalParking()       -- toggle
Parâmetro Tipo Descrição
state boolean | nil true ativa, false desativa, nil alterna.

GetParkingPositions() → table

Devolve o índice local das posições dos veículos estacionados na rua que estão a ser monitorizados, indexado pela matrícula limpa.

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

IsVehicleNearby(id) → boolean

Devolve true se o veículo estacionado com o id de estacionamento indicado estiver neste momento dentro do alcance de monitorização do jogador.

lua
local near = exports['origen_parking']:IsVehicleNearby(14)
Parâmetro Tipo Descrição
id number Id da linha de estacionamento.

GetVehicleByPlate(plate) → table | nil

Consulta síncrona no cliente. Devolve { plate = '<clean>' } se a matrícula estiver registada como veículo estacionado na rua, ou nil. Os sistemas de chaves usam-na para enriquecer as notificações de trancamento.

lua
local v = exports['origen_parking']:GetVehicleByPlate('ABC123')
Parâmetro Tipo Descrição
plate string Matrícula do veículo.

openManagement()

Abre o painel de gestão de administração (igual ao comando /orgadmin). O servidor valida a permissão de administrador com o sistema de permissões configurado antes de devolver os dados.

lua
exports['origen_parking']:openManagement()