Skip to content

Exports

Exports

BUPA AnimPos espone tre export client per consentire ad altre risorse di gestire lo strumento programmaticamente. Tutti vengono eseguiti sotto il nome della risorsa bupa-animpos.

Open

Apre lo strumento. Esegue la pipeline di controllo completa — già in uso, cooldown, permessi, restrizioni di stato e l'hook Config.CanUse — esattamente come se il giocatore avesse usato il comando o il tasto rapido. Restituisce true se lo strumento è stato effettivamente aperto, false altrimenti.

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

Close

Richiede la chiusura dello strumento se è attualmente attivo. Si comporta come la pressione del tasto Annulla: il personaggio viene riportato alla posizione e all'orientamento iniziali.

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

IsActive

Restituisce un booleano che indica se la modalità di posizionamento è attualmente aperta per il giocatore locale.

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)

Oltre agli export, Config.CanUse è un hook lato client che viene eseguito a ogni tentativo di apertura (incluso tramite Open()). Restituisce false per bloccare e facoltativamente una stringa di messaggio da mostrare al giocatore. Questo è il punto ideale per la logica di restrizione specifica del server (combattimento, danni, stati personalizzati).

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