Exports
التصديرات (Exports)
يوفر BUPA AnimPos ثلاثة تصديرات للعميل (Client Exports) لتمكين الموارد الأخرى من تشغيل الأداة برمجياً. تعمل جميعها تحت اسم المورد bupa-animpos.
Open
يقوم بفتح الأداة. يقوم هذا بتشغيل خط أنابيب الفحص الكامل — قيد الاستخدام بالفعل، فترة الانتظار (Cooldown), الأذونات، قيود الحالة، وخطاف Config.CanUse — تماماً كما لو استخدم اللاعب الأمر أو مفتاح الاختصار. يُرجع القيمة true إذا فتحت الأداة فعلياً، و false خلاف ذلك.
local opened = exports['bupa-animpos']:Open()
if opened then
print('Positioning mode started')
endClose
يطلب إغلاق الأداة إذا كانت نشطة حالياً. يتصرف هذا تماماً مثل الضغط على إلغاء — حيث يتم إرجاع الشخصية إلى موضعها واتجاهها الأساسي.
exports['bupa-animpos']:Close()IsActive
يُرجع قيمة منطقية (Boolean) تشير إلى ما إذا كان وضع تحديد الموضع مفتوحاً حالياً للاعب المحلي.
if exports['bupa-animpos']:IsActive() then
-- e.g. block another interaction while the tool is open
endمثال — الربط مع قائمة الحركات التعبيرية (Emote Menu)
-- 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.CanUse = function()
-- return false, 'You cannot do this right now!'
return true
end