Pular para o conteúdo

Visão geral de exports e eventos

As listas completas são geradas a partir do código na referência da API, uma página por resource. Esta página é a versão curta: as chamadas a que vais recorrer ao escrever o teu próprio resource. Do lado do servidor, salvo indicação em contrário.

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)

Os callbacks passam pela bridge, ver Arquitetura.

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)

Mais em Itens e inventário.

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)

Evento: bs:building:pieceRemoved (id, defId) em cada remoção.

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 ...

Sempre que puderes, verifica uma capacidade com Does em vez de um nome de trabalho. Vários trabalhos partilham uma, e os donos de servidor renomeiam trabalhos.

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

Ver a API de zombies para ruído, dano e spawns de eventos.

Os eventos do framework chamam-se bs:<área>:<coisa>. Os hooks de ciclo de vida como bs:hook:player:loaded estão listados em Arquitetura. Os painéis de UI têm de disparar bs:ui:opened e bs:ui:closed, ver UI e NUI.