Skip to content

Exports

Exports

BUPA AnimPos poskytuje tři client exporty, které umožňují ostatním resurcům ovládat tento nástroj programově. Všechny běží pod názvem resourcu bupa-animpos.

Open

Otevře nástroj. Spustí plnou kontrolní sekvenci — ověření, zda již není používán, cooldown, oprávnění, omezení stavu a hook Config.CanUse — přesně tak, jako by hráč použil příkaz nebo klávesovou zkratku. Vrací true, pokud se nástroj skutečně otevřel, jinak false.

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

Close

Vyžádá si zavření nástroje, pokud je aktuálně aktivní. Chová se to stejně jako stisknutí zrušení — postava je vrácena do své počáteční pozice a směru.

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

IsActive

Vrací boolean hodnotu indikující, zda je režim polohování pro lokálního hráče aktuálně otevřený.

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)

Kromě exportů je Config.CanUse client-side hook, který se spouští při každém pokusu o otevření (včetně volání přes Open()). Vrácením false akci zablokujete a volitelně můžete vrátit řetězec se zprávou pro hráče. Toto je zamýšlené místo pro server-specifickou logiku omezení (boj, zranění, vlastní stavy).

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