Close
    Search Search

    Tutorial: Almacenes de datos

      Página de tutoriales Este artículo es un tutorial intermedio.Todos los tutoriales · Tutoriales de secuencias de comandos

      Este artículo está desactualizado y ya no es la forma correcta de usar Datastores. Vea el artículo de Roblox sobre Datastores para obtener más información.


      (Por Kitrank Vopafal)

      En este tutorial, demostraré cómo usar los almacenes de datos para guardar valores para tu juego:

      En primer lugar, inserte un script dentro de ServerScriptService. Luego inserte la siguiente línea:


      DSS local = juego: GetService ("DataStoreService")

      Tenemos que obtener DataStoreService antes de poder llamarlo. Así que creamos una variable llamada DSS, abreviatura de DataStoreService, que es lo que queremos, algo corto para hacer referencia, en lugar de tener que decir juego: GetService ("DataStoreService") cada vez.


      DSS local = juego: GetService ("DataStoreService") game.Players.PlayerAdded: Connect (función (Player) Player.CharacterAdded: Connect (función (Character) end) end)

      A continuación, insertamos este bloque de código, que se ejecuta cuando se agregan el jugador y el personaje del jugador. Básicamente, cuando alguien se une al juego por primera vez, ejecutará cualquier código que pongamos dentro y sucederá para todos los jugadores.

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

      Estamos creando un nuevo carpeta objeto, nombrarlo Datos (donde almacenaremos nuestros valores de datos), y colocándolos dentro del jugador. Si hizo todo correctamente hasta ahora, su explorador debería verse así:

      • Tutorial: Almacenes de datosTutorial: Almacenes de datos JUGADORES
        • Tutorial: Almacenes de datosTutorial: Almacenes de datos kitrank
          • Tutorial: Almacenes de datosTutorial: Almacenes de datos Datos
          • Tutorial: Almacenes de datosTutorial: Almacenes de datos Mochila
          • Tutorial: Almacenes de datosTutorial: Almacenes de datos Motor de arranque
          • Tutorial: Almacenes de datosTutorial: Almacenes de datos PlayerGui
          • Tutorial: Almacenes de datosTutorial: Almacenes de datos PlayerScripts

      Ahora crearemos una instancia / IntValue, llámalo Efectivo, establezca el valor predeterminado en 0 y colóquelo dentro del Datos carpeta. 



      DSS local = juego: GetService ("DataStoreService") game.Players.PlayerAdded: Connect (función (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)

      Así es como debería verse su explorador ahora:

      • Tutorial: Almacenes de datosTutorial: Almacenes de datos JUGADORES
        • Tutorial: Almacenes de datosTutorial: Almacenes de datos kitrank
          • Tutorial: Almacenes de datosTutorial: Almacenes de datos Datos
            • Tutorial: Almacenes de datosTutorial: Almacenes de datos Efectivo
          • Tutorial: Almacenes de datosTutorial: Almacenes de datos Mochila
          • Tutorial: Almacenes de datosTutorial: Almacenes de datos Motor de arranque
          • Tutorial: Almacenes de datosTutorial: Almacenes de datos PlayerGui
          • Tutorial: Almacenes de datosTutorial: Almacenes de datos PlayerScripts

      Ahora volveremos cerca de la parte superior del script debajo de donde hicimos la variable DSS y crearemos el almacén de datos para nuestro efectivo:

      local DSS = juego: GetService ("DataStoreService") local PlayerCash = DSS: GetDataStore ("Cash") game.Players.PlayerAdded: Connect (función (Player) Player.CharacterAdded: Connect (function (Character) local Folder = Instance.new ("Carpeta") Folder.Name = "Datos" Folder.Parent = Jugador local Cash = Instance.new ("IntValue") Cash.Name = "Cash" Cash.Parent = Player.Data Cash.Value = 0 end) end )


      Acabamos de crear un almacén de datos, pero aún tenemos que cargarlo y guardarlo. Puedes cambiar la variable PlayerCash y "Dinero en efectivo" texto entre comillas. Ahora vamos a cargar el almacén de datos cada vez que jugador se une al juego:


      local DSS = juego: GetService ("DataStoreService") local PlayerCash = DSS: GetDataStore ("Cash") game.Players.PlayerAdded: Connect (función (Player) Player.CharacterAdded: Connect (function (Character) local Folder = Instance.new ("Carpeta") Folder.Name = "Datos" Folder.Parent = Player local Cash = Instance.new ("IntValue") Cash.Name = "Cash" Cash.Parent = Player.Data Cash.Value = PlayerCash: GetAsync ( Player.userId) o 0 end) end)

      Ahora, donde establece nuestro valor de efectivo en 0 de forma predeterminada, haremos que cargue nuestro efectivo OR establézcalo en 0 por defecto. Si el jugador no tiene guardado, cargará lo que tenía antes, de lo contrario comenzará en 0 (o lo que prefiera). Ahora vamos a ahorrar:

      local DSS = juego: GetService ("DataStoreService") local PlayerCash = DSS: GetDataStore ("Cash") game.Players.PlayerAdded: Connect (función (Player) Player.CharacterAdded: Connect (function (Character) local Folder = Instance.new ("Carpeta") Folder.Name = "Datos" Folder.Parent = Player local Cash = Instance.new ("IntValue") Cash.Name = "Cash" Cash.Parent = Player.Data Cash.Value = PlayerCash: GetAsync ( Player.userId) o 0 game.Players.PlayerRemoving: connect (función (Player) end)

      Primero, vamos a agregar otra función en la parte inferior (dentro de la función agregada de jugador / personaje) que se ejecutará automáticamente justo antes de que el jugador abandone el juego y guarde nuestro Efectivo. Luego:


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

      Creó con éxito un valor para guardar y lo hizo guardar / cargar cada vez que el jugador se une / se va. ¡Felicidades! Además, si desea que sus datos se guarden automáticamente en cada intervalo establecido, puede hacer esto:

      local DSS = juego: GetService ("DataStoreService") local PlayerCash = DSS: GetDataStore ("Cash") game.Players.PlayerAdded: Connect (función (Player) Player.CharacterAdded: Connect (function (Character) local Folder = Instance.new ("Carpeta") Folder.Name = "Datos" Folder.Parent = Player local Cash = Instance.new ("IntValue") Cash.Name = "Cash" Cash.Parent = Player.Data Cash.Value = PlayerCash: GetAsync ( Player.userId) o 0 game.Players.PlayerRemoving: connect (function (Player) PlayerCash: SetAsync (Player.userId, Cash.Value) end) while true do wait (300) PlayerCash: SetAsync (Player.userId, Cash.Value ) fin fin) fin)

      Reemplace el número dentro del Espere() con el tiempo que desee (en segundos) entre cada guardado automático. Nota: Hay límites en la frecuencia con la que puede realizar solicitudes de almacenamiento de datos (enlace aquí para conocer las limitaciones específicas), así que no guarde automáticamente demasiado rápido.

      Para probar el almacén de datos, prueba la ejecución del juego en Stuido y luego cambia manualmente el valor de tu dinero en efectivo en tu reproductor. Detenga la ejecución de prueba después de cambiar el valor usted mismo y, a continuación, vuelva a realizar la ejecución de prueba para ver si guardó el valor al que lo cambió. Eso es todo por este tutorial, ¡espero que te haya ayudado!

      Añade un comentario de Tutorial: Almacenes de datos
      ¡Comentario enviado con éxito! Lo revisaremos en las próximas horas.