Экспорты
Экспорты
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
-- e.g. block another interaction while the tool is open
endПример — совмещение с меню эмоций
-- 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)Связанное — конфиг-хук CanUse
Помимо экспортов, Config.CanUse — это клиентский хук, который срабатывает при каждой попытке открытия (включая вызов через Open()). Верните false, чтобы заблокировать действие, и опционально строковое сообщение для показа игроку. Это идеальное место для серверной логики ограничений (бой, урон, кастомные состояния).
Config.CanUse = function()
-- return false, 'You cannot do this right now!'
return true
end