FREE Cons Hub
Key Required

FREE Cons Hub

Football Fusion 3ilikeemilikeem 451 views 14.7K executesUpdated Jul 31, 2026
Unrated
00
Lua Script•2732 lines (86504 chars)
local Library = {}

function Library:newWindow(title)
	local window = {
		CurrentTab = nil
	}

	local ScreenGui = Instance.new("ScreenGui")
	local MobileButton = Instance.new("ImageButton")
	local MobileButtonCorner = Instance.new("UICorner")
	local MobileButtonIcon = Instance.new("ImageLabel")
	
	local MainFrame = Instance.new("Frame")
	local MainFrameCorner = Instance.new("UICorner")
	local MainFrameStroke = Instance.new("UIStroke")
	local MainFrameGradient = Instance.new("UIGradient")
	local UnderLine = Instance.new("Frame")
	local UITitle = Instance.new("TextLabel")

	local CanvasHolder = Instance.new("Frame")
	local shadowHolder = Instance.new("Frame")
	local umbraShadow = Instance.new("ImageLabel")
	local penumbraShadow = Instance.new("ImageLabel")
	local ambientShadow = Instance.new("ImageLabel")
	local NotiHolder = Instance.new("Frame")
	local UIListLayout = Instance.new("UIListLayout")
	local UIPadding = Instance.new("UIPadding")

	local SideTabs = Instance.new("Frame")
	local SideTabsCorner = Instance.new("UICorner")
	local SideTabsLayout = Instance.new("UIListLayout")
	local SideTabsSTROKE = Instance.new("UIStroke")
	local SideTabsPadding = Instance.new("UIPadding")
	
	local Players = game:GetService("Players")
local RunService = game:GetService("RunService")

local ScreenGui = Instance.new("ScreenGui")
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

if RunService:IsStudio() then
    ScreenGui.Parent = Players.LocalPlayer:WaitForChild("PlayerGui")
else
    -- exploit side (executor must support gethui or syn.protect_gui)
    local parent = gethui and gethui() or Players.LocalPlayer:WaitForChild("PlayerGui")
    ScreenGui.Parent = parent
end


local MobileButton = Instance.new("TextButton")
MobileButton.Name = "MobileButton"
MobileButton.Parent = ScreenGui
MobileButton.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
MobileButton.Size = UDim2.new(0, 50, 0, 50)
MobileButton.Position = UDim2.new(0, 10, 0.5, 0)
MobileButton.AnchorPoint = Vector2.new(0, 0.5)
MobileButton.AutoButtonColor = false
MobileButton.Font = Enum.Font.SourceSansBold
MobileButton.Text = "C"
MobileButton.TextColor3 = Color3.fromRGB(0, 153, 255)
MobileButton.TextScaled = true
MobileButton.TextSize = 30
MobileButton.TextStrokeTransparency = 0

local MobileButtonCorner = Instance.new("UICorner")
MobileButtonCorner.CornerRadius = UDim.new(0, 8)
MobileButtonCorner.Parent = MobileButton

local Glow = Instance.new("UIStroke")
Glow.Parent = MobileButton
Glow.Color = Color3.fromRGB(0, 153, 255)
Glow.Thickness = 2
Glow.Transparency = 0.7


	SideTabs.Name = "SideTabs"
