Coder le classements

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

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 qu'un script soit activé et personnalisé.

Configurer le classements

Chaque fois qu'un joueur est ajouté à l'expérience, il devra être ajouté au classement ainsi que le code pour suivre les statistiques individuelles.

  1. Dans l'Explorer, sous ServerScriptService , créez un nouveau script nommé PlayerSetup.Dans ce script, supprimez la ligne bonjour monde et écrivez un commenterdescriptif.

  2. Après le commenter, créez une fonction personnalisée nommée onPlayerJoin avec un paramètre nommé joueur.


    -- Crée un classement qui montre les variables du joueur
    local function onPlayerJoin(player)
    end
  3. Dans onPlayerJoin, créez une variable nommée leaderstats et faites-la créer une nouvelle instance dossier .


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    end
  4. Donnez un nom à la nouvelle instance dossier et parentela au joueur.Renommer le dossier leaderstats permet à Roblox Studio de savoir créer un classements.


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = player
    end
  5. Après la fin de la fonction, connectez OnPlayerJoin au PlayerAdded événement.Chaque fois qu'un joueur rejoint l'expérience, chaque joueur recevra le classements.


    local Players = game:GetService("Players")
    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = player
    end
    Players.PlayerAdded:Connect(onPlayerJoin)

Suivre les statistiques des joueurs

Maintenant qu'une 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 - Le plus grand nombre d'objets que le joueur peut détenir à la fois.

Chacun de ces chiffres sera un IntValue, un objet de remplacement pour un nombre.

Code joueur d'or

Commencez par coder un stat pour l'or.

  1. Dans OnPlayerJoin , sous leaderstats.Parent = player , tapez local gold = Instance.new("IntValue") . Cela crée une nouvelle valeur IntValue et la stocke dans la variable or.


    local function onPlayerJoin(player)
    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = player
    local gold = Instance.new("IntValue")
    end
  2. Ensuite, tapez gold.Name = "Gold". Cela donne un nom à la valeur IntValue afin que vous puissiez l'utiliser dans d'autres scripts. Le nom sera également affiché aux joueurs sur le tableau des scores.


    local function onPlayerJoin(player)
    local gold = Instance.new("IntValue")
    gold.Name = "Gold"
    end
  3. Sur une nouvelle ligne, tapez gold.Value = 0. Cela définit la valeur de départ pour les joueurs.


    local function onPlayerJoin(player)
    local gold = Instance.new("IntValue")
    gold.Name = "Gold"
    gold.Value = 0
    end
  4. Type gold.Parent = leaderstats . Ceci parent le IntValue pour l'or à leaderstats. Si le IntValue n'est pas parenté à leaderstats, les joueurs ne le verront pas.


    local function onPlayerJoin(player)
    local gold = Instance.new("IntValue")
    gold.Name = "Gold"
    gold.Value = 0
    gold.Parent = leaderstats
    end
  5. Jouez votre projet et remarquez qu'un classement apparaît en haut à droite.

Conseils de dépannage

Si vous ne voyez pas le classements, essayez ce qui suivre:

  • Assurez-vous que .Value est capitalisé.
  • Assurez-vous que la variable pour la valeur IntValue est parentée à la liste des leaders comme gold.Parent = leaderstats .

Objets de code et espaces

Rappelez-vous que les noms de statistiques peuvent être tout basé sur le document de conception du jeu. En d'autres termes, "Items" peut être "Crystals" à la place.

  1. Ajoutez une ligne vide pour séparer la prochaine statistique, puis créez la statistique de l'élément en configurant une nouvelle valeur Int de la même manière que vous l'avez fait pour l'or.


    local function onPlayerJoin(player)
    gold.Parent = leaderstats
    -- Créer la statistique des éléments
    local items = Instance.new("IntValue")
    items.Name = "Items"
    items.Value = 0
    items.Parent = leaderstats
    end
  2. Créer un nouveau stat pour les espaces de sac du joueur.Définissez spaces.Value à 2 afin que les joueurs commencent l'expérience en ne pouvant contenir que deux articles à la fois, les incitant à acheter un nouveau sac dès qu'ils le peuvent.


    local function onPlayerJoin(player)
    items.Parent = leaderstats
    -- Créer la statistique des espaces
    local spaces = Instance.new("IntValue")
    spaces.Name = "Spaces"
    spaces.Value = 2
    spaces.Parent = leaderstats
    end
  3. Testez le projet. Les joueurs devraient avoir un classement montrant l'or, les articles et les espaces.

Si la classement n'apparaît pas, essayez de vérifier ce qui suit ci-dessous.

  • Si vous ne pouvez pas voir le nombre sur le classements, vérifiez que chaque IntValue est associé à leaderstats.
  • Assurez-vous que chaque valeur Int est orthographiée exactement comme illustré
  • Vérifiez que l'événement PlayerAdded se trouve en bas du script

Terminer le script PlayerSetup

Une version terminée 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 surplayerjoin lorsque l'événement PlayerAdded se déclenche
Players.PlayerAdded:Connect(onPlayerJoin)