Server Events

These are server-side events that zephyr_garages emits via TriggerEvent. Hook them from your own resource to react to garage lifecycle changes.


zephyr_garages:server:garageRegistered

Fired on the server every time a garage is registered or updated — both at startup (for each garage defined in config.server) and at runtime via the RegisterGarage export.

AddEventHandler('zephyr_garages:server:garageRegistered', function(name, garageConfig)
    print(('Garage "%s" is now available.'):format(name))
    -- garageConfig: full config table including label, vehicleType, accessPoints, etc.
end)
ParameterTypeDescription
namestringGarage identifier key (e.g. "mrpd", "downtown")
garageConfigtableFull garage configuration object as defined in config.server

Example use case — notify other resources when a police garage comes online:

AddEventHandler('zephyr_garages:server:garageRegistered', function(name, config)
    if config.groups == 'police' or name:find('pd') then
        TriggerEvent('myResource:policeGarageReady', name)
    end
end)

zephyr_garages:server:vehicleSpawned

Fired on the server after a vehicle is successfully spawned from a garage (both owned vehicles and spawner vehicles).

AddEventHandler('zephyr_garages:server:vehicleSpawned', function(veh)
    -- veh: server-side entity handle of the spawned vehicle
    local plate = GetVehicleNumberPlateText(veh)
    print(('Vehicle spawned. Plate: %s'):format(plate))
end)
ParameterTypeDescription
vehnumberServer-side entity handle of the spawned vehicle

Example use case — attach a tracker to every spawned police vehicle:

AddEventHandler('zephyr_garages:server:vehicleSpawned', function(veh)
    local plate = GetVehicleNumberPlateText(veh)
    -- Log to your own tracking table, emit dispatch blip, etc.
    TriggerEvent('myTracker:vehicleDeployed', veh, plate)
end)