Roblox dispose d'un système de tableau de classement intégré qui vous permet d'afficher des informations sur les utilisateurs, comme les scores, la monnaie ou le temps le plus rapide dans une course.

Configurer le tableau de classement
Pour configurer le tableau de classement et ajouter des joueurs lorsqu'ils entrent dans le jeu :
Créez un nouveau Script dans ServerScriptService et nommez-le Leaderboard.

Dans le script, connectez une fonction à l'événement PlayerAdded.
local Players = game:GetService("Players")local function leaderboardSetup(player)endPlayers.PlayerAdded:Connect(leaderboardSetup)À l'intérieur de la fonction connectée, créez une nouvelle instance Folder, nommez-la leaderstats, et placez-la en tant qu'enfant du joueur.
local Players = game:GetService("Players")local function leaderboardSetup(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerendPlayers.PlayerAdded:Connect(leaderboardSetup)
Ajouter des statistiques
Les tableaux de classement utilisent des objets de type valeur pour stocker et afficher les statistiques des joueurs. Ce script affichera l'or d'un joueur à l'aide d'un IntValue, un espace réservé pour un entier.
Dans la fonction leaderboardSetup(), ajoutez les lignes 8 à 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)Ces lignes accomplissent les éléments suivants :
Une instance IntValue est créée.
Le Name de l'instance est défini sur "Gold". C'est exactement comme la statistique apparaîtra sur le tableau de classement.

La valeur initiale de Value de la statistique est définie sur 0. Cela peut être défini sur toute valeur souhaitée, y compris une valeur stockée dans un magasin de données si vous implémentez des tableaux de classement persistants.
L'instance est ajoutée en tant qu'enfant du dossier leaderstats, ce qui l'ajoute au tableau de classement. Lorsque qu'un joueur entre dans le jeu, son nom apparaît sur le tableau.

Mettre à jour les statistiques
Pour mettre à jour la statistique de tableau de classement d'un joueur, modifiez la propriété Value de cette statistique dans leur dossier leaderstats. Par exemple, vous pouvez attacher le Script suivant à n'importe quel objet ramassable pour augmenter la statistique Gold du joueur qui le collecte.
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
-- Détruire le ramassable
goldChunk:Destroy()
-- Mettre à jour la statistique de tableau de classement du joueur
goldStat.Value += 10
end
end
goldChunk.Touched:Connect(onPartTouch)Ordonner les statistiques
Il existe trois façons de contrôler l'ordre des statistiques dans un tableau de classement :
- Ajoutez les statistiques dans l'ordre dans lequel vous souhaitez qu'elles apparaissent.
- Ajoutez un enfant BoolValue nommé IsPrimary à la statistique et définissez sa valeur sur true pour placer la statistique en premier dans le tableau de classement.
- Ajoutez un enfant NumberValue nommé Priority à la statistique et définissez sa valeur sur un entier. Les valeurs de priorité plus élevées apparaissent plus tôt dans le tableau de classement. Les statistiques sans priorité ont une priorité par défaut de 0.
Cet exemple de code montre comment ajouter une valeur IsPrimary à une statistique :
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)Cacher le tableau de classement
Pour cacher le tableau de classement, par exemple sur un écran de menu ou pendant une cinématique, placez un LocalScript dans StarterGui ou StarterPlayerScripts contenant un appel à StarterGui.
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)