String Value not getting updated in for loop?

    -- This part Works
        function module.roundEndTime (sentence, limit)
        	local screenGui = game.StarterGui:WaitForChild("ScreenGui")
        	local teamWin = Replicated:WaitForChild("teamWin")

	for i = limit, 0, -1 do
		status.Value = sentence .. i
		wait(1)
		if teamWin.Value == "Win" then
			break
		end
		

    	if teamWin.Value == "Tie" then
    		break
    	end	
		
	end
	
-- I am Struggling here
	if teamWin.Value == "Tie" then
		for i = 40, 0, -1 do
			status.Value = "Finish in " .. i
			wait(1)
			print(teamWin.Value)
		end
		teamWin.Value = "Lose"
	end
end

So the problem that I am having is not in the first part, but I am gonna leave that up there as an example. I am confused on the part that has a comment. I have a string Value named TeamWin all it does is defines if a player “Wins”, “Loses”, or “Ties”, but for some reason the String value isn’t getting updated in the for loop. In the above part it updates just fine, but I am not sure why. I tried using :GetPropertyChangedSignal, but all that does is end the loop immediately which is also what I am confused about because when I type teamWin:GetPropertyChangedSignal(“Value”) and put it in a print a print statement all it does it say that it is getting updated every second. I guess all I am asking for is why the value isn’t getting changed from “Tie” to “Win” which when I check the actual value in RepStorage it clearly changes.

I found the problem xD I decided that I would change “Tie” as a value for the clients, not the server, therefore the server doesn’t receive the message for the change.