Accueil › Documentation › Personnalisation · origen_titlemenu

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.

text
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 logging

custom/client/client.lua

ShowNotification(msg)

Affiche une notification au joueur local. Délègue à Config.Framework.

lua
function ShowNotification(msg)
    -- 'qbcore' → TriggerEvent('QBCore:Notify', msg)
    -- 'esx'    → ESX.ShowNotification(msg)
end

CreatePlayer()

Appelée lorsqu’un nouveau personnage doit ouvrir le créateur d’apparence. Délègue à Config.Framework :

Modifie 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.

lua
function ShutDownLoadingScreenCustom()
    ShutdownLoadingScreen()
    ShutdownLoadingScreenNui()
end

PostSpawnPlayer()

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).

lua
function PostSpawnPlayer()
    -- TriggerEvent('myresource:onPlayerSpawned')
end

custom/server/function.lua

Custom.GetLastPosition(cid) → table | nil

Interroge 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.

lua
-- 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.


custom/server/server.lua

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 | nil

Ré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.


custom/server/logs.lua

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.

lua
function SendDiscordLog(webhook, message)
    PerformHttpRequest(webhook, ..., json.encode({
        username = "Title Menu Logs",
        embeds   = {{ title = "origen_titlemenu", description = message, ... }}
    }), { ['Content-Type'] = 'application/json' })
end