Round system breaks frequently

Yeah that would also definitely fix it.

Sorry, you and the OP look similar and I didn’t read the names and thought you were him before, my bad.

And some times .Character won’t work for me.

You can try: game.Workspace:FindFirstChild(Player.Name):FindFirstChild("Humanoid")

somthing like that ^^

okay so i think this might be a client thing on studio because it only does this error to the player who im not controlling. can someone help me test this in the real game?
https://www.roblox.com/games/5963990670/Minigame-Mania?refPageId=4b00c26d-cbcc-421a-9a62-0b796a345063

Alright imma join and help you test it.

ok so the other guy joined and it seems like this is an issue with studio

actually the problem was this:

i already removed that in studio but still same issue

i did all the changes you guys recommended

Try enabling Game settings maybe?

theyre enabled im sure of it cause yeah

wait why would http requests help tho

i have api services and third party sales but not teleports and http requests

Thats my old pic, just enable APi Services.

Try restarting studio and try again?

wait hold on actually one of the recent changes you guys recommended also works on studio

its just the first round that goofs for some reason

Oh Alright then, if its solved pls mark it as solution so it will help others!

so this is my current script, it only messes up on the first round and works flawlessly every other time after that:

ServerStorage = game:GetService("ServerStorage")
ReplicatedStorage = game:GetService("ReplicatedStorage")
Players = game:GetService("Players")
teams = game:GetService("Teams")
DataStoreService = game:GetService("DataStoreService")
CashDataStore = DataStoreService:GetDataStore("cashDataStore")

Maps = ServerStorage:WaitForChild('Maps'):GetChildren()
RoundStatus = ReplicatedStorage:WaitForChild('RoundStatus')

local Survivors = {}

while true do
	if #game.Players:GetPlayers() >= 2 then
		
		local countdown = 3
		for i = countdown, 0, -1 do
			RoundStatus.Value = "Intermission: "..i
			wait(1)
		end
		
		local countdown = 5
		for i = countdown, 0, -1 do
			ChosenMap = Maps[math.random(1, #Maps)]:Clone()
			Spawns = ChosenMap:FindFirstChild('Spawns'):GetChildren()
			
			RoundStatus.Value = ChosenMap.Name.." has been chosen!"
			wait(1)
		end
		
		countdown = 1
		for i = countdown, 0, -1 do
			ChosenMap.Parent = workspace
			RoundStatus.Value = "Teleporting everyone..."
			wait(1)
		end
		
		local Players = game.Players:GetPlayers()

		for _, Player in pairs(game.Players:GetPlayers())do
				RandomSpawn = Spawns[math.random(1, #Spawns)]
				Player.Character.HumanoidRootPart.CFrame = RandomSpawn.CFrame
				Player.TeamColor = BrickColor.new("Persimmon")
				Player.Character.Humanoid.MaxHealth = 100
				Player.Character.Humanoid.Health = 100
				Player.Character.Humanoid.WalkSpeed = 16
				Survivors[Player] = true
		end
		
			countdown = 180
			for i = countdown, 0, -1 do
				RoundStatus.Value = "Game in progress: "..i
				wait(1)
				
				local Survivor = game.Teams.Playing
				if #Survivor:GetPlayers() == 1 then
					for i,v in pairs(game.Teams["Playing"]:GetPlayers()) do
						v.leaderstats.Cash.Value = v.leaderstats.Cash.Value + 5

						for _, Player in pairs(game.Players:GetChildren())do
							if Player.Character and Player.Character:FindFirstChild('Humanoid') then
								Player.Character.Humanoid:TakeDamage(9999999999)
							end
						end
						
						countdown = 5
						for i = countdown, 0, -1 do
							ChosenMap:Destroy()
							RoundStatus.Value = v.Name.. " has won!"
							wait(1)
						end

					end
					break
				end
			end
		
	else
		local dots = "..."

		repeat
			for i = 1,3 do
				RoundStatus.Value = "Waiting For Players"..string.sub(dots, 1, i)
				wait(1)
			end
		until #game.Players:GetPlayers() >= 2
	end

end

marked it as solved now and included script