SideTabs.Parent = MainFrame
SideTabs.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
SideTabs.BackgroundTransparency = 1
SideTabs.BorderColor3 = Color3.fromRGB(0, 0, 0)
SideTabs.BorderSizePixel = 0
SideTabs.Position = UDim2.new(0, 0, 0.1, 0)
SideTabs.Size = UDim2.new(0, 120, 0, 310)


	shadowHolder.Name = "shadowHolder"
	shadowHolder.Parent = MainFrame
	shadowHolder.BackgroundTransparency = 1.000
	shadowHolder.Position = UDim2.new(-0.00658337539, 0, -0.0295566507, 0)
	shadowHolder.Size = UDim2.new(1.00270009, 0, 1.02880979, 0)
	shadowHolder.ZIndex = 0

	umbraShadow.Name = "umbraShadow"
	umbraShadow.Parent = shadowHolder
	umbraShadow.AnchorPoint = Vector2.new(0.5, 0.5)
	umbraShadow.BackgroundTransparency = 1.000
	umbraShadow.Position = UDim2.new(0.502635777, 0, 0.500400066, 6)
	umbraShadow.Size = UDim2.new(1.00778055, 10, 1.00067389, 10)
	umbraShadow.ZIndex = 0
	umbraShadow.Image = "rbxassetid://1316045217"
	umbraShadow.ImageColor3 = Color3.fromRGB(0, 0, 0)
	umbraShadow.ImageTransparency = 0.860
	umbraShadow.ScaleType = Enum.ScaleType.Slice
	umbraShadow.SliceCenter = Rect.new(10, 10, 118, 118)

	penumbraShadow.Name = "penumbraShadow"
	penumbraShadow.Parent = shadowHolder
	penumbraShadow.AnchorPoint = Vector2.new(0.5, 0.5)
	penumbraShadow.BackgroundTransparency = 1.000
	penumbraShadow.Position = UDim2.new(0.502635777, 0, 0.500400066, 6)
	penumbraShadow.Size = UDim2.new(1.00778055, 10, 1.00067389, 10)
	penumbraShadow.ZIndex = 0
	penumbraShadow.Image = "rbxassetid://1316045217"
	penumbraShadow.ImageColor3 = Color3.fromRGB(0, 0, 0)
	penumbraShadow.ImageTransparency = 0.880
	penumbraShadow.ScaleType = Enum.ScaleType.Slice
	penumbraShadow.SliceCenter = Rect.new(10, 10, 118, 118)

	ambientShadow.Name = "ambientShadow"
	ambientShadow.Parent = shadowHolder
	ambientShadow.AnchorPoint = Vector2.new(0.5, 0.5)
	ambientShadow.BackgroundTransparency = 1.000
	ambientShadow.Position = UDim2.new(0.502635777, 0, 0.500400066, 6)
	ambientShadow.Size = UDim2.new(1.00778055, 10, 1.00067389, 10)
	ambientShadow.ZIndex = 0
	ambientShadow.Image = "rbxassetid://1316045217"
	ambientShadow.ImageColor3 = Color3.fromRGB(0, 0, 0)
	ambientShadow.ImageTransparency = 0.880
	ambientShadow.ScaleType = Enum.ScaleType.Slice
	ambientShadow.SliceCenter = Rect.new(10, 10, 118, 118)

	NotiHolder.Name = "NotiHolder"
	NotiHolder.Parent = ScreenGui
	NotiHolder.AnchorPoint = Vector2.new(1, 1)
	NotiHolder.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
	NotiHolder.BackgroundTransparency = 1.000
	NotiHolder.BorderColor3 = Color3.fromRGB(0, 0, 0)
	NotiHolder.BorderSizePixel = 0
	NotiHolder.Position = UDim2.new(1, 0, 1, 0)
	NotiHolder.Size = UDim2.new(0, 255, 392)

	UIListLayout.Parent = NotiHolder
	UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
	UIListLayout.VerticalAlignment = Enum.VerticalAlignment.Bottom
	UIListLayout.Padding = UDim.new(0, 8)

	UIPadding.Parent = NotiHolder
	UIPadding.PaddingBottom = UDim.new(0, 5)

	SideTabsCorner.Name = "SideTabsCorner"
	SideTabsCorner.Parent = SideTabs

	SideTabsLayout.Name = "SideTabsLayout"
	SideTabsLayout.Parent = SideTabs
	SideTabsLayout.SortOrder = Enum.SortOrder.LayoutOrder
	SideTabsLayout.Padding = UDim.new(0, 5)
	

	SideTabsPadding.Name = "SideTabsPadding"
	SideTabsPadding.Parent = SideTabs
	SideTabsPadding.PaddingTop = UDim.new(0, 5)
	SideTabsPadding.PaddingLeft = UDim.new(0, 10)
	

	MainFrame.Name = "MainFrame"
	MainFrame.Parent = ScreenGui
	MainFrame.AnchorPoint = Vector2.new(0.5, 0.5)
	MainFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
	MainFrame.BorderColor3 = Color3.fromRGB(0, 0, 0)
	MainFrame.BorderSizePixel = 0
	MainFrame.Position = UDim2.new(0.467608541, 0, 0.5, 0)
	MainFrame.Size = UDim2.new(0, 650, 0, 370)

	MainFrameCorner.CornerRadius = UDim.new(0, 4)
	MainFrameCorner.Name = "MainFrameCorner"
	MainFrameCorner.Parent = MainFrame

	MainFrameGradient.Color = ColorSequence.new{
		ColorSequenceKeypoint.new(0.00, Color3.fromRGB(20, 20, 20)), 
		ColorSequenceKeypoint.new(0.81, Color3.fromRGB(15, 15, 15)), 
		ColorSequenceKeypoint.new(1.00, Color3.fromRGB(25, 25, 25))
	}
	MainFrameGradient.Rotation = 120
	MainFrameGradient.Name = "MainFrameGradient"
	MainFrameGradient.Parent = MainFrame

	UnderLine.Name = "UnderLine"
	UnderLine.Parent = MainFrame
	UnderLine.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
	UnderLine.BorderColor3 = Color3.fromRGB(0, 0, 0)
	UnderLine.BorderSizePixel = 0
	UnderLine.Position = UDim2.new(0, 0, 0.0960591137, 0)
	UnderLine.Size = UDim2.new(0, 600, 0, 1)

	UITitle.Name = "UITitle"
	UITitle.Parent = MainFrame
	UITitle.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
	UITitle.BackgroundTransparency = 1.000
	UITitle.BorderColor3 = Color3.fromRGB(0, 0, 0)
	UITitle.BorderSizePixel = 0
	UITitle.Position = UDim2.new(0.02, 0, -0.005, 0)

	UITitle.Size = UDim2.new(0, 76, 0, 39)
	UITitle.Font = Enum.Font.SourceSansBold
	UITitle.Text = title
	UITitle.TextColor3 = Color3.fromRGB(0, 153, 255)
	UITitle.TextSize = 18.000
	UITitle.TextXAlignment = Enum.TextXAlignment.Left

	
	CanvasHolder.Name = "CanvasHolder"
	CanvasHolder.Parent = MainFrame
	CanvasHolder.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
	CanvasHolder.BackgroundTransparency = 1.000
	CanvasHolder.BorderColor3 = Color3.fromRGB(0, 0, 0)
	CanvasHolder.BorderSizePixel = 0
	CanvasHolder.Position = UDim2.new(0.2, 0, 0.0985221639, 0)
	CanvasHolder.Size = UDim2.new(0, 480, 0, 310)

	local TweenService = game:GetService("TweenService")
	local UserInputService = game:GetService("UserInputService")

	local tweenInfo = TweenInfo.new(0.16, Enum.EasingStyle.Linear, Enum.EasingDirection.Out)

	local TS = game:GetService("TweenService")
	local RS = game:GetService("RunService")
	local UIS = game:GetService("UserInputService")
	local function CreateDrag(gui)
		local dragging
		local dragInput
		local dragStart
		local startPos

		local function update(input)
			local delta = input.Position - dragStart
			if startPos then
				TS:Create(
					gui,  
					TweenInfo.new(0.16, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), 
					{Position = UDim2.new(
						startPos.X.Scale, startPos.X.Offset + delta.X, 
						startPos.Y.Scale, startPos.Y.Offset + delta.Y)}
				):Play()
			end
		end

		gui.InputBegan:Connect(function(input)
			if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
				dragging = true
				dragStart = input.Position
				startPos = gui.Position  
			end
		end)

		UIS.InputEnded:Connect(function(input)
			if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
				dragging = false
			end
		end)

		gui.InputChanged:Connect(function(input)
			if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
				dragInput = input
			end
		end)

		UIS.InputChanged:Connect(function(input)
			if input == dragInput and dragging then
				update(input)
			end
		end)
	end

	CreateDrag(MainFrame)

	local function toggleMainVisibility(input)
		if input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode == Enum.KeyCode.LeftControl then
			MainFrame.Visible = not MainFrame.Visible
		end
	end

	UserInputService.InputBegan:Connect(function(input, gameProcessed)
		if not gameProcessed then
			toggleMainVisibility(input)
		end
	end)

	MobileButton.MouseButton1Click:Connect(function()
		MainFrame.Visible = not MainFrame.Visible
	end)

	function window:newTab(Title: string)
		local tab = {
			Enabled = false
		}

		local Tab1 = Instance.new("TextButton")
		local Indicator = Instance.new("Frame")
		local UIStroke = Instance.new("UIStroke")

		local CanvasHolder = Instance.new("Frame")
		local Canvas = Instance.new("ScrollingFrame")
		local CanvasLayout = Instance.new("UIListLayout")
		local CanvasPadding = Instance.new("UIPadding")

		CanvasHolder.Name = "CanvasHolder"
		CanvasHolder.Parent = MainFrame
		CanvasHolder.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
		CanvasHolder.BackgroundTransparency = 1.000
		CanvasHolder.BorderColor3 = Color3.fromRGB(0, 0, 0)
		CanvasHolder.BorderSizePixel = 0
		CanvasHolder.Position = UDim2.new(0.2, 0, 0.0985221639, 0)
		CanvasHolder.Size = UDim2.new(0, 480, 0, 310)

		Canvas.Name = "Canvas"
		Canvas.Parent = CanvasHolder
		Canvas.Active = true
		Canvas.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
		Canvas.BackgroundTransparency = 1.000
		Canvas.BorderColor3 = Color3.fromRGB(0, 0, 0)
		Canvas.BorderSizePixel = 0
		Canvas.Position = UDim2.new(0, 0, 0.0245901644, 0)
		Canvas.Size = UDim2.new(0, 480, 0, 310)
		Canvas.ScrollBarImageColor3 = Color3.fromRGB(0, 0, 0)
		Canvas.ScrollBarThickness = 0
		Canvas.ZIndex = 10
		Canvas.Visible = false

		CanvasLayout.Name = "CanvasLayout"
		CanvasLayout.Parent = Canvas
		CanvasLayout.SortOrder = Enum.SortOrder.LayoutOrder
		CanvasLayout.Padding = UDim.new(0, 4)

		Canvas.CanvasSize = UDim2.new(0,0,0,CanvasLayout.AbsoluteContentSize.Y + CanvasLayout.Padding.Offset + 50)

		Canvas.ChildAdded:Connect(function()
			Canvas.CanvasSize = UDim2.new(0,0,0,CanvasLayout.AbsoluteContentSize.Y + CanvasLayout.Padding.Offset + 50)
		end)

		CanvasPadding.Name = "CanvasPadding"
		CanvasPadding.Parent = Canvas
		CanvasPadding.PaddingLeft = UDim.new(0, 7)

		Tab1.Name = "Tab1"
		Tab1.Parent = SideTabs
		Tab1.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
		Tab1.BackgroundTransparency = 1.000
		Tab1.BorderColor3 = Color3.fromRGB(0, 0, 0)
		Tab1.BorderSizePixel = 0
		Tab1.Size = UDim2.new(0, 110, 0, 30)
		local InterFont = Font.new("rbxassetid://12187365364")
		Tab1.FontFace = InterFont
		Tab1.Text = Title
		Tab1.TextColor3 = Color3.fromRGB(100, 100, 100)
		Tab1.TextSize = 12.000
		Tab1.TextXAlignment = Enum.TextXAlignment.Left

		Indicator.Name = "Indicator"
		Indicator.Parent = Tab1
		Indicator.BackgroundColor3 = Color3.fromRGB(0, 153, 255)
		Indicator.BorderSizePixel = 0
		Indicator.Position = UDim2.new(0, -10, 0.5, 0)

		Indicator.Size = UDim2.new(0, 3, 0, 0)
		Indicator.AnchorPoint = Vector2.new(0, 0.5)
		Indicator.Visible = false

		UIStroke.Parent = Tab1

		function tab:Enable()
			if not tab.Enabled then
				if window.CurrentTab then
					window.CurrentTab:Disable()
				end

				local tweenInfo = TweenInfo.new(
					0.4,
					Enum.EasingStyle.Quad,
					Enum.EasingDirection.Out
				)

				local goal = {
					TextColor3 = Color3.fromRGB(0, 153, 255)
				}

				local tween = TweenService:Create(Tab1, tweenInfo, goal)
				tween:Play()
				
				
				Indicator.Visible = true
				TweenService:Create(Indicator, TweenInfo.new(0.3), {Size = UDim2.new(0, 3, 0, 20)}):Play()

				Canvas.Visible = true

				tab.Enabled = true
				window.CurrentTab = tab
			end
		end

		function tab:Disable()
			if tab.Enabled then
				tab.Enabled = false

				local tweenInfo = TweenInfo.new(
					0.4,
					Enum.EasingStyle.Quad,
					Enum.EasingDirection.Out
				)

				local goal = {
					TextColor3 = Color3.fromRGB(100, 100, 100)
				}

				local tween = TweenService:Create(Tab1, tweenInfo, goal)
				tween:Play()
				
				
				TweenService:Create(Indicator, TweenInfo.new(0.3), {Size = UDim2.new(0, 3, 0, 0)}):Play()
				task.wait(0.3)
				Indicator.Visible = false

				Canvas.Visible = false
			end
		end

		Tab1.MouseButton1Down:Connect(function()
			local TweenInfo = TweenInfo.new(0.65, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out)

			CanvasLayout.Padding = UDim.new(0, 200)
			TweenService:Create(CanvasLayout, TweenInfo, {Padding = UDim.new(0, 5)}):Play()
			tab:Enable() 
		end)

		if not window.CurrentTab then
			tab:Enable()
		end

		local TweenService = game:GetService("TweenService")

		function tab:CreateToggle(title, default, callback)
			local Toggle = Instance.new("ImageButton")
			local ToggleGradient_2 = Instance.new("UIGradient")
			local ToggleCorner_2 = Instance.new("UICorner")
			local ToggleTitle_2 = Instance.new("TextLabel")
			local ToggleBack_2 = Instance.new("Frame")
			local ToggleBackStroke_2 = Instance.new("UIStroke")
			local Circle_3 = Instance.new("Frame")
			local UICorner_2 = Instance.new("UICorner")
			local ToggleBackCorner_2 = Instance.new("UICorner")
			local UIStroke_4 = Instance.new("UIStroke")

			Toggle.AutoButtonColor = false
			Toggle.Name = title
			Toggle.Parent = Canvas
			Toggle.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
			Toggle.BorderColor3 = Color3.fromRGB(25, 25, 25)
			Toggle.BorderSizePixel = 0
			Toggle.Size = UDim2.new(0, 460, 0, 28)

			ToggleGradient_2.Color = ColorSequence.new{ColorSequenceKeypoint.new(0.00, Color3.fromRGB(12, 12, 12)), ColorSequenceKeypoint.new(0.96, Color3.fromRGB(12, 12, 12)), ColorSequenceKeypoint.new(1.00, Color3.fromRGB(13, 13, 13))}
			ToggleGradient_2.Name = "ToggleGradient"
			ToggleGradient_2.Parent = Toggle

			ToggleCorner_2.Name = "ToggleCorner"
			ToggleCorner_2.Parent = Toggle

			ToggleTitle_2.Name = "ToggleTitle"
			ToggleTitle_2.Parent = Toggle
			ToggleTitle_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
			ToggleTitle_2.BackgroundTransparency = 1.000
			ToggleTitle_2.BorderColor3 = Color3.fromRGB(0, 0, 0)
			ToggleTitle_2.BorderSizePixel = 0
			ToggleTitle_2.Position = UDim2.new(0.022, 0, 0.25, 0)
			ToggleTitle_2.Size = UDim2.new(0, 76, 0, 16)
			local InterFont = Font.new("rbxassetid://12187365364")
			ToggleTitle_2.FontFace = InterFont
			ToggleTitle_2.Text = title
			ToggleTitle_2.TextColor3 = Color3.fromRGB(100, 100, 100)
			ToggleTitle_2.TextSize = 14.000
			ToggleTitle_2.TextXAlignment = Enum.TextXAlignment.Left

			ToggleBack_2.Name = "ToggleBack"
			ToggleBack_2.Parent = Toggle
			ToggleBack_2.BackgroundColor3 = Color3.fromRGB(36, 36, 36)
			ToggleBack_2.BackgroundTransparency = 0.900
			ToggleBack_2.BorderColor3 = Color3.fromRGB(0, 0, 0)
			ToggleBack_2.BorderSizePixel = 0
			ToggleBack_2.Position = UDim2.new(0.85, 0, 0.2, 0)
			ToggleBack_2.Size = UDim2.new(0, 45, 0, 18)

			ToggleBackStroke_2.Name = "ToggleBackStroke"
			ToggleBackStroke_2.Parent = ToggleBack_2
			ToggleBackStroke_2.Color = Color3.fromRGB(255, 255, 255)
			ToggleBackStroke_2.Transparency = 0.780

			Circle_3.Name = "Circle"
			Circle_3.Parent = ToggleBack_2
			Circle_3.AnchorPoint = Vector2.new(0, 0.5)
			Circle_3.BackgroundColor3 = Color3.fromRGB(42, 42, 42)
			Circle_3.BorderColor3 = Color3.fromRGB(0, 0, 0)
			Circle_3.BorderSizePixel = 0
			Circle_3.Position = UDim2.new(0.090, 0, 0.5, 0)
			Circle_3.Size = UDim2.new(0, 12, 0, 12)

			UICorner_2.CornerRadius = UDim.new(1, 0)
			UICorner_2.Parent = Circle_3

			ToggleBackCorner_2.CornerRadius = UDim.new(1, 0)
			ToggleBackCorner_2.Name = "ToggleBackCorner"
			ToggleBackCorner_2.Parent = ToggleBack_2

			UIStroke_4.Parent = Toggle

			local toggled = default

			local function updateToggle(state)
				local color = state and Color3.fromRGB(0, 153, 255) or Color3.fromRGB(36, 36, 36)
				local textColor = state and Color3.fromRGB(0, 153, 255) or Color3.fromRGB(100, 100, 100)
				local circlePos = state and UDim2.new(0.65, 0, 0.5, 0) or UDim2.new(0.09, 0, 0.5, 0)
				local strokeColor = state and Color3.fromRGB(0, 153, 255) or Color3.fromRGB(100, 100, 100)

				TweenService:Create(ToggleTitle_2, TweenInfo.new(0.35), {TextColor3 = textColor}):Play()
				TweenService:Create(ToggleBack_2, TweenInfo.new(0.35), {BackgroundColor3 = color}):Play()
				TweenService:Create(Circle_3, TweenInfo.new(0.20), {BackgroundColor3 = color}):Play()
				TweenService:Create(Circle_3, TweenInfo.new(0.35), {Position = circlePos}):Play()
				TweenService:Create(ToggleBackStroke_2, TweenInfo.new(0.30), {Color = strokeColor}):Play()
			end

			updateToggle(toggled)

			Toggle.MouseButton1Click:Connect(function()
				toggled = not toggled
				updateToggle(toggled)
				if callback then
					callback(toggled)
				end
			end)
		end

		function tab:NewSlider(Title: string, Options: table)
	local RS = game:GetService("RunService")
	local Settings = {
		Connections = {},
		Title = Title,
		Value = Options.Default or 0,
		MinVal = Options.Min or 0,
		MaxVal = Options.Max or 100,
		Parent = Options.Parent or Canvas,
		Callback = Options.Callback or function() end,
		Component = "Slider"
	}
	local Slider = Instance.new("ImageButton")
	Slider.AutoButtonColor = false
	local SliderGradient = Instance.new("UIGradient")
	local SliderCorner = Instance.new("UICorner")
	local SliderTitle = Instance.new("TextLabel")
	local SliderBack = Instance.new("Frame")
	local SliderBackStroke = Instance.new("UIStroke")
	local SliderBackCorner = Instance.new("UICorner")
	local SliderMain = Instance.new("Frame")
	local SliderMainCorner = Instance.new("UICorner")
	local SliderMainGradient = Instance.new("UIGradient")
	local SliderStroke = Instance.new("UIStroke")
	local Value = Instance.new("TextBox")
	Slider.Name = Title
	Slider.Parent = Canvas
	Slider.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
	Slider.BorderSizePixel = 0
	Slider.Size = UDim2.new(0, 460, 0, 28)
	SliderGradient.Color = ColorSequence.new{
		ColorSequenceKeypoint.new(0.00, Color3.fromRGB(12, 12, 12)),
		ColorSequenceKeypoint.new(0.96, Color3.fromRGB(12, 12, 12)),
		ColorSequenceKeypoint.new(1.00, Color3.fromRGB(13, 13, 13))
	}
	SliderGradient.Parent = Slider
	SliderCorner.Parent = Slider
	SliderTitle.Name = "SliderTitle"
	SliderTitle.Parent = Slider
	SliderTitle.BackgroundTransparency = 1
	SliderTitle.Position = UDim2.new(0.022, 0, 0.25, 0)
	SliderTitle.Size = UDim2.new(0, 76, 0, 16)
	SliderTitle.FontFace = Font.new("rbxassetid://12187365364")
	SliderTitle.Text = Title
	SliderTitle.TextColor3 = Color3.fromRGB(100, 100, 100)
	SliderTitle.TextSize = 14
	SliderTitle.TextXAlignment = Enum.TextXAlignment.Left
	SliderBack.Name = "SliderBack"
	SliderBack.Parent = Slider
	SliderBack.BackgroundColor3 = Color3.fromRGB(18, 18, 18)
	SliderBack.BorderSizePixel = 0
	SliderBack.Position = UDim2.new(0.25, 0, 0.4, 0)
	SliderBack.Size = UDim2.new(0, 250, 0, 7)
	SliderBackStroke.Parent = SliderBack
	SliderBackCorner.Parent = SliderBack
	SliderMain.Name = "SliderMain"
	SliderMain.Parent = SliderBack
	SliderMain.BackgroundColor3 = Color3.fromRGB(0, 153, 255)
	SliderMain.BorderSizePixel = 0
	SliderMain.Position = UDim2.new(0, 0, 0)
	SliderMain.Size = UDim2.new(0, 190, 0, 7)
	SliderMainCorner.CornerRadius = UDim.new(0, 50)
	SliderMainCorner.Parent = SliderMain
	SliderMainGradient.Color = ColorSequence.new{
		ColorSequenceKeypoint.new(0.00, Color3.fromRGB(0, 100, 200)),
		ColorSequenceKeypoint.new(0.61, Color3.fromRGB(0, 120, 220)),
		ColorSequenceKeypoint.new(1.00, Color3.fromRGB(0, 153, 255))
	}
	SliderMainGradient.Parent = SliderMain
	local SliderKnob = Instance.new("Frame")
	SliderKnob.Name = "SliderKnob"
	SliderKnob.Parent = SliderBack
	SliderKnob.BackgroundColor3 = Color3.fromRGB(0, 153, 255)
	SliderKnob.Size = UDim2.new(0, 10, 0, 10)
	SliderKnob.Position = UDim2.new(0, 0, 0, 0)
	SliderKnob.AnchorPoint = Vector2.new(0, 0.5)
	local SliderKnobCorner = Instance.new("UICorner")
	SliderKnobCorner.CornerRadius = UDim.new(1, 0)
	SliderKnobCorner.Parent = SliderKnob
	SliderStroke.Parent = Slider
	Value.Name = "Value"
	Value.Parent = Slider
	Value.BackgroundTransparency = 1
	Value.Position = UDim2.new(0.85, 0, 0.3, 0)
	Value.Size = UDim2.new(0, 37, 0, 5)
	Value.Font = Enum.Font.SourceSans
	Value.Text = "25.00"
	Value.TextColor3 = Color3.fromRGB(170, 170, 170)
	Value.TextSize = 13
	Value.TextWrapped = true
	local function GetValue()
		return tonumber(Settings.Value)
	end
	local TweenService = game:GetService("TweenService")
	function Settings:SetValue(v)
		local function roundToTwoDecimalPlaces(num)
			return math.floor(num * 100 + 0.5) / 100
		end
		local tweenInfo
		local newSize
		local percentage
		if v == nil then
			local mouseX = UIS:GetMouseLocation().X
			percentage = math.clamp((mouseX - SliderBack.AbsolutePosition.X) / SliderBack.AbsoluteSize.X, 0, 1)
			local value = roundToTwoDecimalPlaces(((Settings.MaxVal - Settings.MinVal) * percentage) + Settings.MinVal)
			Value.Text = string.format("%.2f", value)
			newSize = UDim2.fromScale(percentage, 1)
			tweenInfo = TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
			Settings.Value = value
			Settings.Callback(value)
		else
			local value = roundToTwoDecimalPlaces(v)
			Value.Text = string.format("%.2f", value)
			percentage = (value - Settings.MinVal) / (Settings.MaxVal - Settings.MinVal)
			newSize = UDim2.fromScale(percentage, 1)
			tweenInfo = TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
			Settings.Value = value
			Settings.Callback(value)
		end
		if Settings.currentTween then
			Settings.currentTween:Cancel()
		end
		local tweenMain = TweenService:Create(SliderMain, tweenInfo, {Size = newSize})
		local knobOffset = SliderKnob.Size.X.Offset
		local newKnobPos = UDim2.new(0, percentage * (SliderBack.AbsoluteSize.X - knobOffset), 0.5, 0)
		local tweenKnob = TweenService:Create(SliderKnob, tweenInfo, {Position = newKnobPos})
		tweenMain:Play()
		tweenKnob:Play()
		Settings.currentTween = tweenMain
	end
	local Connection
	table.insert(Settings.Connections, UIS.InputEnded:Connect(function(input)
		if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
			pcall(function()
				if Connection then
					Connection:Disconnect()
					Connection = nil
				end
			end)
			local tweenInfoText = TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
			local tweenText = TweenService:Create(SliderTitle, tweenInfoText, {TextColor3 = Color3.fromRGB(100, 100, 100)})
			tweenText:Play()
		end
	end))
	table.insert(Settings.Connections, Slider.MouseButton1Down:Connect(function()
		if Connection then
			Connection:Disconnect()
		end
		local tweenInfoText = TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
		local tweenText = TweenService:Create(SliderTitle, TweenInfo.new(0.3), {TextColor3 = Color3.fromRGB(0, 153, 255)})
		tweenText:Play()
		Connection = RS.Heartbeat:Connect(function()
			Settings:SetValue()
		end)
	end))
	Value.FocusLost:Connect(function(enterPressed)
		local newValue = tonumber(Value.Text)
		if newValue then
			if newValue < Settings.MinVal then
				newValue = Settings.MinVal
			elseif newValue > Settings.MaxVal then
				newValue = Settings.MaxVal
			end
			Settings:SetValue(newValue)
		else
			Value.Text = tostring(Settings.Value)
		end
	end)
	Settings:SetValue(Settings.Value)
	return Settings
