Tablice wyników

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Roblox ma wbudowaną tablicę wyników w PlayerList. Tutaj, Znajomi i Globalnie to widoki tej samej listy: Tutaj pokazuje rankingi sesji dla graczy na bieżącym serwerze, a Znajomi i Globalnie pokazują trwałe rankingi z uporządkowanego magazynu danych, który rejestrujesz w Creator Hub.

Ekran tablicy wyników

Widoki tablicy wyników

PlayerList porównuje wyniki w tych widokach:

WidokRankingi
TutajRankingi sesji dla graczy na bieżącym serwerze, z leaderstats.
ZnajomiTrwałe rankingi wśród znajomych gracza, którzy grali w doświadczenie.
GlobalnieTrwałe rankingi wśród graczy w doświadczeniu.

Użyj leaderstats, aby wypełnić Tutaj. Użyj uporządkowanego magazynu danych, aby wypełnić Znajomi i Globalnie.

Zarządzaj rankingami sesji za pomocą leaderstats

Folder leaderstats na każdym graczu napędza widok Tutaj. Poniższe kroki konfigurują ten folder, dodają statystyki, aktualizują je podczas sesji, kontrolują ich kolejność i ukrywają PlayerList.

Skonfiguruj leaderstats

Aby skonfigurować tablicę wyników i dodać graczy, gdy wchodzą do doświadczenia:

  1. Utwórz nowy Script w ServerScriptService i nazwij go Leaderboard.

    Wstaw skrypt tablicy wyników
  2. W skrypcie połącz funkcję z zdarzeniem PlayerAdded.

    local Players = game:GetService("Players")
    local function leaderboardSetup(player)
    end
    Players.PlayerAdded:Connect(leaderboardSetup)
  3. Wewnątrz połączonej funkcji utwórz nową instancję Folder, nazwij ją leaderstats i przypisz ją do gracza.

    local Players = game:GetService("Players")
    local function leaderboardSetup(player)
    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = player
    end
    Players.PlayerAdded:Connect(leaderboardSetup)

Dodaj statystyki

Tablice wyników używają obiektów typu value do przechowywania i wyświetlania statystyk graczy. Ten skrypt pokazuje złoto gracza za pomocą IntValue, zastępnika dla liczby całkowitej.

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 osiągają następujące cele:

  1. Tworzona jest instancja IntValue.

  2. Nazwa instancji Name jest ustawiana na "Gold". Tak dokładnie statystyka będzie się pojawiać na tablicy wyników.

    Nazwa statystyki 'Gold' pokazana na tablicy wyników
  3. Początkowa Value statystyki jest ustawiana na 0. Ustaw to na dowolną wartość, w tym wartość przechowywaną w magazynie danych, jeśli wdrażasz trwałe tablice wyników.

  4. Instancja jest przypisywana do folderu leaderstats, co dodaje ją do tablicy wyników. Gdy gracz wchodzi do doświadczenia, jego imię pojawia się na tablicy.

    Wielu graczy pokazanych na tablicy wyników

Aktualizuj statystyki

Aby zaktualizować statystykę tablicy wyników gracza, zmień właściwość Value tej statystyki w folderze leaderstats. Na przykład, możesz dołączyć poniższy Script do dowolnego obiektu zbierania, aby zwiększyć statystykę Gold gracza, który go zbiera.

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 zbiór
goldChunk:Destroy()
-- Zaktualizuj statystykę tablicy wyników gracza
goldStat.Value += 10
end
end
goldChunk.Touched:Connect(onPartTouch)

Kolejność statystyk

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 o nazwie IsPrimary do statystyki i ustaw jego wartość na true, aby umieścić statystykę na pierwszym miejscu w tablicy wyników.
  • Dodaj dziecko NumberValue o nazwie 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 przerywnika, umieść LocalScript w StarterGui lub StarterPlayerScripts, zawierający wywołanie do StarterGui.

local StarterGui = game:GetService("StarterGui")
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)

Zarządzaj trwałymi tablicami wyników za pomocą uporządkowanego magazynu danych

Znajomi i Globalnie odczytują wyniki z uporządkowanego magazynu danych, który rejestrujesz w Creator Hub. Uporządkowany magazyn danych pozostaje źródłem prawdy, a Roblox wyświetla skonfigurowane wyniki w PlayerList. Pozwala to na dodanie trwałych rankingów społecznych i globalnych bez budowania osobnego interfejsu tablicy wyników lub usługi rankingowej.

Początkowa beta obsługuje jedną aktywną trwałą tablicę wyników na doświadczenie. Tylko zarejestrowana, aktywna tablica wyników pojawia się w widokach Znajomi i Globalnie.

Wymagania dotyczące danych

Zanim zarejestrujesz tablicę wyników, upewnij się, że jej dane spełniają te wymagania:

  • Jedna uporządkowana baza danych wspiera tablicę wyników.
  • Każdy gracz ma jeden numeryczny wynik w tym uporządkowanym magazynie danych.
  • Każdy klucz identyfikuje jednego gracza po identyfikatorze użytkownika, bezpośrednio lub poprzez spójną formatkę, która zawiera identyfikator użytkownika.
  • Twoje doświadczenie zapisuje aktualizacje wyników w uporządkowanym magazynie danych. Platforma odczytuje wyniki, ale ich nie zapisuje.
  • Logika zapisywania wyników działa na serwerze.

