Close
    Search Search

    Tutoriel : magasins de données

      Page du didacticielCet article est un tutoriel intermédiaire.Tous les tutoriels · Tutoriels de script

      Cet article est obsolète et n'est plus la bonne façon d'utiliser les magasins de données. Consultez l'article de Roblox sur les magasins de données pour plus d'informations.


      (Par Kitrank Vopafal)

      Dans ce didacticiel, je vais vous montrer comment utiliser les magasins de données pour enregistrer des valeurs pour votre jeu :

      Tout d'abord, insérez un script dans ServerScriptService. Insérez ensuite la ligne suivante :


      DSS local = jeu:GetService("DataStoreService")

      Nous devons obtenir le DataStoreService avant de pouvoir l'appeler. Nous avons donc créé une variable appelée DSS, abréviation de DataStoreService, ce que nous voulons, quelque chose de court à référencer, au lieu d'avoir à dire jeu : GetService("DataStoreService") A chaque fois.


      local DSS = game:GetService("DataStoreService") game.Players.PlayerAdded:Connect(function(Player) Player.CharacterAdded:Connect(function(Character) end) end)

      Ensuite, nous insérons ce bloc de code, qui s'exécute lorsque le joueur et le personnage du joueur sont ajoutés. Fondamentalement, lorsque quelqu'un rejoint le jeu pour la première fois, il exécutera le code que nous y mettrons et cela se produira pour chaque joueur.

      local DSS = game:GetService("DataStoreService") game.Players.PlayerAdded:Connect(function(Player) Player.CharacterAdded:Connect(function(Character) local Folder = Instance.new("Folder") Folder.Name = "Data " Folder.Parent = Player end) end)

      Nous créons un nouveau Dossier objet, en le nommant Data (où nous allons stocker nos valeurs de données), et en les plaçant à l'intérieur du joueur. Si vous avez tout fait correctement jusqu'à présent, votre explorateur devrait ressembler à ceci :

      • Tutoriel : magasins de donnéesTutoriel : magasins de données joueurs
        • Tutoriel : magasins de donnéesTutoriel : magasins de données kitrank
          • Tutoriel : magasins de donnéesTutoriel : magasins de données Data
          • Tutoriel : magasins de donnéesTutoriel : magasins de données Sac à dos
          • Tutoriel : magasins de donnéesTutoriel : magasins de données Démarreur
          • Tutoriel : magasins de donnéesTutoriel : magasins de données PlayerGui
          • Tutoriel : magasins de donnéesTutoriel : magasins de données PlayerScripts

      Maintenant, nous allons instancier/créer un IntValue, appeler Argent liquide, définissez la valeur par défaut sur 0 et placez-la dans le Data dossier. 



      local DSS = game:GetService("DataStoreService") game.Players.PlayerAdded:Connect(function(Player) Player.CharacterAdded:Connect(function(Character) local Folder = Instance.new("Folder") Folder.Name = "Data " Folder.Parent = Player local Cash = Instance.new("IntValue") Cash.Name = "Cash" Cash.Parent = Player.Data Cash.Value = 0 end) end)

      Voici à quoi devrait ressembler votre explorateur maintenant :

      • Tutoriel : magasins de donnéesTutoriel : magasins de données joueurs
        • Tutoriel : magasins de donnéesTutoriel : magasins de données kitrank
          • Tutoriel : magasins de donnéesTutoriel : magasins de données Data
            • Tutoriel : magasins de donnéesTutoriel : magasins de données Argent liquide
          • Tutoriel : magasins de donnéesTutoriel : magasins de données Sac à dos
          • Tutoriel : magasins de donnéesTutoriel : magasins de données Démarreur
          • Tutoriel : magasins de donnéesTutoriel : magasins de données PlayerGui
          • Tutoriel : magasins de donnéesTutoriel : magasins de données PlayerScripts

      Maintenant, nous allons revenir vers le haut du script sous l'endroit où nous avons créé la variable DSS et créer le magasin de données pour notre argent :

      local DSS = game:GetService("DataStoreService") local PlayerCash = DSS:GetDataStore("Cash") game.Players.PlayerAdded:Connect(function(Player) Player.CharacterAdded:Connect(function(Character) local Folder = Instance.new ("Dossier") Folder.Name = "Data" Folder.Parent = Player local Cash = Instance.new("IntValue") Cash.Name = "Cash" Cash.Parent = Player.Data Cash.Value = 0 end) end) end )


      Nous venons de créer un magasin de données, mais nous devons encore le charger et l'enregistrer. Vous pouvez modifier la variable JoueurCash et la "Espèces" texte entre guillemets. Passons maintenant au chargement du magasin de données chaque fois que le joueur rejoint le jeu :


      local DSS = game:GetService("DataStoreService") local PlayerCash = DSS:GetDataStore("Cash") game.Players.PlayerAdded:Connect(function(Player) Player.CharacterAdded:Connect(function(Character) local Folder = Instance.new ("Dossier") Folder.Name = "Data" Folder.Parent = Player local Cash = Instance.new("IntValue") Cash.Name = "Cash" Cash.Parent = Player.Data Cash.Value = PlayerCash:GetAsync( Player.userId) ou 0 end) end)

      Maintenant, là où il définit notre valeur Cash sur 0 par défaut, nous allons lui faire charger notre Cash OR le mettre à 0 par défaut. Si le joueur n'a pas de sauvegarde, il chargera ce qu'il avait auparavant, sinon commencera à 0 (ou ce que vous préférez). Passons maintenant à l'enregistrement :

      local DSS = game:GetService("DataStoreService") local PlayerCash = DSS:GetDataStore("Cash") game.Players.PlayerAdded:Connect(function(Player) Player.CharacterAdded:Connect(function(Character) local Folder = Instance.new ("Dossier") Folder.Name = "Data" Folder.Parent = Player local Cash = Instance.new("IntValue") Cash.Name = "Cash" Cash.Parent = Player.Data Cash.Value = PlayerCash:GetAsync( Player.userId) ou 0 game.Players.PlayerRemoving:connect(function(Player) end)

      Tout d'abord, nous allons ajouter une autre fonction en bas (à l'intérieur de la fonction joueur/personnage ajouté) qui s'exécutera automatiquement juste avant que le joueur ne quitte le jeu et enregistre notre Argent liquide. Puis:


      local DSS = game:GetService("DataStoreService") local PlayerCash = DSS:GetDataStore("Cash") game.Players.PlayerAdded:Connect(function(Player) Player.CharacterAdded:Connect(function(Character) local Folder = Instance.new ("Dossier") Folder.Name = "Data" Folder.Parent = Player local Cash = Instance.new("IntValue") Cash.Name = "Cash" Cash.Parent = Player.Data Cash.Value = PlayerCash:GetAsync( Player.userId) ou 0 game.Players.PlayerRemoving:connect(function(Player) PlayerCash:SetAsync(Player.userId, Cash.Value) end) end) end)

      Vous avez réussi à créer une valeur à sauvegarder et à la sauvegarder/charger à chaque fois que le joueur rejoint/part. Toutes nos félicitations! De plus, si vous souhaitez que vos données soient enregistrées automatiquement à chaque intervalle défini, vous pouvez procéder comme suit :

      local DSS = game:GetService("DataStoreService") local PlayerCash = DSS:GetDataStore("Cash") game.Players.PlayerAdded:Connect(function(Player) Player.CharacterAdded:Connect(function(Character) local Folder = Instance.new ("Dossier") Folder.Name = "Data" Folder.Parent = Player local Cash = Instance.new("IntValue") Cash.Name = "Cash" Cash.Parent = Player.Data Cash.Value = PlayerCash:GetAsync( Player.userId) ou 0 game.Players.PlayerRemoving:connect(function(Player) PlayerCash:SetAsync(Player.userId, Cash.Value) end) tandis que true do wait(300) PlayerCash:SetAsync(Player.userId, Cash.Value ) fin fin) fin)

      Remplacez le numéro à l'intérieur du attendre() avec le temps que vous voulez (en secondes) entre chaque sauvegarde automatique. Remarque : Il y a des limites à la fréquence à laquelle vous pouvez effectuer des demandes de stockage de données (lien ici pour des limitations spécifiques), alors n'enregistrez pas automatiquement trop rapidement.

      Pour tester le magasin de données, testez le jeu dans Stuido, puis modifiez manuellement la valeur de votre argent dans votre lecteur. Arrêtez le test après avoir modifié la valeur vous-même, puis testez à nouveau pour voir qu'il a enregistré ce que vous avez modifié. C'est tout pour ce tutoriel, j'espère que cela vous a aidé!

      ajouter un commentaire de Tutoriel : magasins de données
      Commentaire envoyé avec succès ! Nous l'examinerons dans les prochaines heures.

      End of content

      No more pages to load