W grze, gracz będzie miał ważne statystyki, które muszą zobaczyć, jak przedmioty, które zebrał. Te liczby będą wyświetlane przy użyciu tabeli ranking. Tabela liderów są zbudowane wbudowane funkcje Roblox, które wymagają aktywowania i dostosowania.
Ustawienie tabeli liderów
Kiedy gracz zostanie dodany do doświadczenia, będzie on musiał zostać dodany do tabeli liderów wraz z kodem, aby śledzić poszczególne statystyki.
W Explorerze, pod ServerScriptService , utwórz nowy skrypt o nazwie PlayerSetup. W tym skrypcie usuń linię witajświata i napisz komentowaćopisowy.
Po komentowaćstwórz niestandardową funkcję nazyającą się naPlayerJoin z parametrem nazyającym się gracz.
-- Tworzy tabelę liderów, która pokazuje zmienne graczalocal function onPlayerJoin(player)endW onPlayerJoin utwórz zmienne nazyjące się leaderstats i utwórz nową instancję Foldera .
local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")endNazwij nową Foldera instancję leaderstats , i ustaw ją jako rodzic dla gracza. Używanie nazwy leaderstats ułatwia Roblox Studio do stworzenia tabeli ranking.
local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerendPo zakończeniu funkcji połącz OnPlayerJoin z wydarzeniem PlayerAdded. Każdy raz, gdy gracz dołączy do doświadczenia, każdy gracz otrzyma ranking.
local Players = game:GetService("Players")local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerendPlayers.PlayerAdded:Connect(onPlayerJoin)
Śledzenie statystyk gracza
Teraz, gdy stworzono tabelę liderów, musi ona pokazać graczom te numery:
- Złoto - Ile pieniędzy gracz ma.
- Przedmioty - Ile przedmiotów zebrał gracz z całego świata.
- Przestrzenie - najwięcej przedmiotów, które gracz może trzymać jednocześnie.
Każda z tych liczb będzie IntValue, obiekt miejsceholder dla liczby.
Kodowanie Złota Gracza
Zacznij od kodowania statystyki dla złota.
W OnPlayerJoin , pod leaderstats.Parent = player , wpisuj local gold = Instance.new("IntValue") . To tworzy nowy IntValue i zapisuje go w zmiennej złoty.
local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerlocal gold = Instance.new("IntValue")endNastępnie wpisz gold.Name = "Gold" . To nadaje IntValue imię, aby można go używać w innych skryptach. Imię również będzie wyświetlać graczom na ranking.
local function onPlayerJoin(player)local gold = Instance.new("IntValue")gold.Name = "Gold"endNa nowej linii, wpisz gold.Value = 0 . Ustawia to wartość początkową dla graczy.
local function onPlayerJoin(player)local gold = Instance.new("IntValue")gold.Name = "Gold"gold.Value = 0endTyp gold.Parent = leaderstats . Jest to rodzice IntValue dla statystyk liderów. Jeśli IntValue nie jest związany z statystykami liderów, gracze nie będą go widzieć.
local function onPlayerJoin(player)local gold = Instance.new("IntValue")gold.Name = "Gold"gold.Value = 0gold.Parent = leaderstatsendZagraj w swoją projekt i zauważ, że pojawia się tabela liderów po prawej górze.
Wskazówki dotyczące rozwiązywania problemów
Jeśli nie widzisz tabeli ranking, spróbuj obserwuje:
- Upewnij się, że .Value jest z dużej litery.
- Upewnij się, że zmienne IntValue jest związane z tabelą liderów, taką jak gold.Parent = leaderstats.
Kodowanie przedmiotów i przestrzeni
Pamiętaj, że nazwy statystyk mogą być dowolne w oparciu o dokumenty projektu gry. Innymi słowy, "Items" mogą być zamiast tego 0> kryształy0>.
Dodaj pustą linię, aby oddzielić następny stat, a następnie stwórz statystykę przedmiotu ustawiając nową wartość IntValue tak samo, jak zrobiłeś dla złota.
local function onPlayerJoin(player)gold.Parent = leaderstats-- Utwórz statystykę dla przedmiotówlocal items = Instance.new("IntValue")items.Name = "Items"items.Value = 0items.Parent = leaderstatsendUtwórz nową statystykę dla bag bag gracza. Ustaw spaces.Value na 2, aby gracze mogli zacząć doświadczenie, tylko mogąc trzymać dwa przedmioty na raz, zachęcając je do kupna nowej torby, gdy tylko będą mogli.
local function onPlayerJoin(player)items.Parent = leaderstats-- Utwórz statystykę Przestrzenilocal spaces = Instance.new("IntValue")spaces.Name = "Spaces"spaces.Value = 2spaces.Parent = leaderstatsendSprawdź projekt. Gracze powinni mieć tabelę liderów pokazującą złoto, przedmioty i przestrzenie.
Jeśli nie pojawia się tabela liderów, spróbuj sprawdzić następujące poniżej.
- Jeśli nie możesz zobaczyć numeru na ranking, sprawdź, czy każdy IntValue jest powiązany z statystykami liderów.
- Upewnij się, że każdy IntValue jest poprawnie zapisany, jak pokazano
- Sprawdź, czy wydarzenie PlayerAdded znajduje się w dnie skryptu
Ukończ skrypt PlayerSetup
Ukończona wersja skryptu może być odniesiona poniżej.
local Players = game:GetService("Players")
-- Tworzy tabelę liderów, która pokazuje zmienne gracza
local function onPlayerJoin(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 items = Instance.new("IntValue")
items.Name = "Items"
items.Value = 0
items.Parent = leaderstats
local spaces = Instance.new("IntValue")
spaces.Name = "Spaces"
spaces.Value = 2
spaces.Parent = leaderstats
end
-- Biegnij naPlayerJoin, gdy wydarzenie PlayerAdded zostanie uruchomione
Players.PlayerAdded:Connect(onPlayerJoin)