local DSS = game:GetService("DataStoreService")
local DS = DSS:GetDataStore("meo222223")
local ValuesToCreate = {HasGame = {Name = "HasGame", className = "BoolValue", Value = false},
Loaded = {Name = "Loaded", className = "BoolValue", Value = false}
}
game.Players.PlayerAdded:Connect(function(Player)
local Folder = Instance.new("Folder", Player)
Folder.Name = "PlayerData"
for i,v in pairs(ValuesToCreate)do
local Val = Instance.new(v.className, Folder)
Val.Name = v.Name
end
local SavedData
local success, errormsg = pcall(function()
SavedData = DS:GetAsync(Player.UserId)
end)
if success and SavedData then
print("LOADED DATA OF PLAYER "..Player.Name..": "..game:GetService("HttpService"):JSONEncode(SavedData))
for i,v in pairs(SavedData)do
local FindVal = Folder:FindFirstChild(v.Name)
if FindVal and FindVal.className == v.className then
FindVal.Value = v.Value
end
end
Folder.Loaded.Value = true
elseif success and not SavedData then
for i,v in pairs(Folder:GetChildren())do
if v.Name ~= "Loaded" then
v.Value = ValuesToCreate[v.Name].Value
end
end
elseif errormsg then
warn("Error while trying to get saved data of player "..Player.Name..": "..errormsg)
end
end)
game.Players.PlayerRemoving:Connect(function(Player)
if not game:GetService("RunService"):IsStudio() then
local Folder = Player:WaitForChild("PlayerData")
local SaveData = {}
if Folder.Loaded then
for i,v in pairs(Folder:GetChildren())do
SaveData[v.Name] = {Name = v.Name, className = v.className, Value = v.Value}
end
end
print("SAVED DATA OF PLAYER "..Player.Name..": "..game:GetService("HttpService"):JSONEncode(SaveData))
local success, errormsg = pcall(function()
DS:SetAsync(Player.UserId, SaveData)
end)
if errormsg then
warn("Couldn't save data of player "..Player.Name..": "..errormsg)
end
end
end)
game:BindToClose(function()
for i, Player in pairs(game.Players:GetPlayers())do
local Folder = Player:WaitForChild("PlayerData")
local SaveData = {}
if Folder.Loaded then
for i,v in pairs(Folder:GetChildren())do
SaveData[v.Name] = {Name = v.Name, className = v.className, Value = v.Value}
end
end
print("SAVED DATA OF PLAYER "..Player.Name..": "..game:GetService("HttpService"):JSONEncode(SaveData))
local success, errormsg = pcall(function()
DS:SetAsync(Player.UserId, SaveData)
end)
if errormsg then
warn("Couldn't save data of player "..Player.Name..": "..errormsg)
end
end
end)
So I asked this question like months ago and I found an answer but I'm not satisfied with the answer. The answer was that you can't test your datastore out in studio which I think can't be the real deal. So I'm asking again could somebody help me with my datastore it doesn't work in ROBLOX studio but ingame it does.

3 comments
Is your "Studio Access to API" Enabled? You need it to be for DataStores to work in Studio
Yes of course it's enabled.
lol, ok, just checking