end

		function tab:CreateDropdown(title, options, callback)
	local TweenService = game:GetService("TweenService")

	local DropdownActive = Instance.new("ImageButton")
	local DropdownGradient = Instance.new("UIGradient")
	local DropdownCorner = Instance.new("UICorner")
	local DropdownTitle = Instance.new("TextLabel")
	local DropdownStroke = Instance.new("UIStroke")
	local DropBox = Instance.new("Frame")
	local UICorner_3 = Instance.new("UICorner")
	local UIStroke_5 = Instance.new("UIStroke")
	local SelectedOption = Instance.new("TextLabel")
	local Options = Instance.new("Frame")
	local OptionCorner = Instance.new("UICorner")
	local OptionStroke = Instance.new("UIStroke")
	local OptionLayout = Instance.new("UIListLayout")

	DropdownActive.Name = title
	DropdownActive.Parent = Canvas
	DropdownActive.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
	DropdownActive.BorderSizePixel = 0
	DropdownActive.Size = UDim2.new(0, 460, 0, 28)
	DropdownActive.ZIndex = 2000
	DropdownActive.AutoButtonColor = false

	DropdownGradient.Color = ColorSequence.new{
		ColorSequenceKeypoint.new(0.00, Color3.fromRGB(12, 12, 12)),
		ColorSequenceKeypoint.new(1.00, Color3.fromRGB(13, 13, 13))}
	DropdownGradient.Parent = DropdownActive

	DropdownCorner.Parent = DropdownActive
	DropdownStroke.Parent = DropdownActive

	DropdownTitle.Name = "DropdownTitle"
	DropdownTitle.Parent = DropdownActive
	DropdownTitle.BackgroundTransparency = 1
	DropdownTitle.Position = UDim2.new(0.025, 0, 0.5, 0)
	DropdownTitle.AnchorPoint = Vector2.new(0, 0.5)
	DropdownTitle.Size = UDim2.new(0, 120, 0, 18)
	DropdownTitle.FontFace = InterFont
	DropdownTitle.Text = title
	DropdownTitle.TextColor3 = Color3.fromRGB(100, 100, 100)
	DropdownTitle.TextSize = 14
	DropdownTitle.TextXAlignment = Enum.TextXAlignment.Left

	DropBox.Name = "DropBox"
	DropBox.Parent = DropdownActive
	DropBox.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
	DropBox.BackgroundTransparency = 0.5
	DropBox.Position = UDim2.new(0.75, 0, 0.5, 0)
	DropBox.AnchorPoint = Vector2.new(0, 0.5)
	DropBox.Size = UDim2.new(0, 90, 0, 20)

	UICorner_3.Parent = DropBox
	UIStroke_5.Parent = DropBox
	UIStroke_5.Color = Color3.fromRGB(25, 25, 25)
	UIStroke_5.Thickness = 1.3

	SelectedOption.Parent = DropBox
	SelectedOption.BackgroundTransparency = 1
	SelectedOption.AnchorPoint = Vector2.new(0.5, 0.5)
	SelectedOption.Position = UDim2.new(0.5, 0, 0.5, 0)
	SelectedOption.Size = UDim2.new(1, -10, 1, -6)
	SelectedOption.FontFace = InterFont
	SelectedOption.Text = options[1]
	SelectedOption.TextColor3 = Color3.fromRGB(0, 153, 255)
	SelectedOption.TextSize = 14
	SelectedOption.TextWrapped = true
	SelectedOption.TextScaled = true
	SelectedOption.TextXAlignment = Enum.TextXAlignment.Center
	SelectedOption.TextYAlignment = Enum.TextYAlignment.Center

	Options.Name = "Options"
	Options.Parent = DropdownActive
	Options.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
	Options.Position = UDim2.new(0.75, 0, 1.2, 0)
	Options.Size = UDim2.new(0, 140, 0, 55)
	Options.Visible = false
	Options.ZIndex = 5
	Options.AutomaticSize = Enum.AutomaticSize.XY
	Options.BackgroundTransparency = 1

	OptionCorner.Parent = Options
	OptionStroke.Parent = Options
	OptionStroke.Color = Color3.fromRGB(40, 40, 40)
	OptionStroke.Thickness = 1.3
	OptionStroke.Transparency = 1

	OptionLayout.Parent = Options
	OptionLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
	OptionLayout.SortOrder = Enum.SortOrder.LayoutOrder
	OptionLayout.Padding = UDim.new(0, 2)

	DropdownActive.MouseButton1Click:Connect(function()
		Options.Visible = not Options.Visible

		local targetTitleColor = Options.Visible and Color3.fromRGB(0, 153, 255) or Color3.fromRGB(100, 100, 100)
		TweenService:Create(DropdownTitle, TweenInfo.new(0.3), {TextColor3 = targetTitleColor}):Play()

		local optionTransparency = Options.Visible and 0 or 1
		local optionStrokeTransparency = Options.Visible and 0 or 1
		TweenService:Create(Options, TweenInfo.new(0.25), {BackgroundTransparency = optionTransparency}):Play()
		TweenService:Create(OptionStroke, TweenInfo.new(0.25), {Transparency = optionStrokeTransparency}):Play()

		for _, child in pairs(Options:GetChildren()) do
			if child:IsA("TextButton") then
				child:Destroy()
			end
		end

		for _, option in pairs(options) do
			local OptionButton = Instance.new("TextButton")
			OptionButton.Parent = Options
			OptionButton.Size = UDim2.new(1, 0, 0, 18)
			OptionButton.Text = option
			OptionButton.FontFace = InterFont
			OptionButton.TextColor3 = Color3.fromRGB(100, 100, 100)
			OptionButton.TextSize = 12
			OptionButton.BackgroundTransparency = 1

			OptionButton.MouseButton1Click:Connect(function()
				SelectedOption.Text = option
				TweenService:Create(Options, TweenInfo.new(0.25), {BackgroundTransparency = 1}):Play()
				TweenService:Create(OptionStroke, TweenInfo.new(0.25), {Transparency = 1}):Play()
				task.wait(0.15)
				Options.Visible = false
				TweenService:Create(DropdownTitle, TweenInfo.new(0.25), {TextColor3 = Color3.fromRGB(100,100,100)}):Play()
				if callback then
					callback(option)
				end
			end)

			OptionButton.MouseEnter:Connect(function()
				TweenService:Create(OptionButton, TweenInfo.new(0.2), {TextColor3 = Color3.fromRGB(0, 153, 255)}):Play()
			end)
			OptionButton.MouseLeave:Connect(function()
				TweenService:Create(OptionButton, TweenInfo.new(0.2), {TextColor3 = Color3.fromRGB(100, 100, 100)}):Play()
			end)
		end
	end)
