Como salvar no data Store do Roblox Studio

Nunca Mais Perca Progresso!
Como Usar o DataStore no Roblox Studio

Se você já criou um jogo no Roblox, com certeza já pensou: “E se o jogador saísse do jogo e perdesse todo o progresso?” 😰 Pois é… isso acontece quando você não sabe como usar o DataStore no Roblox Studio. Mas calma! Neste post, a Prof. Fernanda vai te mostrar como resolver isso de uma vez por todas.

Você vai aprender como salvar e carregar dados importantes como moedas, pontos ou fases desbloqueadas, garantindo que o jogador volte exatamente de onde parou. E o melhor: de forma simples e descomplicada, como sempre ensinamos aqui na Programação for Kids!

🎥 Vídeo: Como Salvar Dados com DataStore no Roblox Studio

Scripts Usados na Aula para Salvar no DataStore

🧠 Script do Server

				
					local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RemoteEvent = ReplicatedStorage.RemoteEvent
local playerDataStore = DataStoreService:GetDataStore("PlayerDataStore")

local Coins = game.Workspace.Coins:GetChildren()


local debounce ={}
local playerData={}
print(playerData)
for _, coin in ipairs(Coins) do
	--print(coin)
	coin.Touched:Connect(function(hit)
		local humanoid = hit.Parent:FindFirstChild("Humanoid")
		if humanoid then
			local player = Players:GetPlayerFromCharacter(hit.Parent)
			if player and not debounce[player.UserId] then
				debounce[player.UserId]= true
				coin:Destroy()
				playerData[player.UserId].coins +=1
				print(playerData)
				wait(0.5)
				debounce[player.UserId]= nil
				RemoteEvent:FireClient(player, playerData[player.UserId])
			end
		end
	end)
end












Players.PlayerAdded:Connect(function(player)
	
	local playerId = player.UserId
	
	local dataStore = playerDataStore:GetAsync(playerId)
	if dataStore then
		playerData[playerId]= dataStore
	else
		playerData[player.UserId]={
			coins=0
		}
	end
	print(playerData)
	RemoteEvent:FireClient(player, playerData[player.UserId])
end)

Players.PlayerRemoving:Connect(function(player)
	print("Saiu do game")
	playerDataStore:SetAsync(player.UserId, playerData[player.UserId])
	print("Gravou no Data Store")
end)
				
			

💻 Script do LocalScript

				
					local Players = game:GetService("Players")
local player = Players.LocalPlayer
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RemoteEvent = ReplicatedStorage.RemoteEvent

local TextLabel = script.Parent.Frame.TextLabel



RemoteEvent.OnClientEvent:Connect(function(data)
	print("Recebi os dados no client")
	print(data)
	TextLabel.Text = data.coins
end)
				
			

🧰 Pratique DateStore Salvando o Inventário Estilo Blox Fruits

E uma ótima forma de praticar como usar o DataStore no Roblox Studio é aplicando esse conhecimento em algo mais visual e divertido: como salvar os itens do inventário, assim como acontece no famoso jogo Blox Fruits! 🏴‍☠️🍎

E se você já criou o sistema de inventário, agora é o momento perfeito para dar o próximo passo e salvar os dados dos jogadores usando o DataStore. Assim, mesmo que saiam e voltem para o jogo, os itens continuarão lá, guardadinhos!

👉 Acesse o passo a passo para criar e salvar o inventário no estilo Blox Fruits e eleve o nível do seu game!

🚀 Quer aprender ainda mais sobre Roblox e programação?

Na Programação for Kids, você encontra cursos completos e divertidos para aprender a criar jogos incríveis no Roblox Studio usando a linguagem Lua, mesmo que esteja começando do zero!
👉 Acesse nossos cursos aqui e comece agora a programar de verdade!

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *