Close
    Search Search

    Tutorial: Data Stores

      Página do tutorial; este artigo é um tutorial intermediário.Todos os tutoriais · Tutoriais de script

      Este artigo está desatualizado e não é mais a maneira correta de usar os Datastores. Veja o artigo de Roblox sobre Datastores para obter mais informações.


      (Por Kitrank Vopafal)

      Neste tutorial, demonstrarei como usar armazenamentos de dados para salvar valores para o seu jogo:

      Primeiramente, insira um Script dentro de ServerScriptService. Em seguida, insira a seguinte linha:


      DSS local = jogo: GetService ("DataStoreService")

      Temos que obter o DataStoreService antes de podermos chamá-lo. Então, criamos uma variável chamada DSS, abreviação de DataStoreService, que é o que queremos, algo curto para fazer referência, em vez de ter que dizer jogo: GetService ("DataStoreService") todas as vezes.


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

      A seguir, inserimos este bloco de código, que é executado quando o Jogador e o Personagem do Jogador são adicionados. Basicamente, quando alguém entra no jogo pela primeira vez, ele executará qualquer código que colocarmos nele e isso acontecerá com todos os jogadores.

      DSS local = jogo: 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)

      Estamos criando um novo Pasta objeto, nomeando-o Dados (onde vamos armazenar nossos valores de dados), e colocá-lo dentro do jogador. Se você fez tudo corretamente até agora, seu explorador deve ficar assim:

      • Tutorial: Data StoresTutorial: Data Stores Jogadores
        • Tutorial: Data StoresTutorial: Data Stores Kitrank
          • Tutorial: Data StoresTutorial: Data Stores Dados
          • Tutorial: Data StoresTutorial: Data Stores Mochila
          • Tutorial: Data StoresTutorial: Data Stores StarterGear
          • Tutorial: Data StoresTutorial: Data Stores PlayerGui
          • Tutorial: Data StoresTutorial: Data Stores PlayerScripts

      Agora iremos instanciar / criar um IntValue, chame-o dinheiro, defina o valor padrão como 0 e coloque-o dentro do Dados pasta. 



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

      Esta é a aparência que seu explorador deve ter agora:

      • Tutorial: Data StoresTutorial: Data Stores Jogadores
        • Tutorial: Data StoresTutorial: Data Stores Kitrank
          • Tutorial: Data StoresTutorial: Data Stores Dados
            • Tutorial: Data StoresTutorial: Data Stores dinheiro
          • Tutorial: Data StoresTutorial: Data Stores Mochila
          • Tutorial: Data StoresTutorial: Data Stores StarterGear
          • Tutorial: Data StoresTutorial: Data Stores PlayerGui
          • Tutorial: Data StoresTutorial: Data Stores PlayerScripts

      Agora vamos voltar perto do início do script, onde criamos a variável DSS e criar o armazenamento de dados para nosso dinheiro:

      DSS local = jogo: GetService ("DataStoreService") PlayerCash local = DSS: GetDataStore ("Cash") game.Players.PlayerAdded: Conectar (função (Jogador) Player.CharacterAdded: Conectar (função (Personagem) Pasta local = Instância.new ("Folder") Folder.Name = "Dados" Folder.Parent = Jogador local Cash = Instance.new ("IntValue") Cash.Name = "Dinheiro" Cash.Parent = Player.Data Cash.Value = 0 final) fim )

      Acabamos de criar um armazenamento de dados, mas ainda precisamos fazer com que ele carregue e salve. Você pode alterar a variável PlayerCash e o "Dinheiro" texto entre aspas. Agora vamos carregar o Data Store sempre que o jogador entra no jogo:



      DSS local = jogo: GetService ("DataStoreService") PlayerCash local = DSS: GetDataStore ("Cash") game.Players.PlayerAdded: Conectar (função (Jogador) Player.CharacterAdded: Conectar (função (Personagem) Pasta local = Instância.new ("Folder") 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)

      Agora, onde ele define nosso valor em dinheiro como 0 por padrão, faremos com que ele carregue nosso dinheiro OR defina-o como 0 por padrão. Se o player não tiver salvado, ele carregará o que ele tinha antes, caso contrário, iniciará em 0 (ou o que você preferir). Agora para salvar:

      DSS local = jogo: GetService ("DataStoreService") PlayerCash local = DSS: GetDataStore ("Cash") game.Players.PlayerAdded: Conectar (função (Jogador) Player.CharacterAdded: Conectar (função (Personagem) Pasta local = Instância.new ("Folder") 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: conectar (função (Player) end)

      Primeiro, vamos adicionar outra função na parte inferior (dentro da função de jogador / personagem adicionado) que será executada automaticamente antes que o jogador saia do jogo e salve nosso dinheiro. Então:


      DSS local = jogo: GetService ("DataStoreService") PlayerCash local = DSS: GetDataStore ("Cash") game.Players.PlayerAdded: Conectar (função (Jogador) Player.CharacterAdded: Conectar (função (Personagem) Pasta local = Instância.new ("Folder") 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: conectar (função (Player) PlayerCash: SetAsync (Player.userId, Cash.Value) end) end) end)

      Você criou com sucesso um valor para salvar e fez com que ele fosse salvo / carregado sempre que o jogador ingressasse / saísse. Parabéns! Além disso, se quiser que seus dados sejam salvos automaticamente a cada intervalo definido, você pode fazer o seguinte:

      DSS local = jogo: GetService ("DataStoreService") PlayerCash local = DSS: GetDataStore ("Cash") game.Players.PlayerAdded: Conectar (função (Jogador) Player.CharacterAdded: Conectar (função (Personagem) Pasta local = Instância.new ("Folder") 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) enquanto true do wait (300) PlayerCash: SetAsync (Player.userId, Cash.Value ) fim fim) fim)

      Substitua o número dentro do esperar() com o tempo que você deseja (em segundos) entre cada salvamento automático. Nota: Existem limites para a frequência com que você pode fazer solicitações de armazenamento de dados (link aqui para limitações específicas), portanto, não salve automaticamente muito rápido.

      Para testar o Armazenamento de Dados, execute um teste de jogo no Stuido e, em seguida, altere manualmente o valor do seu Dinheiro no seu Jogador. Interrompa a execução do teste depois de alterar o valor você mesmo e, em seguida, teste a execução novamente para ver se salvou o valor para o qual você o alterou. É isso para este tutorial, espero que tenha ajudado!

      Adicione um comentário do Tutorial: Data Stores
      Comentário enviado com sucesso! Vamos analisá-lo nas próximas horas.