Hey, this script works almost, it should block minigames that have already been and then block them for 20 rounds (If you don't pay). It blocks like 2-3 minigames but then it can pick a minigame that should be blocked. Does anyone know what's the problem is?

local BlockGame {}

	for i,block in pairs(BlockGame) do
		wait()
		if block == choose.Name and BoughtNextGame[1] == nil then
					
				print("Blocking "..choose.Name.." and choosing another game!")
			repeat choose = minigames[math.random(1,#minigames)]
					wait()
			until block ~= choose.Name	
		end
		end	
	
	if BoughtNextGame[1] ~= nil then
	table.remove(BoughtNextGame,1)	
	end	

	status.Value = choose.Name.." Choosed!"		
	local map = choose:Clone()
	map.Parent = workspace
	map.Name = "Minigame"
	chooseName.Value = choose.Name
	table.insert(BlockGame, choose.Name)
	if BlockGame[21] ~= nil then
		table.remove(BlockGame,1)
	end
	print(BlockGame) 

Please ask any questions if you are wondering someting, thanks, /Xsodar