Skip to content

Eksporty

Eksporty

BUPA AnimPos udostępnia trzy eksporty klienta, dzięki czemu inne zasoby mogą sterować narzędziem programowo. Wszystkie działają pod nazwą zasobu bupa-animpos.

Open

Otwiera narzędzie. Uruchamia to pełną ścieżkę weryfikacji — sprawdzenie czy jest już w użyciu, cooldown, uprawnienia, ograniczenia stanu oraz hook Config.CanUse — dokładnie tak, jakby gracz użył komendy lub przypisania klawisza. Zwraca true, jeśli narzędzie faktycznie się otworzyło, w przeciwnym razie false.

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

Close

Wysyła żądanie zamknięcia narzędzia, jeśli jest ono obecnie aktywne. Zachowuje się to jak naciśnięcie anulowania — postać powraca do swojej pozycji początkowej i kierunku patrzenia.

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

IsActive

Zwraca wartość logiczną (boolean) informującą, czy tryb pozycjonowania jest obecnie otwarty dla lokalnego gracza.

client
if exports['bupa-animpos']:IsActive() then
    -- e.g. block another interaction while the tool is open
end

Przykład — powiązanie z menu emotek

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)

Powiązane — hook konfiguracyjny CanUse

Oprócz eksportów, Config.CanUse to hook po stronie klienta, który uruchamia się przy każdej próbie otwarcia (w tym poprzez Open()). Zwróć false, aby zablokować, oraz opcjonalnie ciąg tekstowy z wiadomością dla gracza. Jest to idealne miejsce na logikę blokad specyficzną dla serwera (walka, obrażenia, niestandardowe stany).

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