Roblox tiene un sistema de tablero de líderes integrado que te permite mostrar información del usuario como puntuaciones, monedas o el tiempo más rápido en una carrera.

Configurar el tablero de líderes
Para configurar el tablero de líderes y agregar jugadores cuando ingresen al juego:
Crea un nuevo Script dentro de ServerScriptService y nómbralo Leaderboard.

En el script, conecta una función al evento PlayerAdded.
local Players = game:GetService("Players")local function leaderboardSetup(player)endPlayers.PlayerAdded:Connect(leaderboardSetup)Dentro de la función conectada, crea una nueva instancia de Folder, nómbrala leaderstats y parentéala al jugador.
local Players = game:GetService("Players")local function leaderboardSetup(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerendPlayers.PlayerAdded:Connect(leaderboardSetup)
Agregar estadísticas
Los tableros de líderes utilizan objetos de tipo valor para almacenar y mostrar las estadísticas del jugador. Este script mostrará el oro de un jugador utilizando un IntValue, un marcador de posición para un entero.
En la función leaderboardSetup(), agrega las líneas 8 a 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)
Estas líneas logran lo siguiente:
Se crea una instancia de IntValue.
El Name de la instancia se establece en "Gold". Así es exactamente como aparecerá la estadística en el tablero de líderes.

El Value inicial de la estadística se establece en 0. Esto puede establecerse en cualquier valor que desees, incluido un valor almacenado en un almacenamiento de datos si estás implementando tableros de líderes persistentes.
La instancia se parenta a la carpeta leaderstats, lo que la agrega al tablero de líderes. Cuando un jugador ingresa al juego, su nombre aparece en el tablero.

Actualizar estadísticas
Para actualizar la estadística del tablero de líderes de un jugador, cambia la propiedad Value de esa estadística dentro de su carpeta leaderstats. Por ejemplo, puedes adjuntar el siguiente Script a cualquier objeto que recojas para aumentar la estadística de Gold del jugador que lo recoge.
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
-- Destruir el objeto recogible
goldChunk:Destroy()
-- Actualizar la estadística del tablero de líderes del jugador
goldStat.Value += 10
end
end
goldChunk.Touched:Connect(onPartTouch)
Ordenar estadísticas
Hay tres formas de controlar el orden de las estadísticas en un tablero de líderes:
- Agrega las estadísticas en el orden en que deseas que aparezcan.
- Agrega un hijo BoolValue llamado IsPrimary a la estadística y establece su valor en true para colocar la estadística primero en el tablero de líderes.
- Agrega un hijo NumberValue llamado Priority a la estadística y establece su valor en un número entero. Los valores de prioridad más altos aparecen antes en el tablero de líderes. Las estadísticas sin una prioridad tienen una prioridad default de 0.
Este ejemplo de código muestra cómo agregar un valor IsPrimary a una estadística:
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)
Ocultar el tablero de líderes
Para ocultar el tablero de líderes, como en una pantalla de menú o durante una secuencia, coloca un LocalScript dentro de StarterGui o StarterPlayerScripts que contenga una llamada a StarterGui.
local StarterGui = game:GetService("StarterGui")StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)