For loop not checking the entire table

So I am having the issue of my admin system not checking the entire admin table. I don’t know why, but it only checks the first value of the table and no more. Anyone know how to fix this? I had the idea of continue, however it fixed nothing. This is the local side of the code to open the panel.

local gui = script.Parent.Parent.Parent

local uis = game:GetService("UserInputService")

local plr = game.Players.LocalPlayer

local admins = {"omegacharzard052","SummersFallen","ValorTalent"}

uis.InputBegan:Connect(function(key, gameprocessed)
	if (not gameprocessed) then
		if key.KeyCode == Enum.KeyCode.L then
			for i, v in pairs(admins) do
				if v == plr.Name then
					gui.Main.Visible = not gui.Main.Visible
				end
			end
		end
	end
end)

Hello SummersFallen!

Check out some code I wrote below to improve / remedy your error.

local userinputservice = game:GetService("UserInputService")
local player = game.Players.LocalPlayer
local admins = {
	"SummersFallen",
	"omegacharzard052",
	"ValorTalent"
}
--
userinputservice.InputBegan:Connect(function(input,processed)
	if not processed then
		if input.KeyCode == Enum.KeyCode.L then
			if table.find(admins,player.Name) then
				gui.Main.Visible = not gui.Main.Visible
			end
		end
	end
end)

Thanks so much! I can’t tell you how much time you just saved me.