Browse docs
External Garage Integration
Reference for External Garage Integration in sky_jobs_base.
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 to50.
- Returns:
boolean—trueon success,falseif 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—trueon success,falseif 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)
-- After the vehicle entity exists on the client
local vehicle = NetToVeh(netId)
exports["sky_jobs_base"]:registerExternalTrunkVehicle(vehicle)
-- When despawning
exports["sky_jobs_base"]:unregisterExternalTrunkVehicle(vehicle)