Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local DataStore = game:GetService("DataStoreService")
- local StatsData = DataStore:GetDataStore("StatsData")
- local function SaveLoad(plr)
- for _,v in pairs(plr:WaitForChild("leaderstats"):GetChildren()) do
- if v:IsA("ValueBase") then
- local data = StatsData:GetAsync(v.Name.."-"..plr.UserId)
- if data then
- v.Value = data
- end
- end
- end
- local data = StatsData:GetAsync("Tools-"..plr.UserId)
- if data then
- for _,v in pairs(data) do
- local tool = game:GetService("ReplicatedStorage"):WaitForChild("Tools")[v]:Clone()
- local tool2 = game:GetService("ReplicatedStorage"):WaitForChild("Tools")[v]:Clone()
- tool.Parent = plr.StarterGear
- tool2.Parent = plr.Backpack
- end
- end
- end
- local function SaveStats(plr)
- for _,v in pairs(plr:WaitForChild("leaderstats"):GetChildren()) do
- if v:IsA("ValueBase") then
- local succes, err = pcall(function()
- StatsData:SetAsync(v.Name.."-"..plr.UserId, v.Value)
- end)
- if succes then
- print("Save Stats!")
- else
- warn(err)
- end
- end
- end
- local Tools = {}
- for _,v in pairs(plr.StarterGear:GetChildren()) do
- if v:IsA("Tool") then
- table.insert(Tools, v.Name)
- end
- end
- StatsData:SetAsync("Tools-"..plr.UserId, Tools)
- end
- game.Players.PlayerAdded:Connect(SaveLoad)
- game.Players.PlayerRemoving:Connect(SaveStats)
- game:BindToClose(function()
- for _,plr in pairs(game.Players:GetPlayers()) do
- SaveStats(plr)
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement