Roblox ma wbudowany system tablic wyników, który pozwala wyświetlać informacje o użytkownikach, takie jak wyniki, waluta lub najszybszy czas w wyścigu.

Skonfiguruj tablicę wyników
Aby skonfigurować tablicę wyników i dodać graczy, gdy wchodzą do gry:
Utwórz nowy Script w ServerScriptService i nazwij go Leaderboard.

W skrypcie, połącz funkcję z zdarzeniem PlayerAdded.
local Players = game:GetService("Players")local function leaderboardSetup(player)endPlayers.PlayerAdded:Connect(leaderboardSetup)Wewnątrz połączonej funkcji utwórz nową instancję Folder, nazwij ją leaderstats i ustaw jako rodzica gracza.
local Players = game:GetService("Players")local function leaderboardSetup(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerendPlayers.PlayerAdded:Connect(leaderboardSetup)
Dodaj statystyki
Tablice wyników używają obiektów typu wartość do przechowywania i wyświetlania statystyk graczy. Ten skrypt pokaże ilość złota gracza używając IntValue, który jest miejscem na liczbę całkowitą.
W funkcji leaderboardSetup() dodaj linie od 8 do 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)
Te linie realizują następujące:
Tworzona jest instancja IntValue.
Nazwa instancji Name jest ustawiana na "Gold". Właśnie tak statystyka będzie się wyświetlać na tablicy wyników.

Początkowa Value statystyki jest ustawiona na 0. Możesz ustawić ją na dowolną wartość, w tym wartość przechowywaną w sklepie danych, jeśli implementujesz trwałe tablice wyników.
Instancja jest przypisywana do folderu leaderstats, co dodaje ją do tablicy wyników. Kiedy gracz wchodzi do gry, jego imię pojawia się na tablicy.

Aktualizuj statystyki
Aby zaktualizować statystykę lidera gracza, zmień właściwość Value tej statystyki w folderze leaderstats. Na przykład, możesz dołączyć poniższy Script do obiektu do podnoszenia, aby zwiększyć statystykę Gold, gdy gracz ją zbierze.
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
-- Zniszcz podnoszony obiekt
goldChunk:Destroy()
-- Zaktualizuj statystykę lidera gracza
goldStat.Value += 10
end
end
goldChunk.Touched:Connect(onPartTouch)
Porządkuj statystyki
Istnieją trzy sposoby kontrolowania kolejności statystyk w tablicy wyników:
- Dodaj statystyki w kolejności, w jakiej chcesz, aby się pojawiały.
- Dodaj dziecko BoolValue nazwane IsPrimary do statystyki i ustaw jego wartość na true, aby umieścić tę statystykę na pierwszym miejscu na tablicy wyników.
- Dodaj dziecko NumberValue nazwane Priority do statystyki i ustaw jego wartość na liczbę całkowitą. Wyższe wartości priorytetu pojawiają się wcześniej w tablicy wyników. Statystyki bez priorytetu mają domyślny priorytet równy 0.
Ten przykład kodu pokazuje, jak dodać wartość IsPrimary do statystyki:
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)
Ukryj tablicę wyników
Aby ukryć tablicę wyników, na przykład na ekranie menu lub podczas sceny przerywnikowej, umieść LocalScript w StarterGui lub StarterPlayerScripts, zawierający wywołanie StarterGui.
local StarterGui = game:GetService("StarterGui")StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)