قائمة سياق الصورة الرمزية

*This content is translated using AI (Beta) and may contain errors. To view this page in English, click here.

تساعد قائمة سياق الصورة الرمزية (ACM) المستخدمين على التفاعل مع بعضهم البعض بسهولة. عند تمكين الـ ACM في لعبتك، يمكن للمستخدم الاقتراب من شخصية مستخدم آخر والنقر عليهم لفتح قائمة صغيرة تحتوي على عدة خيارات افتراضية. يمكن للاعب إرسال طلب صداقة، بدء محادثة خاصة، عرض ملف المستخدم، أو التلويح.

بعد تمكين الـ ACM في لعبتك، يمكنك تخصيص الـ ACM بطرق التالية:

تفعيل قائمة سياق الصورة الرمزية

يجب تمكين قائمة سياق الصورة الرمزية باستخدام خيار StarterGui:SetCore() "AvatarContextMenuEnabled" في LocalScript. يتناسب الـ ACM بشكل أفضل في الألعاب التي لا تحتوي على سلوك مسبق لتعطيل النقر على المستخدمين الآخرين.

استخدم عينة الكود التالية لتمكين الـ ACM في LocalScript:


-- يعمل في LocalScript، من الأفضل ضمن "StarterPlayerScripts"
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("AvatarContextMenuEnabled", true)

إذا كنت بحاجة إلى كشف ما إذا كان الـ ACM مُفعلًا، يمكنك استخدام الكود التالي لإرجاع قيمة Boolean بشأن الحالة الحالية للـ ACM:


---Returns a boolean indicating if the ACM is currently enabled.
StarterGui:GetCore(AvatarContextMenuEnabled)

فتح وإغلاق الـ ACM

بمجرد تمكينه، يمكنك فتح وإغلاق الـ ACM برمجياً باستخدام StarterGui.

لفتح الـ ACM برمجياً، استخدم الكود التالي:


-- استخدم StarterGui:SetCore حيث targetPlayer هو كائن Player صالح
StarterGui:SetCore("AvatarContextMenuTarget", targetPlayer)

لإغلاق الـ ACM برمجياً، استخدم الكود التالي:


StarterGui:SetCore("AvatarContextMenuTarget", nil)

خيارات القائمة

يمكنك إضافة وإزالة الإجراءات من خلال البرمجة. بشكل افتراضي، تحتوي القائمة على الخيارات التالية:

خيار القائمةالوصف
صديقترسل طلب صداقة للمستخدم المحدد.
محادثةتفتح محادثة خاصة مع المستخدم المحدد في دردشة اللعبة.
عرضيفتح نافذة لفحص مظهر المستخدم المحدد.
تلويحيبدأ حركة تلويح للمستخدم المحدد.

بمجرد فتح الـ ACM، يمكن للمستخدم التمرير واختيار مستخدمين آخرين في دوامة اختيار الشخصيات. يتم ترتيب الشخصيات على أساس المسافة إلى الشخصية المحددة. تتحديث القائمة فقط عند فتحها وسيتكرر قائمة المستخدمين المتاحين عند التمرير.

إضافة خيارات القائمة

بمجرد تفعيله، يمكن إضافة إجراءات خاصة باللعبة إلى الـ ACM. على سبيل المثال، قد تسمح اللعبة بطلبات التجارة، أو خيارات الإضافة إلى المجموعة، أو تفاعلات خاصة أخرى.

تظهر عينة الكود التالية كيفية إضافة إجراء مخصص إلى قائمة سياق الصورة الرمزية:


local Players = game:GetService("Players")
local StarterGui = game:GetService("StarterGui")
local player = Players.LocalPlayer
-- ربط وظيفة بـ "BindableEvent"
local bindableEvent = Instance.new("BindableEvent")
local function onCustomACMAction(targetPlayer)
-- في هذه المرحلة، يمكنك استدعاء InvokeServer() على RemoteFunction لإخطار الخادم بالاختيار
print("ACM event selected by " .. player.Name .. " on " .. targetPlayer.Name)
end
bindableEvent.Event:Connect(onCustomACMAction)
-- إضافة خيار الـ ACM باستخدام SetCore() مع "AddAvatarContextMenuOption"
local options = {"إجراء ACM مخصص", bindableEvent}
StarterGui:SetCore("AddAvatarContextMenuOption", options)

إزالة خيارات القائمة

يمكنك إزالة الخيارات المخصصة و خيارات الصداقة الافتراضية والدردشة والعرض والتلويح من الـ ACM بالإشارة إلى اسم الإجراء المخصص أو إلى الإعداد الافتراضي لـ Enum.AvatarContextMenuOption.

استخدم الكود التالي لإزالة خيار قائمة افتراضي ومخصص:


-- إزالة خيار "إجراء ACM مخصص"
StarterGui:SetCore("RemoveAvatarContextMenuOption", "إجراء ACM مخصص")
-- إزالة الخيار الافتراضي "صديق" بالإشارة إلى AvatarContextMenuOption.Friend Enum
StarterGui:SetCore("RemoveAvatarContextMenuOption", Enum.AvatarContextMenuOption.Friend)

تخصيص مظهر القائمة

لتغيير مظهر قائمة سياق الصورة الرمزية، استدعِ StarterGui:SetCore() مع الخيار "AvatarContextMenuTheme"، مقدمًا جدولًا من المعلمات والقيم لتعديل مظهر القائمة.

