Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local TeleportService = game:GetService("TeleportService")
- local WinsDataStore = game:GetService("DataStoreService"):GetDataStore("Wins")
- local RoundsDataStore = game:GetService("DataStoreService"):GetDataStore("Rounds")
- local coinsDataStore = game:GetService("DataStoreService"):GetDataStore("Coins")
- game.Players.PlayerAdded:Connect(function(player)
- local previousData = WinsDataStore:GetAsync(player.UserId) -- Returns a number value.
- local previousData2 = RoundsDataStore:GetAsync(player.UserId)
- local previousData3 = coinsDataStore:GetAsync(player.UserId)
- local leaderstats = Instance.new("Folder", player)
- leaderstats.Name = "leaderstats"
- local Wins
- local Rounds
- local Coins
- if previousData ~= nil then
- Wins = previousData
- else
- Wins = 0
- WinsDataStore:SetAsync(player.UserId, 0)
- end
- local WinsValue = Instance.new("NumberValue", leaderstats)
- WinsValue.Name = "Wins"
- WinsValue.Value = Wins
- if previousData2 ~= nil then
- Rounds = previousData2
- else
- Rounds = 0
- RoundsDataStore:SetAsync(player.UserId, 0)
- end
- local RoundsValue = Instance.new("NumberValue", leaderstats)
- RoundsValue.Name = "Rounds"
- RoundsValue.Value = Rounds
- if previousData3 ~= nil then
- Coins = previousData3
- else
- Coins = 0
- coinsDataStore:SetAsync(player.UserId, 0)
- end
- local coins_Value = Instance.new("NumberValue", player)
- coins_Value.Name = "Coins"
- coins_Value.Value = Coins
- end)
- game:BindToClose(function() -- Runs whenver the server is about to shut down/stop.
- print("STOPPED!")
- for i,player in pairs(game.Players:GetPlayers()) do
- local value = player.leaderstats.Wins.Value
- local value2 = player.leaderstats.Rounds.Value
- local value3 = player.Coins.Value
- WinsDataStore:SetAsync(player.UserId, value)
- RoundsDataStore:SetAsync(player.UserId, value2)
- coinsDataStore:SetAsync(player.UserId, value3)
- print("Saved data for "..player.Name)
- end
- end)
- game.Players.PlayerRemoving:Connect(function(player)
- local value = player.leaderstats.Wins.Value
- local value2 = player.leaderstats.Rounds.Value
- local value3 = player.Coins.Value
- if value ~= nil and value2 ~= nil and value3 ~= nil then
- print("Found data to save for "..player.Name.."!")
- WinsDataStore:SetAsync(player.UserId, value)
- RoundsDataStore:SetAsync(player.UserId, value2)
- coinsDataStore:SetAsync(player.UserId, value3)
- print("Saved data for "..player.Name)
- else
- print("Did not manage to find data to save for "..player.Name.."!")
- end
- end)
Advertisement
Add Comment
Please, Sign In to add comment