Início › Documentação › Personalização · origen_titlemenu
A pasta custom/ trata da integração com a framework, da aplicação de skins, da lógica de aparecimento e dos logs sem tocar no núcleo. Todos os ficheiros estão em escrow_ignore, pelo que sobrevivem às atualizações.
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)Mostra uma notificação ao jogador local. Delega em Config.Framework.
function ShowNotification(msg)
-- 'qbcore' → TriggerEvent('QBCore:Notify', msg)
-- 'esx' → ESX.ShowNotification(msg)
endCreatePlayer()Chamada quando uma personagem nova tem de abrir o criador de aparência. Delega em Config.Framework:
qbcore → abre qb-clothingesx → abre esx_skin:openSaveableMenuAltera esta função para usar outro sistema de roupa.
SetSkin(ped, skin)Aplica uma skin/aparência a um ped. Delega em Config.ClothSystem:
| Valor | Aplica-se através de |
|---|---|
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) — mistura completa de cara/corpo com as natives do GTA |
rcore_clothing |
exports.rcore_clothing:setPedSkin (ESX) |
ShutDownLoadingScreenCustom()Chamada quando o ecrã de carregamento deve ser fechado. Substitui-a para acrescentar lógica de transição própria.
function ShutDownLoadingScreenCustom()
ShutdownLoadingScreen()
ShutdownLoadingScreenNui()
endPostSpawnPlayer()Disparada depois de o jogador ter aparecido por completo no mundo. Adiciona aqui qualquer lógica posterior ao aparecimento (por exemplo, disparar eventos para outros recursos).
function PostSpawnPlayer()
-- TriggerEvent('myresource:onPlayerSpawned')
endCustom.GetLastPosition(cid) → table | nilConsulta a tabela de jogadores da framework para obter a última posição guardada de uma personagem. Devolve uma tabela de posição descodificada ou nil.
-- qbcore → SELECT position FROM players WHERE citizenid = ?
-- esx → SELECT position FROM users WHERE identifier = ?Custom.QueryCreatePlayer(src, data, id)Insere uma personagem ESX nova na tabela users. Só corre com Config.Framework == 'esx'. Trata do nome, apelido, data de nascimento, sexo, nacionalidade, skin e contas iniciais.
GiveStarterItems(source)Dá a um jogador os itens de Config.StarterItems na primeira criação de personagem (apenas ESX). Preenche automaticamente os metadados de id_card e driver_license.
GetCharInfoPhone(id) → string | nilObtém o número de telemóvel de um jogador a partir da tabela users. Suporta tanto o formato charinfo do qs-smartphone como uma coluna phone_number direta.
SendDiscordLog(webhook, message)Envia um log em forma de embed do Discord para o webhook indicado. É chamada automaticamente para os comandos /logout e /giveslot quando está ativado em 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