Hello, i was wondering if anyone knows why my script wont work for creating, saving, and loading a datastore
local ds = game:GetService("DataStoreService")
local playerData = ds:GetDataStore("playerData")
game.Players.PlayerAdded:Connect(function(plr)
local leaderstats = Instance.new("Folder", plr)
leaderstats.Name = "leaderstats"
local money = Instance.new("IntValue", leaderstats)
money.Name = "Money"
local data
local success, errormessage = pcall(function()
data = playerData:GetAsync(plr.UserId.."-money")
end)
if success then
money.Value = data
else
print("Error while loading data, this user might be new to the game.")
end
end)
game.Players.PlayerRemoving:Connect(function(plr)
local success, errormessage = pcall(function()
playerData:SetAsync(plr.UserId.."-money", plr.leaderstats.Money.Value)
end)
if success then
print((plr.Name).."'s Data has been saved.")
else
warn(errormessage)
end
end)
local ds = game:GetService("DataStoreService")
local playerdata = ds:GetDataStore("PlayerData")
game.Players.PlayerAdded:Connect(function(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local money = Instance.new("IntValue")
money.Name = "Money"
money.Parent = leaderstats
local dataCache
local done , err = pcall(function()
dataCache = playerdata:GetAsync(player.UserId.."-money")
end)
if dataCache ~= nil and done then
money.Value = dataCache
else
print(player.Name .. "'s datapool has returned nil, set data table.")
warn(err)
playerdata:SetAsync(player.UserId .. "-money", player.leaderstats.Money.Value)
end
end)
local SaveData = function(player)
local success, errormessage = pcall(function()
playerdata:UpdateAsync(player.UserId.."-money", function(OldValue)
return player.leaderstats.Money.Value
end)
end)
if success then
print("Player's Data has been saved")
else
print("There was an error saving player's data")
warn(errormessage)
end
end
game.Players.PlayerRemoving:Connect(SaveData)
game:BindToClose(function()
for _, player in pairs(game.Players:GetPlayers()) do
SaveData(player)
end
end)