Browse docs

External Garage Integration

Reference for External Garage Integration in sky_jobs_base.

All server exports

External Garage Integration

These exports allow third-party garage systems to register and unregister vehicles so the trunk inventory and prop system works for externally-spawned job vehicles.

registerExternalVehicle(plate, jobName, model, netId, ownerSource, trunkCapacity)

  • Purpose: Registers an externally-spawned vehicle in the sky_jobs_base vehicle tracking system. This enables trunk inventory, prop placement, and all trunk-related server callbacks for the vehicle.
  • Arguments:
    • plate (string) — the vehicle license plate. Required.
    • jobName (string) — the job this vehicle belongs to (e.g. "ambulance", "police"). Required.
    • model (string?) — vehicle model name (e.g. "ambulance"). Defaults to "unknown".
    • netId (number?) — network ID of the spawned vehicle entity.
    • ownerSource (number?) — server ID of the player who spawned the vehicle.
    • trunkCapacity (number?) — trunk weight capacity. Defaults to 50.
  • Returns: boolean — true on success, false if plate or jobName is missing.
-- After spawning the vehicle on the server:
local plate = GetVehicleNumberPlateText(vehicle)
local netId = NetworkGetNetworkIdFromEntity(vehicle)

exports["sky_jobs_base"]:registerExternalVehicle(
    plate,
    "ambulance",
    "ambulance",
    netId,
    source,
    80
)
External vehicles are not stored in the database. They only exist in memory and will be cleaned up on resource restart. Your garage system is responsible for its own persistence.

unregisterExternalVehicle(plate)

  • Purpose: Removes an externally-registered vehicle from the tracking system. Call this when the vehicle is despawned or parked by the external garage.
  • Arguments:
    • plate (string) — the vehicle license plate. Required.
  • Returns: boolean — true on success, false if plate is invalid.
exports["sky_jobs_base"]:unregisterExternalVehicle(plate)

Full Usage Example

-- When spawning the vehicle
RegisterNetEvent("mygarage:vehicleSpawned", function(plate, model, netId)
    exports["sky_jobs_base"]:registerExternalVehicle(
        plate, "ambulance", model, netId, source, 80
    )
end)

-- When despawning / parking the vehicle
RegisterNetEvent("mygarage:vehicleDespawned", function(plate)
    exports["sky_jobs_base"]:unregisterExternalVehicle(plate)
end)