Accueil › Documentation › Exports · origen_parking

Exports · origen_parking

Tous les exports sont enregistrés sous le nom de ressource origen_parking.

La plupart des exports sont des déclencheurs de type « envoie et oublie » appelés par la ressource elle-même ou par d’autres scripts (garages, police, systèmes de clés). Les exports de lecture (GetVehicleByPlate, GetParkingPositions, etc.) sont synchrones et peuvent être appelés sans risque depuis n’importe quel thread.


Exports côté serveur

GetVehicleByPlate(plate) → table | nil

Renvoie les données enregistrées d’un véhicule stationné dans la rue à partir de sa plaque, ou nil si la plaque n’est pas suivie.

lua
local data = exports['origen_parking']:GetVehicleByPlate('ABC123')
Paramètre Type Description
plate string Plaque d’immatriculation du véhicule (les espaces sont comparés tels qu’ils ont été enregistrés).

La table renvoyée est l’enregistrement interne 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

Le même enregistrement que ci-dessus, obtenu à partir du handle d’une entité véhicule dans le monde. Renvoie nil si l’entité n’est pas un véhicule géré par le stationnement.

lua
local data = exports['origen_parking']:GetVehicleByEntity(entity)
Paramètre Type Description
entity number Handle de l’entité véhicule.

confiscateVehicle(input) → boolean

Retire un véhicule stationné du monde et de la base de données. Accepte un handle d’entité ou une plaque. Renvoie true si un véhicule a été trouvé et retiré.

lua
exports['origen_parking']:confiscateVehicle(entity)     -- by entity
exports['origen_parking']:confiscateVehicle('ABC123')   -- by plate
Paramètre Type Description
input number | string Handle de l’entité véhicule, ou plaque.

Aucune vérification de propriété n’est effectuée. L’enregistrement est supprimé définitivement. Valide l’appelant (par exemple le métier de policier) avant de l’utiliser.


ConfiscateVehicleByPlate(plate) → boolean

Variante pour l’intégration des garages. Retire le véhicule stationné par plaque afin qu’un garage puisse le prendre en charge sans laisser de copie dans la rue. Renvoie true en cas de succès.

lua
exports['origen_parking']:ConfiscateVehicleByPlate('ABC123')
Paramètre Type Description
plate string Plaque d’immatriculation du véhicule.

AreVehiclesLoaded() → boolean

Renvoie true une fois que la grille de stationnement a fini de charger les véhicules depuis la base de données. Utilise-le pour conditionner toute logique qui dépend de l’existence de véhicules stationnés après un redémarrage de la ressource.

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

Exports côté client

parkVehicle(vehicle)

Stationne manuellement une entité véhicule. Envoie la demande de stationnement au serveur avec les données capturées du véhicule. Sans effet si le stationnement local est désactivé.

lua
exports['origen_parking']:parkVehicle(vehicle)
Paramètre Type Description
vehicle number Handle de l’entité véhicule à stationner.

unparkVehicle(data)

Sort manuellement un véhicule du stationnement. Accepte un handle d’entité, une plaque ou une table.

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' })
Paramètre Type Description
data number | string | table Handle d’entité, plaque, ou { id } / { plate }.

onVehicleLocked(vehicle) → boolean

Hook explicite pour les systèmes de clés. Exécute les mêmes vérifications d’éligibilité que le stationnement automatique (véhicule vide, pas un vélo, pas en liste noire, pas dans une zone bloquée, vitesse = 0) et stationne le véhicule. Renvoie true si un stationnement a été lancé.

lua
exports['origen_parking']:onVehicleLocked(vehicle)
Paramètre Type Description
vehicle number Handle de l’entité véhicule.

Sans effet (renvoie false) si le stationnement est désactivé localement, si un enregistrement est déjà en cours ou si le véhicule n’est pas éligible : il est donc toujours sûr de l’appeler.


onVehicleUnlocked(vehicle) → boolean

Hook explicite pour les systèmes de clés. Sort le véhicule du stationnement s’il en fait actuellement partie. Il est identifié par le state bag orp_id, puis par la plaque à défaut. Renvoie true si une demande de sortie a été envoyée.

lua
exports['origen_parking']:onVehicleUnlocked(vehicle)
Paramètre Type Description
vehicle number Handle de l’entité véhicule.

onVehicleLocked / onVehicleUnlocked sont la méthode recommandée pour relier n’importe quel système de clés au flux de stationnement. Consulte la section Custom → Intégration des systèmes de clés pour des exemples complets.


confiscateVehicle(arg)

Déclencheur client unifié utilisé par le panneau d’administration et par les intégrations de police.

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)
Paramètre Type Description
arg table | number { id } / { plate } pour un usage administratif ou interne, ou le handle d’une entité véhicule pour une saisie par la police.

toggleLocalParking(state)

Active ou désactive le stationnement automatique ou manuel pour le joueur local. Passer nil inverse l’état actuel.

lua
exports['origen_parking']:toggleLocalParking(false)  -- disable
exports['origen_parking']:toggleLocalParking(true)   -- enable
exports['origen_parking']:toggleLocalParking()       -- toggle
Paramètre Type Description
state boolean | nil true active, false désactive, nil inverse.

GetParkingPositions() → table

Renvoie l’index local des positions des véhicules stationnés dans la rue qui sont suivis, indexé par plaque nettoyée.

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

IsVehicleNearby(id) → boolean

Renvoie true si le véhicule stationné ayant l’id de stationnement indiqué se trouve actuellement dans la portée de suivi du joueur.

lua
local near = exports['origen_parking']:IsVehicleNearby(14)
Paramètre Type Description
id number Id de la ligne de stationnement.

GetVehicleByPlate(plate) → table | nil

Consultation synchrone côté client. Renvoie { plate = '<clean>' } si la plaque est actuellement suivie comme véhicule stationné dans la rue, ou nil. Utilisé par les systèmes de clés pour enrichir les notifications de verrouillage.

lua
local v = exports['origen_parking']:GetVehicleByPlate('ABC123')
Paramètre Type Description
plate string Plaque d’immatriculation du véhicule.

openManagement()

Ouvre le panneau de gestion d’administration (comme la commande /orgadmin). Le serveur valide la permission d’administrateur via le système de permissions configuré avant de renvoyer les données.

lua
exports['origen_parking']:openManagement()