Inicio › Documentación › Exports · origen_admin

Exports · origen_admin

Todos los exports se registran bajo el nombre de recurso origen_admin.


Exports del servidor

HasPermission(source, permission) → boolean

Comprueba si un jugador tiene un nodo de permiso de admin concreto. Es el export principal que usan otros recursos para restringir las funciones de administración.

lua
exports['origen_admin']:HasPermission(source, permission)
Parámetro Tipo Descripción
source number ID de servidor del jugador
permission string Nodo de permiso (p. ej. 'AdminMenu', 'AdminMenu:Ban')

Ejemplo — restringir una acción 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

Devuelve una tabla con todos los admins conectados que tienen el modo admin activado. Clave = ID de servidor, valor = nombre del grupo.

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

IsAdminModeDisabled(source) → boolean

Devuelve true si el jugador ha desactivado manualmente el modo admin (con /admin_mode).

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

ClearAdminGroup(source)

Borra el estado de admin en caché de un jugador y avisa a su cliente para que elimine el grupo de admin. Útil tras cambiar permisos en caliente.

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

CreateLog(data)

Envía un registro a Discord (o al método de subida configurado). Usa Config.Logs para encontrar el webhook del 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 Descripción
type string Clave del tipo de registro — debe coincidir con una clave de Config.Logs
source number | nil ID de servidor — añade los identificadores del jugador al registro si Config.UseIdentifiers = true
embed table | nil Objeto embed de Discord
message string | nil Contenido en texto plano (se usa en lugar del embed)

Exports del cliente

isSpectateEnabled() → boolean

Devuelve true si el admin local está actualmente en modo espectador.

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

AddKeyBind(data) → id

Registra un atajo de teclado personalizado en el sistema de atajos del menú de admin.

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

SetDefaultBind(id, key)

Cambia la tecla por defecto de un atajo existente.

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

RemoveKeyBind(id)

Elimina un atajo registrado previamente.

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

GetKeyBinds() → table

Devuelve la lista completa de atajos registrados.

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