Browse docs
Exports
Server exports provided by the Sky Fire Job resource.
This page documents supported public integration calls and usage examples. It does not expose or reproduce the resource's internal implementation.
Server Exports
CreateFire(payload, creator)
- Purpose: Creates a regular synchronized fire through the public Fire Job API. The fire uses the normal spread, extinguishing, dispatch, effects, and lifecycle systems.
- Arguments:
payload(table) - must includecoordsand may includetypeplus ametadatatable.typedefaults totrashand must match a configured fire profile or alias.creator(number) - optional player source used as the creation and dispatch context. Pass0or omit it for a server-created fire.
- Returns:
{ success = true, fireId, type, label }on success, otherwise{ success = false, error }. - Errors:
invalid_payload,invalid_coords,invalid_fire_type, orcreate_failed.
local result = exports["sky_firejob"]:CreateFire({
type = "trash",
coords = { x = coords.x, y = coords.y, z = coords.z },
metadata = {
locationType = "exterior",
sourceScale = 1.0,
material = "plastic",
smokeDensity = 0.8,
reignitable = true
}
}, source)
if not result.success then
print(("Could not create fire: %s"):format(result.error))
end
Supported metadata includes the same regular-fire controls used by the fire creator, such as
locationType, sourceScale, smokeDensity, smokeColor, smokeEnabled, toxicSmoke,
confined, ventilation, material, scenePropsEnabled, and the reignition* settings.
The export is server-side only and is silent by default; pass metadata.silent = false when the
creator player should receive the normal creation notification.
CreateVehicleFire(payload, creator, options)
- Purpose: Creates a vehicle fire through the public firejob API.
- Arguments:
payload(table) - fire creation data. Should includenetIdand/orcoords, and may includeplate,source,initialStage,smokeDensity,explosionDelaySeconds, and vehicle state values.creator(number) - optional player source for auditing or validation context.options(table) - optional creation flags such asreason,manual,accident, orscenario.
- Returns:
tablewithsuccessand additional fields such asfireIdorerror.
local result = exports["sky_firejob"]:CreateVehicleFire({
netId = vehicleNetId,
plate = plate,
coords = { x = coords.x, y = coords.y, z = coords.z },
source = "my_resource"
}, source, { reason = "external" })
RemoveVehicleFire(netId, reason)
- Purpose: Removes the active fire state from a vehicle.
- Arguments:
netId(number) - network ID of the burning vehicle.reason(string) - optional audit reason.
- Returns:
tablewithsuccessand removal details.
exports["sky_firejob"]:RemoveVehicleFire(vehicleNetId, "external_repair")
CreateOilSpill(payload, creator, options)
- Purpose: Creates a persistent oil spill.
- Arguments:
payload(table) - spill data includingcoords, and optionallyradius,intensity,source,sourcePart,sourceVehicleNetId, andsourcePlate.creator(number) - optional player source tied to the creation.options(table) - optional flags such assourceKey,ignoreSourceCooldown,ignoreSourceMinDistance, orignoreVehicleLimit.
- Returns:
success, spillOrError.
local ok, spill = exports["sky_firejob"]:CreateOilSpill({
coords = { x = coords.x, y = coords.y, z = coords.z },
source = "scripted_scene",
radius = 1.5,
intensity = 0.9
}, source)
RemoveOilSpill(spillId, reason)
- Purpose: Removes an existing oil spill.
- Arguments:
spillId(string|number) - spill identifier.reason(string) - optional audit reason.
- Returns:
boolean
exports["sky_firejob"]:RemoveOilSpill(spillId, "scene_reset")
GetOilSpills()
- Purpose: Returns every currently active oil spill known to the server.
- Returns:
table[]
local spills = exports["sky_firejob"]:GetOilSpills()
Related shared integrations
The firejob also depends heavily on sky_jobs_base and inherits its shared systems for:
- Job registration
- Duty handling
- Storage
- Garages
- Dispatch
- Boss permissions
See the Sky Jobs Base Server Exports page for shared integrations like dispatch creation, external garage registration, and storage helpers.
Support
Need help? Our support team is always ready to assist.
Join Discord