end

		function tab:CreateKeybind(title, default, callback)
	local Keybind = Instance.new("ImageButton")
	local KeybindGradient = Instance.new("UIGradient")
	local KeybindCorner = Instance.new("UICorner")
	local KeybindTitle = Instance.new("TextLabel")
	local KeybindStroke = Instance.new("UIStroke")
	local KeybindBox = Instance.new("Frame")
	local UICorner_8 = Instance.new("UICorner")
	local UIStroke_8 = Instance.new("UIStroke")
	local KeybindText = Instance.new("TextLabel")

	Keybind.Name = title
	Keybind.Parent = Canvas
	Keybind.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
	Keybind.BorderColor3 = Color3.fromRGB(0, 0, 0)
	Keybind.BorderSizePixel = 0
	Keybind.Position = UDim2.new(0.0198938996, 0, 0.360248446, 0)
	Keybind.Size = UDim2.new(0, 460, 0, 28)
	Keybind.ZIndex = 5
	Keybind.AutoButtonColor = false

	KeybindGradient.Color = ColorSequence.new{
		ColorSequenceKeypoint.new(0.00, Color3.fromRGB(12, 12, 12)),
		ColorSequenceKeypoint.new(0.96, Color3.fromRGB(12, 12, 12)),
		ColorSequenceKeypoint.new(1.00, Color3.fromRGB(13, 13, 13))
	}
	KeybindGradient.Name = "KeybindGradient"
	KeybindGradient.Parent = Keybind

	KeybindCorner.Name = "KeybindCorner"
	KeybindCorner.Parent = Keybind

	KeybindTitle.Name = "KeybindTitle"
	KeybindTitle.Parent = Keybind
	KeybindTitle.BackgroundTransparency = 1.000
	KeybindTitle.Position = UDim2.new(0.0227882043, 0, 0.25, 0)
	KeybindTitle.Size = UDim2.new(0, 76, 0, 16)
	KeybindTitle.FontFace = InterFont
	KeybindTitle.Text = title
	KeybindTitle.TextColor3 = Color3.fromRGB(100, 100, 100)
	KeybindTitle.TextSize = 14.000
	KeybindTitle.TextXAlignment = Enum.TextXAlignment.Left

	KeybindStroke.Name = "KeybindStroke"
	KeybindStroke.Parent = Keybind

	KeybindBox.Name = "KeybindBox"
	KeybindBox.Parent = Keybind
	KeybindBox.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
	KeybindBox.BackgroundTransparency = 0.500
	KeybindBox.BorderSizePixel = 0
	KeybindBox.Position = UDim2.new(0.75, 0, 0.2, 0)
	KeybindBox.Size = UDim2.new(0, 70, 0, 20)
	KeybindBox.ZIndex = 0

	UICorner_8.Parent = KeybindBox
	UIStroke_8.Parent = KeybindBox
	UIStroke_8.Color = Color3.fromRGB(25, 25, 25)
	UIStroke_8.Thickness = 1.300

	KeybindText.Name = "KeybindText"
	KeybindText.Parent = KeybindBox
	KeybindText.BackgroundTransparency = 1
	KeybindText.Size = UDim2.new(1, -6, 1, -4) 
	KeybindText.Position = UDim2.new(0.5, 0, 0.5, 0)
	KeybindText.AnchorPoint = Vector2.new(0.5, 0.5)
	KeybindText.FontFace = InterFont
	KeybindText.Text = default.Name
	KeybindText.TextColor3 = Color3.fromRGB(0, 153, 255)
	KeybindText.TextSize = 14
	KeybindText.TextScaled = true
	KeybindText.TextWrapped = true
	KeybindText.TextXAlignment = Enum.TextXAlignment.Center
	KeybindText.TextYAlignment = Enum.TextYAlignment.Center

	local listening = false
	local currentKey = default

	Keybind.MouseButton1Click:Connect(function()
		listening = true
		KeybindText.Text = "..."
	end)

	local connection
	connection = game:GetService("UserInputService").InputBegan:Connect(function(input, gameProcessed)
		if listening then
			if input.UserInputType == Enum.UserInputType.Keyboard then
				currentKey = input.KeyCode
				KeybindText.Text = input.KeyCode.Name
				listening = false
				if callback then
					callback(input.KeyCode)
				end
			end
		else
			if input.KeyCode == currentKey and not gameProcessed then
				if callback then
					callback(currentKey)
				end
			end
		end
	end)
