return function(t)local J=service.New("\083\099\114\101\101\110\071\117\105")local a=t.Mode local f=client.UI.Register(J,{Name="\069\102\102\101\099\116"})local u=f.BindEvent client.UI.Remove("\069\102\102\101\099\116",J)f:Ready()if a=="\079\102\102"or not a then f:Destroy()elseif a=="\080\105\120\101\108\105\122\101"then local a=Instance.new("\070\114\097\109\101")a.Parent=J local u=workspace.CurrentCamera local R={}local v=t.Resolution or 20 local G=t.Resolution or 20 local P=0 local m=t.Distance or 80 local function s()for t,J in pairs(R)do local a=u:ScreenPointToRay(J.X,J.Y,P)local f=workspace:Raycast(a.Origin,a.Direction*m)local R,v=f.Instance,f.Position if R and R.Transparency<1 then J.Pixel.BackgroundColor3=R.BrickColor.Color else J.Pixel.BackgroundColor3=Color3.fromRGB(105,170,255)end end end a.Size=UDim2.new(1,0,1,40)a.Position=UDim2.new(0,0,0,-35)for t=0,J.AbsoluteSize.Y+50,v do for J=0,J.AbsoluteSize.X+30,G do local f=Instance.new("\084\101\120\116\076\097\098\101\108")f.Text=""f.BorderSizePixel=0 f.Size=UDim2.new(0,G,0,v)f.Position=UDim2.new(0,J-G/2,0,t-v/2)f.BackgroundColor3=Color3.fromRGB(105,170,255)f.Parent=a table.insert(R,{Pixel=f,X=J;Y=t})end end while wait()and(not f.Destroyed and J.Parent)do if not f.Destroyed and not f.Active then wait(5)else s()end end f:Destroy()elseif a=="\070\097\100\101\079\117\116"then service.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.All,false)service.UserInputService.MouseIconEnabled=false for t,a in pairs(service.PlayerGui:GetChildren())do pcall(function()if a~=J then a:Destroy()end end)end local t=service.New("\066\108\117\114\069\102\102\101\099\116",{Name="\065\100\111\110\105\115\095\070\097\100\101\079\117\116\095\066\108\117\114";Parent=service.Lighting;Size=0})local a=service.New("\070\114\097\109\101",{Parent=J;BackgroundTransparency=1,BackgroundColor3=Color3.new(0,0,0),Size=UDim2.new(2,0,2,0),Position=UDim2.new(-0.5,0,-0.5,0)})for J=1,0,-0.01 do a.BackgroundTransparency=J t.Size=56*(1-J)wait(.1)end a.BackgroundTransparency=0 elseif a=="\084\114\105\112\112\121"then local t=service.Player local a=Instance.new("\070\114\097\109\101")a.BackgroundColor3=Color3.new(0,0,0)a.BackgroundTransparency=0 a.Size=UDim2.new(10,0,10,0)a.Position=UDim2.new(-5,0,-5,0)a.ZIndex=10 a.Parent=J while J and J.Parent do wait(.022727272727273)a.BackgroundColor3=Color3.new(math.random(255)/255,math.random(255)/255,math.random(255)/255)end if J then J:Destroy()end elseif a=="\083\112\111\111\107\121"then local t=Instance.new("\070\114\097\109\101")t.BackgroundColor3=Color3.new(0,0,0)t.Size=UDim2.new(1,0,1,50)t.Position=UDim2.new(0,0,0,-50)t.Parent=J local a=Instance.new("\073\109\097\103\101\076\097\098\101\108")a.Position=UDim2.new(0,0,0,0)a.Size=UDim2.new(1,0,1,0)a.BorderSizePixel=0 a.BackgroundColor3=Color3.new(0,0,0)a.Parent=t local f={299735022;299735054,299735082,299735103,299735133;299735156;299735177,299735198,299735219;299735245,299735269;299735289;299735304;299735320;299735332;299735361,299735379}local u=Instance.new("\083\111\117\110\100")u.SoundId="\114\098\120\097\115\115\101\116\105\100\058\047\047\049\055\052\050\055\048\052\048\055"u.Looped=true u.Parent=J u:Play()while J and J.Parent do for t=1,#f,1 do a.Image="\114\098\120\097\115\115\101\116\105\100\058\047\047"..f[t]wait(.1)end end u:Stop()elseif a=="\108\105\102\101\111\102\116\104\101\112\097\114\116\121"then local t=Instance.new("\070\114\097\109\101")t.BackgroundColor3=Color3.new(0,0,0)t.Size=UDim2.new(1,0,1,50)t.Position=UDim2.new(0,0,0,-50)t.Parent=J local a=Instance.new("\073\109\097\103\101\076\097\098\101\108")a.Position=UDim2.new(0,0,0,0)a.Size=UDim2.new(1,0,1,0)a.BorderSizePixel=0 a.BackgroundColor3=Color3.new(0,0,0)a.Parent=t local f={299733203;299733248,299733284;299733309;299733355;299733386,299733404;299733425;299733472;299733489;299733501,299733523,299733544,299733551,299733564;299733570;299733581,299733597,299733609,299733621,299733632;299733640,299733648;299733663,299733674,299733694}local u=Instance.new("\083\111\117\110\100")u.SoundId="\114\098\120\097\115\115\101\116\105\100\058\047\047\049\055\050\057\048\054\052\049\048"u.Looped=true u.Parent=J u:Play()while J and J.Parent do for t=1,#f,1 do a.Image="\114\098\120\097\115\115\101\116\105\100\058\047\047"..f[t]wait(.1)end end u:Stop()elseif a=="\116\114\111\108\108\105\110\103"then local t=Instance.new("\070\114\097\109\101")t.BackgroundColor3=Color3.new(0,0,0)t.Size=UDim2.new(1,0,1,50)t.Position=UDim2.new(0,0,0,-50)t.Parent=J local a=Instance.new("\073\109\097\103\101\076\097\098\101\108")a.Position=UDim2.new(0,0,0,0)a.Size=UDim2.new(1,0,1,0)a.BorderSizePixel=0 a.BackgroundColor3=Color3.new(0,0,0)a.Parent=t local f={"\054\049\055\050\048\052\051\054\056\056";"\054\049\055\050\048\052\052\052\055\056";"\054\049\055\050\048\052\053\049\057\051";"\054\049\055\050\048\052\053\055\057\055","\054\049\055\050\048\052\054\052\057\048";"\054\049\055\050\048\052\055\049\055\050","\054\049\055\050\048\052\055\057\052\055","\054\049\055\050\048\052\056\054\055\052","\054\049\055\050\048\053\048\049\057\053","\054\049\055\050\048\053\048\056\057\050","\054\049\055\050\048\053\049\054\054\057";"\054\049\055\050\048\053\051\048\056\053";"\054\049\055\050\048\053\052\055\053\050","\054\049\055\050\048\053\052\055\053\050","\054\049\055\050\048\053\051\048\056\053";"\054\049\055\050\048\053\049\054\054\057","\054\049\055\050\048\053\048\056\057\050";"\054\049\055\050\048\053\048\049\057\053";"\054\049\055\050\048\052\056\054\055\052";"\054\049\055\050\048\052\055\057\052\055";"\054\049\055\050\048\052\055\049\055\050","\054\049\055\050\048\052\054\052\057\048";"\054\049\055\050\048\052\053\055\057\055";"\054\049\055\050\048\052\053\049\057\051";"\054\049\055\050\048\052\052\052\055\056","\054\049\055\050\048\052\051\054\056\056"}local u=Instance.new("\083\111\117\110\100")u.SoundId="\114\098\120\097\115\115\101\116\105\100\058\047\047\050\050\057\054\056\049\056\057\057"u.Looped=true u.Parent=J u:Play()while J and J.Parent do for t=1,#f,1 do a.Image="\114\098\120\097\115\115\101\116\105\100\058\047\047"..f[t]wait(.13)end end u:Stop()elseif a=="\083\116\114\111\098\101"then local t=Instance.new("\070\114\097\109\101")t.BackgroundColor3=Color3.new(0,0,0)t.BackgroundTransparency=0 t.Size=UDim2.new(10,0,10,0)t.Position=UDim2.new(-5,0,-5,0)t.ZIndex=10 t.Parent=J while J and J.Parent do wait(.022727272727273)t.BackgroundColor3=Color3.new(1,1,1)wait(.022727272727273)t.BackgroundColor3=Color3.new(0,0,0)end if J then J:Destroy()end elseif a=="\066\108\105\110\100"then local t=Instance.new("\070\114\097\109\101")t.BackgroundColor3=Color3.new(0,0,0)t.BackgroundTransparency=0 t.Size=UDim2.new(10,0,10,0)t.Position=UDim2.new(-5,0,-5,0)t.ZIndex=10 t.Parent=J elseif a=="\083\099\114\101\101\110\073\109\097\103\101"then local a=Instance.new("\073\109\097\103\101\076\097\098\101\108")a.Image="\114\098\120\097\115\115\101\116\105\100\058\047\047"..t.Image a.BackgroundColor3=Color3.new(0,0,0)a.BackgroundTransparency=0 a.Size=UDim2.new(1,0,1,0)a.Position=UDim2.new(0,0,0,0)a.ZIndex=10 a.Parent=J elseif a=="\083\099\114\101\101\110\086\105\100\101\111"then local a=Instance.new("\086\105\100\101\111\070\114\097\109\101")a.Video="\114\098\120\097\115\115\101\116\105\100\058\047\047"..t.Video a.BackgroundColor3=Color3.new(0,0,0)a.BackgroundTransparency=0 a.Size=UDim2.new(1,0,1,0)a.Position=UDim2.new(0,0,0,0)a.ZIndex=10 a.Parent=J a:Play()end end


