Roblox possui um sistema de placares embutido que permite exibir informações dos usuários, como pontuações, moeda ou o tempo mais rápido em uma corrida.

Configurar o placar
Para configurar o placar e adicionar jogadores quando eles entrarem no jogo:
Crie um novo Script dentro de ServerScriptService e nomeie-o como Leaderboard.

No script, conecte uma função ao evento PlayerAdded.
local Players = game:GetService("Players")local function leaderboardSetup(player)endPlayers.PlayerAdded:Connect(leaderboardSetup)Dentro da função conectada, crie uma nova instância de Folder, nomeie-a como leaderstats e a coloque como filha do jogador.
local Players = game:GetService("Players")local function leaderboardSetup(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerendPlayers.PlayerAdded:Connect(leaderboardSetup)
Adicionar estatísticas
Os placares usam objetos de tipo valor para armazenar e exibir as estatísticas do jogador. Este script mostrará o ouro de um jogador usando um IntValue, um espaço reservado para um número inteiro.
Na função leaderboardSetup(), adicione as linhas 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)
Essas linhas realizam o seguinte:
Uma instância de IntValue é criada.
O Name da instância é definido como "Gold". Esta é exatamente como a estatística aparecerá no placar.

O valor inicial do Value da estatística é definido como 0. Isso pode ser ajustado para qualquer valor que você desejar, incluindo um valor armazenado em um data store se você estiver implementando placares persistentes.
A instância é adicionada à pasta leaderstats, o que a coloca no placar. Quando um jogador entra no jogo, seu nome aparece no quadro.

Atualizar estatísticas
Para atualizar a estatística do placar de um jogador, altere a propriedade Value dessa estatística dentro da pasta leaderstats. Por exemplo, você pode anexar o seguinte Script a qualquer objeto coletável para aumentar a estatística Gold do jogador que a coleta.
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 a coleta
goldChunk:Destroy()
-- Atualizar a estatística do placar do jogador
goldStat.Value += 10
end
end
goldChunk.Touched:Connect(onPartTouch)
Ordenar estatísticas
Existem três maneiras de controlar a ordem das estatísticas em um placar:
- Adicione as estatísticas na ordem em que deseja que apareçam.
- Adicione um filho BoolValue chamado IsPrimary à estatística e defina seu valor como true para colocar a estatística primeiro no placar.
- Adicione um filho NumberValue chamado Priority à estatística e defina seu valor como um número inteiro. Valores de prioridade mais altos aparecem primeiro no placar. Estatísticas sem prioridade têm uma prioridade padrão de 0.
Este exemplo de código mostra como adicionar um valor IsPrimary a uma estatí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 o placar
Para ocultar o placar, como em uma tela de menu ou durante uma cena, coloque um LocalScript dentro de StarterGui ou StarterPlayerScripts contendo uma chamada para StarterGui.
local StarterGui = game:GetService("StarterGui")StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)