تتضمن واجهة المستخدم للـ ACM الأقسام التالية:

أ. علامة الاسم: اسم المستخدم للشخصية التي يتم التفاعل معها.

ب. إطار الزر: يحتوي على جميع أزرار الـ ACM.

ج. الأزرار: أزرار فردية لإجراءات الـ ACM الافتراضية أو المخصصة.

معلمات المظهر

هذه هي معلمات التخصيص مع الـ ACM:

الخلفية

BackgroundColorنوع بيانات Color3 للخلفية العامة لـ ACM (الأكثر فائدة عند عدم استخدام صورة خلفية).
BackgroundTransparencyقيمة الشفافية (0–1) للخلفية العامة لـ ACM (الأكثر فائدة عند عدم استخدام صورة خلفية).
BackgroundImageمعرف أصل صالح لصورة لخلفية الـ ACM.
BackgroundImageTransparencyقيمة الشفافية (0–1) لصورة الخلفية.
BackgroundImageScaleTypeتعداد Enum.ScaleType لمقياس صورة الخلفية.
BackgroundImageSliceCenterنوع بيانات Rect يحدد مركز الصورة ذات الشرائح التسع عند تعيين BackgroundImageScaleType إلى Enum.ScaleType.Slice.

علامة الاسم

NameTagColorنوع بيانات Color3 للشريط الذي يوضح أي لاعب يتم التفاعل معه.
NameUnderlineColorنوع بيانات Color3 للخط الرقيق بين علامة الاسم وأزرار العمل.

إطار الزر

ButtonFrameColorنوع بيانات Color3 للقطاع (الإطار) الذي يحتوي على أزرار الإجراءات.
ButtonFrameTransparency قيمة الشفافية (0–1) لقطاع إطار الزر.

الزر

ButtonColorنوع بيانات Color3 للخلفية لأزرار إجراءات ACM.
ButtonTransparencyقيمة الشفافية (0–1) للون الخلفية لأزرار الإجراءات.
ButtonHoverColorنوع بيانات Color3 لحالة "التمرير فوق" لأزرار الإجراءات.
ButtonHoverTransparencyقيمة الشفافية (0–1) للون "التمرير فوق" لأزرار الإجراءات.
ButtonUnderlineColorنوع بيانات Color3 للخط الرقيق الذي يفصل كل زر إجراء.
ButtonImageمعرف أصل صالح لصورة لخلفية الأزرار.
ButtonImageScaleTypeتعداد Enum.ScaleType لمقياس صورة الزر.
ButtonImageSliceCenterنوع بيانات Rect يحدد مركز صورة ذات شرائح تسع عند تعيين ButtonImageScaleType إلى Enum.ScaleType.Slice.

النص

Fontتعداد Enum.Font لقيمة علامة الاسم ونص الزر.
TextColorنوع بيانات Color3 لجميع النصوص داخل الـ ACM.
TextScaleقيمة عددية لتكبير أحجام النصوص الافتراضية لكل عنصر.

صورة متنوعة

LeaveMenuImageمعرف أصل لصورة لزر إغلاق الـ ACM.
ScrollLeftImageمعرف أصل لصورة لزر "التمرير لليسار" للدوران.
ScrollRightImageمعرف أصل صالح لصورة لزر "التمرير لليمين" للدوران.

الشخصية المحددة

SelectedCharacterIndicatorكائن MeshPart الذي يطفو فوق رأس الشخصية للإشارة إلى أنها محددة.

الحجم والموقع

Sizeنوع بيانات UDim2 للحجم العام لـ ACM.
MinSizeنوع بيانات Vector2 يحدد الحد الأدنى لحجم الـ ACM.
MaxSizeنوع بيانات Vector2 يحدد الحد الأقصى لحجم الـ ACM.
AspectRatioقيمة عددية تحدد العرض والارتفاع النسبيين لـ ACM.
AnchorPointنقطة ربط الـ AnchorPoint للـ ACM.
OnScreenPositionنوع بيانات UDim2 يحدد الموضع على الشاشة لـ ACM (الموقع الذي يتحول إليه عند الفتح).
OffScreenPositionنوع بيانات UDim2 يحدد الموضع خارج الشاشة لـ ACM (الموقع الذي يتحول منه/إليه عند الفتح/الإغلاق).

تخصيص مثال

تخصص عينة الكود التالية ثيم الـ ACM باستخدام بعض المعلمات الأساسية:


local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("AvatarContextMenuTheme", {
BackgroundImage = "",
BackgroundTransparency = 0.5,
BackgroundColor = Color3.fromRGB(111, 145, 242),
NameTagColor = Color3.fromRGB(0, 0, 200),
NameUnderlineColor = Color3.fromRGB(213, 233, 255),
ButtonFrameColor = Color3.fromRGB(15, 24, 65),
ButtonFrameTransparency = 0.2,
ButtonUnderlineColor = Color3.fromRGB(213, 233, 255),
Font = Enum.Font.SciFi
})
©2026 شركة Roblox Corporation. تُعد منصّة Roblox، وشعار Roblox وشعار "توسيع حدود المخيلة"، من ضمن علاماتنا التجارية المسجّلة وغير المسجّلة في الولايات المتحدة وبلدان أخرى.