AntiMultiClaim script doesn't work

local Register = script.Parent.Parent.Parent.Register
while true do
	wait(1)
	if Register.Value.ClaimStatus == true then
		if Register.Value.User == game.Players.LocalPlayer then
			local GUIs = script.Parent.Parent.Parent.Parent:GetChildren()
			for i,v in pairs(GUIs) do
				if v.Name == "Ordering" and v.Register.Value.User ~= game.Players.LocalPlayer then
					v.Frame.Button.Claim.Disabled = true
				end
			end
		else
			local GUIs = script.Parent.Parent.Parent.Parent:GetChildren()
			for i,v in pairs(GUIs) do
				if v.Name == "Ordering" and v.Register.Value.User ~= game.Players.LocalPlayer then
					v.Frame.Button.Claim.Disabled = false
				end
			end
		end
	end
end

Context:
I’m making an Anti Multiple Claim system for my cafe. It basically prevents user from using the claiming more than one station/monitor at a cafe.

The issue:
It doesn’t disable the claim script.

What I think went wrong:
Perhaps I typed the script wrong?