Hello, my data script isn’t loading in tools. I believe it’s saving them, though.
local DSS = game:GetService("DataStoreService")
local DS = DSS:GetDataStore("Data")
local function GenerateUID(player)
return "UID_"..player.UserId
end
function onPlayerAdded(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local tokens = Instance.new("IntValue")
tokens.Name = "Tokens"
tokens.Parent = leaderstats
local folder = Instance.new("Folder")
folder.Name = "Tools"
folder.Parent = player
local data
local key = GenerateUID(player)
local success, err = pcall(function()
data = DS:GetAsync(key)
end)
if success then
tokens.Value = data.Tokens
print("Successfully got data")
print(data.Tools)
for i,v in pairs(data.Tools) do
print(v)
if game.ReplicatedStorage.Tools:FindFirstChild(v) then
local clone = game.ReplicatedStorage.Tools:FindFirstChild(v):Clone()
print(clone)
clone.Parent = player.Backpack
clone.Parent = player.StarterGear
clone.Parent = player.Tools
end
end
else
player:Kick("\nDataHandler\n\nCouldn't fetch data!")
end
end
function onPlayerRemoving(player)
local data = {
Tokens = player.leaderstats.Tokens.Value,
Tools = {}
}
for _,v in pairs(player.Tools:GetChildren()) do
table.insert(data.Tools, v.Name)
print(v)
end
local key = GenerateUID(player)
local success, err = pcall(function()
DS:SetAsync(key, data)
end)
if success then
print("Successfully saved data")
else
warn("Error while saving data: "..err)
end
end
game.Players.PlayerAdded:Connect(onPlayerAdded)
game.Players.PlayerRemoving:Connect(onPlayerRemoving)