Exports
Exports
BUPA AnimPos надає три клієнтські експорти, щоб інші ресурси могли керувати інструментом програмно. Усі вони працюють під назвою ресурсу bupa-animpos.
Open
Відкриває інструмент. Це запускає повний конвеєр перевірок — наявність використання, клдаун, дозволи, обмеження станів та хук Config.CanUse — точно так само, якби гравець використав команду чи клавішу. Повертає true, якщо інструмент дійсно відкрився, або false в іншому випадку.
local opened = exports['bupa-animpos']:Open()
if opened then
print('Positioning mode started')
endClose
Надсилає запит на закриття інструменту, якщо він зараз активний. Це працює подібно до натискання кнопки скасування — персонаж повертається у вихідну позицію та напрямок (heading).
exports['bupa-animpos']:Close()IsActive
Повертає булеве значення, яке вказує, чи відкритий наразі режим позиціонування для локального гравця.
if exports['bupa-animpos']:IsActive() then
-- наприклад, заблокувати іншу взаємодію, поки інструмент відкритий
endExample — pair with an emote menu
-- Після відтворення анімації дозвольте гравцеві підлаштувати її
RegisterCommand('fixpos', function()
if not exports['bupa-animpos']:IsActive() then
exports['bupa-animpos']:Open()
end
end)Related — the CanUse config hook
Окрім експортів, Config.CanUse — це клієнтський хук, який виконується при кожній спробі відкриття (зокрема й через Open()). Поверніть false для блокування та, за бажанням, рядок повідомлення для показу гравцеві. Це ідеальне місце для серверної логіки обмежень (бій, пошкодження, кастомні стани).
Config.CanUse = function()
-- return false, 'You cannot do this right now!'
return true
end