En jeu, le joueur aura des statistiques importantes qu'il doit voir comme les objets qu'il a collectés. Ces chiffres seront affichés en utilisant un classement. Les classements sont des fonctionnalités intégrées de Roblox qui nécessitent un script pour être activé et personnalisé.
Configurer le classement
Lorsque qu'un joueur est ajouté à l'expérience, il doit être ajouté au classement ainsi que du code pour suivre les statistiques individuelles.
Dans l'Explorer, sous ServerScriptService , créez un nouveau script nommé PlayerSetup. Dans ce script, supprimez la ligne de salut du monde et écrivez un commenterdescriptif.
Après le commenter, créez une fonction personnalisée nommée surPlayerJoin avec un paramètre nommé joueur.
-- Crée un classement qui montre les variables du joueurlocal function onPlayerJoin(player)endDans onPlayerJoin, créez une variable nommée leaderstats et laissez-la créer une nouvelle instance Folder .
local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")endNommez la nouvelle instance dossier , et nommez-la en tant que parent du joueur. Nommer le dossier leaderstats permet à Roblox Studio de savoir de créer un classements.
local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerendAprès la fin de la fonction, connectez OnPlayerJoin à l'événement PlayerAdded. Chaque fois qu'un joueur rejoint l'expérience, chaque joueur sera fourni le classements.
local Players = game:GetService("Players")local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerendPlayers.PlayerAdded:Connect(onPlayerJoin)
Suivi des statistiques des joueurs
Maintenant qu'un classement est créé, il doit montrer au joueur ces chiffres :
- Or - Combien d'argent le joueur a.
- Objets - Combien d'objets le joueur a collectés du monde.
- Espaces - Plus d'articles qu'un joueur peut détenir en même temps.
Chacun de ces chiffres sera un IntValue, un objet de placeholder pour un nombre.
Codage du joueur d'or
Commencez par codifier une statistique pour l'or.
Dans OnPlayerJoin, sous leaderstats.Parent = player, type local gold = Instance.new("IntValue"). Ce crée une nouvelle IntValue et le stocke dans la variable d'or.
local function onPlayerJoin(player)local leaderstats = Instance.new("Folder")leaderstats.Name = "leaderstats"leaderstats.Parent = playerlocal gold = Instance.new("IntValue")endEnsuite, tapez gold.Name = "Gold" . Ceci donne à l'IntValue un nom afin que vous puissiez l'utiliser dans d'autres scripts. Le nom sera également affiché aux joueurs sur le classements.
local function onPlayerJoin(player)local gold = Instance.new("IntValue")gold.Name = "Gold"endSur une nouvelle ligne, tapez gold.Value = 0 . Ceci définit la valeur de départ pour les joueurs.
local function onPlayerJoin(player)local gold = Instance.new("IntValue")gold.Name = "Gold"gold.Value = 0endTapez gold.Parent = leaderstats. Ce sont les parents de la valeur d'intérêt pour les statistiques de leader. Si la valeur d'intérêt n'est pas parentée pour les statistiques de leader, les joueurs ne le verront pas.
local function onPlayerJoin(player)local gold = Instance.new("IntValue")gold.Name = "Gold"gold.Value = 0gold.Parent = leaderstatsendJouez votre projet et remarquez qu'un classement apparaît dans le coin supérieur droit.
Conseils de débogage
Si vous ne voyez pas le classements, essayez le suivre:
- Assurez-vous que .Value est capitalisé.
- Assurez-vous que la variable pour l'IntValue est associée à la liste de classement comme gold.Parent = leaderstats .
Codage des articles et des espaces
N'oubliez pas que les noms des statistiques peuvent être n'importe quoi basé sur le document de conception du jeu. En d'autres termes, "Items"0> 1> 2>
Ajoutez une ligne vide pour séparer la prochaine statistique, puis créez la statistique de l'article en configurant un nouveau IntValue de la même façon que vous l'avez fait pour l'or.
local function onPlayerJoin(player)gold.Parent = leaderstats-- Créer la stat d'objetslocal items = Instance.new("IntValue")items.Name = "Items"items.Value = 0items.Parent = leaderstatsendCréez une nouvelle statistique pour les espaces de sac du joueur. Définissez spaces.Value à 2 afin que les joueurs ne puissent commencer l'expérience qu'en ayant deux articles à la fois, ce qui les encourage à acheter un nouveau sac dès qu'ils peuvent le faire.
local function onPlayerJoin(player)items.Parent = leaderstats-- Créer la statut des espaceslocal spaces = Instance.new("IntValue")spaces.Name = "Spaces"spaces.Value = 2spaces.Parent = leaderstatsendTestez le projet. Les joueurs devraient avoir un classement affichant l'or, les articles et les espaces.
Si la liste de leader ne s'affiche pas, essayez de vérifier les éléments suivants.
- Si vous ne pouvez pas voir le numéro dans le classements, vérifiez que chaque IntValue est associé à leaderstats.
- Assurez-vous que chaque IntValue est correctement orthographié comme indiqué
- Vérifiez que l'événement PlayerAdded est en bas du script
Terminez le script PlayerSetup
Une version finie du script peut être référencée ci-dessous.
local Players = game:GetService("Players")
-- Crée un classement qui montre les variables du joueur
local function onPlayerJoin(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 items = Instance.new("IntValue")
items.Name = "Items"
items.Value = 0
items.Parent = leaderstats
local spaces = Instance.new("IntValue")
spaces.Name = "Spaces"
spaces.Value = 2
spaces.Parent = leaderstats
end
-- Exécutez onPlayerJoin lorsque l'événement PlayerAdded se déclenche
Players.PlayerAdded:Connect(onPlayerJoin)