local DatastoreService = game:GetService("DataStoreService") local TeleportService = game:GetService("TeleportService") local dVersion = 1 local VIP = 64418164 local WinsSave = DatastoreService:GetDataStore("Wins "..dVersion) game.Players.PlayerAdded:Connect(function(player) local previousData = WinsSave:GetAsync(player.UserId) -- Returns a number value. local Wins if previousData ~= nil then Wins = previousData else Wins = 0 WinsSave:SetAsync(player.UserId, 0) end local WinsValue = Instance.new("IntValue", player) WinsValue.Name = "Wins" WinsValue.Value = Wins 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.Wins.Value WinsSave:SetAsync(player.UserId, value) print("Saved data for "..player.Name) end end) game.Players.PlayerRemoving:Connect(function(player) local value = player.Wins.Value if value ~= nil then print("Found data to save for "..player.Name.."!") WinsSave: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 RoundsSave = DatastoreService:GetDataStore("Rounds "..dVersion) game.Players.PlayerAdded:Connect(function(player) local previousData = RoundsSave:GetAsync(player.UserId) -- Returns a number value. local Rounds if previousData ~= nil then Rounds = previousData else Rounds = 0 RoundsSave:SetAsync(player.UserId, 0) end local RoundsValue = Instance.new("IntValue", player) RoundsValue.Name = "Rounds" RoundsValue.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 WinsSave: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.."!") WinsSave: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 LivesSave = DatastoreService:GetDataStore("Lives "..dVersion) game.Players.PlayerAdded:Connect(function(player) local previousData = LivesSave:GetAsync(player.UserId) -- Returns a number value. local Lives if previousData ~= nil then Lives = previousData else Lives = 0 LivesSave:SetAsync(player.UserId, 0) end local LivesValue = Instance.new("IntValue", player) LivesValue.Name = "Lives" LivesValue.Value = Lives 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.Lives.Value LivesSave:SetAsync(player.UserId, value) print("Saved data for "..player.Name) end end) game.Players.PlayerRemoving:Connect(function(player) local value = player.Lives.Value if value ~= nil then print("Found data to save for "..player.Name.."!") LivesSave: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:GetDataStore("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 = '' if game:GetService("MarketplaceService"):UserOwnsGamePassAsync(player.UserId, VIP) then player.Coins.Value = player.Coins.Value * 2 end 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) local SaveRoles = game:GetService("DataStoreService"):GetDataStore("Role") game.Players.PlayerAdded:Connect(function(player) local Role = Instance.new("StringValue", player) Role.Name = "Role" Role.Value = player.Role.Value if player:WaitForChild("Role").Value >= "Default" then player:WaitForChild("Role").Value = "Default" elseif player:WaitForChild("Role").Value == "Athlete" then player:WaitForChild("Role").Value = "Athlete" elseif player:WaitForChild("Role").Value == "Super Protector" then player:WaitForChild("Role").Value = "Super Protector" elseif player:WaitForChild("Role").Value == "Delivery" then player:WaitForChild("Role").Value = "Delivery" game.ServerStorage.SavedTools:WaitForChild("PizzaBox"):Clone().Parent = player.Backpack end end) game:BindToClose(function() for i,player in pairs(game.Players:GetPlayers()) do local value = player.Role.Value SaveRoles:SetAsync(player.UserId, value) print("Saved data for "..player.Name) end end) game.Players.PlayerRemoving:Connect(function(player) local value = player.Role.Value if value ~= nil then print("Found data to save for "..player.Name.."!") SaveRoles: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(Char) Char.Humanoid.Died:Connect(function() player.Rounds.Value = player.Rounds.Value + 1 end) end) end)