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 include coords and may include type plus a metadata table. type defaults to trash and must match a configured fire profile or alias.
    • creator (number) - optional player source used as the creation and dispatch context. Pass 0 or 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, or create_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 include netId and/or coords, and may include plate, source, initialStage, smokeDensity, explosionDelaySeconds, and vehicle state values.
    • creator (number) - optional player source for auditing or validation context.
    • options (table) - optional creation flags such as reason, manual, accident, or scenario.
  • Returns: table with success and additional fields such as fireId or error.
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: table with success and removal details.
exports["sky_firejob"]:RemoveVehicleFire(vehicleNetId, "external_repair")

CreateOilSpill(payload, creator, options)

  • Purpose: Creates a persistent oil spill.
  • Arguments:
    • payload (table) - spill data including coords, and optionally radius, intensity, source, sourcePart, sourceVehicleNetId, and sourcePlate.
    • creator (number) - optional player source tied to the creation.
    • options (table) - optional flags such as sourceKey, ignoreSourceCooldown, ignoreSourceMinDistance, or ignoreVehicleLimit.
  • 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()

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