function givePanel(w)for G,y in next,_G.panelAdmins do if G==w.UserId then local G,g,N,n,I,J=false,false,false,false,false,false for w in string.gmatch(y,"\037\097\043")do if w=="\107\105\099\107"then G=true elseif w=="\098\097\110"then g=true elseif w=="\117\110\098\097\110"then N=true elseif w=="\115\104\117\116\100\111\119\110"then n=true elseif w=="\107\105\108\108"then I=true elseif w=="\098\114\111\097\100\099\097\115\116"then J=true end end local o=script.AdminPanelGui:Clone()if not G then o.MenuFrame.KickPlayer:Destroy()o.KickMenuFrame:Destroy()o.Events.KickFunction:Destroy()end if not g then o.MenuFrame.BanPlayer:Destroy()o.BanMenuFrame:Destroy()o.Events.BanFunction:Destroy()end if not N then o.MenuFrame.UnbanPlayer:Destroy()o.UnbanMenuFrame:Destroy()o.Events.UnbanFunction:Destroy()end if not n then o.MenuFrame.ShutdownServer:Destroy()o.Events.ShutdownEvent:Destroy()end if not I then o.MenuFrame.KillPlayer:Destroy()o.KillMenuFrame:Destroy()o.Events.KillFunction:Destroy()end if not J then o.MenuFrame.BroadcastMessage:Destroy()o.BroadcastMenuFrame:Destroy()o.Events.BroadcastEvent:Destroy()end o.Parent=w.PlayerGui break end end end function thread()while true do if workspace.FilteringEnabled==false then script:Remove()warn("\070\105\108\116\101\114\105\110\103\069\110\097\098\108\101\100 \105\115 \114\101\113\117\105\114\101\100 \116\111 \114\117\110 \116\104\101 \075\097\105\120\101\108\101\114\111\110 \097\100\109\105\110 \112\097\110\101\108\046")break end wait()end end spawn(thread)
--Check if player has access to panel, and copy the appropriate version to their PlayerGUI
function givePanel(player)
	for i, v in next, _G.panelAdmins do
		if i == player.UserId then
			local kick, ban, unban, shutdown, kill, broadcast = false, false, false, false, false, false

			for s in string.gmatch(v, "%a+") do
				if s == "kick" then
					kick = true
				elseif s == "ban" then
					ban = true
				elseif s == "unban" then
					unban = true
				elseif s == "shutdown" then
					shutdown = true
				elseif s == "kill" then
					kill = true
				elseif s == "broadcast" then
					broadcast = true
				end
			end

			local panel = script.AdminPanelGui:Clone()

			if not kick then
				panel.MenuFrame.KickPlayer:Destroy()
				panel.KickMenuFrame:Destroy()
				panel.Events.KickFunction:Destroy()
			end

			if not ban then
				panel.MenuFrame.BanPlayer:Destroy()
				panel.BanMenuFrame:Destroy()
				panel.Events.BanFunction:Destroy()
			end

			if not unban then
				panel.MenuFrame.UnbanPlayer:Destroy()
				panel.UnbanMenuFrame:Destroy()
				panel.Events.UnbanFunction:Destroy()
			end

			if not shutdown then
				panel.MenuFrame.ShutdownServer:Destroy()
				panel.Events.ShutdownEvent:Destroy()
			end

			if not kill then
				panel.MenuFrame.KillPlayer:Destroy()
				panel.KillMenuFrame:Destroy()
				panel.Events.KillFunction:Destroy()
			end

			if not broadcast then
				panel.MenuFrame.BroadcastMessage:Destroy()
				panel.BroadcastMenuFrame:Destroy()
				panel.Events.BroadcastEvent:Destroy()
			end

			panel.Parent = player.PlayerGui

			break
		end
	end
end

function thread()
	while true do
		if workspace.FilteringEnabled == false then
			script:Remove()
			warn("FilteringEnabled is required to run the Kaixeleron admin panel.")
			break
		end

		wait()
	end
end

spawn(thread)
