Accueil › Documentation › 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.
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 bridgeShowHelpNotification(key, msg)Affiche un texte d’aide à l’interaction. Délègue selon Config.Framework.
function ShowHelpNotification(key, msg)
-- 'qbcore' → exports['qb-core']:DrawText(msg, nil, key)
-- 'esx' → Framework.ShowHelpNotification(msg, key)
endHideHelpNotification()Masque le texte d’aide à l’interaction.
function HideHelpNotification()
-- 'qbcore' → exports["qb-core"]:HideText()
-- custom: implement here
endGetPlayerItems(PlayerData) → tableRenvoie 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.
function GetPlayerItems(PlayerData)
-- Config.Inventory == 'custom': implement here
return PlayerData.items or {}
endGetItemFromWeapon(PlayerData, weapon) → item | nilRenvoie 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 :
qbcore → exports["qb-menu"]:openMenu(...)esx → Framework.UI.Menu.Open(...)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.
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
endSelectPlate(plate) → string | nilVérifie si une plaque existe déjà dans la table des véhicules. Délègue selon Config.Framework.
function SelectPlate(plate)
-- 'qbcore' → SELECT plate FROM player_vehicles
-- 'esx' → SELECT plate FROM owned_vehicles
endAddVehicle(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.
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
enddoPayment(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.