Skip to content

Exports & events overview

The full lists are generated from the code in the API reference, one page per resource. This page is the short version: the calls you’ll reach for when writing your own resource. Server side unless noted.

local p = exports.bs_core:GetPlayer(src) -- player object, nil if not loaded
exports.bs_core:GetPlayerByCharId(charId)
exports.bs_core:AddMoney(src, account, amount, reason)
exports.bs_core:AddXP(src, amount, reason)
exports.bs_core:GetPlayerMeta(src, key, fallback)
exports.bs_core:AwardAction(src, 'vehicle_repaired') -- counts toward skills and contracts
exports.bs_core:GetLanguage(src)

Callbacks go through the bridge, see Architecture.

exports.bs_inventory:GiveItem(src, 'bandage', 2, metadata)
exports.bs_inventory:RemoveItem(src, 'bandage', 1)
exports.bs_inventory:CountItem(src, 'bandage')
exports.bs_inventory:GetItem('bandage') -- definition
exports.bs_inventory:RegisterContainer(containerId, spec, src)
exports.bs_inventory:OpenContainerFor(src, containerId)
exports.bs_inventory:SetItemMeta(src, slot, item, metadata, silent)

More on Items & inventory.

exports.bs_factions:GetFaction(src) -- faction id
exports.bs_factions:FactionRank(src, factionId)
exports.bs_factions:RankAllowed(src, 'build') -- custom rank permissions
exports.bs_factions:GetFactionLevel(factionId)
exports.bs_factions:AddFactionXP(factionId, amount, reason)
exports.bs_factions:AddReputation(src, amount, reason)
exports.bs_factions:GetSquadMembers(src)
exports.bs_factions:SameSquad(a, b)
exports.bs_building:RegisterPlaceable({ id = 'workbench', cat = 'utility', ... })
exports.bs_building:PiecesInRadius(x, y, z, r)
exports.bs_building:NearStation(src, 'workbench', 4.0)
exports.bs_building:RaidOpen()
exports.bs_building:GetRespawnPoint(charId)
-- client
exports.bs_building:StartPlacing(defId)

Event: bs:building:pieceRemoved (id, defId) on every removal.

exports.bs_crafting:StationDefs()
exports.bs_crafting:Recipes()
exports.bs_crafting:RecipeFor('bandage')
exports.bs_crafting:SkillLevel(src)
exports.bs_jobs:GetJob(src) -- 'mechanic', 'hunter', ... or nil
exports.bs_jobs:HasJob(src, 'medic')
exports.bs_jobs:Does(src, 'hunt') -- capability check: hunt, fish, kidnap, rob, smuggle, gunsmith ...

Check a capability with Does instead of a job name when you can. Several jobs share one, and server owners rename jobs.

exports.bs_medical:IsDowned(src)
exports.bs_medical:Down(src)
exports.bs_medical:Revive(src)
-- client
exports.bs_medical:IsDowned()
exports.bs_medical:IsCarrying()

See Zombies API for noise, damage and event spawns.

Framework events are named bs:<area>:<thing>. Lifecycle hooks such as bs:hook:player:loaded are listed on Architecture. UI panels must fire bs:ui:opened and bs:ui:closed, see UI & NUI.