Hello! I need some help, i am trying to achieve data saving, but for some reason this error keeps showing up:
The datasave worked before, but now it doesnt. All i did was move a few more stats into other folders when creating:
Can anyone please help???
Here is the datasave code:
local Players = game:GetService("Players")
local DataStoreService = game:GetService("DataStoreService")
local Saver = DataStoreService:GetDataStore("SaveLeaderstats")
Players.PlayerAdded:Connect(function(player)
local Data = nil
local success, errormessage = pcall(function()
Data = Saver:GetAsync(tostring(player.UserId))
end)
if success then
if Data then
for i, v in pairs(Data) do
player:WaitForChild("leaderstats"):WaitForChild(i).Value = v
end
for i, v in pairs(Data) do
player:WaitForChild("Stats"):WaitForChild(i).Value = v
end
for i, v in pairs(Data) do
player:WaitForChild("Ores"):WaitForChild(i).Value = v
end
for i, v in pairs(Data) do
player:WaitForChild("Multipliers"):WaitForChild(i).Value = v
end
end
else
error(errormessage)
end
end)
local function Save(player)
local SavedData = {}
for _, v in pairs(player.leaderstats:GetChildren()) do
SavedData[v.Name] = v.Value
end
for _, v in pairs(player.Stats:GetChildren()) do
SavedData[v.Name] = v.Value
end
for _, v in pairs(player.Ores:GetChildren()) do
SavedData[v.Name] = v.Value
end
for _, v in pairs(player.Multipliers:GetChildren()) do
SavedData[v.Name] = v.Value
end
local success, errormessage = pcall(function()
Saver:SetAsync(tostring(player.UserId), SavedData)
end)
if not success then
error(errormessage)
end
end
Players.PlayerRemoving:Connect(Save)
game:BindToClose(function()
for _, v in pairs(Players:GetPlayers()) do
Save(v)
end
end)