Skip to content

Exportlar

Export'lar

BUPA AnimPos, diğer kaynakların aracı programatik olarak yönetebilmesi için üç client export'u sunar. Tümü bupa-animpos kaynak adı altında çalışır.

Open

Aracı açar. Bu, oyuncu komutu veya tuş atamasını kullanmış gibi tam kontrol boru hattını (zaten kullanımda, bekleme süresi, yetki, durum kısıtlamaları ve Config.CanUse kancası) çalıştırır. Araç gerçekten açıldıysa true, aksi takdirde false döndürür.

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

Close

Şu anda aktifse aracın kapatılmasını sağlar. Bu, iptal tuşuna basmak gibi davranır — karakter başlangıç pozisyonuna ve yönüne geri döndürülür.

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

IsActive

Yerel oyuncu için konumlandırma modunun şu anda açık olup olmadığını belirten bir boolean değer döndürür.

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

Örnek — bir animasyon menüsüyle birlikte kullanma

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)

İlgili — CanUse yapılandırma kancası

Export'ların ötesinde, Config.CanUse, her açma denemesinde (Open() aracılığıyla yapılanlar dahil) çalışan client taraflı bir kancadır. Engellemek için false ve isteğe bağlı olarak oyuncuya gösterilecek bir mesaj dizesi döndürün. Burası, sunucuya özel kısıtlama mantığı (çatışma, hasar, özel durumlar) için tasarlanmış yerdir.

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