Skip to content

Exports

Exports

BUPA AnimPos expone tres exports de cliente para que otros recursos puedan controlar la herramienta mediante código. Todos se ejecutan bajo el nombre de recurso bupa-animpos.

Open

Abre la herramienta. Esto ejecuta la tubería de verificación completa — ya en uso, tiempo de reutilización, permisos, restricciones de estado y el hook Config.CanUse — exactamente igual a como si el jugador usara el comando o la combinación de teclas. Devuelve true si la herramienta se abrió realmente, o false en caso contrario.

client
local opened = exports['bupa-animpos']:Open()
if opened then
    print('Positioning mode started')
end

Close

Solicita que la herramienta se cierre si está activa actualmente. Esto se comporta como pulsar cancelar: el personaje regresa a su posición y orientación iniciales.

client
exports['bupa-animpos']:Close()

IsActive

Devuelve un booleano que indica si el modo de posicionamiento está abierto actualmente para el jugador local.

client
if exports['bupa-animpos']:IsActive() then
    -- e.g. block another interaction while the tool is open
end

Example — pair with an emote menu

client
-- After playing an emote, let the player nudge it into place
RegisterCommand('fixpos', function()
    if not exports['bupa-animpos']:IsActive() then
        exports['bupa-animpos']:Open()
    end
end)

Además de los exports, Config.CanUse es un hook del lado del cliente que se ejecuta en cada intento de apertura (incluyendo mediante Open()). Devuelve false para bloquear y, opcionalmente, una cadena de texto con un mensaje para mostrar al jugador. Este es el lugar recomendado para la lógica de restricciones específica del servidor (combate, daño, estados personalizados).

config.lua
Config.CanUse = function()
    -- return false, 'You cannot do this right now!'
    return true
end