return function(data)
	local gui = service.New("ScreenGui")
	local mode = data.Mode
	local gTable = client.UI.Register(gui, {Name = "Effect"})
	local BindEvent = gTable.BindEvent

	client.UI.Remove("Effect", gui)
	gTable:Ready()

	if mode == "Off" or not mode then
		gTable:Destroy()
	elseif mode == "Pixelize" then
		local frame = Instance.new("Frame")
		frame.Parent = gui
		local camera = workspace.CurrentCamera
		local pixels = {}

		local resY = data.Resolution or 20
		local resX = data.Resolution or 20
		local depth = 0
		local distance = data.Distance or 80

		local function renderScreen()
			for i,pixel in pairs(pixels) do
				local ray = camera:ScreenPointToRay(pixel.X,pixel.Y,depth)
				local result = workspace:Raycast(ray.Origin, ray.Direction * distance)
				local part, endPoint = result.Instance, result.Position
				if part and part.Transparency < 1 then
					pixel.Pixel.BackgroundColor3 = part.BrickColor.Color
				else
					pixel.Pixel.BackgroundColor3 = Color3.fromRGB(105, 170, 255)
				end
			end
		end

		frame.Size = UDim2.new(1,0,1,40)
		frame.Position = UDim2.new(0,0,0,-35)
		for y = 0,gui.AbsoluteSize.Y+50,resY do
			for x = 0,gui.AbsoluteSize.X+30,resX do
				local pixel = Instance.new("TextLabel")
				pixel.Text = ""
				pixel.BorderSizePixel = 0
				pixel.Size = UDim2.new(0,resX,0,resY)
				pixel.Position = UDim2.new(0,x-(resX/2),0,y-(resY/2))
				pixel.BackgroundColor3 = Color3.fromRGB(105, 170, 255)
				pixel.Parent = frame
				table.insert(pixels,{Pixel = pixel,X = x, Y = y})
			end
		end

		while wait() and not gTable.Destroyed and gui.Parent do
			if not gTable.Destroyed and not gTable.Active then
				wait(5)
			else
				renderScreen()
			end
		end

		gTable:Destroy()
	elseif mode == "FadeOut" then
		service.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.All, false)
		service.UserInputService.MouseIconEnabled = false

		for i,v in pairs(service.PlayerGui:GetChildren()) do
			pcall(function() if v~=gui then v:Destroy() end end)
		end

		local blur = service.New("BlurEffect", {
			Name = "Adonis_FadeOut_Blur";
			Parent = service.Lighting;
			Size = 0;
		})

		local bg = service.New("Frame", {
			Parent = gui;
			BackgroundTransparency = 1;
			BackgroundColor3 = Color3.new(0,0,0);
			Size = UDim2.new(2,0,2,0);
			Position = UDim2.new(-0.5,0,-0.5,0);
		})

		for i = 1,0,-0.01 do
			bg.BackgroundTransparency = i
			blur.Size = 56 * (1 - i);
			wait(0.1)
		end

		bg.BackgroundTransparency = 0
	elseif mode == "Trippy" then
		local v = service.Player
		local bg = Instance.new("Frame")

		bg.BackgroundColor3 = Color3.new(0,0,0)
		bg.BackgroundTransparency = 0
		bg.Size = UDim2.new(10,0,10,0)
		bg.Position = UDim2.new(-5,0,-5,0)
		bg.ZIndex = 10
		bg.Parent = gui

		while gui and gui.Parent do
			wait(1/44)
			bg.BackgroundColor3 = Color3.new(math.random(255)/255,math.random(255)/255,math.random(255)/255)
		end

		if gui then gui:Destroy() end
	elseif mode == "Spooky" then
		local frame = Instance.new("Frame")
		frame.BackgroundColor3=Color3.new(0,0,0)
		frame.Size=UDim2.new(1,0,1,50)
		frame.Position=UDim2.new(0,0,0,-50)
		frame.Parent = gui
		local img = Instance.new("ImageLabel")
		img.Position = UDim2.new(0,0,0,0)
		img.Size = UDim2.new(1,0,1,0)
		img.BorderSizePixel = 0
		img.BackgroundColor3 = Color3.new(0,0,0)
		img.Parent = frame
		local textures = {
			299735022;
			299735054;
			299735082;
			299735103;
			299735133;
			299735156;
			299735177;
			299735198;
			299735219;
			299735245;
			299735269;
			299735289;
			299735304;
			299735320;
			299735332;
			299735361;
			299735379;
		}

		local sound = Instance.new("Sound")
		sound.SoundId = "rbxassetid://174270407"
		sound.Looped = true
		sound.Parent = gui
		sound:Play()

		while gui and gui.Parent do
			for i=1,#textures do
				img.Image = "rbxassetid://"..textures[i]
				wait(0.1)
			end
		end
		sound:Stop()
	elseif mode == "lifeoftheparty" then
		local frame = Instance.new("Frame")
		frame.BackgroundColor3 = Color3.new(0,0,0)
		frame.Size = UDim2.new(1,0,1,50)
		frame.Position = UDim2.new(0,0,0,-50)
		frame.Parent = gui
		local img = Instance.new("ImageLabel")
		img.Position = UDim2.new(0,0,0,0)
		img.Size = UDim2.new(1,0,1,0)
		img.BorderSizePixel = 0
		img.BackgroundColor3 = Color3.new(0,0,0)
		img.Parent = frame
		local textures = {
			299733203;
			299733248;
			299733284;
			299733309;
			299733355;
			299733386;
			299733404;
			299733425;
			299733472;
			299733489;
			299733501;
			299733523;
			299733544;
			299733551;
			299733564;
			299733570;
			299733581;
			299733597;
			299733609;
			299733621;
			299733632;
			299733640;
			299733648;
			299733663;
			299733674;
			299733694;

		}
		local sound = Instance.new("Sound")
		sound.SoundId = "rbxassetid://172906410"
		sound.Looped = true
		sound.Parent = gui
		sound:Play()

		while gui and gui.Parent do
			for i=1,#textures do
				img.Image = "rbxassetid://"..textures[i]
				wait(0.1)
			end
		end

		sound:Stop()
	elseif mode == "trolling" then
		local frame = Instance.new("Frame")
		frame.BackgroundColor3 = Color3.new(0,0,0)
		frame.Size = UDim2.new(1,0,1,50)
		frame.Position = UDim2.new(0,0,0,-50)
		frame.Parent = gui
		local img = Instance.new("ImageLabel")
		img.Position = UDim2.new(0,0,0,0)
		img.Size = UDim2.new(1,0,1,0)
		img.BorderSizePixel = 0
		img.BackgroundColor3 = Color3.new(0,0,0)
		img.Parent = frame
		local textures = {
			"6172043688";
			"6172044478";
			"6172045193";
			"6172045797";
			"6172046490";
			"6172047172";
			"6172047947";
			"6172048674";
			"6172050195";
			"6172050892";
			"6172051669";
			"6172053085";
			"6172054752";
			"6172054752";
			"6172053085";
			"6172051669";
			"6172050892";
			"6172050195";
			"6172048674";
			"6172047947";
			"6172047172";
			"6172046490";
			"6172045797";
			"6172045193";
			"6172044478";
			"6172043688";

		}
		local sound = Instance.new("Sound")
		sound.SoundId = "rbxassetid://229681899"
		sound.Looped = true
		sound.Parent = gui
		sound:Play()

		while gui and gui.Parent do
			for i=1,#textures do
				img.Image = "rbxassetid://"..textures[i]
				wait(0.13)
			end
		end

		sound:Stop()
	elseif mode == "Strobe" then
		local bg = Instance.new("Frame")
		bg.BackgroundColor3 = Color3.new(0,0,0)
		bg.BackgroundTransparency = 0
		bg.Size = UDim2.new(10,0,10,0)
		bg.Position = UDim2.new(-5,0,-5,0)
		bg.ZIndex = 10
		bg.Parent = gui

		while gui and gui.Parent do
			wait(1/44)
			bg.BackgroundColor3 = Color3.new(1,1,1)
			wait(1/44)
			bg.BackgroundColor3 = Color3.new(0,0,0)
		end
		if gui then gui:Destroy() end
	elseif mode == "Blind" then
		local bg = Instance.new("Frame")
		bg.BackgroundColor3 = Color3.new(0,0,0)
		bg.BackgroundTransparency = 0
		bg.Size = UDim2.new(10,0,10,0)
		bg.Position = UDim2.new(-5,0,-5,0)
		bg.ZIndex = 10
		bg.Parent = gui
	elseif mode == "ScreenImage" then
		local bg = Instance.new("ImageLabel")
		bg.Image="rbxassetid://"..data.Image
		bg.BackgroundColor3 = Color3.new(0,0,0)
		bg.BackgroundTransparency = 0
		bg.Size = UDim2.new(1,0,1,0)
		bg.Position = UDim2.new(0,0,0,0)
		bg.ZIndex = 10
		bg.Parent = gui
	elseif mode == "ScreenVideo" then
		local bg = Instance.new("VideoFrame")
		bg.Video="rbxassetid://"..data.Video
		bg.BackgroundColor3 = Color3.new(0,0,0)
		bg.BackgroundTransparency = 0
		bg.Size = UDim2.new(1,0,1,0)
		bg.Position = UDim2.new(0,0,0,0)
		bg.ZIndex = 10
		bg.Parent = gui
		bg:Play()
	end
end
