Accueil › Documentation › Personnalisation · origen_masterjob

Personnalisation · origen_masterjob

Le dossier custom/ gère l’intégration du framework, de l’inventaire, des vêtements, des véhicules, du carburant et des notifications sans toucher au cœur. Tous les fichiers sont escrow_ignore : ils survivent aux mises à jour.

text
custom/
├── client.lua              — notifications, inventory, stash, clothing, garage, mechanic, keys, fuel
├── client_pay_bills.lua    — bill payment NPC thread
├── blips.lua               — business blip rendering
└── server/
    ├── command.lua         — admin command definitions
    ├── main.lua            — inventory helpers, vehicle queries, payment, keys, bill sending
    └── menu/
        └── phone.lua       — phone number lookup

custom/client.lua

Custom.canOpenMenu(job) → { success, message }

Détermine si le joueur local peut ouvrir le menu de l’entreprise. Renvoie success = false avec un message pour bloquer l’accès.

lua
Custom.canOpenMenu = function(job)
    return { success = true, message = '' }
end

Custom.ShowNotification(msg)

Affiche une notification au joueur local. Utilisé quand Config.CustomNotify = true.

lua
Custom.ShowNotification = function(msg)
    -- Add your notification here
    -- Example: exports["origen_notify"]:ShowNotification(msg, "business")
end

Custom.ShowShopState(msg)

Affiche une notification liée à la boutique (par exemple achat réussi ou échoué).

lua
Custom.ShowShopState = function(msg)
    -- Same as ShowNotification but can use a different style
end

ShowHelpNotification(key, msg)

Affiche une aide d’interaction dans le monde. Utilisé quand Config.OrigenNotify = true.

lua
function ShowHelpNotification(key, msg)
    -- Default: uses origen_notify CreateHelp
    -- Add your own implementation if not using origen_notify
end

Custom.DrawText(key, msg) / Custom.HideText()

Affiche l’aide d’interaction via l’interface de texte. Utilisé quand Config.customDrawText = true.


GetItemData(item) → table | nil

Renvoie les données d’un objet depuis le système d’inventaire actif. Redirige selon Config.Inventory.


OpenStash(Sid, Sslots, label, preId)

Ouvre l’inventaire d’un coffre. Redirige selon Config.Inventory :


OpenOutfitMenu(canEdit)

Ouvre le menu de sélection des tenues. Redirige selon Config.Clothing.


openPlayerInventory(pID)

Ouvre l’inventaire d’un autre joueur (pour le métier de mécanicien). Redirige selon Config.Inventory.


Custom.ReapirVehicle(vehicle)

Répare un véhicule. Implémente ici ta correction des déformations si nécessaire.

lua
Custom.ReapirVehicle = function(vehicle)
    -- exports['VehicleDeformation']:FixVehicleDeformation(vehicle)
end

Custom.GetVehicleProperties(vehicle) / Custom.SetVehicleProperties(vehicle, mods)

Récupère ou applique les modifications d’un véhicule. Redirige selon Config.Framework.


Custom.GetVehicleFuel(vehicle) / Custom.SetVehicleFuel(vehicle, fuel)

Récupère ou applique le carburant d’un véhicule. Implémente ici ton système de carburant.

lua
Custom.GetVehicleFuel = function(vehicle)
    -- return exports['FuelSystem']:GetFuel(vehicle)
end

Custom.OpenModificationMenu(vehicle)

Ouvre le menu de tuning. Implémente ici ton système de tuning.

lua
Custom.OpenModificationMenu = function(vehicle)
    -- Used when Config.CustomMechanic = true
end

Custom.GetClientVehicleKeys(vehicle)

Donne au joueur les clés d’un véhicule côté client. Implémente ici ton système de clés.

lua
Custom.GetClientVehicleKeys = function(vehicle)
    local plate = GetVehicleNumberPlateText(vehicle)
    TriggerEvent("vehiclekeys:client:SetOwner", plate)
end

Custom.SpawnVehicle(model, cb, coords, isNetwork)

Fait apparaître un véhicule. Redirige selon Config.Framework.


CustomGarage(PlayerData, coords) / CustomGarageBusiness(PlayerData, coords)

Remplace le garage par défaut par ton propre système. N’est appelé que lorsque Config.CustomGarage = true.


custom/server/main.lua

Custom.RemoveMoney(Player, account, amount, log) → boolean

Retire de l’argent du compte d’un joueur. Gère l’objet argent liquide d’ox_inventory et les comptes du framework.


Custom.GetVehicleKeys(source, plate)

Donne les clés d’un véhicule côté serveur. Implémente ici ton système de clés.

lua
Custom.GetVehicleKeys = function(source, plate)
    TriggerClientEvent("vehiclekeys:client:SetOwner", source, plate)
end

Custom.GetVehicleData(plate) → { owner } | false

Renvoie l’identifiant du propriétaire d’un véhicule à partir de sa plaque, depuis la table des véhicules du framework.


Custom.PlateGenerator() → string

Génère une plaque d’immatriculation personnalisée. Implémente ici ta propre logique.

lua
Custom.PlateGenerator = function()
    local plate = ''
    -- your plate generation logic
    return plate
end

Custom.QueryGiveBusinesscar(values) / Custom.QueryRemoveBusinesscar(values)

Insère ou supprime un véhicule dans la table des véhicules du framework quand un véhicule d’entreprise est attribué ou retiré.


Custom.SendBill → false | function

Remplace la logique de création de factures par défaut. Affecte-lui une fonction pour utiliser ton propre système de facturation :

lua
Custom.SendBill = function(data, cb)
    -- data: { senderSource, receiverSource, price, concept, business }
    -- cb(true) on success, cb('error message') on failure
    local success = MySQL.insert.await('INSERT INTO bills (...) VALUES (...)', {...})
    cb(success or 'Failed to send bill')
end