Skip to content

Exports

Exports

O BUPA AnimPos expõe três exports de client para que outros resources possam controlar a ferramenta programaticamente. Todos rodam sob o nome do resource bupa-animpos.

Open

Abre a ferramenta. Isso executa o pipeline de verificação completo — já em uso, cooldown, permissão, restrições de estado e o hook Config.CanUse — exatamente como se o jogador usasse o comando ou atalho de tecla. Retorna true se a ferramenta foi aberta com sucesso, ou false caso contrário.

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

Close

Solicita o fechamento da ferramenta caso ela esteja ativa no momento. Isso se comporta como pressionar cancelar — o personagem retorna à sua posição e orientação iniciais.

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

IsActive

Retorna um booleano indicando se o modo de posicionamento está aberto no momento para o jogador 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)

Além dos exports, o Config.CanUse é um hook do lado do client que é executado a cada tentativa de abertura (incluindo via Open()). Retorne false para bloquear e, opcionalmente, uma string de mensagem para exibir ao jogador. Este é o local ideal para lógica de restrição específica do servidor (combate, dano, estados personalizados).

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