Predstavte si, že vaši hráči sú v Roblox Studio nadšení z toho, kto má najviac mincí, zabití alebo bodov. Leaderboard v Roblox Studio je kľúčom k tomu, aby vaša hra žiarila! 😎 V tomto sprievodcu sa naučíte ako naprogramovať leaderboard v Roblox Studio rýchlo a efektívne. Bez zbytočností, len čisté kroky pre epický výsledok. Poďme na to! ✅
Čo je Leaderboard a Prečo ho Potrebujete? ⭐
Leaderboard (alebo leaderstats) zobrazuje štatistiky hráčov priamo v hre – vidno ho stlačením Tab. Je to motivácia pre súťaž! V Roblox Studio sa vytvára cez Lua skripty na serveri. Podporuje hodnoty ako IntValue, NumberValue či StringValue.
- ✅ Zobrazuje top hráčov automaticky.
- ✅ Ukladá dáta cez DataStore pre trvalosť.
- 👍 Zvyšuje engagement v hre.
Príprava: Otvorte Roblox Studio a Začnite Nový Projekt
1️⃣ Spustite Roblox Studio a vytvorte novú place (Baseplate alebo prázdnu).
2️⃣ V Explorer paneli nájdite ServerScriptService. Tu vložíme náš hlavný skript. Kliknite pravým tlačidlom → Insert Object → ServerScript. Premenujte ho na "LeaderboardScript".
Krok 1: Základný Skript pre Leaderstats 🎯
Otvorte skript a vložte tento kód. Používame PlayerAdded event na vytvorenie leaderstats pre každého hráča.
local Players = game:GetService("Players")
Players.PlayerAdded:Connect(function(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local coins = Instance.new("IntValue")
coins.Name = "Coins"
coins.Value = 100 -- Počiatočná hodnota
coins.Parent = leaderstats
local kills = Instance.new("IntValue")
kills.Name = "Kills"
kills.Value = 0
kills.Parent = leaderstats
end)
Testujte: Stlačte Play (F5). Pripojte sa ako hráč – stlačte Tab a uvidíte leaderboard! 🔥
| Statistika |
Typ Value |
Príklad Použitia |
| Coins |
IntValue |
Peniaze hráča |
| Kills |
IntValue |
Zabití nepriateľov |
| Level |
NumberValue |
Úroveň postavy |
Krok 2: Aktualizácia Hodnôt – Urobte to Interaktívne! ⚡
Chcete, aby sa hodnoty menili? Pridajte eventy. Napr. pre zbieranie mincí:
-- V tom istom skripte alebo LocalScript v StarterPlayerScripts
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Simulácia zbierania (nahraďte Part Touch eventom)
wait(2)
if player.leaderstats then
player.leaderstats.Coins.Value = player.leaderstats.Coins.Value + 50
end
Tip pro: Pre kills použite RemoteEvents na komunikáciu server-client. Vytvorte RemoteEvent v ReplicatedStorage → "UpdateKill".
Krok 3: Ukladanie Dát s DataStore – Nikdy Nestratíte Pokrok! 💾
Bez DataStore sa dáta resetujú. Použite DataStoreService pre trvalý leaderboard v Roblox Studio.
local DataStoreService = game:GetService("DataStoreService")
local myDataStore = DataStoreService:GetDataStore("PlayerStats")
Players.PlayerAdded:Connect(function(player)
-- ... leaderstats ako vyššie ...
local data = myDataStore:GetAsync(player.UserId) or {Coins = 100, Kills = 0}
player.leaderstats.Coins.Value = data.Coins
player.leaderstats.Kills.Value = data.Kills
end)
Players.PlayerRemoving:Connect(function(player)
local data = {
Coins = player.leaderstats.Coins.Value,
Kills = player.leaderstats.Kills.Value
}
myDataStore:SetAsync(player.UserId, data)
end)
✅ Enable API Services v Game Settings → Security → Allow HTTP Requests & Studio Access to API Services.
Viac info v oficiálnej Roblox dokumentácii.
Krok 4: Pokročilé Funkcie – Top 10 Leaderboard GUI! 🏆
Štandardný Tab leaderboard je super, ale pridajte custom GUI!
- Vytvorte ScreenGui v StarterGui → Frame → ScrollingFrame pre zoznam.
- Použite OrderedDataStore na globálny top.
- Skript na aktualizáciu každých 30 sekúnd.
local orderedDataStore = DataStoreService:GetOrderedDataStore("GlobalLeaderboard_Coins")
-- Načítanie top 10
local success, pages = pcall(function()
return orderedDataStore:GetSortedAsync(false, 10) -- Descending, 10 pages
end)
Integrujte do GUI cez TextLabels. Hráči budú žasieť! 👏
Bežné Chyby a Ako Ich Opravovať 🚫
- ❌ leaderstats nie je vidno? Skontrolujte Parent = player.
- ❌ DataStore faily? Zapnite API services.
- ❌ Nekonečné loop-y? Použite events namiesto while true.
Záver: Vaša Hra Bude Hit! 🎉
Gratulujeme! Teraz viete ako naprogramovať leaderboard v Roblox Studio od základov po pokročilé. Testujte, experimentujte a zdieľajte svoje hry. Chcete viac tipov na Roblox scripting? Sledujte ďalšie tutoriály! 🚀
Tip na záver: Kombinujte s badges a achievements pre maximálny fun. Šťastné kodovanie! 😊