Início › Documentação › Exports · origen_admin

Exports · origen_admin

Todos os exports são registados sob o nome de recurso origen_admin.


Exports do servidor

HasPermission(source, permission) → boolean

Verifica se um jogador tem um nó de permissão de admin específico. É o export principal que outros recursos usam para restringir as funções de administração.

lua
exports['origen_admin']:HasPermission(source, permission)
Parâmetro Tipo Descrição
source number ID de servidor do jogador
permission string Nó de permissão (p. ex. 'AdminMenu', 'AdminMenu:Ban')

Exemplo — restringir uma ação personalizada:

lua
RegisterNetEvent('myresource:server:adminAction', function()
    local src = source
    if not exports['origen_admin']:HasPermission(src, 'AdminMenu:Ban') then return end
    -- execute action
end)

GetAdmins() → table

Devolve uma tabela com todos os admins ligados que têm o modo admin ativado. Chave = ID de servidor, valor = nome do grupo.

lua
local admins = exports['origen_admin']:GetAdmins()
-- { [3] = "admin", [7] = "god" }

IsAdminModeDisabled(source) → boolean

Devolve true se o jogador desativou manualmente o modo admin (com /admin_mode).

lua
local disabled = exports['origen_admin']:IsAdminModeDisabled(source)

ClearAdminGroup(source)

Apaga o estado de admin em cache de um jogador e avisa o respetivo cliente para remover o grupo de admin. Útil depois de alterar permissões em tempo real.

lua
exports['origen_admin']:ClearAdminGroup(source)

CreateLog(data)

Envia um registo para o Discord (ou para o método de envio configurado). Usa Config.Logs para encontrar o webhook do tipo indicado.

lua
exports['origen_admin']:CreateLog({
    type   = 'BanPlayer',    -- must match a key in Config.Logs
    source = source,         -- optional: player server ID (adds identifiers if Config.UseIdentifiers = true)
    embed  = {               -- Discord embed object (optional)
        title       = 'Player Banned',
        description = 'Player was banned for cheating',
        color       = 16711680,
    },
    message = '',            -- plain text content (alternative to embed)
})
Campo Tipo Descrição
type string Chave do tipo de registo — tem de coincidir com uma chave de Config.Logs
source number | nil ID de servidor — acrescenta os identificadores do jogador ao registo se Config.UseIdentifiers = true
embed table | nil Objeto embed do Discord
message string | nil Conteúdo em texto simples (usado em vez do embed)

Exports do cliente

isSpectateEnabled() → boolean

Devolve true se o admin local estiver atualmente em modo espectador.

lua
local spectating = exports['origen_admin']:isSpectateEnabled()

AddKeyBind(data) → id

Regista um atalho de teclado personalizado no sistema de atalhos do menu de admin.

lua
local id = exports['origen_admin']:AddKeyBind({
    label  = 'My Action',
    key    = 'F7',
    action = function() print('triggered') end,
})

SetDefaultBind(id, key)

Altera a tecla por omissão de um atalho existente.

lua
exports['origen_admin']:SetDefaultBind(id, 'F8')

RemoveKeyBind(id)

Remove um atalho registado anteriormente.

lua
exports['origen_admin']:RemoveKeyBind(id)

GetKeyBinds() → table

Devolve a lista completa de atalhos registados.

lua
local binds = exports['origen_admin']:GetKeyBinds()