Accueil › Documentation › Personnalisation · origen_importheist

Personnalisation · origen_importheist

Le dossier custom/ contient la couche d’extension du script. Ces fichiers ne sont pas protégés par escrow et sont conçus pour être modifiés afin de les adapter aux frameworks, ressources et préférences de ton serveur.

text
custom/
├── client.lua   ← UI, notifications, minigame, fuel, keys, animations
└── server.lua   ← Reward delivery, police detection, vehicle localizer

custom/client.lua

Custom.ShowHelpNotification(key, msg)

Affiche une notification d’aide contextuelle (p. ex. « Appuie sur E pour braquer »). Appelée quand le joueur se trouve dans une zone d’interaction.

Paramètre Type Description
key string Indication de touche à afficher (dépend du framework)
msg string Texte du message

L’implémentation par défaut utilise qb-core:DrawText ou ESX.ShowHelpNotification. Remplace le corps par ton propre système quand Config.CustomNotify = true.

lua
Custom.ShowHelpNotification = function(key, msg)
    -- your custom notification here
end

Custom.HideHelpNotification()

Masque la notification d’aide contextuelle. Appelée quand le joueur quitte la zone d’interaction.

L’implémentation par défaut appelle qb-core:HideText pour QBCore. Remplace-la si tu utilises une autre ressource de notifications.

lua
Custom.HideHelpNotification = function()
    -- your custom hide logic here
end

Custom.ShowNotification(msg)

Affiche une notification standard au joueur (p. ex. messages de récompense, erreurs).

Paramètre Type Description
msg string Texte du message

Contrôlée par Config.CustomNotify dans config/_framework.lua :

lua
Custom.ShowNotification = function(msg)
    -- Put your code here if Config.CustomNotify = true
end

Custom.StartMinigame() → boolean

Appelée quand le joueur tente de piller un casier de véhicule. Doit renvoyer true pour autoriser l’action ou false pour la refuser.

L’implémentation par défaut renvoie toujours true (pas de mini-jeu). Remplace-la par l’export de ton propre mini-jeu.

lua
Custom.StartMinigame = function()
    return true
    -- Example with ox_lib:
    -- return exports.ox_lib:skillCheck({'easy', 'easy', 'medium'}, {'w', 'a', 's', 'd'})
end

Custom.SetFuel(vehicle, fuel)

Définit le niveau de carburant du véhicule généré. Appelée après la livraison d’un véhicule.

Paramètre Type Description
vehicle integer Handle de l’entité du véhicule
fuel number Niveau de carburant (0–100)

Contrôlée par Config.FuelSystem dans config/_framework.lua. Valeurs prises en charge d’origine : 'none', 'LegacyFuel', 'ps-fuel', 'cdn-fuel', 'qs-fuelstations', 'ox_fuel'.

lua
Custom.SetFuel = function(vehicle, fuel)
    -- Example for a custom resource:
    -- exports['my-fuel']:SetFuel(vehicle, fuel)
end

Custom.GiveVehicleKeys(vehicle, plate)

Donne la propriété du véhicule au joueur une fois le braquage terminé. Appelée côté serveur via un événement client après l’apparition du véhicule.

Paramètre Type Description
vehicle integer Handle de l’entité du véhicule
plate string Texte de la plaque du véhicule

L’implémentation par défaut utilise vehiclekeys:client:SetOwner (celui par défaut de QBCore). Remplace-la pour les systèmes de clés personnalisés.

lua
Custom.GiveVehicleKeys = function(vehicle, plate)
    -- Example for ox_lib keys:
    -- exports.ox_inventory:giveItem(cache.playerId, 'keys', 1, { plate = plate })
end

Custom.PoliceCall(text, coords, veh, _Trigger)

Envoie une alerte à la police quand le joueur entre dans un entrepôt (si Config.NotifyCopsOnEntry = true). Déclenche en interne l’événement serveur SendAlert:police avec les métadonnées du véhicule.

Paramètre Type Description
text string Message de l’alerte (peut contenir des espaces réservés de format pour le modèle/la couleur)
coords vector3 Emplacement de l’alerte
veh integer|nil Handle de l’entité du véhicule, ou nil s’il n’y a pas de véhicule
_Trigger boolean Si true, enregistre aussi le véhicule dans le localisateur GPS

Cette fonction est déjà câblée et n’a généralement pas besoin d’être modifiée. Personnalise-la uniquement si ton serveur utilise une autre ressource d’alertes.


Custom.PlayAnim(type, dict, anim, time, move)

Joue une animation de ped depuis la table Config.Animations. Utilisée en interne pour les actions 'search' et 'checking'.

Paramètre Type Description
type string Clé d’animation de Config.Animations
dict string Dictionnaire d’animation
anim string Nom de l’animation
time integer|false Durée en ms, ou false pour boucler indéfiniment
move boolean Indique si le ped peut bouger pendant l’animation

custom/server.lua

Custom.GetPolices() → integer[]

Renvoie une table des IDs serveur de tous les policiers en service. Sert à vérifier Config.MinCops et à envoyer les mises à jour du localisateur GPS.

Implémentation par défaut :

lua
Custom.GetPolices = function()
    -- Replace with your own duty system if needed
    return {}
end

Remise de la récompense (événement serveur)

L’événement serveur origen_importheist:reward est géré dans custom/server.lua. Il donne de l’argent ou un objet au joueur selon Config.Reward.

lua
-- Automatically triggered by the script — not a public API.
-- Modify if you need custom reward logic (e.g. adding XP, logging, etc.)
 
RegisterServerEvent('origen_importheist:reward', function(total)
    local Player = FW_GetPlayer(source)
    if Config.Reward.useItem then
        Player.Functions.AddItem(Config.Reward.item, total)
    else
        Player.Functions.AddMoney(Config.Reward.account, total)
    end
end)