Przygotuj uporządkowane dane

Wybierz ścieżkę, która odpowiada temu, jak twoje doświadczenie obecnie przechowuje wyniki.

Użyj istniejącego uporządkowanego magazynu danych

Jeśli twoje doświadczenie już przechowuje wyniki tablicy wyników w kompatybilnym uporządkowanym magazynie danych, zachowaj ten magazyn danych i zarejestruj go w Creator Hub. Upewnij się, że każdy wpis zawiera numeryczny wynik i że jego klucz spójnie identyfikuje jednego gracza.

Nie musisz odbudowywać danych tablicy wyników ani kopiować ich do osobnej usługi rankingowej.

Utwórz uporządkowany magazyn danych

Jeśli nie masz jeszcze danych tablicy wyników, utwórz uporządkowany magazyn danych i dodaj go do swojego istniejącego przepływu punktacji po stronie serwera. Zapisz jeden numeryczny wynik dla każdego gracza i użyj identyfikatora użytkownika gracza jako klucza lub uwzględnij identyfikator użytkownika w spójnym formacie klucza.

local DataStoreService = game:GetService("DataStoreService")
local playerScores = DataStoreService:GetOrderedDataStore("PlayerScores")
local function saveScore(player, score)
local success, errorMessage = pcall(function()
playerScores:SetAsync(tostring(player.UserId), score)
end)
if not success then
warn(errorMessage)
end
end

Upewnij się, że wyniki są obecne, zanim zarejestrujesz magazyn danych w Creator Hub. Aby uzyskać więcej informacji na temat przechowywania i sortowania trwałych wartości, zobacz uporządkowane magazyny danych.

Migracja wyników z innego backendu

Jeśli standardowy magazyn danych, zewnętrzna baza danych lub inny backend przechowuje twoje dane tablicy wyników, przenieś wyniki, które chcesz wyświetlić, do uporządkowanego magazynu danych. Zachowaj jeden numeryczny wynik na gracza i użyj spójnego formatu klucza, który identyfikuje gracza.

Po migracji zaktualizuj swój przepływ punktacji, aby nowe zmiany wyników nadal docierały do uporządkowanego magazynu danych.

Skonfiguruj tablicę wyników w Creator Hub

Zanim zaczniesz, upewnij się, że twoje doświadczenie zapisuje ważne wyniki w uporządkowanym magazynie danych.

  1. Otwórz Creator Hub.
  2. Wybierz doświadczenie, które posiada uporządkowany magazyn danych.
  3. Zarejestruj uporządkowany magazyn danych, który zawiera twoje wyniki tablicy wyników.
  4. Włącz tablicę wyników dla doświadczenia.
  5. Upewnij się, że tablica wyników jest aktywna.
  6. Przetestuj tablicę wyników w doświadczeniu i upewnij się, że wyniki pojawiają się zgodnie z oczekiwaniami.

Dezaktywacja tablicy wyników ukrywa ją przed graczami, ale nie usuwa jej uporządkowanego magazynu danych ani wyników.

Strona tablicy wyników dla doświadczenia w Creator Hub, z przyciskiem Utwórz do konfigurowania tablicy wyników.
Twórz i zarządzaj konfiguracjami tablicy wyników z strony Tablica wyników w Creator Hub.

Testuj widoki Znajomych i Globalnie

Testuj z graczami, którzy już mają wpisy wyników.

  1. Dołącz do doświadczenia jako gracz z zapisanym wynikiem.
  2. Otwórz tablicę wyników w doświadczeniu.
  3. Wybierz Znajomi i upewnij się, że kwalifikujący się znajomi pojawiają się z oczekiwanymi wynikami.
  4. Wybierz Globalnie i upewnij się, że gracz pojawia się z oczekiwaną rangą i wynikiem.
  5. Zaktualizuj wynik gracza za pomocą swojego istniejącego przepływu po stronie serwera.
  6. Upewnij się, że tablica wyników odzwierciedla zaktualizowaną wartość.
Tablica wyników w doświadczeniu pokazująca rangi graczy, imiona i wyniki.
Zweryfikuj trwałe rankingi w tablicy wyników w doświadczeniu.

Zarządzaj wynikami

Kontynuuj aktualizowanie, poprawianie i moderowanie wyników za pomocą swojego przepływu uporządkowanego magazynu danych. Creator Hub kontroluje, która tablica wyników jest aktywna, ale nie zastępuje twojej logiki zapisywania wyników ani moderacji.

Chroń zapisywanie wyników za pomocą walidacji po stronie serwera i przeglądaj podejrzane lub niemożliwe wartości, zanim wpłyną na rankingi graczy.

FAQ

Nie. Jeśli wyniki są już w kompatybilnym uporządkowanym magazynie danych, zarejestruj ten magazyn danych w Creator Hub.

Przenieś wyniki, które chcesz wyświetlić, do uporządkowanego magazynu danych, a następnie zarejestruj go w Creator Hub.

Ty. Uporządkowany magazyn danych pozostaje źródłem prawdy, a twój przepływ po stronie serwera nadal aktualizuje i moderuje wyniki.

Początkowa beta obsługuje jedną aktywną trwałą tablicę wyników na doświadczenie.

©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.