Skip to content

Exports

Exports

BUPA AnimPos stellt drei Client-Exports zur Verfügung, damit andere Ressourcen das Tool programmgesteuert steuern können. Alle laufen unter dem Ressourcenamen bupa-animpos.

Open

Öffnet das Tool. Dies führt die vollständige Überprüfungspipeline aus — bereits in Verwendung, Cooldown, Berechtigung, Zustandsbeschränkungen und den Config.CanUse Hook — exakt so, als ob der Spieler den Befehl oder die Tastenkombination verwendet hätte. Gibt true zurück, wenn das Tool tatsächlich geöffnet wurde, andernfalls false.

client
local opened = exports['bupa-animpos']:Open()
if opened then
    print('Positionierungsmodus gestartet')
end

Close

Fordert das Tool zum Schließen auf, falls es aktuell aktiv ist. Dies verhält sich wie das Drücken von Abbrechen — der Charakter wird auf seine Startposition und Blickrichtung zurückgesetzt.

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

IsActive

Gibt einen Boolean-Wert zurück, der anzeigt, ob der Positionierungsmodus für den lokalen Spieler aktuell geöffnet ist.

client
if exports['bupa-animpos']:IsActive() then
    -- z.B. eine andere Interaktion blockieren, während das Tool geöffnet ist
end

Beispiel — mit einem Emote-Menü kombinieren

client
-- Nach dem Abspielen eines Emotes dem Spieler erlauben, es passend zu verschieben
RegisterCommand('fixpos', function()
    if not exports['bupa-animpos']:IsActive() then
        exports['bupa-animpos']:Open()
    end
end)

Verwandt — der CanUse Konfigurations-Hook

Über die Exports hinaus ist Config.CanUse ein clientseitiger Hook, der bei jedem Öffnungsversuch (einschließlich über Open()) ausgeführt wird. Gib false zurück, um den Vorgang zu blockieren, und optional einen Nachrichtentext, der dem Spieler angezeigt wird. Dies ist der gedachte Ort für serverspezifische Zugriffslogik (Kampf, Schaden, benutzerdefinierte Zustände).

config.lua
Config.CanUse = function()
    -- gib false zurück, 'Du kannst das im Moment nicht tun!'
    return true
end