Can someone explain why .Changed isint working?

Doesent give me errors just dosent change the value or detect the value change.
Script is in workspace serverscript.

	if script.Playing.Value == true then
		script.Playing.Value = false
		wait(math.random(5, 6))
		script.Playing.one.Value = true
	end
	script.Playing.one.Changed:Connect(function(o)
		if script.Playing.one.Value == true then
			script.Playing.one.Value = false
			script.Parent.Position = game.Workspace.Locations.One.Position
			script.Parent.Rotation = game.Workspace.Locations.One.Rotation
			wait(day1Wait)
			script.Playing.two.Value = true
		end
	end)

The connection isn’t even being made until that wait() has finished.
Move the Changed connection up, above that if…end.

	script.Playing.one.Changed:Connect(function(o)
		if script.Playing.one.Value == true then
			script.Playing.one.Value = false
			script.Parent.Position = game.Workspace.Locations.One.Position
			script.Parent.Rotation = game.Workspace.Locations.One.Rotation
			wait(day1Wait)
			script.Playing.two.Value = true
		end
	end)
	if script.Playing.Value == true then
		script.Playing.Value = false
		wait(math.random(5, 6))
		script.Playing.one.Value = true
	end