Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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
- 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
- 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)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement