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.
local opened = exports['bupa-animpos']:Open()
if opened then
print('Positioning mode started')
endClose
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.
exports['bupa-animpos']:Close()IsActive
Renvoie un booléen indiquant si le mode de positionnement est actuellement ouvert pour le joueur local.
if exports['bupa-animpos']:IsActive() then
-- e.g. block another interaction while the tool is open
endExample — pair with an emote menu
-- 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)Related — the CanUse config hook
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.CanUse = function()
-- return false, 'You cannot do this right now!'
return true
end