شعار شعار هو جائزة خاصة يمكنك منحها للاعبين عندما يحققون هدفًا ضمن لعبتك، مثل إكمال هدف صعب أو اللعب لفترة زمنية معينة. بمجرد أن يتلقى اللاعب شعارًا، يتم عرضه ضمن فئة الشعارات في مخزونه.

إنشاء الشعارات
يمكنك إنشاء ما يصل إلى 5 شعارات مجانًا في فترة 24 ساعة (بتوقيت غرينتش) لكل لعبة تملكها. إذا كنت ترغب في إنشاء المزيد داخل فترة 24 ساعة، فإن كل شعار إضافي يكلف 100 روبكس.
لإنشاء شعار:
انتقل إلى لوحة التحكم للمبدعين.
مرر فوق صورة مصغرة للعبة، وانقر على زر ⋯، واختر إنشاء شعار.

في صفحة الإنشاء، انقر على زر رفع الصورة ثم اختر/أكد على الصورة التي تريد استخدامها كأيقونة للشعار. عند إنشاء صورة لاستخدامها كشعار، ضع في اعتبارك ما يلي:
استخدم قالب 512×512 بكسل.
عملية الرفع تقوم بقص الصورة وتحويلها إلى أيقونة دائرية، لذا تجنب وضع تفاصيل هامة خارج الحدود الدائرية.


املأ الحقول التالية:
- الاسم — عنوان للشعار.
- الوصف — وصف لما يمكن أن يفعله اللاعب لكسب الشعار.
- الشعار مفعل — ما إذا كان الشعار سيتم تفعيله عند إنشائه أم لا. لا تظهر الشعارات المعطلة في قسم الشعارات في الصفحة الرئيسية للعبة ولا يمكن كسبها من قبل اللاعبين.
انقر على زر إنشاء شعار. سيظهر الشعار الجديد ضمن قسم المشاركة ⟩ الشعارات في لوحة التحكم للمبدعين. إذا كان الشعار الجديد مفعلًا، فسيظهر أيضًا في قسم الشعارات في الصفحة الرئيسية للعبة.

الشعار في الصفحة الرئيسية للعبة
إعادة ترتيب الشعارات
عند إنشاء شعار لأول مرة، يتم وضعه في نهاية قائمة الشعارات. يمكنك إعادة ترتيب ما يصل إلى 50 شعارًا في وقت واحد باستخدام واجهة السحب والإفلات.
لإعادة ترتيب الشعارات:
انتقل إلى اللعبة المرتبطة.
في الشريط الجانبي تحت عنوان المشاركة، انتقل إلى صفحة الشعارات.
اختر إعادة الترتيب للانتقال إلى صفحة إعادة الترتيب.

في صفحة إعادة الترتيب، اسحب وأفلت الشعارات في ترتيبها المفضل.

اختر حفظ لحفظ هذا الترتيب. يجب أن يظهر الترتيب المحدد الآن في صفحة تفاصيل اللعبة.
برمجة الشعارات
تشمل سير العمل الشائعة في برمجة الشعارات منح الشعارات، والتحقق مما إذا كان اللاعب قد كسب شعارًا في لعبتك، والحصول على معلومات الشعارات.
تحديد معرفات الشعارات
معرف الشعار هو معرفه الفريد. ستحتاج إلى هذا المعرف عند تنفيذ سير العمل مثل منح الشعار للاعب.
في لوحة التحكم للمبدعين، انتقل إلى قسم الشعارات للعبة المرتبطة تحت المشاركة.
مر فوق صورة مصغرة لشعار، انقر على زر ⋯، واختر نسخ معرف الأصل من قائمة السياق.

منح الشعارات
يمكنك منح الشعارات للاعبين في جميع أنحاء لعبتك عن طريق استدعاء الطريقة BadgeService:AwardBadgeAsync() في Script على الجانب الخادم. تعيد BadgeService:GetBadgeInfoAsync() خصائص الشعار، بما في ذلك IsEnabled الذي يؤكد ما إذا كان يمكن منح الشعار للاعب أم لا. يمكنك تفعيل أو تعطيل الشعار من نموذج تكوين الشعار على لوحة التحكم للمبدعين.
فيما يلي مثال لوظيفة آمنة لمنح الشعارات للاعبين.
local BadgeService = game:GetService("BadgeService")
local function awardBadge(player, badgeId)
-- جلب معلومات الشعار
local success, badgeInfo = pcall(function()
return BadgeService:GetBadgeInfoAsync(badgeId)
end)
if success then
-- تأكيد أن الشعار يمكن منحه
if badgeInfo.IsEnabled then
-- منح الشعار
local awarded, errorMessage = pcall(BadgeService.AwardBadgeAsync, BadgeService, player.UserId, badgeId)
if not awarded then
warn("خطأ أثناء منح الشعار:", errorMessage)
end
end
else
warn("خطأ أثناء جلب معلومات الشعار: " .. badgeInfo)
end
end
التحقق من الشعارات المكتسبة
يتحقق البرنامج النصي التالي عند دخول أي لاعب إلى اللعبة، ثم يستخدم الطريقة BadgeService:UserHasBadgeAsync() للتحقق مما إذا كان ذلك اللاعب يمتلك الشعار مع معرف المطابقة المحدد في المتغير BADGE_ID. يمكنك أيضًا التحقق من ملكية الشعار في دفعات باستخدام الطريقة BadgeService:CheckUserBadgesAsync().
local BadgeService = game:GetService("BadgeService")
local Players = game:GetService("Players")
local BADGE_ID = 00000000 -- غيّر هذا إلى معرف الشعار الخاص بك
local function onPlayerAdded(player)
-- التحقق مما إذا كان اللاعب يمتلك الشعار
local success, hasBadge = pcall(BadgeService.UserHasBadgeAsync, BadgeService, player.UserId, BADGE_ID)
-- إذا كان هناك خطأ، قم بإصدار تحذير واخرج من الوظيفة
if not success then
warn("خطأ أثناء التحقق مما إذا كان اللاعب يمتلك الشعار")
return
end
if hasBadge then
-- تعامل مع ملكية الشعار للاعب حسب الحاجة
end
end
-- ربط أحداث "PlayerAdded" بوظيفة "onPlayerAdded()"
Players.PlayerAdded:Connect(onPlayerAdded)
الحصول على معلومات الشعار
للحصول على معلومات حول شعار، مثل وصفه أو معرف الأصل الخاص بأيقونته، استدعِ الطريقة BadgeService:GetBadgeInfoAsync() مع معرف الشعار. على سبيل المثال:
local BadgeService = game:GetService("BadgeService")local BADGE_ID = 00000000 -- غيّر هذا إلى معرف الشعار الخاص بك-- جلب معلومات الشعارlocal success, result = pcall(BadgeService.GetBadgeInfoAsync, BadgeService, BADGE_ID)-- إخراج المعلوماتif success thenprint("شعار:", result.Name)print("مفعل:", result.IsEnabled)print("الوصف:", result.Description)print("الأيقونة:", "rbxassetid://" .. result.IconImageId)elsewarn("خطأ أثناء جلب معلومات الشعار:", result)end