تتميز Roblox بنظام لوحات المتصدرين مدمج يتيح لك عرض معلومات المستخدمين مثل الدرجات أو العملة أو أسرع وقت في سباق.

إعداد لوحة المتصدرين
لإعداد لوحة المتصدرين وإضافة اللاعبين عند دخولهم اللعبة:
أنشئ Script جديدة داخل ServerScriptService وسمِّها Leaderboard.

في السكربت، قم بربط دالة بحدث PlayerAdded.
local Players = game:GetService("Players")local function leaderboardSetup(player)endPlayers.PlayerAdded:Connect(leaderboardSetup)داخل الدالة المتصلة، قم بإنشاء مثيل من Folder، وسمِّه leaderstats، واجعله تابعًا للاعب.
local Players = game:GetService("Players")local function leaderboardSetup(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerendPlayers.PlayerAdded:Connect(leaderboardSetup)
إضافة الإحصائيات
تستخدم لوحات المتصدرين كائنات من نوع القيمة لتخزين وعرض إحصائيات اللاعبين. ستظهر هذه السكربت الذهب الخاص باللاعب باستخدام IntValue، وهو عنصر بديل لعدد صحيح.
في دالة leaderboardSetup()، أضف الأسطر 8 إلى 11:
local Players = game:GetService("Players")
local function leaderboardSetup(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local gold = Instance.new("IntValue")
gold.Name = "Gold"
gold.Value = 0
gold.Parent = leaderstats
end
Players.PlayerAdded:Connect(leaderboardSetup)
هذه الأسطر تحقق ما يلي:
يتم إنشاء مثيل من IntValue.
يتم تعيين Name للمثيل إلى "Gold". هذه هي الطريقة التي ستظهر بها الإحصائية على لوحة المتصدرين.

يتم تعيين القيمة الأولية لـ Value للإحصائية إلى 0. يمكن تعيين هذه القيمة إلى أي قيمة ترغب بها، بما في ذلك قيمة مخزنة في مخزن البيانات إذا كنت تنفذ لوحات متصدرين دائمة.
يتم ربط المثيل بمجلد leaderstats مما يضيفه إلى لوحة المتصدرين. عندما يدخل اللاعب اللعبة، يظهر اسمه على اللوحة.

تحديث الإحصائيات
لتحديث إحصائية لوحة المتصدرين للاعب، قم بتغيير خاصية Value لتلك الإحصائية داخل مجلد leaderstats الخاص بهم. على سبيل المثال، يمكنك ربط السكربت التالي بأي كائن لجمعه لزيادة إحصائية Gold للاعب الذي يجمعه.
local Players = game:GetService("Players")
local goldChunk = script.Parent
local function onPartTouch(otherPart)
local partParent = otherPart.Parent
local player = Players:GetPlayerFromCharacter(partParent)
local leaderstats = player and player:FindFirstChild("leaderstats")
local goldStat = leaderstats and leaderstats:FindFirstChild("Gold")
if goldStat then
-- تدمير الالتقاط
goldChunk:Destroy()
-- تحديث إحصائية لوحة المتصدرين للاعب
goldStat.Value += 10
end
end
goldChunk.Touched:Connect(onPartTouch)
ترتيب الإحصائيات
هناك ثلاث طرق للتحكم في ترتيب الإحصائيات في لوحة المتصدرين:
- أضف الإحصائيات بالترتيب الذي تريد ظهورها به.
- أضف كائن فرعي BoolValue باسم IsPrimary إلى الإحصائية واضبط قيمته على true لوضع الإحصائية أولاً في لوحة المتصدرين.
- أضف كائن فرعي NumberValue باسم Priority إلى الإحصائية واضبط قيمته على عدد صحيح. القيم ذات الأولوية الأعلى تظهر أولاً في لوحة المتصدرين. الإحصائيات بدون أولوية لها أولوية افتراضية قدرها 0.
تُظهر عينة الكود التالية كيفية إضافة قيمة IsPrimary إلى إحصائية:
local Players = game:GetService("Players")
local function leaderboardSetup(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local gold = Instance.new("IntValue")
gold.Name = "Gold"
gold.Value = 0
gold.Parent = leaderstats
local isPrimary = Instance.new("BoolValue")
isPrimary.Name = "IsPrimary"
isPrimary.Value = true
isPrimary.Parent = gold
end
Players.PlayerAdded:Connect(leaderboardSetup)
إخفاء لوحة المتصدرين
لإخفاء لوحة المتصدرين، مثلما يحدث في شاشة القائمة أو أثناء مقطع سينمائي، ضع LocalScript داخل StarterGui أو StarterPlayerScripts يحتوي على استدعاء لـ StarterGui.
local StarterGui = game:GetService("StarterGui")StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)