--Info.WhiteList = {"Master3395","Itscapcake","thecookieboiyt"}


Info.WhiteList = {
	["Master3395"] = true,
	[""] = true,
}


function Info:Convert(object)
	if object.ClassName == "ImageLabel" then
		object.ImageTransparency = 1
	end
	
	for _,obj in pairs(object:GetDescendants()) do
		if obj.ClassName == "ImageLabel" or obj.ClassName == "ImageButton" then
			obj.ImageTransparency = 1
		elseif obj.ClassName == "TextLabel" then
			obj.TextTransparency = 1
			obj.TextStrokeTransparency = 1
		elseif obj.ClassName == "TextBox" then
			obj.TextTransparency = 1
			obj.TextStrokeTransparency = 1
			obj.BackgroundTransparency = 1
		end
	end
	object.Visible = false
end

function Info:Menu(object,visible,length)
	local TweenService = game:GetService("TweenService")
	local tweenInfo = TweenInfo.new(length,Enum.EasingStyle.Linear)
	
	if object.ClassName == "ImageLabel" then
		if visible == true then
			local info = {}
			info.ImageTransparency = 0
			local tween = TweenService:Create(object,tweenInfo,info)
			tween:Play()
		else
			local info = {}
			info.ImageTransparency = 1
			local tween = TweenService:Create(object,tweenInfo,info)
			tween:Play()
		end
	end
	
	for _,obj in pairs(object:GetDescendants()) do
		if obj.ClassName == "ImageLabel" or obj.ClassName == "ImageButton" then
			if visible == true then
				local info = {}
				info.ImageTransparency = 0
				local tween = TweenService:Create(obj,tweenInfo,info)
				tween:Play()
			else
				local info = {}
				info.ImageTransparency = 1
				local tween = TweenService:Create(obj,tweenInfo,info)
				tween:Play()
			end
		elseif obj.ClassName == "TextLabel" then
			if visible == true then
				local info = {}
				info.TextTransparency = 0
				info.TextStrokeTransparency = 0
				local tween = TweenService:Create(obj,tweenInfo,info)
				tween:Play()
			else
				local info = {}
				info.TextTransparency = 1
				info.TextStrokeTransparency = 1
				local tween = TweenService:Create(obj,tweenInfo,info)
				tween:Play()
			end
		elseif obj:IsA("TextBox") then
			if visible == true then
				local info = {}
				info.TextTransparency = 0
				info.TextStrokeTransparency = 0
				info.BackgroundTransparency = 0
				local tween = TweenService:Create(obj,tweenInfo,info)
				tween:Play()
			else
				local info = {}
				info.TextTransparency = 1
				info.TextStrokeTransparency = 1
				info.BackgroundTransparency = 1
				local tween = TweenService:Create(obj,tweenInfo,info)
				tween:Play()
			end
		end
	end
	
	if visible == false then
		object.Visible = false
	else
		object.Visible = true
	end
end
function Info:IsDev(player)
	if Info.WhiteList[player.Name] then
		return true
	else
		return false
	end
end
Info:Convert(frame)

Info:Convert(kickUI)
Info:Convert(banUI)
Info:Convert(resetUI)
Info:Convert(gamepassUI)


local player = game.Players.LocalPlayer
local length = 0.5
button.MouseButton1Click:Connect(function()
	if Opened == false then
		Opened = true
		Info:Menu(frame,true,length)
		
		
		Info:Menu(resetUI,false,length)
		Info:Menu(kickUI,false,length)
		Info:Menu(banUI,false,length)
		Info:Menu(gamepassUI,false,length)
	else
		Opened = false
		Info:Menu(frame,false,length)
		
		
		Info:Menu(resetUI,false,length)
		Info:Menu(kickUI,false,length)
		Info:Menu(banUI,false,length)
		Info:Menu(gamepassUI,false,length)
	end
end)



frame.Reset.MouseButton1Click:Connect(function()
	Info:Menu(resetUI,true,length)
	Info:Menu(frame,false,length)
end)

frame.Kick.MouseButton1Click:Connect(function()
	Info:Menu(kickUI,true,length)
	Info:Menu(frame,false,length)
end)

frame.Ban.MouseButton1Click:Connect(function()
	Info:Menu(banUI,true,length)
	Info:Menu(frame,false,length)
end)

frame.Gamepass.MouseButton1Click:Connect(function()
	Info:Menu(gamepassUI,true,length)
	Info:Menu(frame,false,length)
end)









banUI.Ok.MouseButton1Click:Connect(function()
	local plrN = banUI.PlayerName.Text
	game.ReplicatedStorage.Special:InvokeServer("Ban",plrN)
	
	
	Info:Menu(banUI,false,length)
	Info:Menu(frame,false,length)
	Opened = false
end)

kickUI.Ok.MouseButton1Click:Connect(function()
	local plrN = kickUI.PlayerName.Text
	game.ReplicatedStorage.Special:InvokeServer("Kick",plrN)
	
	
	Info:Menu(kickUI,false,length)
	Info:Menu(frame,false,length)
	Opened = false
end)

resetUI.Ok.MouseButton1Click:Connect(function()
	local plrN = resetUI.PlayerName.Text
	game.ReplicatedStorage.Special:InvokeServer("Reset",plrN)
	
	Info:Menu(resetUI,false,length)
	Info:Menu(frame,false,length)
	Opened = false
end)

gamepassUI.Ok.MouseButton1Click:Connect(function()
	local plrN = gamepassUI.PlayerName.Text
	local id = gamepassUI.Gamepass.Text
	
	game.ReplicatedStorage.Special:InvokeServer("Gamepass",plrN,id)
	
	
	Info:Menu(gamepassUI,false,length)
	Info:Menu(frame,false,length)
	Opened = false
end)







if Info:IsDev(player) then
	gui.Enabled = true
else
	gui.Enabled = false
end


while wait() do
	if gui.Enabled == true and Info:IsDev(player) == false then
		player:Kick("No open this menu.")
	end
end