The data script below works all well but refuses to load. It doesn't show any errors in output! Any idea whats going on? lmk thx
The issue is that the data wont load correctly! pls help
local data = require(script.DataModule)
local DSS = game:GetService("DataStoreService")
local statSave = DSS:GetDataStore("stats_Test2020")
local settingSave = DSS:GetDataStore("settings_Test2020")
local careerSave = DSS:GetDataStore("careers_Test2020")
--ughh its not working
game.Players.PlayerAdded:Connect(function(player)
local key = "Data-ID"..player.UserId
local statData = statSave:GetAsync(key)
local settingData = settingSave:GetAsync(key)
local careerData = careerSave:GetAsync(key)
local StatsFolder = Instance.new("Folder", player)
local SettingsFolder = Instance.new("Folder", player)
local CareersFolder = Instance.new("Folder", player)
StatsFolder.Name = "leaderstats"
SettingsFolder.Name = "Settings"
CareersFolder.Name = "Careers"
-----
for i,stats in pairs(data["Stats"]) do
local thing = Instance.new("IntValue", StatsFolder)
thing.Name = tostring(stats)
thing.Value = 0
end
for i,setting in pairs(data["Settings"]) do
local thing = Instance.new("BoolValue", SettingsFolder)
thing.Name = tostring(setting)
end
for i,career in pairs(data["Careers"]) do
local thing = Instance.new("BoolValue", CareersFolder)
thing.Name = tostring(career)
end
if statData then
for i,v in pairs(StatsFolder:GetChildren()) do
v.Value = statData[i]
end
else
local StatTable = {}
for i,v in pairs(StatsFolder:GetChildren()) do
table.insert(StatTable, v.Value)
end
statSave:SetAsync(key, StatTable)
end
if settingData then
for i,v in pairs(SettingsFolder:GetChildren()) do
v.Value = settingData[i]
end
else
local SettingsTable = {}
for i,v in pairs(SettingsFolder:GetChildren()) do
table.insert(SettingsTable, v.Value)
end
settingSave:SetAsync(key, SettingsTable)
end
if careerData then
for i,v in pairs(CareersFolder:GetChildren()) do
v.Value = careerData[i]
end
else
local CareersTable = {}
for i,v in pairs(CareersFolder:GetChildren()) do
table.insert(CareersTable, v.Value)
end
settingSave:SetAsync(key, CareersTable)
end
end)
game.Players.PlayerRemoving:Connect(function(player)
local key = "Data-ID"..player.UserId
local Stats = player.leaderstats
local Settings = player.Settings
local Careers = player.Careers
local statsTable = {}
local settingsTable = {}
local careersTable = {}
for i,v in pairs(Stats:GetChildren()) do
table.insert(statsTable, v.Value)
end
for i,v in pairs(Settings:GetChildren()) do
table.insert(settingsTable, v.Value)
end
for i,v in pairs(Careers:GetChildren()) do
table.insert(careersTable, v.Value)
end
statSave:SetAsync(key, statsTable)
settingSave:SetAsync(key, settingsTable)
careerSave:SetAsync(key, careersTable)
end)

2 comments
i had trouble like this before and how i solved it was just adding pcalls
it seems like ur making int and boolvalues looping through the saved data. if there's nothing inside then it wouldn't create anything i guess