Accueil › Documentation › 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.
custom/
├── client.lua ← UI, notifications, minigame, fuel, keys, animations
└── server.lua ← Reward delivery, police detection, vehicle localizerCustom.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.
Custom.ShowHelpNotification = function(key, msg)
-- your custom notification here
endCustom.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.
Custom.HideHelpNotification = function()
-- your custom hide logic here
endCustom.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 :
false (par défaut) → utilise la notification native de QBCore/ESXtrue → exécute ton bloc de code personnaliséCustom.ShowNotification = function(msg)
-- Put your code here if Config.CustomNotify = true
endCustom.StartMinigame() → booleanAppelé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.
Custom.StartMinigame = function()
return true
-- Example with ox_lib:
-- return exports.ox_lib:skillCheck({'easy', 'easy', 'medium'}, {'w', 'a', 's', 'd'})
endCustom.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'.
Custom.SetFuel = function(vehicle, fuel)
-- Example for a custom resource:
-- exports['my-fuel']:SetFuel(vehicle, fuel)
endCustom.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.
Custom.GiveVehicleKeys = function(vehicle, plate)
-- Example for ox_lib keys:
-- exports.ox_inventory:giveItem(cache.playerId, 'keys', 1, { plate = plate })
endCustom.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.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 :
QBCore.Functions.GetPlayersOnDuty('police')exports['origen_police']:GetPlayersInDuty('police')ESX.GetExtendedPlayers('job', 'police')Custom.GetPolices = function()
-- Replace with your own duty system if needed
return {}
endL’é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.
-- 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)