end

		function tab:CreateTextBox(title, placeholder, callback)
			local TextBox = Instance.new("ImageButton")
			local TextBoxGradient = Instance.new("UIGradient")
			local TextBoxCorner = Instance.new("UICorner")
			local TextBoxTitle = Instance.new("TextLabel")
			local TextBoxStroke = Instance.new("UIStroke")
			local TextBoxInput = Instance.new("TextBox")
			local TextBoxInputCorner = Instance.new("UICorner")
			local TextBoxInputStroke = Instance.new("UIStroke")

			TextBox.Name = title
			TextBox.Parent = Canvas
			TextBox.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
			TextBox.BorderColor3 = Color3.fromRGB(0, 0, 0)
			TextBox.BorderSizePixel = 0
			TextBox.Size = UDim2.new(0, 460, 0, 28)
			TextBox.AutoButtonColor = false

			TextBoxGradient.Color = ColorSequence.new{
				ColorSequenceKeypoint.new(0.00, Color3.fromRGB(12, 12, 12)),
				ColorSequenceKeypoint.new(0.96, Color3.fromRGB(12, 12, 12)),
				ColorSequenceKeypoint.new(1.00, Color3.fromRGB(13, 13, 13))
			}
			TextBoxGradient.Name = "TextBoxGradient"
			TextBoxGradient.Parent = TextBox

			TextBoxCorner.Name = "TextBoxCorner"
			TextBoxCorner.Parent = TextBox

			TextBoxTitle.Name = "TextBoxTitle"
			TextBoxTitle.Parent = TextBox
			TextBoxTitle.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
			TextBoxTitle.BackgroundTransparency = 1.000
			TextBoxTitle.BorderColor3 = Color3.fromRGB(0, 0, 0)
			TextBoxTitle.BorderSizePixel = 0
			TextBoxTitle.Position = UDim2.new(0.022, 0, 0.25, 0)
			TextBoxTitle.Size = UDim2.new(0, 76, 0, 16)
			TextBoxTitle.FontFace = InterFont
			TextBoxTitle.Text = title
			TextBoxTitle.TextColor3 = Color3.fromRGB(100, 100, 100)
			TextBoxTitle.TextSize = 14.000
			TextBoxTitle.TextXAlignment = Enum.TextXAlignment.Left

			TextBoxStroke.Name = "TextBoxStroke"
			TextBoxStroke.Parent = TextBox

			TextBoxInput.Name = "TextBoxInput"
			TextBoxInput.Parent = TextBox
			TextBoxInput.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
			TextBoxInput.BackgroundTransparency = 0.5
			TextBoxInput.BorderSizePixel = 0
			TextBoxInput.Position = UDim2.new(0.75, 0, 0.2, 0)
			TextBoxInput.Size = UDim2.new(0, 90, 0, 20)
			TextBoxInput.FontFace = InterFont
			TextBoxInput.Text = ""
			TextBoxInput.PlaceholderText = placeholder
			TextBoxInput.TextColor3 = Color3.fromRGB(0, 153, 255)
			TextBoxInput.TextSize = 14
			TextBoxInput.TextWrapped = true
			TextBoxInput.ClearTextOnFocus = false

			TextBoxInputCorner.Parent = TextBoxInput
			TextBoxInputStroke.Parent = TextBoxInput
			TextBoxInputStroke.Color = Color3.fromRGB(25, 25, 25)
			TextBoxInputStroke.Thickness = 1.3

			TextBoxInput.FocusLost:Connect(function(enterPressed)
				if enterPressed and callback then
					callback(TextBoxInput.Text)
				end
			end)
		end

		function Library:CreateNotification(title, description, duration)
			local Notification = Instance.new("Frame")
			local UICorner_6 = Instance.new("UICorner")
			local Title = Instance.new("TextLabel")
			local Description = Instance.new("TextLabel")
			local shadowHolder_2 = Instance.new("Frame")
			local umbraShadow_2 = Instance.new("ImageLabel")
			local penumbraShadow_2 = Instance.new("ImageLabel")
			local ambientShadow_2 = Instance.new("ImageLabel")

			Notification.Name = "Notification"
			Notification.Parent = NotiHolder
			Notification.BackgroundColor3 = Color3.fromRGB(13, 13, 13)
			Notification.BorderColor3 = Color3.fromRGB(0, 0, 0)
			Notification.BorderSizePixel = 0
			Notification.Position = UDim2.new(0, 0, 0.764857888, 0)
			Notification.Size = UDim2.new(0, 246, 0, 91)
			Notification.BackgroundTransparency = 1

			UICorner_6.Parent = Notification

			Title.Name = "Title"
			Title.Parent = Notification
			Title.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
			Title.BackgroundTransparency = 1.000
			Title.BorderColor3 = Color3.fromRGB(0, 0, 0)
			Title.BorderSizePixel = 0
			Title.Position = UDim2.new(0, 0, 0.0659340695, 0)
			Title.Size = UDim2.new(0, 246, 0, 22)
			Title.FontFace = InterFont
			Title.Text = title
			Title.TextColor3 = Color3.fromRGB(0, 153, 255)
			Title.TextSize = 20.000
			Title.TextWrapped = true
			Title.TextTransparency = 1

			Description.Name = "Description"
			Description.Parent = Notification
			Description.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
			Description.BackgroundTransparency = 1.000
			Description.BorderColor3 = Color3.fromRGB(0, 0, 0)
			Description.BorderSizePixel = 0
			Description.Position = UDim2.new(0.0365853645, 0, 0.395604402, 0)
			Description.Size = UDim2.new(0, 231, 0, 48)
			Description.Font = Enum.Font.SourceSansLight
			Description.Text = description
			Description.TextColor3 = Color3.fromRGB(153, 153, 153)
			Description.TextSize = 17.000
			Description.TextWrapped = true
			Description.TextXAlignment = Enum.TextXAlignment.Left
			Description.TextYAlignment = Enum.TextYAlignment.Top
			Description.TextTransparency = 1

			shadowHolder_2.Name = "shadowHolder"
			shadowHolder_2.Parent = Notification
			shadowHolder_2.BackgroundTransparency = 1.000
			shadowHolder_2.Position = UDim2.new(-0.024390243, 0, -0.0989011005, 0)
			shadowHolder_2.Size = UDim2.new(1.03658533, 0, 1.09890115, 0)
			shadowHolder_2.ZIndex = 0

			umbraShadow_2.Name = "umbraShadow"
			umbraShadow_2.Parent = shadowHolder_2
			umbraShadow_2.AnchorPoint = Vector2.new(0.5, 0.5)
			umbraShadow_2.BackgroundTransparency = 1.000
			umbraShadow_2.Position = UDim2.new(0.5, 0, 0.5, 3)
			umbraShadow_2.Size = UDim2.new(1, 3, 1, 3)
			umbraShadow_2.ZIndex = 0
			umbraShadow_2.Image = "rbxassetid://1316045217"
			umbraShadow_2.ImageColor3 = Color3.fromRGB(0, 0, 0)
			umbraShadow_2.ImageTransparency = 0.860
			umbraShadow_2.ScaleType = Enum.ScaleType.Slice
			umbraShadow_2.SliceCenter = Rect.new(10, 10, 118, 118)

			penumbraShadow_2.Name = "penumbraShadow"
			penumbraShadow_2.Parent = shadowHolder_2
			penumbraShadow_2.AnchorPoint = Vector2.new(0.5, 0.5)
			penumbraShadow_2.BackgroundTransparency = 1.000
			penumbraShadow_2.Position = UDim2.new(0.5, 0, 0.5, 3)
			penumbraShadow_2.Size = UDim2.new(1, 3, 1, 3)
			penumbraShadow_2.ZIndex = 0
			penumbraShadow_2.Image = "rbxassetid://1316045217"
			penumbraShadow_2.ImageColor3 = Color3.fromRGB(0, 0, 0)
			penumbraShadow_2.ImageTransparency = 0.880
			penumbraShadow_2.ScaleType = Enum.ScaleType.Slice
			penumbraShadow_2.SliceCenter = Rect.new(10, 10, 118, 118)

			ambientShadow_2.Name = "ambientShadow"
			ambientShadow_2.Parent = shadowHolder_2
			ambientShadow_2.AnchorPoint = Vector2.new(0.5, 0.5)
			ambientShadow_2.BackgroundTransparency = 1.000
			ambientShadow_2.Position = UDim2.new(0.5, 0, 0.5, 3)
			ambientShadow_2.Size = UDim2.new(1, 3, 1, 3)
			ambientShadow_2.ZIndex = 0
			ambientShadow_2.Image = "rbxassetid://1316045217"
			ambientShadow_2.ImageColor3 = Color3.fromRGB(0, 0, 0)
			ambientShadow_2.ImageTransparency = 0.880
			ambientShadow_2.ScaleType = Enum.ScaleType.Slice
			ambientShadow_2.SliceCenter = Rect.new(10, 10, 118, 118)

			TweenService:Create(Notification, TweenInfo.new(0.5), {BackgroundTransparency = 0}):Play()
			TweenService:Create(Title, TweenInfo.new(0.5), {TextTransparency = 0}):Play()
			TweenService:Create(Description, TweenInfo.new(0.5), {TextTransparency = 0}):Play()

			task.wait(duration)

			TweenService:Create(Notification, TweenInfo.new(0.5), {BackgroundTransparency = 1}):Play()
			TweenService:Create(Title, TweenInfo.new(0.5), {TextTransparency = 1}):Play()
			TweenService:Create(Description, TweenInfo.new(0.5), {TextTransparency = 1}):Play()
			task.wait(.1)
			shadowHolder_2.Visible = false
		end

		function tab:Divider()
			local Divider = Instance.new("Frame")
			local DividerGradient = Instance.new("UIGradient")
			local DividerCorner = Instance.new("UICorner")
			local DividerStroke = Instance.new("UIStroke")

			Divider.Name = "Divider"
			Divider.Parent = Canvas
			Divider.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
			Divider.BorderColor3 = Color3.fromRGB(0, 0, 0)
			Divider.BorderSizePixel = 0
			Divider.Position = UDim2.new(0, 0, 0.621118009, 0)
			Divider.Size = UDim2.new(0, 460, 0, 11)
			Divider.ZIndex = 5

			DividerGradient.Color = ColorSequence.new{ColorSequenceKeypoint.new(0.00, Color3.fromRGB(9, 9, 9)), ColorSequenceKeypoint.new(1.00, Color3.fromRGB(13, 13, 13))}
			DividerGradient.Name = "DividerGradient"
			DividerGradient.Parent = Divider

			DividerCorner.Name = "DividerCorner"
			DividerCorner.Parent = Divider

			DividerStroke.Name = "DividerStroke"
			DividerStroke.Parent = Divider
		end

		function tab:CreateButton(title, callback)
			local Button = Instance.new("ImageButton")
			local ButtonGradient = Instance.new("UIGradient")
			local ButtonCorner = Instance.new("UICorner")
			local ButtonTitle = Instance.new("TextLabel")
			local ButtonStroke = Instance.new("UIStroke")
			local ButtonIcon = Instance.new("ImageLabel")
			local UIAspectRatioConstraint = Instance.new("UIAspectRatioConstraint")

			Button.Name = title
			Button.Parent = Canvas
			Button.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
			Button.BorderColor3 = Color3.fromRGB(0, 0, 0)
			Button.BorderSizePixel = 0
			Button.Position = UDim2.new(0.0198938996, 0, 0.360248446, 0)
			Button.Size = UDim2.new(0, 460, 0, 28)
			Button.ZIndex = 20
			Button.AutoButtonColor = false

			ButtonGradient.Color = ColorSequence.new{ColorSequenceKeypoint.new(0.00, Color3.fromRGB(12, 12, 12)), ColorSequenceKeypoint.new(0.96, Color3.fromRGB(12, 12, 12)), ColorSequenceKeypoint.new(1.00, Color3.fromRGB(13, 13, 13))}
			ButtonGradient.Name = "ButtonGradient"
			ButtonGradient.Parent = Button

			ButtonCorner.Name = "ButtonCorner"
			ButtonCorner.Parent = Button

			ButtonTitle.Name = "ButtonTitle"
			ButtonTitle.Parent = Button
			ButtonTitle.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
			ButtonTitle.BackgroundTransparency = 1.000
			ButtonTitle.BorderColor3 = Color3.fromRGB(0, 0, 0)
			ButtonTitle.BorderSizePixel = 0
			ButtonTitle.Position = UDim2.new(0, 0, 0.25, 0)
			ButtonTitle.Size = UDim2.new(0, 460, 0, 16)
			ButtonTitle.FontFace = InterFont
			ButtonTitle.Text = title
			ButtonTitle.TextColor3 = Color3.fromRGB(100, 100, 100)
			ButtonTitle.TextSize = 14.000

			ButtonStroke.Name = "ButtonStroke"
			ButtonStroke.Parent = Button

			ButtonIcon.Name = "ButtonIcon"
			ButtonIcon.Parent = Button
			ButtonIcon.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
			ButtonIcon.BackgroundTransparency = 1.000
			ButtonIcon.BorderColor3 = Color3.fromRGB(0, 0, 0)
			ButtonIcon.BorderSizePixel = 0
			ButtonIcon.Position = UDim2.new(0.954423606, 0, 0.194444448, 0)
			ButtonIcon.Size = UDim2.new(0, 26, 0, 21)
			ButtonIcon.Image = "rbxassetid://10734898355"
			ButtonIcon.ImageColor3 = Color3.fromRGB(0, 153, 255)

			UIAspectRatioConstraint.Parent = ButtonIcon

			Button.MouseButton1Click:Connect(function()
				if callback then
					callback()
				end
			end)
		end

		return tab
	end

	return window
end

local lib = Library:newWindow("Cons1 Hub")

local tab = lib:newTab("Catching")

local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
local camera = Workspace.CurrentCamera

local g = {}
g.magnetEnabled = false
g.magnetRange = 13.5
g.magnetChance = 99.99
g.magnetType = "Normal"
g.magnetMode = "Regular"
g.ping = 0.1
g.hitboxEnabled = false

local hitboxes = {}
local velocity = {}
local lastBallPositions = {}

local function findFootballs()
    local balls = {}
    for _, obj in next, Workspace:GetChildren() do
        if obj:IsA("BasePart") and obj.Name == "Football" and not obj.Anchored then
            table.insert(balls, obj)
        end
    end
    return balls
end

local function getNearestPartToPosition(pos, parts)
    local closest, dist = nil, math.huge
    for _, p in next, parts do
        if p then
            local d = (p.Position - pos).Magnitude
            if d < dist then
                dist, closest = d, p
            end
        end
    end
    return closest
end

local function createOrUpdateHitbox(ball)
    local size = g.magnetRange
    local hitbox = hitboxes[ball]
    if not hitbox then
        hitbox = Instance.new("Part")
        hitbox.Anchored = true
        hitbox.CanCollide = false
        hitbox.Name = "Hitbox"
        hitbox.Parent = ball.Parent
        hitboxes[ball] = hitbox
    end
    hitbox.Shape = Enum.PartType.Ball
    hitbox.Material = Enum.Material.ForceField
    hitbox.Size = Vector3.new(size, size, size)
    hitbox.CFrame = ball.CFrame
    hitbox.Color = Color3.fromRGB(0, 153, 255)
    hitbox.Transparency = 0.3
end

local function clearHitbox(ball)
    if hitboxes[ball] then
        hitboxes[ball]:Destroy()
        hitboxes[ball] = nil
    end
end

Workspace.ChildRemoved:Connect(function(obj)
    if hitboxes[obj] then
        clearHitbox(obj)
    end
    velocity[obj] = nil
    lastBallPositions[obj] = nil
end)

LocalPlayer.CharacterAdded:Connect(function(c)
    Character = c
end)

RunService.Heartbeat:Connect(function(dt)
    if not Character then return end
    local leftCatch = Character:FindFirstChild("CatchL")
    local rightCatch = Character:FindFirstChild("CatchR")
    if not leftCatch or not rightCatch then return end
    local balls = findFootballs()
    for _, ball in next, balls do
        local lastPos = lastBallPositions[ball] or ball.Position
        velocity[ball] = (ball.Position - lastPos) / dt
        lastBallPositions[ball] = ball.Position

        if g.hitboxEnabled then
            createOrUpdateHitbox(ball)
        else
            clearHitbox(ball)
        end

        if g.magnetEnabled and g.magnetType == "Normal" then
            local predictedPos = ball.Position + (velocity[ball] or Vector3.zero) * g.ping
            local roll = math.random(0, 10000) / 100
            if roll <= g.magnetChance then
                local nearestCatch = getNearestPartToPosition(predictedPos, {leftCatch, rightCatch})
                if nearestCatch and (nearestCatch.Position - predictedPos).Magnitude <= g.magnetRange then
                    firetouchinterest(leftCatch, ball, 0)
                    firetouchinterest(leftCatch, ball, 1)
                    firetouchinterest(rightCatch, ball, 0)
                    firetouchinterest(rightCatch, ball, 1)
                end
            end
        end
    end
end)

task.spawn(function()
    while task.wait() do
        if g.magnetEnabled and g.magnetType == "Cframe" then
            local character = LocalPlayer.Character
            if character then
                local catchLeft = character:FindFirstChild("CatchL")
                if catchLeft then
                    for _, ball in next, workspace:GetChildren() do
                        if ball:IsA("BasePart") and ball.Name == "Football" then
                            if (ball.Position - catchLeft.Position).Magnitude <= g.magnetRange then
                                ball.CFrame = catchLeft.CFrame
                            end
                        end
                    end
                end
            end
        end
    end
end)

tab:CreateToggle("Magnet", false, function(state)
    g.magnetEnabled = state
end)

tab:CreateDropdown("Mag Type", {"Normal", "Cframe"}, function(selected)
    g.magnetType = selected
end)

tab:NewSlider("Radius", {
    Default = 5,
    Min = 0,
    Max = 25,
    Callback = function(value)
        g.magnetRange = value
    end
})

tab:NewSlider("Chance", {
    Default = 100,
    Min = 0,
    Max = 100,
    Callback = function(value)
        g.magnetChance = value
    end
})

tab:CreateDropdown("Mag Mode", {"Regular", "League", "Rage"}, function(selected)
    g.magnetMode = selected
    if selected == "League" then
        g.magnetRange = 5
    elseif selected == "Regular" then
        g.magnetRange = 13.5
    elseif selected == "Rage" then
        g.magnetRange = 25
    end
end)

tab:CreateToggle("Show Hitbox", false, function(state)
    g.hitboxEnabled = state
end)

tab:Divider()

task.spawn(function()
	workspace.ChildAdded:Connect(function(child)
		if child:IsA("BasePart") and child.Name == "Football" and BallResizeOn then
			child.CanCollide = false
			child.Size = Vector3.new(BallResizeSize, BallResizeSize, BallResizeSize)
		end
	end)
end)

