Skip to content

Exports

Exports

BUPA AnimPos expose trois exports côté client pour permettre à d'autres ressources de piloter l'outil de manière programmatique. Tous s'exécutent sous le nom de ressource bupa-animpos.

Open

Ouvre l'outil. Cela exécute le pipeline de vérification complet — déjà en cours d'utilisation, temps de recharge (cooldown), permissions, restrictions d'état et le hook Config.CanConfig — exactement comme si le joueur utilisait la commande ou le raccourci clavier. Renvoie true si l'outil s'est effectivement ouvert, false sinon.

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

Close

Demande la fermeture de l'outil s'il est actuellement actif. Cela se comporte comme si l'on appuyait sur annuler — le personnage retrouve sa position et son orientation de départ.

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

IsActive

Renvoie un booléen indiquant si le mode de positionnement est actuellement ouvert pour le joueur 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)

Au-delà des exports, Config.CanUse est un hook côté client qui s'exécute à chaque tentative d'ouverture (y compris via Open()). Renvoyez false pour bloquer et éventuellement une chaîne de caractères contenant le message à afficher au joueur. C'est l'endroit idéal pour la logique de restriction spécifique au serveur (combat, dégâts, états personnalisés).

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