Início › Documentação › Personalização · origen_titlemenu

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.

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)

Mostra uma notificação ao jogador local. Delega em Config.Framework.

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

CreatePlayer()

Chamada quando uma personagem nova tem de abrir o criador de aparência. Delega em Config.Framework:

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

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

PostSpawnPlayer()

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

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

custom/server/function.lua

Custom.GetLastPosition(cid) → table | nil

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

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


custom/server/server.lua

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

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


custom/server/logs.lua

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.

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