task.spawn(function()
	while task.wait(0.1) do
		local char = LocalPlayer.Character
		if not char then continue end

		local leftArm = char:FindFirstChild("Left Arm")
		local rightArm = char:FindFirstChild("Right Arm")
		local leftCatch = char:FindFirstChild("CatchLeft")
		local rightCatch = char:FindFirstChild("CatchRight")

		if leftArm and rightArm then
			if ArmResizeOn then
				leftArm.Size = Vector3.new(leftArm.Size.X, ArmResizeSize, leftArm.Size.Z)
				rightArm.Size = Vector3.new(rightArm.Size.X, ArmResizeSize, rightArm.Size.Z)
				leftArm.Transparency = 0.4
				rightArm.Transparency = 0.4
			else
				leftArm.Size = Vector3.new(leftArm.Size.X, 2, leftArm.Size.Z)
				rightArm.Size = Vector3.new(rightArm.Size.X, 2, rightArm.Size.Z)
				leftArm.Transparency = 0
				rightArm.Transparency = 0
			end

			for _, arm in {leftArm, rightArm} do
				local outline = arm:FindFirstChild("ArmOutline")
				if ArmResizeOn then
					if not outline then
						outline = Instance.new("Highlight")
						outline.Name = "ArmOutline"
						outline.Adornee = arm
						outline.Parent = arm
					end
					outline.FillTransparency = 1
					outline.OutlineTransparency = 0
					outline.OutlineColor = Color3.fromRGB(0, 153, 255)
				elseif outline then
					outline:Destroy()
				end
			end
		end

		if leftCatch and rightCatch then
			if ArmResizeOn then
				local catchSize = Vector3.new(ArmResizeSize, ArmResizeSize, ArmResizeSize)
				leftCatch.Size = catchSize
				rightCatch.Size = catchSize
			else
				leftCatch.Size = Vector3.new(1, 1, 1)
				rightCatch.Size = Vector3.new(1, 1, 1)
			end
		end
	end
end)

tab:CreateToggle("Arm Resize", false, function(state)
    ArmResizeOn = state
end)

tab:NewSlider("Arm Size", {
    Default = 5,
    Min = 0,
    Max = 15,
    Callback = function(value)
        ArmResizeSize = value
    end
})

tab:CreateToggle("Ball Resize", false, function(state)
    BallResizeOn = state
end)

tab:NewSlider("Ball Size", {
    Default = 10,
    Min = 0,
    Max = 20,
    Callback = function(value)
        BallResizeSize = value
    end
})

tab:Divider()

tab:CreateToggle("Pullvector", false, function(state)
    getgenv().pull_on = state
end)

tab:NewSlider("Power", {
    Default = 2,
    Min = 0,
    Max = 5,
    Callback = function(value)
        getgenv().pull_power = value
    end
})

tab:CreateDropdown("Mode", {"Tween", "Velocity"}, function(selected)
    getgenv().pull_mode = selected
end)

tab:Divider()

local wrk = game:GetService("Workspace")
local Players = game:GetService("Players")
local plr = Players.LocalPlayer
local chr = plr.Character or plr.CharacterAdded:Wait()
local hrp = chr:WaitForChild("HumanoidRootPart")

getgenv().pull_on = false
getgenv().pull_mode = "Tween"
getgenv().pull_dist = 25
getgenv().pull_power = 2.5
getgenv().pull_ball = nil

plr.CharacterAdded:Connect(function(c)
    chr = c
    hrp = c:WaitForChild("HumanoidRootPart")
end)

local function findClosest()
    local best, shortest = nil, math.huge
    for _, v in ipairs(wrk:GetChildren()) do
        if v:IsA("BasePart") and v.Name == "Football" then
            local d = (v.Position - hrp.Position).Magnitude
            if d <= getgenv().pull_dist and d < shortest then
                best = v
                shortest = d
            end
        end
    end
    getgenv().pull_ball = best
end

local function pullNow()
    if not getgenv().pull_ball or not hrp then return end
    local pos = getgenv().pull_ball.Position
    local dir = (pos - hrp.Position).Unit
    if getgenv().pull_mode == "Velocity" then
        hrp.Velocity = dir * math.clamp(getgenv().pull_power * 25, 0, 500)
    elseif getgenv().pull_mode == "Tween" then
        chr:SetPrimaryPartCFrame(CFrame.new(pos + Vector3.new(0, 2, 0)))
    end
end

task.spawn(function()
    while true do
        if getgenv().pull_on then
            findClosest()
            if getgenv().pull_ball then
                pullNow()
            end
        end
        task.wait(0.1)
    end
end)

wrk.ChildRemoved:Connect(function(v)
    if v == getgenv().pull_ball then
        getgenv().pull_ball = nil
    end
end)

-- // Services
local Players = game:GetService("Players")
local Player = Players.LocalPlayer

-- // Global Settings
getgenv().ConFreezeTech = {
    Enabled = false,
    Duration = 1,
    Delay = 0,
    Keybind = Enum.KeyCode.C,
    Holding = false
}

local ConFreezeTech = getgenv().ConFreezeTech

-- // Freeze Logic
local function freezePlayer(HRP, duration)
    HRP.Anchored = true
    task.wait(duration)
    HRP.Anchored = false
end

-- // Character Logic
local function setupCharacter(char)
    local HRP = char:FindFirstChild("HumanoidRootPart") or char:WaitForChild("HumanoidRootPart")

    char.ChildAdded:Connect(function(Child)
        if Child.Name == "Football" and Child:IsA("Tool") and ConFreezeTech.Enabled then
            task.wait(ConFreezeTech.Delay)
            freezePlayer(HRP, ConFreezeTech.Duration)
        end
    end)
end

if Player.Character then
    setupCharacter(Player.Character)
end

Player.CharacterAdded:Connect(setupCharacter)

-- // Keybind Logic (Manual Freeze)
local function handleKeybind(state)
    if state == "Begin" then
        ConFreezeTech.Holding = true
        local char = Player.Character
        if char then
            local HRP = char:FindFirstChild("HumanoidRootPart")
            if HRP then HRP.Anchored = true end
        end
    elseif state == "End" then
        ConFreezeTech.Holding = false
        local char = Player.Character
        if char then
            local HRP = char:FindFirstChild("HumanoidRootPart")
            if HRP then HRP.Anchored = false end
        end
    end
end

tab:CreateToggle("Freeze On Catch", false, function(state)
    ConFreezeTech.Enabled = state
end)

tab:NewSlider("Duration", {
    Default = 1,
    Min = 0,
    Max = 5,
    Callback = function(value)
        ConFreezeTech.Duration = value
    end
})

tab:CreateKeybind("Manually", Enum.KeyCode.C, function(state)
    if state == "Begin" then
        local HRP = Player.Character and Player.Character:FindFirstChild("HumanoidRootPart")
        if HRP then
            HRP.Anchored = true
            task.wait(ConFreezeTech.Duration)
            HRP.Anchored = false
        end
    end
end)

local tab = lib:newTab("QB Aimbot")

getgenv().enabled = false
getgenv().leadDistanceVariable = 0
getgenv().heightDistanceVariable = 0
getgenv().dimeLead = 11
getgenv().MagLead = 12.5
getgenv().bulletLead = 4
getgenv().autoAngle = false
getgenv().beamMode = false

tab:CreateToggle("QB Aimbot", getgenv().enabled, function(state)
    getgenv().enabled = state
end)

tab:CreateToggle("Smart Mode", getgenv().beamMode, function(state)
    getgenv().beamMode = state
end)

tab:CreateToggle("Auto Angle", getgenv().autoAngle, function(state)
    getgenv().autoAngle = state
end)

tab:Divider()

tab:NewSlider("Lead", {
    Default = getgenv().leadDistanceVariable,
    Min = 1,
    Max = 30,
    Callback = function(value)
        getgenv().leadDistanceVariable = value
    end
})

tab:NewSlider("Height", {
    Default = getgenv().heightDistanceVariable,
    Min = 1,
    Max = 30,
    Callback = function(value)
        getgenv().heightDistanceVariable = value
    end
})

tab:NewSlider("Dime Lead", {
    Default = getgenv().dimeLead,
    Min = 1,
    Max = 30,
    Callback = function(value)
        getgenv().dimeLead = value
    end
})

tab:NewSlider("Mag Lead", {
    Default = getgenv().MagLead,
    Min = 1,
    Max = 30,
    Callback = function(value)
        getgenv().MagLead = value
    end
})

tab:NewSlider("Bullet Lead", {
    Default = getgenv().bulletLead,
    Min = 1,
    Max = 30,
    Callback = function(value)
        getgenv().bulletLead = value
    end
})

tab:Divider()

tab:CreateButton("Lock Keybind (Q)", function()

end)

tab:CreateButton("Switch Mode Keybind (Z)", function()

end)

local tab = lib:newTab("Player")

local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer

local speedSettings = {
    enabled = false,
    mode = "Walkspeed",
    walkspeed = 20,
    cframeSpeed = 0,
    moveToUsing = {}
}

