Accueil › Documentation › Personnalisation · origen_blackmarket

Personnalisation · origen_blackmarket

Le dossier custom/ gère l’intégration avec le framework, l’accès à l’inventaire et l’interface sans toucher au cœur. Tous les fichiers sont dans escrow_ignore : ils survivent donc aux mises à jour.

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)

Affiche un texte d’aide à l’interaction. Délègue selon Config.Framework.

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

HideHelpNotification()

Masque le texte d’aide à l’interaction.

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

GetPlayerItems(PlayerData) → table

Renvoie les objets de l’inventaire du joueur local. Délègue selon Config.Inventory.

Pris en charge : qs-inventory, ls-inventory, origen_inventory, ox_inventory, codem-inventory, core_inventory. Pour qb-inventory, se rabat sur PlayerData.items.

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

GetItemFromWeapon(PlayerData, weapon) → item | nil

Renvoie l’objet de l’inventaire correspondant à un hash d’arme. Utilisé pour vérifier qu’un joueur possède une arme précise avant de lui appliquer un camouflage.


OpenMenu(...)

Ouvre le menu contextuel pour acheter des camouflages. Délègue selon Config.Framework :


custom/server.lua

SetItemMetadata(source, item, slot, info)

Définit des métadonnées sur un objet de l’inventaire après l’achat. Implémenté uniquement pour 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

Vérifie si une plaque existe déjà dans la table des véhicules. Délègue selon 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)

Insère un nouveau véhicule dans la table des véhicules du framework après l’achat.

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)

Gère le paiement d’un achat. Vérifie le solde du joueur et débite le montant.

Paramètre Type Description
type string 'money' | 'crypto'
price number Prix en liquide
cryptoPrice number Prix en crypto
pID number ID serveur du joueur
cb function Appelée avec true en cas de succès et avec false si les fonds sont insuffisants

Quand Config.MoneyItems.enabled = true, vérifie la quantité d’objets dans l’inventaire. Quand c’est false, vérifie le solde du compte du framework.