Skip to content

Exports

التصديرات (Exports)

يوفر BUPA AnimPos ثلاثة تصديرات للعميل (Client Exports) لتمكين الموارد الأخرى من تشغيل الأداة برمجياً. تعمل جميعها تحت اسم المورد bupa-animpos.

Open

يقوم بفتح الأداة. يقوم هذا بتشغيل خط أنابيب الفحص الكامل — قيد الاستخدام بالفعل، فترة الانتظار (Cooldown), الأذونات، قيود الحالة، وخطاف Config.CanUse — تماماً كما لو استخدم اللاعب الأمر أو مفتاح الاختصار. يُرجع القيمة true إذا فتحت الأداة فعلياً، و false خلاف ذلك.

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

Close

يطلب إغلاق الأداة إذا كانت نشطة حالياً. يتصرف هذا تماماً مثل الضغط على إلغاء — حيث يتم إرجاع الشخصية إلى موضعها واتجاهها الأساسي.

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

IsActive

يُرجع قيمة منطقية (Boolean) تشير إلى ما إذا كان وضع تحديد الموضع مفتوحاً حالياً للاعب المحلي.

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

مثال — الربط مع قائمة الحركات التعبيرية (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)

ذو صلة — خطاف التكوين CanUse

بالإضافة إلى التصديرات، يُعد Config.CanUse خطافاً من جانب العميل يتم تشغيله عند كل محاولة فتح (بما في ذلك عبر Open()). قم بإرجاع false للحظر واختيارياً سلسلة رسائل لعرضها على اللاعب. هذا هو المكان المخصص لمنطق التحكم الخاص بالخادم (القتال، الضرر، الحالات المخصصة).

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