Início › Documentação › Personalização · origen_blackmarket

Personalização · origen_blackmarket

A pasta custom/ trata da integração com a framework, do acesso ao inventário e da interface sem mexer no núcleo. Todos os ficheiros estão em escrow_ignore, por isso sobrevivem às atualizações.

text
custom/
├── client.lua           — notifications, inventory access, menu, weapon lookup
├── server.lua           — payment, vehicle insertion, item metadata, plate check
└── framework/
    ├── client/
    │   ├── qb.lua       — QBCore client bridge
    │   └── esx.lua      — ESX client bridge
    └── server/
        ├── qb.lua       — QBCore server bridge
        └── esx.lua      — ESX server bridge

custom/client.lua

ShowHelpNotification(key, msg)

Mostra um texto de ajuda de interação. Delega consoante Config.Framework.

lua
function ShowHelpNotification(key, msg)
    -- 'qbcore' → exports['qb-core']:DrawText(msg, nil, key)
    -- 'esx'    → Framework.ShowHelpNotification(msg, key)
end

HideHelpNotification()

Esconde o texto de ajuda de interação.

lua
function HideHelpNotification()
    -- 'qbcore' → exports["qb-core"]:HideText()
    -- custom: implement here
end

GetPlayerItems(PlayerData) → table

Devolve os itens do inventário do jogador local. Delega consoante Config.Inventory.

Suportados: qs-inventory, ls-inventory, origen_inventory, ox_inventory, codem-inventory, core_inventory. Para qb-inventory recorre a PlayerData.items.

lua
function GetPlayerItems(PlayerData)
    -- Config.Inventory == 'custom': implement here
    return PlayerData.items or {}
end

GetItemFromWeapon(PlayerData, weapon) → item | nil

Devolve o item do inventário que corresponde a um hash de arma. Usado para verificar se um jogador possui uma arma específica antes de lhe aplicar um camuflado.


OpenMenu(...)

Abre o menu de contexto para comprar camuflados. Delega consoante Config.Framework:


custom/server.lua

SetItemMetadata(source, item, slot, info)

Define metadados num item do inventário após a compra. Apenas implementado para origen_inventory.

lua
function SetItemMetadata(source, item, slot, info)
    if Config.Inventory == "origen_inventory" then
        exports.origen_inventory:SetItemMetadata(source, item, slot, info)
    else
        -- Add your inventory metadata implementation here
    end
end

SelectPlate(plate) → string | nil

Verifica se uma matrícula já existe na tabela de veículos. Delega consoante Config.Framework.

lua
function SelectPlate(plate)
    -- 'qbcore' → SELECT plate FROM player_vehicles
    -- 'esx'    → SELECT plate FROM owned_vehicles
end

AddVehicle(vehName, license, identifier, model, hash, plate, garage, state)

Insere um veículo novo na tabela de veículos da framework após a compra.

lua
function AddVehicle(vehName, license, identifier, model, hash, plate, garage, state)
    -- 'qbcore' → INSERT INTO player_vehicles (license, citizenid, vehicle, hash, mods, plate, garage, state)
    -- 'esx'    → INSERT INTO owned_vehicles (owner, plate, vehicle, type, stored, garage)
    --            Uses Config.DefaultCarProperties for the vehicle JSON blob
end

doPayment(type, price, cryptoPrice, pID, cb)

Trata do pagamento de uma compra. Verifica o saldo do jogador e desconta o valor.

Parâmetro Tipo Descrição
type string 'money' | 'crypto'
price number Preço em numerário
cryptoPrice number Preço em cripto
pID number ID de servidor do jogador
cb function Chamada com true se o pagamento for feito e com false se não houver fundos suficientes

Quando Config.MoneyItems.enabled = true, verifica a quantidade de itens no inventário. Quando é false, verifica o saldo da conta da framework.