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!