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.
local opened = exports['bupa-animpos']:Open()
if opened then
print('Positioning mode started')
endClose
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.
exports['bupa-animpos']:Close()IsActive
Zwraca wartość logiczną (boolean) informującą, czy tryb pozycjonowania jest obecnie otwarty dla lokalnego gracza.
if exports['bupa-animpos']:IsActive() then
-- e.g. block another interaction while the tool is open
endPrzykład — powiązanie z menu emotek
-- 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.CanUse = function()
-- return false, 'You cannot do this right now!'
return true
end