Accueil › Documentation › Personnalisation · origen_titlemenu
Le dossier custom/ gère l’intégration du framework, l’application des skins, la logique d’apparition et les logs sans toucher au cœur. Tous les fichiers sont en escrow_ignore, ils survivent donc aux mises à jour.
custom/
├── client/
│ └── client.lua — notifications, skin application, character creation, post-spawn hook
└── server/
├── function.lua — last position query, ESX character creation query
├── server.lua — starter items, slot commands, phone number helpers
└── logs.lua — Discord webhook loggingShowNotification(msg)Affiche une notification au joueur local. Délègue à Config.Framework.
function ShowNotification(msg)
-- 'qbcore' → TriggerEvent('QBCore:Notify', msg)
-- 'esx' → ESX.ShowNotification(msg)
endCreatePlayer()Appelée lorsqu’un nouveau personnage doit ouvrir le créateur d’apparence. Délègue à Config.Framework :
qbcore → ouvre qb-clothingesx → ouvre esx_skin:openSaveableMenuModifie cette fonction pour utiliser un autre système de vêtements.
SetSkin(ped, skin)Applique un skin/une apparence à un ped. Délègue à Config.ClothSystem :
| Valeur | S’applique via |
|---|---|
qb-clothing |
qb-clothing:client:loadPlayerClothing |
fivem-appearance |
exports['fivem-appearance']:setPedAppearance |
illenium-appearance |
exports['illenium-appearance']:setPedAppearance |
codem-appearance |
qb-clothing:client:loadPlayerClothing |
skinchanger |
ApplySkinSkinChanger(ped, skin) — mélange complet visage/corps avec les natives de GTA |
rcore_clothing |
exports.rcore_clothing:setPedSkin (ESX) |
ShutDownLoadingScreenCustom()Appelée lorsque l’écran de chargement doit être fermé. Remplace-la pour ajouter ta propre logique de transition.
function ShutDownLoadingScreenCustom()
ShutdownLoadingScreen()
ShutdownLoadingScreenNui()
endPostSpawnPlayer()Déclenchée une fois que le joueur est entièrement apparu dans le monde. Ajoute ici toute logique postérieure à l’apparition (par exemple, déclencher des événements pour d’autres ressources).
function PostSpawnPlayer()
-- TriggerEvent('myresource:onPlayerSpawned')
endCustom.GetLastPosition(cid) → table | nilInterroge la table des joueurs du framework pour obtenir la dernière position enregistrée d’un personnage. Renvoie une table de position décodée ou nil.
-- qbcore → SELECT position FROM players WHERE citizenid = ?
-- esx → SELECT position FROM users WHERE identifier = ?Custom.QueryCreatePlayer(src, data, id)Insère un nouveau personnage ESX dans la table users. S’exécute uniquement avec Config.Framework == 'esx'. Gère le prénom, le nom, la date de naissance, le sexe, la nationalité, le skin et les comptes de départ.
GiveStarterItems(source)Donne à un joueur les items de Config.StarterItems lors de la première création de personnage (ESX uniquement). Remplit automatiquement les métadonnées de id_card et driver_license.
GetCharInfoPhone(id) → string | nilRécupère le numéro de téléphone d’un joueur depuis la table users. Gère aussi bien le format charinfo de qs-smartphone qu’une colonne phone_number directe.
SendDiscordLog(webhook, message)Envoie un log sous forme d’embed Discord au webhook indiqué. Appelée automatiquement pour les commandes /logout et /giveslot lorsque c’est activé dans Logs.Enabled.
function SendDiscordLog(webhook, message)
PerformHttpRequest(webhook, ..., json.encode({
username = "Title Menu Logs",
embeds = {{ title = "origen_titlemenu", description = message, ... }}
}), { ['Content-Type'] = 'application/json' })
end