local Players = game:GetService('Players') local DatastoreService = game:GetService("DataStoreService") local TeleportService = game:GetService("TeleportService") local dVersion = 1 local WinsDataStore = DatastoreService:GetDataStore('Wins') Players.PlayerAdded:Connect(function(Player) local Stats = Instance.new('Folder') Stats.Name = 'leaderstats' Stats.Parent = Player local Wins = Instance.new('IntValue') Wins.Name = 'Wins' Wins.Parent = Stats local Data = WinsDataStore:GetAsync(Player.UserId) if Data then for name, value in pairs(Data.Stats) do Stats[name].Value = value end end end) Players.PlayerRemoving:Connect(function(Player) local SaveData = {Stats = {}} for _, stat in pairs(Player.leaderstats:GetChildren()) do SaveData.Stats[stat.Name] = stat.Value end WinsDataStore:SetAsync(Player.UserId,SaveData) end) game:BindToClose(function() for _, Player in pairs(game.Players:GetPlayers()) do local SaveData = {Stats = {}} for _,stat in pairs(Player.leaderstats:GetChildren()) do SaveData.Stats[stat.Name] = stat.Value end WinsDataStore:SetAsync(Player.UserId,SaveData) end wait(2) end) local save2 = DatastoreService:GetOrderedDataStore("Rounds "..dVersion) game.Players.PlayerAdded:Connect(function(player) local previousData = save2:GetAsync(player.UserId) -- Returns a number value. local Rounds if previousData ~= nil then Rounds = previousData else Rounds = 0 save2:SetAsync(player.UserId, 0) end local coinsValue = Instance.new("IntValue", player) coinsValue.Name = "Rounds" coinsValue.Value = Rounds 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.Rounds.Value save2:SetAsync(player.UserId, value) print("Saved data for "..player.Name) end end) game.Players.PlayerRemoving:Connect(function(player) local value = player.Rounds.Value if value ~= nil then print("Found data to save for "..player.Name.."!") save2:SetAsync(player.UserId, value) print("Saved data for "..player.Name) else print("Did not manage to find data to save for "..player.Name.."!") end end) local CoinsSave = DatastoreService:GetOrderedDataStore("Coins "..dVersion) game.Players.PlayerAdded:Connect(function(player) local previousData = CoinsSave:GetAsync(player.UserId) -- Returns a number value. local Coins if previousData ~= nil then Coins = previousData else Coins = 0 CoinsSave:SetAsync(player.UserId, 0) end local coinsValue = Instance.new("IntValue", player) coinsValue.Name = "Coins" coinsValue.Value = Coins local val1 = Instance.new("StringValue",player) val1.Name = 'GotPet' val1.Value = '' local val2 = Instance.new("StringValue",player) val2.Name = 'OpenValue' val2.Value = '' 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.Coins.Value CoinsSave:SetAsync(player.UserId, value) print("Saved data for "..player.Name) end end) game.Players.PlayerRemoving:Connect(function(player) local value = player.Coins.Value if value ~= nil then print("Found data to save for "..player.Name.."!") CoinsSave:SetAsync(player.UserId, value) print("Saved data for "..player.Name) else print("Did not manage to find data to save for "..player.Name.."!") end end) game.Players.PlayerAdded:Connect(function(player) player.CharacterAdded:Connect(function(character) character.Humanoid.Died:Connect(function() save2:SetAsync(player.UserId, player.Rounds.Value) player.Rounds.Value = player.Rounds.Value + 1 end) end) end)