Koja Scripts
JOBS

Events

Koja Trucker emits server-side events you can listen to from your own resources. They're plain TriggerEvents, so subscribe with AddEventHandler.

Events

AddEventHandler('koja-trucker:delivery:completed', function(data)
    print(('%s earned $%s'):format(data.identifier, data.money))
end)

koja-trucker:mission

Fired when a player successfully starts a delivery.

{
  src,            -- server id
  identifier,     -- player identifier
  mission_id,     -- order id
  category,       -- default|urgent|dangerous|fragile|illegal|business
  required_class, -- 1|2|3
}

koja-trucker:delivery

Fired when a delivery is paid out (also fires for convoy passengers).

{
  src, identifier,
  money,          -- net payout
  xp,
  km,             -- route distance
  elapsed,        -- seconds taken
  category,
  from, to,       -- city names
  company_id,     -- nil if independent
  late,           -- boolean (urgent deadline missed)
}

koja-trucker:company

{
  src, identifier,
  company_id,
  name,
  tag,            -- nil if none
}

koja-trucker:skill

{
  src, identifier,
  skill_id,
  level,          -- new level
}

koja-trucker:promo

{
  src, identifier,
  code,
  kind,           -- 'money' | 'xp' | 'sp'
  multiplier,
}

Example: reward streaks in another resource

local streak = {}

AddEventHandler('koja-trucker:delivery:completed', function(d)
    if d.late then streak[d.identifier] = 0; return end
    streak[d.identifier] = (streak[d.identifier] or 0) + 1
    if streak[d.identifier] == 10 then
        -- 10 on-time deliveries in a row → gift a boost
        exports['koja-trucker']:GrantPromoEffect(d.src, 'xp', 2.0, 1800)
    end
end)
  • Exports — Koja Trucker exposes a stable, documented set of server-side exports so you can integrate it with your own resources.
  • API — back to the section overview