Roblox a un système de classement intégré qui vous permet d'afficher les informations utilisateur telles que les scores, la monnaieou le temps le plus rapide dans une course .

Configurer le classements
Pour configurer le classement et ajouter des joueurs lorsqu'ils entrent dans l'expérience :
Créez une nouvelle Script dans ServerScriptService et nommez-la Classement .
Dans le script, connectez une fonction à l'événement PlayerAdded.
local Players = game:GetService("Players")local function leaderboardSetup(player)end-- Connectez la fonction "leaderboardSetup()" à l'événement "PlayerAdded"Players.PlayerAdded:Connect(leaderboardSetup)À l'intérieur de la fonction connectée, créez une nouvelle instance Folder, nommez-la leaderstats et parentez-la au joueur.
local Players = game:GetService("Players")local function leaderboardSetup(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerend-- Connectez la fonction "leaderboardSetup()" à l'événement "PlayerAdded"Players.PlayerAdded:Connect(leaderboardSetup)
Ajouter des statistiques
Les classements utilisent objets de type valeur pour stocker et afficher les statistiques des joueurs.Ce script montrera l'or d'un joueur en utilisant 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
-- Connectez la fonction "leaderboardSetup()" à l'événement "PlayerAdded"
Players.PlayerAdded:Connect(leaderboardSetup)
Ces lignes accomplissent ce qui suivre:
Une instance IntValue est créée.
L'instance de Name est définie sur "Gold". C'est exactement la façon dont le stat apparaîtra dans le classements.
Le statut initial de Value est défini sur 0.Cela peut être défini à n'importe quelle valeur que vous souhaitez, y compris une valeur stockée dans un magasin de données si vous implémentez des classements permanents.
L'instance est associée au dossier leaderstats qui l'ajoute au classements.Lorsqu'un joueur entre dans l'expérience, son nom apparaît sur le tableau.
Mise à jour des statistiques
Pour mettre à jour la statistique du classement d'un joueur, modifiez la propriété Value de cette statistique dans leur dossier leaderstats.Par exemple, vous pouvez joindre le suivant Script à tout objet de récupération pour augmenter le statut Or du joueur 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 la récupération
goldChunk:Destroy()
-- Mise à jour du statut du classement du joueur
goldStat.Value += 10
end
end
goldChunk.Touched:Connect(onPartTouch)
Statistiques de commande
Il y a trois façons de contrôler l'ordre des statistiques dans un classements:
- 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 à true pour placer la statistique en premier dans le classements.
- Ajoutez un enfant NumberValue nommé Priority à la statistique et définissez sa valeur à un entier.Les valeurs de priorité plus élevées apparaissent plus tôt dans le classements.Les statistiques sans priorité ont une priorité par défaut de 0.
Cet exemple de code montre comment ajouter une valeur IsPrimary à un stat :
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)
Masquer le classements
Pour masquer le classements, comme sur un écran de menu ou pendant une scène de coupe, placez un LocalScript dans StarterGui ou StarterPlayerScripts contenant un appel à StarterGui .
local StarterGui = game:GetService("StarterGui")StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.PlayerList, false)