function setData(player)
local data = {}
for i, v in pairs(player.leaderstats:GetChildren()) do
if v then
data[v.Name] = v.Value
end
end
return data
end
game.Players.PlayerAdded:Connect(function(player)
local data = ds:GetAsync(player.UserId)
local dataTable = setData(player)
local folder = Instance.new("Folder", player)
folder.Name = "leaderstats"
local trails = Instance.new("IntValue", folder)
trails.Name = "Trails"
local steps = Instance.new("IntValue", folder)
steps.Name = "Steps"
local level = Instance.new("IntValue", folder)
level.Name = "Level"
local xp = Instance.new("IntValue", player)
xp.Name = "Xp"
local twopass = Instance.new("BoolValue", player)
twopass.Name = "TwoPass"
local threepass = Instance.new("BoolValue", player)
threepass.Name = "ThreePass"
if data then
xp.Value = dataTable["Xp"]
level.Value = dataTable["Level"]
steps.Value = dataTable["Steps"]
trails.Value = dataTable["Trails"]
end
end)
game.Players.PlayerRemoving:Connect(function(player)
local data = setData(player)
local success, error = pcall(function()
ds:SetAsync(player.UserId, data)
end)
end)