RunService:BindToRenderStep("WalkSpeed", Enum.RenderPriority.Character.Value, function()
    if not speedSettings.enabled then return end

    local character = player.Character
    local humanoid = character and character:FindFirstChild("Humanoid")
    local root = character and character:FindFirstChild("HumanoidRootPart")
    if not humanoid or not root then return end
    if humanoid:GetState() ~= Enum.HumanoidStateType.Running then return end
    if humanoid.WalkSpeed == 0 then return end

    local moveDir
    if (os.clock() - (speedSettings.moveToUsing[#speedSettings.moveToUsing] or 0)) < 0.5 then
        moveDir = (humanoid.WalkToPoint - root.Position).Unit
    else
        moveDir = humanoid.MoveDirection
    end

    if speedSettings.mode == "Walkspeed" then
        local velocity = root.AssemblyLinearVelocity
        root.AssemblyLinearVelocity = Vector3.new(moveDir.X * speedSettings.walkspeed, velocity.Y, moveDir.Z * speedSettings.walkspeed)
    elseif speedSettings.mode == "CFrame" then
        root.CFrame += moveDir * (speedSettings.cframeSpeed / 58.5)
    end
end)

tab:CreateToggle("Walkspeed", false, function(state)
    speedSettings.enabled = state
    if state then
        speedSettings.mode = "Walkspeed"
    end
end)

tab:NewSlider("Walkspeed", {
    Default = 20,
    Min = 20,
    Max = 23,
    Callback = function(value)
        speedSettings.walkspeed = value
    end
})

tab:CreateToggle("CFrame Speed", false, function(state)
    speedSettings.enabled = state
    if state then
        speedSettings.mode = "CFrame"
    end
end)

tab:NewSlider("CFrame Speed", {
    Default = 0,
    Min = 0,
    Max = 20,
    Callback = function(value)
        speedSettings.cframeSpeed = value
    end
})

tab:Divider()

local Players = game:GetService("Players")
local player = Players.LocalPlayer

local jumpSettings = {
    enabled = false,
    power = 50
}

local function onCharacterMovement(character)
    local humanoid = character:WaitForChild("Humanoid")
    local root = character:WaitForChild("HumanoidRootPart")

    humanoid.Jumping:Connect(function()
        if humanoid:GetState() ~= Enum.HumanoidStateType.Jumping then return end
        if jumpSettings.enabled then
            task.wait(0.05)
            root.AssemblyLinearVelocity += Vector3.new(0, jumpSettings.power - 50, 0)
        end
    end)
end

if player.Character then
    onCharacterMovement(player.Character)
end

player.CharacterAdded:Connect(onCharacterMovement)

tab:CreateToggle("JumpPower", false, function(state)
    jumpSettings.enabled = state
end)

tab:NewSlider("Power", {
    Default = 50,
    Min = 50,
    Max = 70,
    Callback = function(value)
        jumpSettings.power = value
    end
})

tab:Divider()

local UserInputService = game:GetService("UserInputService")  
local angleTick = os.clock()
local shiftLockEnabled = false
local lastEnabled = false
local angleEnhancerEnabled = false
local angleEnhancerPower = 50

local function hookCharacter(character)
    local humanoid = character:WaitForChild("Humanoid")
    local hrp = character:WaitForChild("HumanoidRootPart")

    humanoid.Jumping:Connect(function()
        if not angleEnhancerEnabled then return end
        if humanoid:GetState() ~= Enum.HumanoidStateType.Jumping then return end
        if os.clock() - angleTick > 0.2 then return end
        task.wait(0.05)
        hrp.AssemblyLinearVelocity += Vector3.new(0, angleEnhancerPower - 50, 0)
    end)
end

if player.Character then hookCharacter(player.Character) end
player.CharacterAdded:Connect(hookCharacter)

UserInputService:GetPropertyChangedSignal("MouseBehavior"):Connect(function()
    shiftLockEnabled = (UserInputService.MouseBehavior == Enum.MouseBehavior.LockCenter)
end)

task.spawn(function()
    while true do
        task.wait()
        local character = player.Character
        if not character then continue end
        local hrp = character:FindFirstChild("HumanoidRootPart")
        local humanoid = character:FindFirstChild("Humanoid")
        if not hrp or not humanoid then continue end

        if not shiftLockEnabled and lastEnabled then
            angleTick = os.clock()
        end

        lastEnabled = shiftLockEnabled
    end
end)

tab:CreateToggle("Angle Enhancer", false, function(state)
    angleEnhancerEnabled = state
end)

tab:NewSlider("Power", {
    Default = 50,
    Min = 50,
    Max = 70,
    Callback = function(value)
        angleEnhancerPower = value
    end
})

tab:Divider()

local UserInputService = game:GetService("UserInputService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer

local noJumpCooldown = false

local function onCharacterJumpFix(char)
    local humanoid = char:WaitForChild("Humanoid")
    task.spawn(function()
        while char and char.Parent and humanoid and noJumpCooldown do
            task.wait()
            humanoid:SetStateEnabled(Enum.HumanoidStateType.Jumping, true)
        end
    end)
end

if player.Character then
    onCharacterJumpFix(player.Character)
end

player.CharacterAdded:Connect(function(char)
    if noJumpCooldown then
        onCharacterJumpFix(char)
    end
end)

tab:CreateToggle("No Jump Cooldown", false, function(state)
    noJumpCooldown = state
    if state and player.Character then
        onCharacterJumpFix(player.Character)
    end
end)

tab:Divider()
local Players = game:GetService("Players")
local player = Players.LocalPlayer

local hipHeightEnabled = false
local hipHeightValue = 0

local function applyHipHeight(char)
    local humanoid = char:WaitForChild("Humanoid")
    task.spawn(function()
        while humanoid and humanoid.Parent and hipHeightEnabled do
            humanoid.HipHeight = hipHeightValue
            task.wait()
        end
    end)
end

if player.Character then
    applyHipHeight(player.Character)
end

player.CharacterAdded:Connect(function(char)
    if hipHeightEnabled then
        applyHipHeight(char)
    else
        local humanoid = char:WaitForChild("Humanoid")
        humanoid.HipHeight = 0
    end
end)

tab:CreateToggle("Hip Height", false, function(state)
    hipHeightEnabled = state
    local character = player.Character
    if character then
        local humanoid = character:FindFirstChildOfClass("Humanoid")
        if humanoid then
            if state then
                applyHipHeight(character)
            else
                humanoid.HipHeight = 0
            end
        end
    end
end)

tab:NewSlider("Height", {
    Default = 0,
    Min = 0,
    Max = 20,
    Callback = function(value)
        hipHeightValue = value
    end
})

tab:Divider()

local customGravity = workspace.Gravity

tab:NewSlider("Gravity", {
    Default = 196.2,
    Min = 0,
    Max = 196.2,
    Callback = function(value)
        customGravity = value
        workspace.Gravity = value
    end
})

local tab = lib:newTab("Automatic")

getgenv().ConAutoRush = getgenv().ConAutoRush or {
    AutoRushOn = false,
    AutoRushPredict = true,
    AutoRushDelay = 0.3
}

local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer

local rushLine, rushStart, rushEnd
local endPart

local function isEnemy(player)
    if not LocalPlayer.Team or not player.Team then
        return true
    end
    return player.Team ~= LocalPlayer.Team
end

local function findPossessor()
    for _, player in ipairs(Players:GetPlayers()) do
        local char = player.Character
        if char and char:FindFirstChildWhichIsA("Tool") and isEnemy(player) then
            return char
        end
    end
    return nil
end

local function createPredictionLine()
    if rushLine then rushLine:Destroy() end
    if endPart then endPart:Destroy() end

    local part = Instance.new("Part")
    part.Anchored = true
    part.CanCollide = false
    part.Transparency = 1
    part.Size = Vector3.new(0.5, 0.5, 0.5)
    part.Name = "RushLine"

    local a1 = Instance.new("Attachment", part)
    local a2 = Instance.new("Attachment", part)

    local beam = Instance.new("Beam")
    beam.Attachment0 = a1
    beam.Attachment1 = a2
    beam.Color = ColorSequence.new(Color3.fromRGB(0, 255, 255))
    beam.Width0 = 0.4
    beam.Width1 = 0.4
    beam.FaceCamera = true
    beam.LightInfluence = 0
    beam.Transparency = NumberSequence.new(0)
    beam.Parent = a1

    part.Parent = workspace
    rushLine, rushStart, rushEnd = part, a1, a2

    endPart = Instance.new("Part")
    endPart.Anchored = true
    endPart.CanCollide = false
    endPart.Size = Vector3.new(2, 2, 2)
    endPart.Transparency = 0
    endPart.BrickColor = BrickColor.new("Cyan")
    endPart.Material = Enum.Material.Neon
    endPart.Name = "RushEndPart"
    endPart.Parent = workspace
end

tab:CreateToggle("Auto Rush", false, function(state)
    getgenv().ConAutoRush.AutoRushOn = state
    if state and not rushLine then
        createPredictionLine()
    elseif not state then
        if rushLine then rushLine.Parent = nil end
        if endPart then endPart.Parent = nil end
    end
end)

tab:CreateToggle("Prediction", true, function(state)
    getgenv().ConAutoRush.AutoRushPredict = state
end)

task.spawn(function()
    local log = {}
    while true do
        task.wait(1/30)

        if not getgenv().ConAutoRush.AutoRushOn then
            if rushLine then rushLine.Parent = nil end
            if endPart then endPart.Parent = nil end
            continue
        end

        local char = LocalPlayer.Character
        if not char then continue end
        local hrp = char:FindFirstChild("HumanoidRootPart")
        local hum = char:FindFirstChild("Humanoid")
        if not hrp or not hum then continue end

        local possessor = findPossessor()
        if not possessor then
            log = {}
            if rushLine then rushLine.Parent = nil end
            if endPart then endPart.Parent = nil end
            continue
        end

        local possHRP = possessor:FindFirstChild("HumanoidRootPart")
        if not possHRP then continue end

        local logIndex = math.max(#log - math.round(getgenv().ConAutoRush.AutoRushDelay / (1/30)), 1)
        local delayedPos = log[logIndex]
        table.insert(log, possHRP.Position)

        if not delayedPos then continue end

        local predictedPos = delayedPos + (possessor.Humanoid.MoveDirection * 20 * getgenv().ConAutoRush.AutoRushDelay)
        hum:MoveTo(getgenv().ConAutoRush.AutoRushPredict and predictedPos or delayedPos)

        if getgenv().ConAutoRush.AutoRushPredict then
            if not rushLine then
                createPredictionLine()
            end
            rushLine.Position = predictedPos
            rushStart.WorldPosition = hrp.Position
            rushEnd.WorldPosition = predictedPos
            rushLine.Parent = workspace

            if endPart then
                endPart.Position = predictedPos
                endPart.Parent = workspace
            end
        else
            if rushLine then rushLine.Parent = nil end
            if endPart then endPart.Parent = nil end
        end
    end
end)


tab:Divider()

local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Player = Players.LocalPlayer

getgenv().ConAutomatic = {
    ConAutoQB = false,
    ConAutoQBType = "Legit",
    ConAutoQBBlacklist = {}
}

local ConAutomatic = getgenv().ConAutomatic

task.spawn(function()
    while true do
        task.wait()
        if ConAutomatic.ConAutoQB and game.PlaceId ~= 8206123457 then
            local Football = workspace:FindFirstChild("Football")
            local Flags = ReplicatedStorage:FindFirstChild("Flags")
            local StatusValue = Flags and Flags:FindFirstChild("Status")
            local PossessionTag = Flags and Flags:FindFirstChild("PossessionTag")
            local StatusTag = Flags and Flags:FindFirstChild("StatusTag")

            local character = Player.Character
            local HRP = character and character:FindFirstChild("HumanoidRootPart")
            local Humanoid = character and character:FindFirstChildOfClass("Humanoid")

            if HRP
                and Humanoid
                and Football
                and StatusValue and StatusValue.Value == "PrePlay"
                and PossessionTag and PossessionTag.Value == Player.Team.Name
                and StatusTag and not table.find(ConAutomatic.ConAutoQBBlacklist, StatusTag.Value)
            then
                local TargetPosition = Football.Position

                if ConAutomatic.ConAutoQBType == "Legit" then
                    Humanoid:MoveTo(TargetPosition)
                elseif ConAutomatic.ConAutoQBType == "Blatant" then
                    HRP.CFrame = CFrame.new(TargetPosition)
                end
            end
        end
    end
end)

tab:CreateToggle("Auto QB", false, function(state)
    ConAutomatic.ConAutoQB = state
end)

tab:CreateDropdown("Auto QB Type", {"Legit", "Blatant"}, function(value)
    ConAutomatic.ConAutoQBType = value
end)

tab:Divider()

getgenv().ConAutomatic = getgenv().ConAutomatic or {
    AutoBoost = false,
    BoostPower = 10,
    _lastBoostTime = 0
}

task.spawn(function()
    while true do
        task.wait()
        if getgenv().ConAutomatic.AutoBoost and getgenv().ConAutomatic.BoostPower > 0 then
            local now = tick()
            if now - getgenv().ConAutomatic._lastBoostTime >= 5 then
                local char = Players.LocalPlayer.Character
                if char and char:FindFirstChild("HumanoidRootPart") then
                    for _, plr in ipairs(Players:GetPlayers()) do
                        if plr ~= Players.LocalPlayer and plr.Character and plr.Character:FindFirstChild("Head") then
                            local head = plr.Character.Head
                            if (char.HumanoidRootPart.Position - head.Position).Magnitude < 4 then
                                char.HumanoidRootPart.Velocity = Vector3.new(0, getgenv().ConAutomatic.BoostPower * 6, 0)
                                getgenv().ConAutomatic._lastBoostTime = now
                                break
                            end
                        end
                    end
                end
            end
        end
    end
end)

tab:CreateToggle("Auto Boost", false, function(state)
    getgenv().ConAutomatic.AutoBoost = state
end)

tab:NewSlider("Boost Power", {
    Default = getgenv().ConAutomatic.BoostPower,
    Min = 1,
    Max = 25,
    Callback = function(value)
        getgenv().ConAutomatic.BoostPower = value
    end
})

tab:Divider()

local Players = game:GetService("Players")
local VirtualInputManager = game:GetService("VirtualInputManager")
local Player = Players.LocalPlayer

getgenv().ConAutomatic = getgenv().ConAutomatic or {
    ConAutoSwat = false,
    ConAutoSwatDelay = 0,
    ConAutoSwatDistance = 2
}

local ConAutomatic = getgenv().ConAutomatic

task.spawn(function()
    while true do
        task.wait()
        if ConAutomatic.ConAutoSwat then
            local char = Player.Character
            local HRP = char and char:FindFirstChild("HumanoidRootPart")
            if not HRP then continue end

            local closest, closestDist = nil, math.huge

            for _, v in pairs(workspace:GetChildren()) do
                if v.Name == "Football" and v:IsA("BasePart") then
                    local d = (HRP.Position - v.Position).Magnitude
                    if d < closestDist then
                        closestDist = d
                        closest = v
                    end
                end
            end

            if closest and closestDist <= ConAutomatic.ConAutoSwatDistance then
                task.wait(ConAutomatic.ConAutoSwatDelay)
                VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.R, false, game)
                task.wait(0.1)
                VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.R, false, game)
            end
        end
    end
end)

tab:CreateToggle("Auto Swat", false, function(state)
    ConAutomatic.ConAutoSwat = state
end)

tab:NewSlider("Radius", {
    Default = ConAutomatic.ConAutoSwatDistance,
    Min = 0,
    Max = 15,
    Callback = function(value)
        ConAutomatic.ConAutoSwatDistance = value
    end
})

tab:Divider()

local Players = game:GetService("Players")
local Player = Players.LocalPlayer

getgenv().ConAutomatic = getgenv().ConAutomatic or {
    AutoResetEnabled = false,
    AutoResetDelay = 1
}

local ConAutomatic = getgenv().ConAutomatic

Player.CharacterAdded:Connect(function(c)
    ConAutomatic._charRef = c
end)
ConAutomatic._charRef = Player.Character

local function onFootballCatchReset()
    if not ConAutomatic.AutoResetEnabled or not ConAutomatic._charRef then return end
    local hrp = ConAutomatic._charRef:FindFirstChild("HumanoidRootPart")
    if not hrp then return end
    task.wait(ConAutomatic.AutoResetDelay)
    if ConAutomatic._charRef and ConAutomatic._charRef:FindFirstChild("Humanoid") then
        ConAutomatic._charRef:BreakJoints()
    end
end

task.spawn(function()
    while true do
        task.wait(0.1)
        if not ConAutomatic.AutoResetEnabled then continue end
        local char = ConAutomatic._charRef
        if not char then continue end
        local tool = char:FindFirstChildOfClass("Tool")
        if tool and tool.Name == "Football" then
            onFootballCatchReset()
        end
    end
end)

tab:CreateToggle("Auto Reset", false, function(state)
    ConAutomatic.AutoResetEnabled = state
end)

tab:NewSlider("Reset Delay", {
    Default = ConAutomatic.AutoResetDelay,
    Min = 0,
    Max = 2,
    Callback = function(value)
        ConAutomatic.AutoResetDelay = value
    end
})

local tab = lib:newTab("Physics")

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer

local tackleReachEnabled = false
local tackleReachRange = 15
local tackleReachConnection

local function fireTouchInterest(part1, part2, toggle)
    firetouchinterest(part1, part2, toggle)
end

local function activateTackleReach()
    if tackleReachConnection then
        tackleReachConnection:Disconnect()
        tackleReachConnection = nil
    end
    tackleReachConnection = RunService.Heartbeat:Connect(function()
        if not tackleReachEnabled then return end
        local character = LocalPlayer.Character
        if not character then return end
        local hrp = character:FindFirstChild("HumanoidRootPart")
        if not hrp then return end
        for _, player in pairs(Players:GetPlayers()) do
            if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
                local targetHrp = player.Character.HumanoidRootPart
                local distance = (hrp.Position - targetHrp.Position).Magnitude
                if distance <= tackleReachRange then
                    for _, part in pairs(player.Character:GetChildren()) do
                        if part:IsA("BasePart") and character:FindFirstChild(part.Name) then
                            fireTouchInterest(character[part.Name], part, 0)
                            fireTouchInterest(character[part.Name], part, 1)
                        end
                    end
                end
            end
        end
    end)
end

tab:CreateToggle("Tackle Reach", false, function(state)
    tackleReachEnabled = state
    if state then
        activateTackleReach()
    else
        if tackleReachConnection then
            tackleReachConnection:Disconnect()
            tackleReachConnection = nil
        end
    end
end)

tab:NewSlider("Reach", {
    Default = tackleReachRange,
    Min = 0,
    Max = 25,
    Callback = function(value)
        tackleReachRange = value
    end
})

tab:Divider()

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")

getgenv().ConPhysic = getgenv().ConPhysic or {
    QuickTPEnabled = false,
    TPKey = Enum.KeyCode.F,
    TPDistance = 0
}

local quickTPCooldown = 0.2
local lastTP = 0
local mobileButton

local function teleportForward()
    if tick() - lastTP < quickTPCooldown then return end
    lastTP = tick()
    local char = LocalPlayer.Character
    if char and char:FindFirstChild("HumanoidRootPart") then
        local hrp = char.HumanoidRootPart
        hrp.CFrame = hrp.CFrame + hrp.CFrame.LookVector * getgenv().ConPhysic.TPDistance
    end
end

UserInputService.InputBegan:Connect(function(input, processed)
    if processed then return end
    if getgenv().ConPhysic.QuickTPEnabled and input.UserInputType == Enum.UserInputType.Keyboard then
        if input.KeyCode == getgenv().ConPhysic.TPKey then
            teleportForward()
        end
    end
end)

local function createMobileButton()
    if mobileButton then mobileButton:Destroy() end
    if not UserInputService.TouchEnabled then return end
    local screenGui = Instance.new("ScreenGui")
    screenGui.Name = "ConQuickTPButton"
    screenGui.ResetOnSpawn = false
    screenGui.Parent = PlayerGui

    mobileButton = Instance.new("TextButton")
    mobileButton.Size = UDim2.new(0, 75, 0, 75)
    mobileButton.Position = UDim2.new(0.5, 0, 1, -50)
    mobileButton.AnchorPoint = Vector2.new(0.5, 1)
    mobileButton.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
    mobileButton.TextColor3 = Color3.fromRGB(102, 178, 255)
    mobileButton.Text = "TP"
    mobileButton.TextScaled = true
    mobileButton.Font = Enum.Font.SourceSansBold
    mobileButton.TextWrapped = true
    mobileButton.TextXAlignment = Enum.TextXAlignment.Center
    mobileButton.TextYAlignment = Enum.TextYAlignment.Center
    mobileButton.AutoButtonColor = true
    mobileButton.BorderSizePixel = 0
    mobileButton.Parent = screenGui

    local uicorner = Instance.new("UICorner")
    uicorner.CornerRadius = UDim.new(0.5, 0)
    uicorner.Parent = mobileButton

    mobileButton.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.Touch then
            teleportForward()
        end
    end)
end

tab:CreateToggle("Quick TP", false, function(state)
    getgenv().ConPhysic.QuickTPEnabled = state
    if state then
        createMobileButton()
    elseif mobileButton then
        mobileButton:Destroy()
        mobileButton = nil
    end
end)

tab:NewSlider("TP Distance", {
    Default = getgenv().ConPhysic.TPDistance,
    Min = 0,
    Max = 5,
    Callback = function(value)
        getgenv().ConPhysic.TPDistance = value
    end
})

tab:Divider()

local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local Mouse = LocalPlayer:GetMouse()

getgenv().ConPhysic = getgenv().ConPhysic or {
    ClickTackleEnabled = false,
    ClickTackleDistance = 5
}

local function ConClickTackleHandler()
    if getgenv().ConPhysic.ClickTackleConnection then
        getgenv().ConPhysic.ClickTackleConnection:Disconnect()
        getgenv().ConPhysic.ClickTackleConnection = nil
    end

    getgenv().ConPhysic.ClickTackleConnection = Mouse.Button1Down:Connect(function()
        if not getgenv().ConPhysic.ClickTackleEnabled then return end
        for _, obj in pairs(workspace:GetDescendants()) do
            if obj.Name == "Football" and obj:IsA("Tool") then
                local rootPart = obj.Parent:FindFirstChild("HumanoidRootPart")
                local charHRP = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
                if rootPart and charHRP then
                    local playerPos = charHRP.Position
                    local objPos = rootPart.Position
                    if (objPos - playerPos).Magnitude <= getgenv().ConPhysic.ClickTackleDistance then
                        charHRP.CFrame = rootPart.CFrame + Vector3.new(1,1,1)
                    end
                end
            end
        end
    end)
end

ConClickTackleHandler()

tab:CreateToggle("Click Tackle", false, function(state)
    getgenv().ConPhysic.ClickTackleEnabled = state
end)

tab:NewSlider("Click Tackle Distance", {
    Default = getgenv().ConPhysic.ClickTackleDistance,
    Min = 0,
    Max = 25,
    Callback = function(value)
        getgenv().ConPhysic.ClickTackleDistance = value
    end
})

tab:Divider()

local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer

getgenv().LocalPlayer = LocalPlayer
getgenv().headSizeEnabled = false
getgenv().headSizeValue = 5
getgenv().headTransparency = 0

tab:CreateToggle("Custom Head Size", false, function(state)
	getgenv().headSizeEnabled = state
end)

tab:NewSlider("Head Size", {
	Default = 5,
	Min = 1,
	Max = 5,
	Callback = function(value)
		getgenv().headSizeValue = value
	end
})

tab:NewSlider("Head Transparency", {
	Default = 0,
	Min = 0,
	Max = 1,
	Decimals = 0.1,
	Callback = function(value)
		getgenv().headTransparency = value
	end
})

task.spawn(function()
	local function applyChanges(character)
		local head = character and character:FindFirstChild("Head")
		local mesh = head and head:FindFirstChildWhichIsA("SpecialMesh")
		if not mesh then return end
		mesh.MeshType = getgenv().headSizeEnabled and Enum.MeshType.Sphere or Enum.MeshType.Head
		head.Size = getgenv().headSizeEnabled and Vector3.new(getgenv().headSizeValue, 1, getgenv().headSizeValue) or Vector3.new(2, 1, 1)
		head.Transparency = getgenv().headTransparency
	end

	while true do
		task.wait()
		for _, player in next, Players:GetPlayers() do
			if player == getgenv().LocalPlayer then continue end
			applyChanges(player.Character)
		end
	end
end)

tab:Divider()

local tab = lib:newTab("Visual")

local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local RunService = game:GetService("RunService")

local highlightColor = Color3.fromRGB(0, 153, 255)
local footballHighlightEnabled = false
local footballHighlightConnection

local function startFootballHighlight()
    footballHighlightConnection = workspace.ChildAdded:Connect(function(child)
        if child:IsA("BasePart") and child.Name == "Football" then
            task.wait()

            if not footballHighlightEnabled then return end

            local highlight = Instance.new("Highlight")
            highlight.Name = "FootballHighlight"
            highlight.FillTransparency = 1
            highlight.OutlineTransparency = 0
            highlight.OutlineColor = highlightColor
            highlight.Adornee = child
            highlight.Parent = child

            local removalConnection
            removalConnection = RunService.Heartbeat:Connect(function()
                if not child:IsDescendantOf(workspace) then
                    highlight:Destroy()
                    removalConnection:Disconnect()
                end
            end)
        end
    end)
end

local function stopFootballHighlight()
    if footballHighlightConnection then
        footballHighlightConnection:Disconnect()
        footballHighlightConnection = nil
    end

    for _, obj in next, workspace:GetDescendants() do
        if obj:IsA("Highlight") and obj.Name == "FootballHighlight" then
            obj:Destroy()
        end
    end
end

tab:CreateToggle("Football Highlight", false, function(state)
    footballHighlightEnabled = state
    if state then
        startFootballHighlight()
    else
        stopFootballHighlight()
    end
end)

tab:Divider()

getgenv().ConBoostFPS = getgenv().ConBoostFPS or false
local originalMaterials = {}

local function toggleBoostFPS(state)
    getgenv().ConBoostFPS = state
    if state then
        for _, obj in pairs(workspace:GetDescendants()) do
            if obj:IsA("BasePart") and obj.Material then
                originalMaterials[obj] = obj.Material
                obj.Material = Enum.Material.SmoothPlastic
            end
        end
    else
        for obj, original in pairs(originalMaterials) do
            if obj and obj:IsDescendantOf(workspace) then
                obj.Material = original
            end
        end
        table.clear(originalMaterials)
    end
end

tab:CreateToggle("No Texture", false, function(state)
    toggleBoostFPS(state)
end)

tab:NewSlider("FPS Cap", {
    Default = 60,
    Min = 30,
    Max = 500,
    Callback = function(value)
        if setfpscap then
            setfpscap(value)
        end
    end
})

tab:Divider()

Features & Information

Hitbox Mags Auto Block Ball Hitbox QB Aimbot and more
#Football fusion#Football#Fusion#ff#football fusion

Community Comments (0)

No comments yet for this script.

More Scripts for Football Fusion 3