junecc leaked
Key RequiredUniversal

junecc leaked

Universal ScriptArtieArtie 2.5K views 5 executesUpdated Mar 24, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•2726 lines (108602 chars)
--[[------------------------------------------------------------]]
            --[[------- june --------]]
--[[------------------------------------------------------------]]

repeat task.wait() until game:IsLoaded()

--- services
local players		= cloneref(game:GetService("Players"))
local StarterPlayer = game:GetService("StarterPlayer")
local tweenService	= cloneref(game:GetService("TweenService"))
local runService	= cloneref(game:GetService("RunService"))
local CoreGui       = cloneref(game:GetService("CoreGui"))
local UIS			= cloneref(game:GetService("UserInputService"))
local lighting      = cloneref(game:GetService("Lighting"))

local runservice = cloneref(game:GetService("RunService"))
local workspace  = cloneref(game:GetService("Workspace"))
local coregui    = cloneref(game:GetService("CoreGui"))

-- Vars
local localplayer = players.LocalPlayer
local camera = workspace.CurrentCamera

-- vars
local mouse 		= localplayer:GetMouse()
local tweenInfo 	= TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut)

-- Library
local Library = {
    Ui_Bind = Enum.KeyCode.RightShift,
    MenuColors = {
        Background = Color3.fromRGB(40,40,40),
        InnerContainer = Color3.fromRGB(22, 22, 22),
        Section = Color3.fromRGB(24, 24, 24),
        BorderColor = Color3.fromRGB(30, 30, 30),
        Accent = Color3.fromRGB(7, 191, 117),
        TabInactive = Color3.fromRGB(60, 60, 60),
        TabActive = Color3.fromRGB(200, 200, 200),
        ElementText = Color3.fromRGB(160, 160, 160),
        RiskyText = Color3.fromRGB(150, 0, 0),
    },
    flags = {},
}

-- Function to create an instance
function Library:Create(Class, Properties)
    local _Instance = type(Class) == 'string' and Instance.new(Class) or Class
    for Property, Value in next, Properties do
        _Instance[Property] = Value
    end
    return _Instance
end

-- QOL Functions
function Library:validate(defaults, options)
	for i,v in pairs(defaults) do
		if options[i] == nil then
			options[i] = v
		end
	end
    return options
end
function Library:tween(object, goal, callback)
	local tween = tweenService:Create(object, tweenInfo, goal)
	tween.Completed:Connect(callback or function() end)
	tween:Play()
end

function AddWindow(options)
    local options = options or {}
	options = Library:validate({
		name = "june.cc",
        size = UDim2.new(0, 480, 0, 540)
	}, options or {})

    local menu = {
        CurrentTab = nil
    }

    local ProtectGui = protectgui or (syn and syn.protect_gui) or (function() end)
    local ScreenGui = cloneref(Instance.new("ScreenGui")) ProtectGui(ScreenGui)
    ScreenGui.Parent = CoreGui
    ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Global
    ScreenGui.Name = "june.cc"

    -----------------------------
       ---- Main Window  -----
    -----------------------------

    local Background = Library:Create('Frame', {
        Name = "june",
        Size = options.size,
        AnchorPoint = Vector2.new("0.5","0.5"),
        Position = UDim2.new(0.5, -100, 0.5, 0),
        BackgroundColor3 = Library.MenuColors.Background,
        BorderSizePixel = 0,
        Parent = ScreenGui,
    })

    local UIShadow = Library:Create("ImageLabel", {
        Parent = Background,
        BackgroundTransparency = 1,
        BorderSizePixel = 0,
        Image = "rbxassetid://17391257361",
        AnchorPoint = Vector2.new(0.5, 0.5),
        Position = UDim2.new(0.5, 5, 0.5, 20),
        Size = UDim2.new(1, 200, 1, 200)
    })

    local mousebutton = Library:Create("TextButton", {
        Parent = Background,
        Size = UDim2.new(0, 1, 0, 1),
        BackgroundTransparency = 1,
        TextTransparency = 1,
        BorderSizePixel = 0,
        Name = "mousebutton",
        Modal = true
    })

    local Title = Library:Create("TextLabel", {
        Parent = Background,
        Size = UDim2.new(1, 0, 0, 22),
        Position = UDim2.new(0,10,0,1),
        BackgroundTransparency = 1,
        TextColor3 = Color3.fromRGB(200, 200, 200),
        TextSize = 11,
        RichText = true,
        Text = options.name,
        FontFace = Font.fromId(12187362578, Enum.FontWeight.SemiBold),
        TextXAlignment = Enum.TextXAlignment.Left,
        Name = "Title"
    })

    local TabContainer = Library:Create("Frame", {
        Parent = Background,
        Size = UDim2.new(1, -70, 0, 22),
        AnchorPoint = Vector2.new(1, 0),
        Position = UDim2.new(1, 0, 0, 0),
        BackgroundTransparency = 1,
        BorderSizePixel = 0,
        Name = "TabContainer"
    })

    local UIPadding = Library:Create("UIPadding", {
        Parent = TabContainer,
        PaddingRight = UDim.new(0, 10)
    })

    local TabLayout = Library:Create("UIListLayout", {
        Parent = TabContainer,
        FillDirection = Enum.FillDirection.Horizontal,
        HorizontalAlignment = Enum.HorizontalAlignment.Right,
        VerticalAlignment = Enum.VerticalAlignment.Center,
        Padding = UDim.new(0, 4),
        SortOrder = Enum.SortOrder.LayoutOrder,
        Name = "TabLayout"
    })

    local InnerContainer = Library:Create("Frame", {
        Parent = Background,
        Size = UDim2.new(1, -22, 1, -32),
        AnchorPoint = Vector2.new(0.5, 0.5),
        Position = UDim2.new(0.5, 0, 0.5, 10),
        BackgroundColor3 = Library.MenuColors.InnerContainer,
        BorderSizePixel = 0,
        Name = "InnerContainer"
    })

    local UIStroke = Library:Create("UIStroke", {
        Parent = InnerContainer,
        Color = Library.MenuColors.BorderColor
    })

    local addedwidths = 0
    function menu:AddTab(options)
        options = Library:validate({
            name = "Example"
        }, options or {})

        local tab = {
            Hover = false,
            Active = false
        }

        local Tab = Library:Create("TextLabel", {
            Parent = TabContainer,
            BackgroundTransparency = 1,
            TextColor3 = Library.MenuColors.TabInactive,
            TextSize = 11,
            Text = options.name,
            FontFace = Font.fromId(12187362578, Enum.FontWeight.SemiBold),
            TextXAlignment = Enum.TextXAlignment.Center,
            Size = UDim2.new(0, 0, 1, 0),
            Name = options.name,
        })
        Tab.Size = UDim2.new(0, Tab.TextBounds.X + 5, 1, 0) -- Correct Size

        local TabLine = Library:Create("Frame", {
            Parent = Tab,
            BackgroundColor3 = Library.MenuColors.TabInactive,
            BackgroundTransparency = 0.6,
            Size = UDim2.new(1, 0, 0, 1),
            AnchorPoint = Vector2.new(0, 1),
            Position = UDim2.new(0, 0, 1, -1),
            BorderSizePixel = 0,
            Name = options.name,
        })

        -- Calculate new width for TabContainer [bcuz my tab functionality is ass :cry]
        local width = 0
        width = addedwidths + width + Tab.AbsoluteSize.X + 5
        addedwidths = width
        TabContainer.Size = UDim2.new(0, width, 0, TabContainer.Size.Y.Offset)

        -----------------------------
            --- Tab Content -----
        -----------------------------

        local InnerContainer = Library:Create("Frame", {
            Parent = InnerContainer,
            Size = UDim2.new(1, -14, 1, -14),
            AnchorPoint = Vector2.new(0.5, 0.5),
            Position = UDim2.new(0.5, 0, 0.5, 0),
            Active = false,
            Visible = false,
            BackgroundTransparency = 1,
            BorderSizePixel = 0,
            Name = options.name
        })
        
        local ContainerLSize = InnerContainer.AbsoluteSize.X / 2 - 10
        local LeftContainer = Library:Create("Frame", {
            Parent = InnerContainer,
            Visible = false,
            Size = UDim2.new(0, ContainerLSize, 1, 0),
            BackgroundTransparency = 1,
            BorderSizePixel = 0,
            Name = "LeftContainer"
        })

        local ContainerRSize = InnerContainer.AbsoluteSize.X / 2 - 10
        local RightContainer = Library:Create("Frame", {
            Parent = InnerContainer,
            Visible = false,
            Size = UDim2.new(0, ContainerRSize, 1, 0),
            AnchorPoint = Vector2.new(1, 0),
            Position = UDim2.new(1, 0, 0, 0),
            BackgroundTransparency = 1,
            BorderSizePixel = 0,
            Name = "RightContainer"
        })

        do -- Functionality
			function tab:Activate()
				if not tab.Active then
					if menu.CurrentTab ~= nil then
						tab:Deactivate()
					end

					tab.Active = true
					InnerContainer.Active = true
					InnerContainer.Visible = true

					LeftContainer.Visible = true
					RightContainer.Visible = true

                    Library:tween(TabLine, {BackgroundColor3 = Library.MenuColors.Accent})
                    Library:tween(TabLine, {BackgroundTransparency = 0})
                    Library:tween(Tab, {TextColor3 = Library.MenuColors.TabActive})
					menu.CurrentTab = Tab
				end
			end
			
			function tab:Deactivate()
				if tab.Active then

					tab.Active = false
					tab.Hover = false

					InnerContainer.Active = false
					InnerContainer.Visible = false

					LeftContainer.Visible = false
					RightContainer.Visible = false

                    Library:tween(TabLine, {BackgroundColor3 = Library.MenuColors.TabInactive})
                    Library:tween(TabLine, {BackgroundTransparency = 0.6})
                    Library:tween(Tab, {TextColor3 = Library.MenuColors.TabInactive})
				end
			end

			-- Logic
			Tab.MouseEnter:Connect(function()
				tab.Hover = true

				if not tab.Active then
                    Library:tween(TabLine, {BackgroundColor3 = Library.MenuColors.Accent})
                    Library:tween(TabLine, {BackgroundTransparency = 0})
                    Library:tween(Tab, {TextColor3 = Library.MenuColors.TabActive})
				end
			end)
		
			Tab.MouseLeave:Connect(function()
				tab.Hover = false

				if not tab.Active then
                    Library:tween(TabLine, {BackgroundColor3 = Library.MenuColors.TabInactive})
                    Library:tween(TabLine, {BackgroundTransparency = 0.6})
                    Library:tween(Tab, {TextColor3 = Library.MenuColors.TabInactive})
				end
			end)

			TabContainer.MouseEnter:Connect(function()
				tab.MouseInside = true
			end)

			TabContainer.MouseLeave:Connect(function()
				tab.MouseInside = false
			end)

			UIS.InputBegan:Connect(function(input,gpe)
				if gpe then return end

				if input.UserInputType == Enum.UserInputType.MouseButton1 then
					if tab.Hover then
						tab:Activate()
					elseif tab.MouseInside then
						tab:Deactivate()
					end
				end
			end)

			if menu.CurrentTab == nil then
				tab:Activate()
			end
        end

        local LeftHeight = {}
		local RightHeight = {}
		local NewPos = 0

        function tab:AddSection(options)
            options = Library:validate({
				name = "Preview",
				side = "Left",
				height = "200"
			}, options or {})
            
            local section = {
                Hover = false,
            }
			-- Calculate Section Position
			do
				if options.side == "Left" then
					if LeftHeight then
						if #LeftHeight > 0 then
							NewPos = LeftHeight[1] + 30
						else
							NewPos = 15
						end
					else
						NewPos = 15
					end
				else
					if RightHeight then
						if #RightHeight > 0 then
							NewPos = RightHeight[1] + 30
						else
							NewPos = 15
						end
					else
						NewPos = 15
					end
				end
            end

            local Section = Library:Create("Frame", {
                Size = UDim2.new(1, 0, 0, options.height),
                AnchorPoint = Vector2.new(0, 0),
                BackgroundColor3 = Library.MenuColors.Section,
                Position = UDim2.new(0, 0, 0, NewPos - 12),
                BorderSizePixel = 0,
                Name = options.name
            })

            do -- handle side picking
                if options.side == "Right" then
                    Section.Parent = RightContainer
                    table.insert(RightHeight, Section.Size.Y.Offset)
                else
                    Section.Parent = LeftContainer
                    table.insert(LeftHeight, Section.Size.Y.Offset)
                end
            end

            local SectionText = Library:Create("TextLabel", {
                Parent = Section,
                Size = UDim2.new(0, 0, 0, 1),
                Position = UDim2.new(0, 15, 0, -2),
                AnchorPoint = Vector2.new(1, 0),
                BackgroundTransparency = 1,
                TextXAlignment = Enum.TextXAlignment.Left,
                FontFace = Font.fromId(12187362578, Enum.FontWeight.SemiBold),
                Text = options.name,
                TextColor3 = Color3.fromRGB(200, 200, 200),
                TextSize = 10,
                Name = "SectionText",
                ZIndex = 2
            })
            

			local Size = SectionText.TextBounds.X + 20
			local LineSize = Size / -1

            local SectionLine = Library:Create("Frame", {
                Parent = Section,
                Size = UDim2.new(0, LineSize, 0, 1),
                Position = UDim2.new(0, 20, 0, -1),
                AnchorPoint = Vector2.new(1, 0),
                BackgroundColor3 = Color3.fromRGB(27, 27, 34),
                BackgroundTransparency = 0,
                BorderSizePixel = 0,
                Name = "SectionLine",
            })
            

            local UIStroke2 = Library:Create("UIStroke", {
                Thickness = 1,
                Color = Library.MenuColors.BorderColor,
                LineJoinMode = Enum.LineJoinMode.Miter,
                Parent = Section,
                Name = "UIStroke2"
            })

            local SubContainer = Library:Create("Frame", {
                Parent = Section,
                Size = UDim2.new(1, 0, 0, 16),
                AnchorPoint = Vector2.new(0, 0),
                Position = UDim2.new(0, 0, 0, 6),
                BackgroundTransparency = 1,
                BorderSizePixel = 0,
                Name = "SubContainer",
                Active = true
            })
            
            local SectionTabLayout = Library:Create("UIListLayout", {
                Parent = SubContainer,
                FillDirection = Enum.FillDirection.Horizontal,
                VerticalAlignment = Enum.VerticalAlignment.Center,
                Padding = UDim.new(0, 0),
                SortOrder = Enum.SortOrder.LayoutOrder,
                Name = "SectionTabLayout"
            })

            local ElementContainer = Library:Create("Frame", {
                Parent = Section,
                Size = UDim2.new(1, 0, 1, 0),
                Position = UDim2.new(0, 0, 0, 0),
                BackgroundTransparency = 1,
                Name = "ElementContainer"
            })
            
            local UIPadding1 = Library:Create("UIPadding", {
                Parent = ElementContainer,
                PaddingTop = UDim.new(0, 10),
                PaddingLeft = UDim.new(0, 10),
                PaddingRight = UDim.new(0, 10),
                PaddingBottom = UDim.new(0, 10)
            })

            local ElementLayout = Library:Create("UIListLayout", {
                Parent = ElementContainer,
                SortOrder = Enum.SortOrder.LayoutOrder,
                Padding = UDim.new(0, 5)
            })

            getgenv().TabsExist = false
            function section:AddTab(options)
                options = Library:validate({
                    name = "Preview"
                }, options or {})
    
                local sectiontab = {
                    Hover = false,
                    Active = false
                }
                local TabGUI = {
                    CurrentTab = nil
                }
                getgenv().TabsExist = true

				ElementContainer:Destroy()

                local TabButton = Library:Create("Frame", {
                    Parent = SubContainer,
                    Size = UDim2.new(1, 0, 1, 0),
                    BackgroundTransparency = 1,
                    BorderSizePixel = 0,
                    Name = options.name
                })

                local SectionTabText = Library:Create("TextLabel", {
                    Parent = TabButton,
                    Size = UDim2.new(1, 0, 1, 0),
                    BackgroundTransparency = 1,
                    FontFace = Font.fromId(12187362578, Enum.FontWeight.Thin),
                    Text = options.name,
                    TextColor3 = Library.MenuColors.TabInactive,
                    TextSize = 11,
                    TextXAlignment = Enum.TextXAlignment.Center,
                    Name = "SectionText"
                })

                local SectionTabLine = Library:Create("Frame", {
                    Parent = TabButton,
                    Size = UDim2.new(1, -4, 0, 1),
                    AnchorPoint = Vector2.new(0, 1),
                    Position = UDim2.new(0, 0, 1, 2),
                    BackgroundColor3 = Library.MenuColors.TabInactive,
                    BackgroundTransparency = 0.6,
                    BorderSizePixel = 0,
                    Name = "SectionTabLine"
                })

				-- Calculate Tab Size To Fit
				do
					local tabCount = 0
					for _, sectiontab in ipairs(SubContainer:GetChildren()) do
						if sectiontab:IsA("Frame") then
							tabCount = tabCount + 1
						end
					end
					
					local finalValue = SubContainer.AbsoluteSize.X / tabCount
					for _, sectiontab in ipairs(SubContainer:GetChildren()) do
						if sectiontab:IsA("Frame") then
							sectiontab.Size = UDim2.new(0, finalValue, 1, 0)
						end
					end
				end

                local TabInnerContainer = Library:Create("Frame", {
                    Parent = Section,
                    Size = UDim2.new(1, 0, 1, -32),
                    AnchorPoint = Vector2.new(0, 0),
                    Position = UDim2.new(0, 0, 0, 32),
                    BackgroundTransparency = 1,
                    BorderSizePixel = 0,
                    Active = false,
                    Visible = false,
                    Name = "TabInnerContainer"
                })

                local UIPadding2 = Instance.new("UIPadding")
                UIPadding2.Parent = TabInnerContainer
                UIPadding2.PaddingLeft = UDim.new(0, 10)
                UIPadding2.PaddingTop = UDim.new(0, 5)
                UIPadding2.PaddingRight = UDim.new(0, 10)
                UIPadding2.PaddingBottom = UDim.new(0, 5)
                
				getgenv().TabInnerContainer = TabInnerContainer

                -- Functionality
				do
					function sectiontab:Activate()
						if not sectiontab.Active then
							if TabGUI.CurrentTab ~= nil then
								sectiontab:Deactivate()
							end
					
							sectiontab.Active = true

							TabInnerContainer.Active = true
							TabInnerContainer.Visible = true

                            Library:tween(SectionTabLine, {BackgroundColor3 = Library.MenuColors.Accent})
                            Library:tween(SectionTabLine, {BackgroundTransparency = 0})
                            Library:tween(SectionTabText, {TextColor3 = Library.MenuColors.TabActive})
					
							TabGUI.CurrentTab = sectiontab
						end
					end

					function sectiontab:Deactivate()
						if sectiontab.Active then
					
							sectiontab.Active = false
							sectiontab.Hover = false
					
							TabInnerContainer.Active = false
							TabInnerContainer.Visible = false
					
                            Library:tween(SectionTabLine, {BackgroundColor3 = Library.MenuColors.TabInactive})
                            Library:tween(SectionTabLine, {BackgroundTransparency = 0.6})
                            Library:tween(SectionTabText, {TextColor3 = Library.MenuColors.TabInactive})
						end
					end

					-- Logic
					TabButton.MouseEnter:Connect(function()
						sectiontab.Hover = true

						if not sectiontab.Active then
                            Library:tween(SectionTabLine, {BackgroundColor3 = Library.MenuColors.Accent})
                            Library:tween(SectionTabLine, {BackgroundTransparency = 0})
                            Library:tween(SectionTabText, {TextColor3 = Library.MenuColors.TabActive})
						end
					end)
				
					TabButton.MouseLeave:Connect(function()
						sectiontab.Hover = false

						if not sectiontab.Active then
                            Library:tween(SectionTabLine, {BackgroundColor3 = Library.MenuColors.TabInactive})
                            Library:tween(SectionTabLine, {BackgroundTransparency = 0.6})
                            Library:tween(SectionTabText, {TextColor3 = Library.MenuColors.TabInactive})
						end
					end)

					SubContainer.MouseEnter:Connect(function()
						sectiontab.MouseInside = true
					end)
					
					SubContainer.MouseLeave:Connect(function()
						sectiontab.MouseInside = false
					end)

					UIS.InputBegan:Connect(function(input)
						if input.UserInputType == Enum.UserInputType.MouseButton1 then
							if sectiontab.Hover then
								sectiontab:Activate()
							elseif sectiontab.MouseInside then
								sectiontab:Deactivate()
							end
						end
					end)
				end

                local ContentLayout = Library:Create("UIListLayout", {
                    Parent = TabInnerContainer,
                    FillDirection = Enum.FillDirection.Vertical,
                    VerticalAlignment = Enum.VerticalAlignment.Top,
                    Padding = UDim.new(0, 8),
                    SortOrder = Enum.SortOrder.LayoutOrder,
                    Name = "ContentLayout"
                })

                return section
            end

            function section:AddButton(options)
                options = Library:validate({
                    name = "Example Button",
                    callback = function() end,
                    subbutton = {
                        enabled = false,
                        name = "Subbutton",
                        callback = function() end
                    },
                }, options or {})

                local button = {
                    Hover = false
                }
                
                if getgenv().TabsExist then
                    elementParent = getgenv().TabInnerContainer
                else
                    elementParent = ElementContainer
                end
                getgenv().elementparent = elementParent

                local ButtonContainer = Library:Create("Frame", {
                    Parent = getgenv().elementparent,
                    Size = UDim2.new(1, 0, 0, 20),
                    Name = options.name,
                    BackgroundTransparency = 1
                })

                local Button = Library:Create("Frame", {
                    Parent = ButtonContainer,
                    Position = UDim2.new(0, 15, 0, 0),
                    Name = "Button",
                    BorderSizePixel = 1,
                    BorderColor3 = Library.MenuColors.BorderColor
                })

                local UIGradient = Library:Create("UIGradient", {
                    Parent = Button,
                    Color = ColorSequence.new{
                        ColorSequenceKeypoint.new(0.00, Color3.fromRGB(30, 30, 30)),
                        ColorSequenceKeypoint.new(1.00, Color3.fromRGB(40, 40, 40))
                    },
                    Rotation = 90,
                })
                
                if options.subbutton.enabled then
                    Button.Size = UDim2.new(0.5, -30, 0, 17)
                else
                    Button.Size = UDim2.new(1, -50, 0, 17)
                end

                local ButtonTitle = Library:Create("TextLabel", {
                    Parent = Button,
                    Size = UDim2.new(1, 0, 1, 0),
                    BackgroundTransparency = 1,
                    TextColor3 = Library.MenuColors.ElementText,
                    TextSize = 11,
                    Text = options.name,
                    FontFace = Font.fromId(12187362578, Enum.FontWeight.Regular),
                    TextXAlignment = Enum.TextXAlignment.Center,
                    Name = "ButtonTitle"
                })
                
                -- Functionality
                do
                    Button.MouseEnter:Connect(function()
                        button.Hover = true
        
                        Library:tween(ButtonTitle, {TextColor3 = Library.MenuColors.Accent})
                    end)
                
                    Button.MouseLeave:Connect(function()
                        button.Hover = false

                        Library:tween(ButtonTitle, {TextColor3 = Library.MenuColors.ElementText})
                    end)

                    UIS.InputBegan:Connect(function(input)
                        if input.UserInputType == Enum.UserInputType.MouseButton1 then
                            if button.Hover then
                                options.callback()
                            end
                        end
                    end)
                end

                ---- Sub Buttons ----
                if options.subbutton.enabled then
                    local button1 = {
                        Hover = false
                    }
                    
                    local Button1 = Library:Create("Frame", {
                        Parent = ButtonContainer,
                        Size = UDim2.new(0.5, -30, 0, 17),
                        AnchorPoint = Vector2.new(1, 0.5),
                        Position = UDim2.new(1, -30, 0.425, 0),
                        Name = "SubButton",
                        BorderSizePixel = 1,
                        BorderColor3 = Library.MenuColors.BorderColor
                    })

                    local UIGradient2 = Library:Create("UIGradient", {
                        Parent = Button1,
                        Color = ColorSequence.new{
                            ColorSequenceKeypoint.new(0.00, Color3.fromRGB(30, 30, 30)),
                            ColorSequenceKeypoint.new(1.00, Color3.fromRGB(40, 40, 40))
                        },
                        Rotation = 90,
                    })

                    local ButtonTitle1 = Library:Create("TextLabel", {
                        Parent = Button1,
                        Size = UDim2.new(1, 0, 1, 0),
                        BackgroundTransparency = 1,
                        TextColor3 = Library.MenuColors.ElementText,
                        TextSize = 11,
                        Text = options.subbutton.name,
                        FontFace = Font.fromId(12187362578, Enum.FontWeight.Regular),
                        TextXAlignment = Enum.TextXAlignment.Center,
                        Name = "ButtonTitle"
                    })
                
                    -- Functionality
                    do
                        Button1.MouseEnter:Connect(function()
                            button1.Hover = true
                            Library:tween(ButtonTitle1, {TextColor3 = Library.MenuColors.Accent})
                        end)
                
                        Button1.MouseLeave:Connect(function()
                            button1.Hover = false
                            Library:tween(ButtonTitle1, {TextColor3 = Library.MenuColors.ElementText})
                        end)
    
                        UIS.InputBegan:Connect(function(input)
                            if input.UserInputType == Enum.UserInputType.MouseButton1 then
                                if button1.Hover then
                                    options.subbutton.callback()
                                end
                            end
                        end)
                    end
                end

                return section
            end

            function section:AddToggle(options)
                options = Library:validate({
					name = "Example Toggle",
                    default = true,
                    risky = false,
                    callback = function(state) end,
                    -- keybinds
                    keybinds = {
                        enabled = false,
                        key = "A",
                        getkey = function(key) end,
                    },
                    -- colorpickers
                    colorpicker = {
                        enabled = false,
                        color = Color3.fromRGB(255, 255, 255),
                        getcolor = function(color) end
                    },
				}, options or {})

                local toggle = {
                    Hover = false,
                    State = options.default
                }
                local keybind = {
                    Hover = false,
                    key = options.keybinds.key
                }

                if not options.flag and options.name then options.flag = options.name end
                if not options.keybinds.flag and options.name then options.keybinds.flag = options.name.."keybind" end
                if not options.colorpicker.flag and options.name then options.colorpicker.flag = options.name.."colorpicker" end
                if not options.colorpicker.color and options.name then options.colorpicker.color = Color3.fromRGB(255,255,255) end

                if options.keybinds.key == "" or options.keybinds.key == nil then
                    options.keybinds.key = "..."
                    keybind.key = "..."
                end

                if getgenv().TabsExist then
                    elementParent = getgenv().TabInnerContainer
                else
                    elementParent = ElementContainer
                end
                getgenv().elementparent = elementParent

                local ToggleContainer = Library:Create("Frame", {
                    Size = UDim2.new(1, 0, 0, 12),
                    Parent = getgenv().elementparent,
                    BackgroundTransparency = 1,
                    Name = "ToggleContainer"
                })

                local Toggle = Library:Create("Frame", {
                    Size = UDim2.new(0, 7, 0, 8),
                    BackgroundColor3 = Library.MenuColors.TabInactive,
                    BorderColor3 = Library.MenuColors.BorderColor,
                    AnchorPoint = Vector2.new(0, 0.5),
                    Position = UDim2.new(0, 0, 0.5, 0),
                    Parent = ToggleContainer,
                    Name = "Toggle",
                    BorderSizePixel = 2
                })

                local UIStroke3 = Library:Create("UIStroke", {
                    Thickness = 1,
                    Color = Color3.fromRGB(0, 0, 0),
                    LineJoinMode = Enum.LineJoinMode.Miter,
                    Parent = Toggle,
                    Name = "UIStroke3"
                })

                local ToggleTitle = Library:Create("TextLabel", {
                    Parent = ToggleContainer,
                    AnchorPoint = Vector2.new(0, 0.5),
                    Position = UDim2.new(0, 15, 0, 6),
                    BackgroundTransparency = 1,
                    TextColor3 = Library.MenuColors.ElementText,
                    TextSize = 11,
                    Text = options.name,
                    FontFace = Font.fromId(12187362578, Enum.FontWeight.Regular),
                    TextXAlignment = Enum.TextXAlignment.Left,
                    Name = "ToggleTitle",
                })

                if options.risky == false then
                    ToggleTitle.TextColor3 = Library.MenuColors.ElementText
                else
                    ToggleTitle.TextColor3 = Library.MenuColors.RiskyText
                end

                do -- Functionality
                    ToggleContainer.MouseEnter:Connect(function()
						toggle.Hover = true
						Library:tween(Toggle, {BackgroundColor3 = Library.MenuColors.Accent})
					end)
				
					ToggleContainer.MouseLeave:Connect(function()
						toggle.Hover = false
						if toggle.State ~= true then
							Library:tween(Toggle, {BackgroundColor3 = Library.MenuColors.InnerContainer})
						end
					end)
                    
                    if toggle.State then
                        Library.flags[options.flag] = toggle.State
                        Library:tween(Toggle, {BackgroundColor3 = Library.MenuColors.Accent})

                    else
                        Library.flags[options.flag] = toggle.State
                        Library:tween(Toggle, {BackgroundColor3 = Library.MenuColors.InnerContainer})
                        
                    end

                    UIS.InputBegan:Connect(function(input)
                        if input.UserInputType == Enum.UserInputType.MouseButton1 then
                            if toggle.Hover and not keybind.Hover then
                                toggle.State = not toggle.State
                                options.callback(toggle.State)
                                if toggle.State then
                                    Library.flags[options.flag] = toggle.State
                                  
                                    Library:tween(Toggle, {BackgroundColor3 = Library.MenuColors.Accent})
                                else
                                    Library.flags[options.flag] = toggle.State
                                  
                                    Library:tween(Toggle, {BackgroundColor3 = Library.MenuColors.InnerContainer})
                                end
                            end
                        end
                    end)
                end
                options.callback(toggle.State)

                ---- Keybinds ----
                local Keybind = Instance.new("Frame")
                if options.keybinds.enabled then
                    options.keybinds.getkey(keybind.key)
                
                    Keybind.Parent = ToggleContainer
                    Keybind.Size = UDim2.new(0, 45, 1, 0)
                    Keybind.AnchorPoint = Vector2.new(1, 0.5)
                    Keybind.Position = UDim2.new(1.1, 0, 0.5, 0)
                    Keybind.Name = "Keybind"
                    Keybind.BorderColor3 = Library.MenuColors.BorderColor
                    Keybind.BackgroundColor3 = Library.MenuColors.InnerContainer
                    Keybind.BorderSizePixel = 2

                    local KeybindText = Library:Create("TextLabel", {
                        Parent = Keybind,
                        Size = UDim2.new(1, 0, 1, 0),
                        BackgroundTransparency = 1,
                        TextColor3 = Library.MenuColors.ElementText,
                        TextSize = 9,
                        Text = options.keybinds.key,
                        FontFace = Font.fromId(12187362578, Enum.FontWeight.Regular),
                        TextXAlignment = Enum.TextXAlignment.Center,
                        Name = "KeybindText"
                    })
                    
                    local UIStroke4 = Library:Create("UIStroke", {
                        Thickness = 1,
                        Color = Color3.fromRGB(0, 0, 0),
                        LineJoinMode = Enum.LineJoinMode.Miter,
                        Parent = Keybind,
                        Name = "UIStroke4"
                    })                    
                    
                    Keybind.Size = UDim2.new(0, KeybindText.TextBounds.X + 10, 1, 0)

                    do -- Functionality
                        Keybind.MouseEnter:Connect(function()
                            keybind.Hover = true
                            Library:tween(UIStroke4, {Color = Library.MenuColors.Accent})
                        end)
                        
                        Keybind.MouseLeave:Connect(function()
                            keybind.Hover = false
                            Library:tween(UIStroke4, {Color = Color3.fromRGB(0, 0, 0)})
                        end)
                        
                        local function _wait_for_input()
                            local getkey
                            getkey = UIS.InputBegan:Connect(function(input)
                                local keyPressed = input.KeyCode == Enum.KeyCode.Unknown and input.UserInputType or input.KeyCode
                                local disallowedKeys = { Enum.KeyCode.W, Enum.KeyCode.A, Enum.KeyCode.S, Enum.KeyCode.D, Enum.UserInputType.MouseMovement }
                                local isDisallowed = false
                                for _, key in ipairs(disallowedKeys) do
                                    if keyPressed == key then
                                        isDisallowed = true
                                        break
                                    end
                                end
                                if isDisallowed then
                                    return
                                end
                                
                                if input.KeyCode == Enum.KeyCode.Backspace then
                                    options.keybinds.key = nil
                                    Library.flags[options.keybinds.flag] = "Unknown"
                                    
                                    KeybindText.Text = "..."
                                    getkey:Disconnect()
                                else
                                    local str = tostring(keyPressed)
                                    local _, Index1 = str:find("%.")
                                    local _, Index2 = str:find("%.", Index1 + 1)
                
                                    if Index2 then
                                        local formattedkey = str:sub(Index2 + 1)
                                        options.keybinds.key = formattedkey
                                        KeybindText.Text = formattedkey
                                        Keybind.Size = UDim2.new(0, KeybindText.TextBounds.X + 10, 1, 0)
                                        options.keybinds.getkey(formattedkey)
                                       if formattedkey == "MouseButton1" then
                                        Library.flags[options.keybinds.flag] = Enum.UserInputType[formattedkey]
                                       elseif formattedkey == "MouseButton2" then
                     
                                        Library.flags[options.keybinds.flag] = Enum.UserInputType[formattedkey]
                                       else
                                       
                                        Library.flags[options.keybinds.flag] = Enum.KeyCode[formattedkey]
                                       end
                                    end
                                    
                                    if keyPressed then getkey:Disconnect() end
                                end
                            end)
                        end
                        
                        UIS.InputBegan:Connect(function(input)
                            if input.UserInputType == Enum.UserInputType.MouseButton1 then
                                if keybind.Hover then
                                    KeybindText.Text = "..."
                                    Keybind.Size = UDim2.new(0, KeybindText.TextBounds.X + 10, 1, 0)
                                    _wait_for_input()
                                end
                            end
                        end)                                        
                    end
                end
                ---- Color Pickers ----
                if options.colorpicker.enabled then
                    local colorpicker = Instance.new("Frame")
                    local mid = Instance.new("Frame")
                    local front = Instance.new("Frame")
                    local button2 = Instance.new("TextButton")
                    local colorFrame = Instance.new("Frame")
                    local colorFrame_2 = Instance.new("Frame")
                    local hueframe = Instance.new("Frame")
                    local main = Instance.new("Frame")
                    local hue = Instance.new("ImageLabel")
                    local pickerframe = Instance.new("Frame")
                    local main_2 = Instance.new("Frame")
                    local picker = Instance.new("ImageLabel")
                    local copy = Instance.new("TextButton")

                    colorpicker.Parent = ToggleContainer
                    colorpicker.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
                    colorpicker.BorderColor3 = Color3.fromRGB(0, 0, 0)
                    colorpicker.BorderSizePixel = 3
                    colorpicker.AnchorPoint = Vector2.new(1, 0.5)
                    colorpicker.Size = UDim2.new(0, 15, 0, 10)
                    colorpicker.Position = UDim2.new(1.1, 0, 0.5, 0)

                    do -- Dynamic Position
                        local debounce = false

                        local function updatepos()
                            if not debounce then
                                debounce = true
                                
                                if options.keybinds.enabled then
                                    local margin = ToggleContainer.Keybind.KeybindText
                                    local pos = margin.TextBounds.X + 20
                                    ToggleContainer.Size = UDim2.new(0.5,0,0,12)
                                    colorpicker.Position = UDim2.new(2.03, -pos, 0.5, 0)
                                    Keybind.Position = UDim2.new(2.03, 0, 0.5, 0)
                                else
                                    ToggleContainer.Size = UDim2.new(0.92,0,0,12)
                                    colorpicker.Position = UDim2.new(1.1, 0, 0.5, 0)
                                    Keybind.Position = UDim2.new(1.1, 0, 0.5, 0)
                                end
                                
                                debounce = false
                            end
                        end
                        updatepos()

                        if options.keybinds.enabled then
                            ToggleContainer.Keybind.Changed:Connect(updatepos)
                        end
                    end
                    
                    mid.Name = "mid"
                    mid.Parent = colorpicker
                    mid.BackgroundColor3 = Color3.fromRGB(69, 23, 255)
                    mid.BorderColor3 = Color3.fromRGB(17, 17, 17)
                    mid.BorderSizePixel = 2
                    mid.Size = UDim2.new(1, 0, 1, 0)

                    front.Name = "front"
                    front.Name = "dontchange"
                    front.Parent = mid
                    front.BackgroundColor3 = Library.MenuColors.Background
                    front.BorderColor3 = Color3.fromRGB(0, 0, 0)
                    front.Size = UDim2.new(1, 0, 1, 0)

                    button2.Name = "button2"
                    button2.Parent = front
                    button2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
                    button2.BackgroundTransparency = 1.000
                    button2.Size = UDim2.new(1, 0, 1, 0)
                    button2.Text = ""
                    button2.FontFace = Font.fromId(12187362578, Enum.FontWeight.Regular)
                    button2.TextColor3 = Color3.fromRGB(0, 0, 0)
                    button2.TextSize = 11

                    local colorpicker = Instance.new("Frame")
                    colorpicker.Name = "colorpicker"
                    colorpicker.Parent = ToggleContainer
                    colorpicker.BackgroundTransparency = 1
                    colorpicker.BackgroundColor3 = Library.MenuColors.InnerContainer
                    colorpicker.Size = UDim2.new(0, 200, 0, 160)
                    if colorpicker.Parent.Parent.Parent.Parent.Name == "RightContainer" then
                        colorpicker.Position = UDim2.new(0, 300, 0, 0)
                    else
                        colorpicker.Position = UDim2.new(0, -240, 0, -85)
                    end
                    colorpicker.BorderSizePixel = 0
                    colorpicker.ZIndex = 6
                    colorpicker.Visible = false

                    local tframe = Instance.new("Frame")
                    tframe.Name = "tframe"
                    tframe.Parent = colorpicker
                    tframe.BackgroundColor3 = Color3.fromRGB(12, 12, 12)
                    tframe.Size = UDim2.new(0, 165, 0.095, 0)
                    tframe.Position = UDim2.new(0, 4, 1, -8) 
                    tframe.ZIndex = 2
                    tframe.BorderSizePixel = 0
                    tframe.Visible = false
                    tframe.BorderColor3 = Color3.fromRGB(0, 0, 0)

                    local main_tframe = Instance.new("ImageLabel")
                    main_tframe.Name = "main_tframe"
                    main_tframe.Parent = tframe
                    main_tframe.Visible = false
                    main_tframe.ImageColor3 = Color3.fromRGB(175, 175, 175)
                    main_tframe.Size = UDim2.new(0, 14, 1, 0)
                    main_tframe.Position = UDim2.new(0, 75, 1, -90) 
                    main_tframe.Image = "rbxassetid://2615689005"
                    main_tframe.ZIndex = 2
                    main_tframe.SizeConstraint = Enum.SizeConstraint.RelativeXX
                    main_tframe.BorderSizePixel = 0
                    main_tframe.Rotation = 90
                    main_tframe.BorderColor3 = Library.MenuColors.BorderColor

                    colorFrame_2.Name = "colorFrame"
                    colorFrame_2.Parent = colorpicker 
                    colorFrame_2.BackgroundColor3 = Color3.fromRGB(12,12,12)
                    colorFrame_2.BorderColor3 = Library.MenuColors.BorderColor
                    colorFrame_2.Size = UDim2.new(1, 0, 1.25, 0)
                    colorFrame_2.BorderSizePixel = 2

                    local UIStroke10 = Instance.new("UIStroke")
                    UIStroke10.Thickness = 1
                    UIStroke10.Color = Color3.fromRGB(0, 0, 0)
                    UIStroke10.LineJoinMode = Enum.LineJoinMode.Round
                    UIStroke10.Parent = colorFrame_2
                    UIStroke10.Name = "UIStrokeColorpicker"

                    local textframe = Instance.new("Frame")
                    textframe.Name = "text1"
                    textframe.Parent = colorFrame_2
                    textframe.BackgroundColor3 = Color3.fromRGB(12, 12, 12)
                    textframe.Size = UDim2.new(0, 191, 0, 10)
                    textframe.Position = UDim2.new(0, 5, 0, 170) 
                    textframe.ZIndex = 1
                    textframe.BorderSizePixel = 2
                    textframe.Visible = false
                    textframe.BorderColor3 = Color3.fromRGB(0, 0, 0)

                    local UIStroke1660 = Instance.new("UIStroke")
                    UIStroke1660.Thickness = 1
                    UIStroke1660.Color = Color3.fromRGB(30, 30, 30)
                    UIStroke1660.LineJoinMode = Enum.LineJoinMode.Miter
                    UIStroke1660.Parent = textframe
                    UIStroke1660.Name = "UIStrokeColorpicker"

                    local textframe2 = Instance.new("TextLabel")
                    textframe2.Parent = textframe
                    textframe2.Size = UDim2.new(1, 0, 1, 0)
                    textframe2.BackgroundTransparency = 1
                    textframe2.TextColor3 = Library.MenuColors.ElementText
                    textframe2.TextSize = 11
                    textframe2.RichText = true
                    textframe2.FontFace = Font.fromId(12187362578, Enum.FontWeight.Regular)
                    textframe2.TextXAlignment = Enum.TextXAlignment.Center
                    textframe2.Name = "colorpickertext"
                    textframe2.Visible = false

                    local buttonframe = Instance.new("Frame")
                    buttonframe.Name = "button1"
                    buttonframe.Parent = colorFrame_2
                    buttonframe.BackgroundColor3 = Color3.fromRGB(12, 12, 12)
                    buttonframe.Size = UDim2.new(0, 191, 0, 10)
                    buttonframe.Position = UDim2.new(0, 5, 0, 185) 
                    buttonframe.ZIndex = 1
                    buttonframe.BorderSizePixel = 2
                    buttonframe.Visible = false
                    buttonframe.BorderColor3 = Color3.fromRGB(0, 0, 0)            

                    local UIStroke121660 = Instance.new("UIStroke")
                    UIStroke121660.Thickness = 1
                    UIStroke121660.Color = Color3.fromRGB(30, 30, 30)
                    UIStroke121660.LineJoinMode = Enum.LineJoinMode.Miter
                    UIStroke121660.Parent = buttonframe
                    UIStroke121660.Name = "UIStrokeColorpicker"

                    local copybutton = Instance.new("TextButton")
                    copybutton.Parent = buttonframe
                    copybutton.Size = UDim2.new(0, 90, 0, 10)
                    copybutton.Position = UDim2.new(0, 0, 0, 0) 
                    copybutton.BackgroundTransparency = 1
                    copybutton.TextColor3 = Library.MenuColors.ElementText
                    copybutton.TextTransparency = 0
                    copybutton.TextSize = 11
                    copybutton.BorderSizePixel = 0
                    copybutton.Name = "copycolor"
                    copybutton.FontFace = Font.fromId(12187362578, Enum.FontWeight.Regular)
                    copybutton.Visible = false
                    copybutton.Modal = true
                    copybutton.Text = "Copy"

                    copybutton.MouseEnter:Connect(function()
						Library:tween(copybutton, {TextColor3 = Library.MenuColors.Accent})
					end)
					
					copybutton.MouseLeave:Connect(function()
						Library:tween(copybutton, {TextColor3 = Library.MenuColors.ElementText})
					end)

                    local pastebutton = Instance.new("TextButton")
                    pastebutton.Parent = buttonframe
                    pastebutton.Size = UDim2.new(0, 90, 0, 10)
                    pastebutton.Position = UDim2.new(0, 102, 0, 0) 
                    pastebutton.BackgroundTransparency = 1
                    pastebutton.TextTransparency = 0
                    pastebutton.BorderSizePixel = 0
                    pastebutton.TextSize = 11
                    pastebutton.FontFace = Font.fromId(12187362578, Enum.FontWeight.Regular)
                    pastebutton.Name = "pastecolor"
                    pastebutton.Modal = true
                    pastebutton.Text = "Paste"
                    pastebutton.TextColor3 = Library.MenuColors.ElementText
                    pastebutton.Visible = false

                    pastebutton.MouseEnter:Connect(function()
						Library:tween(pastebutton, {TextColor3 = Library.MenuColors.Accent})
					end)
					
					pastebutton.MouseLeave:Connect(function()
						Library:tween(pastebutton, {TextColor3 = Library.MenuColors.ElementText})
					end)

                    local buttonframe2 = Instance.new("TextLabel")
                    buttonframe2.Parent = buttonframe
                    buttonframe2.Size = UDim2.new(1, 0, 1, 0)
                    buttonframe2.BackgroundTransparency = 1
                    buttonframe2.TextColor3 = Color3.fromRGB(255, 255, 255)
                    buttonframe2.TextSize = 11
                    buttonframe2.Text = "/"
                    buttonframe2.FontFace = Font.fromId(12187362578, Enum.FontWeight.Regular)
                    buttonframe2.TextXAlignment = Enum.TextXAlignment.Center
                    buttonframe2.Name = "colorpickertext"
                    buttonframe2.TextColor3 = Library.MenuColors.ElementText
                    buttonframe2.Visible = false

                    hueframe.Name = "hueframe"
                    hueframe.Parent = colorFrame_2
                    hueframe.BackgroundColor3 = Color3.fromRGB(12,12,12)
                    hueframe.BorderColor3 = Library.MenuColors.BorderColor
                    hueframe.BorderSizePixel = 2
                    hueframe.AnchorPoint = Vector2.new(0, 0.5)
                    hueframe.Position = UDim2.new(0, 5, 0.381, 0)
                    hueframe.Size = UDim2.new(0.27, 110, 0.17, 112)

                    local color_dot = Instance.new("Frame")
                    color_dot.Name = "hue_dot"
                    color_dot.Parent = hueframe
                    color_dot.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
                    color_dot.BorderColor3 = Color3.fromRGB(0, 0, 0)
                    color_dot.BorderSizePixel = 1
                    color_dot.Position = UDim2.new(0, 42, 0, 32)
                    color_dot.Size = UDim2.new(0, 2, 0, 2)
                    color_dot.ZIndex = 99999

                    main.Name = "main"
                    main.Parent = hueframe
                    main.BackgroundColor3 = Color3.fromRGB(11,11,11)
                    main.BorderColor3 = Library.MenuColors.BorderColor
                    main.Size = UDim2.new(1, 0, 1, 0)
                    main.ZIndex = 6

                    picker.Name = "picker"
                    picker.Parent = main
                    picker.BackgroundColor3 = options.colorpicker.color
                    picker.BorderColor3 = Library.MenuColors.InnerContainer
                    picker.BorderSizePixel = 0
                    picker.Size = UDim2.new(1, 0, 1, 0)
                    picker.ZIndex = 10
                    picker.Image = "rbxassetid://2615689005"

                    pickerframe.Name = "pickerframe"
                    pickerframe.Parent = colorpicker
                    pickerframe.BackgroundColor3 = Color3.fromRGB(11,11,11)
                    pickerframe.BorderColor3 = Color3.fromRGB(30, 30, 30)
                    pickerframe.BorderSizePixel = 1
                    pickerframe.AnchorPoint = Vector2.new(1, 0.5)
                    pickerframe.Position = UDim2.new(1, -4, 0.534, 0)
                    pickerframe.Size = UDim2.new(0, 22, 1, 4)

                    local selectpicker = Instance.new("Frame")
                    selectpicker.Name = "pickerframe_line"
                    selectpicker.Parent = pickerframe
                    selectpicker.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
                    selectpicker.Size = UDim2.new(0, 22, 0, 1) 
                    selectpicker.Position = UDim2.new(0, 0, 0, 75)  
                    selectpicker.ZIndex = 8
                    selectpicker.Visible = true
                    selectpicker.BorderSizePixel = 1
                    selectpicker.BorderColor3 = Library.MenuColors.BorderColor

                    main_2.Name = "main"
                    main_2.Parent = pickerframe
                    main_2.BackgroundColor3 = Color3.fromRGB(11,11,11)
                    main_2.BorderColor3 = Library.MenuColors.BorderColor
                    main_2.Size = UDim2.new(1, 0, 1, 0)
                    main_2.ZIndex = 6

                    hue.Name = "hue"
                    hue.Parent = main_2
                    hue.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
                    hue.BorderColor3 = Library.MenuColors.BorderColor
                    hue.BorderSizePixel = 0
                    hue.Size = UDim2.new(0, 22, 1, 0)
                    hue.ZIndex = 7
                    hue.Image = "rbxassetid://2615692420"

                    copy.MouseButton1Click:Connect(function()
                        colorFrame.Visible = false
                    end)

                    button2.MouseButton1Click:Connect(function()
                        for i,v in pairs(ScreenGui:GetDescendants()) do
                            if v.Name == "colorpicker" and v.Visible == true and button2.Parent.Parent.Parent.Parent:FindFirstChild("colorpicker") and button2.Parent.Parent.Parent.Parent:FindFirstChild("colorpicker") ~= v then 
                                v.Visible = false
                            end
                        end
                        colorpicker.Visible = not colorpicker.Visible
                        tframe.Visible = not tframe.Visible
                        main_tframe.Visible = not main_tframe.Visible
                        buttonframe.Visible = not buttonframe.Visible
                        textframe.Visible = not textframe.Visible
                        copybutton.Visible = not copybutton.Visible
                        pastebutton.Visible = not pastebutton.Visible
                        buttonframe2.Visible = not buttonframe2.Visible
                        textframe2.Visible = not textframe2.Visible
                        mid.BorderColor3 = Color3.fromRGB(17,17,17)
                    end)

                    button2.MouseEnter:Connect(function()
                        Library:tween(mid, {BorderColor3 = Library.MenuColors.Accent})
                    end)
                    
                    button2.MouseLeave:Connect(function()
                        Library:tween(mid, {BorderColor3 = Color3.fromRGB(17,17,17)})
                    end)  

                    local function updateValue(value, fakevalue)
                        if typeof(value) == "table" then value = fakevalue end
                        options.colorpicker.color = value
                        front.BackgroundColor3 = value
                        Library.flags[options.colorpicker.flag] = value
                    
                        local r, g, b = value.r * 255, value.g * 255, value.b * 255
                        textframe2.TextColor3 = value
                        textframe2.Text = string.format("#%02X%02X%02X", math.floor(r), math.floor(g), math.floor(b))                        
                        options.colorpicker.getcolor(value)
                    end
                    
                    copybutton.MouseButton1Click:Connect(function()
                        local value = options.colorpicker.color 
                        local r, g, b = value.r * 255, value.g * 255, value.b * 255
                        local hexValue = string.format("#%02X%02X%02X", math.floor(r), math.floor(g), math.floor(b))
                        setclipboard(hexValue)
                    end)

                    local white, black = Color3.new(1,1,1), Color3.new(0,0,0)
                    local colors = {Color3.new(1,0,0),Color3.new(1,1,0),Color3.new(0,1,0),Color3.new(0,1,1),Color3.new(0,0,1),Color3.new(1,0,1),Color3.new(1,0,0)}
                    local heartbeat = runService.Heartbeat
                    local pickerX,pickerY,hueY = 0,0,0
                    local oldpercentX,oldpercentY = 0,0

                    hue.MouseEnter:Connect(function()
                    local input = hue.InputBegan:connect(function(key)
                        if key.UserInputType == Enum.UserInputType.MouseButton1 then
                                while heartbeat:wait() and UIS:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) do
                                    local percent = (hueY-hue.AbsolutePosition.Y-36)/hue.AbsoluteSize.Y
                                    local num = math.max(1, math.min(7,math.floor(((percent*7+0.5)*100))/100))
                                    local startC = colors[math.floor(num)]
                                    local endC = colors[math.ceil(num)]
                                    local color = white:lerp(picker.BackgroundColor3, oldpercentX):lerp(black, oldpercentY)
                                    picker.BackgroundColor3 = startC:lerp(endC, num-math.floor(num)) or Color3.new(0, 0, 0)
                                    selectpicker.Position = UDim2.new(0, 0, 0, 0 + selectpicker.Parent.AbsoluteSize.Y * percent)
                                    updateValue(color)
                                end
                            end
                        end) 
                            local leave
                            leave = hue.MouseLeave:connect(function()
                            input:disconnect()
                            leave:disconnect()
                        end)
                    end)

                    local isDragging = false
                    UIS.InputBegan:Connect(function(input)
                        if input.UserInputType == Enum.UserInputType.MouseButton1 then isDragging = true end
                    end)
                    UIS.InputEnded:Connect(function(input)
                        if input.UserInputType == Enum.UserInputType.MouseButton1 then isDragging = false end
                    end)

                    picker.MouseEnter:Connect(function()
                        local input = picker.InputBegan:connect(function(key)
                            if key.UserInputType == Enum.UserInputType.MouseButton1 then
                                while heartbeat:wait() and UIS:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) do
                                    local xPercent = (pickerX - picker.AbsolutePosition.X) / picker.AbsoluteSize.X
                                    local yPercent = (pickerY - picker.AbsolutePosition.Y - 36) / picker.AbsoluteSize.Y
                                    local color = white:lerp(picker.BackgroundColor3, xPercent):lerp(black, yPercent)
                                    updateValue(color)
                                    oldpercentX, oldpercentY = xPercent, yPercent
                                end
                            end
                        end)
                        local leave
                        leave = picker.MouseLeave:connect(function()
                            input:disconnect()
                            leave:disconnect()
                        end)
                    end)

                    UIS.InputChanged:Connect(function(input)
                        if isDragging and input.UserInputType == Enum.UserInputType.MouseMovement then
                            local offsetX = pickerX - picker.AbsolutePosition.X
                            local offsetY = pickerY - picker.AbsolutePosition.Y - 35
                            color_dot.Position = UDim2.new(0, offsetX, 0, offsetY)
                        end
                    end)

                    hue.MouseMoved:connect(function(_, y)
                        hueY = y
                    end)

                    picker.MouseMoved:connect(function(x, y)
                        pickerX,pickerY = x,y
                    end)

                    options.colorpicker.color = options.colorpicker.color
                    updateValue(options.colorpicker.color or Color3.new(1,1,1)) 
                end

                return section
            end

            function section:AddSlider(options)
                options = Library:validate({
                    name = "Example Toggle",
                    default = 50,
                    suffix = "%",
                    risky = false,
                    changeby = 5, 
                    min = 0,
                    max = 100,
                    callback = function(value) end
                }, options or {})

                local slider = {
                    MouseDown = false,
                    Hover = false,
                    Connection = nil
                }

                local minus = {
                    Hover = false
                }

                local plus = {
                    Hover = false
                }

                options.value = 0
                if options.min then
                    if options.default < options.min then
                        options.default = options.min
                    end
                end
                if not options.flag and options.name then options.flag = options.name end
               
                if getgenv().TabsExist then
                    elementParent = getgenv().TabInnerContainer
                else
                    elementParent = ElementContainer
                end
                getgenv().elementparent = elementParent

                local SliderContainer = Library:Create("Frame", {
                    Parent = getgenv().elementparent,
                    Size = UDim2.new(1, 0, 0, 16),
                    BackgroundTransparency = 1,
                    Name = "SliderContainer"
                })
                
                local SliderTitle = Library:Create("TextLabel", {
                    Parent = SliderContainer,
                    Size = UDim2.new(1, -4, 1, -7),
                    Position = UDim2.new(0, 15, 0, -3),
                    BackgroundTransparency = 1,
                    TextColor3 = Library.MenuColors.ElementText,
                    TextSize = 11,
                    Text = options.name,
                    FontFace = Font.fromId(12187362578, Enum.FontWeight.Regular),
                    TextXAlignment = Enum.TextXAlignment.Left,
                    Name = "SliderTitle"
                })
                
                if options.risky == true then
                    SliderTitle.TextColor3 = Library.MenuColors.RiskyText
                else
                    SliderTitle.TextColor3 = Library.MenuColors.ElementText
                end

                local SliderBack = Library:Create("Frame", {
                    Parent = SliderContainer,
                    Size = UDim2.new(1, -50, 0, 4),
                    AnchorPoint = Vector2.new(0, 1),
                    Position = UDim2.new(0, 15, 1, -2),
                    BackgroundColor3 = Color3.fromRGB(17, 17, 17),
                    Name = "Slider",
                    BorderColor3 = Library.MenuColors.BorderColor,
                    BorderSizePixel = 2
                })

                local UIStroke3 = Library:Create("UIStroke", {
                    Thickness = 1,
                    Color = Color3.fromRGB(0, 0, 0),
                    LineJoinMode = Enum.LineJoinMode.Miter,
                    Parent = SliderBack,
                    Name = "UIStrokeBackSlider"
                })

                local Slider = Library:Create("Frame", {
                    Parent = SliderBack,
                    Size = UDim2.new(1, -80, 1, 0),
                    BackgroundColor3 = Library.MenuColors.Accent,
                    Name = "Slider",
                    ZIndex = 2,
                    BorderSizePixel = 0
                })                

                local SliderValue = Library:Create("TextLabel", {
                    Size = UDim2.new(0, 10, 0, 10),
                    Parent = Slider,
                    TextXAlignment = Enum.TextXAlignment.Center,
                    Position = UDim2.new(1, -10, 0, 5),
                    BackgroundTransparency = 1,
                    TextColor3 = Library.MenuColors.ElementText,
                    FontFace = Font.fromId(12187362578, Enum.FontWeight.Bold),
                    Text = options.value,
                    TextSize = 9,
                    Name = options.name
                })                

                local ValueOutline = Library:Create("UIStroke", {
                    Thickness = 1,
                    Color = Color3.new(0, 0, 0),
                    Parent = SliderValue
                })                
                
                local buttoncontainer1 = Library:Create("Frame", {
                    Parent = SliderBack,
                    Size = UDim2.new(0, 7, 0, 7),
                    AnchorPoint = Vector2.new(0, 0.5),
                    Position = UDim2.new(0, -19, 0.5, 1),
                    BackgroundTransparency = 1
                })                

                local buttoncontainer2 = Library:Create("Frame", {
                    Parent = SliderBack,
                    Size = UDim2.new(0, 7, 0, 7),
                    AnchorPoint = Vector2.new(1, 0.5),
                    Position = UDim2.new(1, 15, 0.5, 1),
                    BackgroundTransparency = 1
                })                

                local minusbutton = Library:Create("TextLabel", {
                    Parent = buttoncontainer1,
                    BackgroundTransparency = 1,
                    AnchorPoint = Vector2.new(0.5, 0.5),
                    Position = UDim2.new(0.5, 4, 0.5, 0),
                    Text = "-",
                    TextColor3 = Library.MenuColors.ElementText,
                    TextSize = 9,
                    FontFace = Font.fromId(12187362578, Enum.FontWeight.Regular),
                })                

                local plusbutton = Library:Create("TextLabel", {
                    Parent = buttoncontainer2,
                    BackgroundTransparency = 1,
                    AnchorPoint = Vector2.new(0.5, 0.5),
                    Position = UDim2.new(0.5, 1, 0.5, 0),
                    Text = "+",
                    TextColor3 = Library.MenuColors.ElementText,
                    TextSize = 9,
                    FontFace = Font.fromId(12187362578, Enum.FontWeight.Regular),
                })                

                -- Methods
                function slider:SetValue(v)
                    if v == nil then
                        local output = (mouse.X - SliderBack.AbsolutePosition.X) / SliderBack.AbsoluteSize.X
                  
                        local slidervalue = math.clamp(math.round(output * (options.max - options.min) + options.min), options.min, options.max)
                      
                        SliderValue.Text = slidervalue.. (options.suffix or "")
                        Slider.Size = UDim2.fromScale((slidervalue - options.min) / (options.max - options.min), 1)
                      
                    else
                        SliderValue.Text = v.. (options.suffix or "")
                    end
                    options.callback(slider:GetValue())
                end
                function SetValue(v)
                   
                        local output = v / 100
                       
                        local slidervalue = math.clamp(math.round(output * (options.max - options.min) + options.min), options.min, options.max)
                   

                        SliderValue.Text = slidervalue.. (options.suffix or "")
                        Slider.Size = UDim2.fromScale((slidervalue - options.min) / (options.max - options.min), 1)
                      
                end
                
                function slider:GetValue()
                    local value = tonumber(SliderValue.Text)
                    if options.suffix then
                        local suffixLength = string.len(options.suffix)
         
                        Library.flags[options.flag] = {tonumber(string.sub(SliderValue.Text, 1, -suffixLength - 1)),changeState = SetValue}
                        return tonumber(string.sub(SliderValue.Text, 1, -suffixLength - 1))
                    else
                    
                        Library.flags[options.flag] = {tonumber(string.sub(SliderValue.Text, 1, -suffixLength - 1)), changeState = SetValue}
                        return value
                    end
                end

                Slider.Size = UDim2.fromScale((options.default - options.min) / (options.max - options.min), 1)
                SliderValue.Text = options.default.. (options.suffix or "")

				-- Functionality
				do
					SliderBack.MouseEnter:Connect(function()
						slider.Hover = true
						Library:tween(SliderValue, {TextColor3 = Library.MenuColors.Accent})
					end)
					
					SliderBack.MouseLeave:Connect(function()
						slider.Hover = false
						Library:tween(SliderValue, {TextColor3 = Library.MenuColors.ElementText})
					end)
					
					UIS.InputBegan:Connect(function(input)
						if input.UserInputType == Enum.UserInputType.MouseButton1 and slider.Hover then
							slider.MouseDown = true
							-- slider value
							if not slider.Connection then
								slider.Connection = runService.RenderStepped:Connect(function()
									slider:SetValue()
                                    if not slider.Hover then
                                        Library:tween(SliderValue, {TextColor3 = Library.MenuColors.Accent})
                                    end
								end)
							end
						end
					end)
					
					UIS.InputEnded:Connect(function(input)
						if input.UserInputType == Enum.UserInputType.MouseButton1 then
							slider.MouseDown = false
							slider.Hover = false
							-- Stop slider value
							if slider.Connection then
								slider.Connection:Disconnect()
                                if not slider.Hover then
                                    Library:tween(SliderValue, {TextColor3 = Color3.fromRGB(150, 150, 150)})
                                end
							end
							slider.Connection = nil
						end
					end)

                    buttoncontainer1.MouseEnter:Connect(function()
                        minus.Hover = true
					end)
					
					buttoncontainer1.MouseLeave:Connect(function()
                        minus.Hover = false
					end)

                    buttoncontainer2.MouseEnter:Connect(function()
                        plus.Hover = true
					end)
					
					buttoncontainer2.MouseLeave:Connect(function()
                        plus.Hover = false
					end)

                    UIS.InputBegan:Connect(function(input)
                        if input.UserInputType == Enum.UserInputType.MouseButton1 and minus.Hover then
                            if slider:GetValue() > options.min then
                                newvalue = math.round(slider:GetValue() - options.changeby)
                                if newvalue > options.min - options.changeby then
                                    slider:SetValue(newvalue)
                                end
                                Slider.Size = UDim2.fromScale((slider:GetValue() - options.min) / (options.max - options.min), 1)
                            end
                        end
                    end)

                    UIS.InputBegan:Connect(function(input)
                        if input.UserInputType == Enum.UserInputType.MouseButton1 and plus.Hover then
                            if slider:GetValue() < options.max then
                                newvalue = math.round(slider:GetValue() + options.changeby)
                                if newvalue < options.max + options.changeby then
                                    slider:SetValue(newvalue)
                                end
                                Slider.Size = UDim2.fromScale((slider:GetValue() - options.min) / (options.max - options.min), 1)
                            end
                        end
                    end)
				end

                options.callback(slider:GetValue())
                return section
            end

            function section:AddDropdown(options)
                options = Library:validate({
                    name = "Example Dropdown",
                    list = {"Example 1", "Example 2", "Example 3", "Example 4"},
                    min = 1,
                    max = 3,
                    default = 1,
                    callback = function(active) end
                }, options or {})
                
                options.default = options.default or 1

                local dropdown = {
                    Hover = false,
                    active = {options.list[options.default]},
                    state = false
                }
            
                if not options.flag and options.name then options.flag = options.name.."dr" end

                if getgenv().TabsExist then
                    elementParent = getgenv().TabInnerContainer
                else
                    elementParent = ElementContainer
                end
                getgenv().elementparent = elementParent

                local DropdownContainer = Instance.new("Frame")
                DropdownContainer.Parent = getgenv().elementparent
                DropdownContainer.Size = UDim2.new(1, 0, 0, 30)
                DropdownContainer.Name = options.name
                DropdownContainer.BorderSizePixel = 0
                DropdownContainer.BackgroundTransparency = 1

                local DropdownImage = Instance.new("ImageLabel")
                DropdownImage.Name = "Triangle"
                DropdownImage.Parent = DropdownContainer
                DropdownImage.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
                DropdownImage.BackgroundTransparency = 1.000
                DropdownImage.BorderColor3 = Color3.fromRGB(0, 0, 0)
                DropdownImage.BorderSizePixel = 0
                DropdownImage.AnchorPoint = Vector2.new(1, 0.5)
                DropdownImage.Position = UDim2.new(1, -34, 0.5, 8)
                DropdownImage.Size = UDim2.new(0, 7, 0, 6)
                DropdownImage.Image = "rbxassetid://8532000591"
                DropdownImage.ImageColor3 = Color3.fromRGB(255, 255, 255)
            
                local DropdownText = Instance.new("TextLabel")
                DropdownText.Size = UDim2.new(1,0,1,-20)
                DropdownText.Parent = DropdownContainer
                DropdownText.Position = UDim2.new(0, 15, 0, -2)
                DropdownText.BackgroundTransparency = 1
                DropdownText.TextXAlignment = Enum.TextXAlignment.Left
                DropdownText.FontFace = Font.fromId(12187362578, Enum.FontWeight.Regular)
                DropdownText.Text = options.name
                DropdownText.TextColor3 = Library.MenuColors.ElementText
                DropdownText.TextSize = 11
                DropdownText.Name = options.name
            
                local ActiveChoice = Instance.new("Frame")
                ActiveChoice.Size = UDim2.new(1, -50, 1 , -13)
                ActiveChoice.AnchorPoint = Vector2.new(0.5, 1)
                ActiveChoice.Position = UDim2.new(0.5, -10, 1, 0)
                ActiveChoice.Parent = DropdownContainer
                ActiveChoice.BorderSizePixel = 1
                ActiveChoice.BorderColor3 = Library.MenuColors.BorderColor
                ActiveChoice.Name = "ActiveChoice"

                local UIGradient2 = Library:Create("UIGradient", {
                    Parent = ActiveChoice,
                    Color = ColorSequence.new{
                        ColorSequenceKeypoint.new(0.00, Color3.fromRGB(30, 30, 30)),
                        ColorSequenceKeypoint.new(1.00, Color3.fromRGB(40, 40, 40))
                    },
                    Rotation = 90,
                })
            
                local ActiveText = Instance.new("TextLabel")
                ActiveText.Size = UDim2.new(1,0,0,0)
                ActiveText.Parent = ActiveChoice
                ActiveText.Position = UDim2.new(0.5, 0, 0.5, 0)
                ActiveText.AnchorPoint = Vector2.new(0.5, 0.5)
                ActiveText.BackgroundTransparency = 1
                ActiveText.TextXAlignment = Enum.TextXAlignment.Center
                ActiveText.FontFace = Font.fromId(12187362578, Enum.FontWeight.Regular)
                ActiveText.Text = "Active"
                ActiveText.TextColor3 = Library.MenuColors.ElementText
                ActiveText.TextSize = 11
                ActiveText.Name = "DropdownText"
                ActiveText.ZIndex = 4

                local ChoiceHolder = Instance.new("Frame")
                ChoiceHolder.Size = UDim2.new(1,0,1,5)
                ChoiceHolder.Position = UDim2.new(0.5, 0, 0, 17)
                ChoiceHolder.Parent = ActiveChoice
                ChoiceHolder.AnchorPoint = Vector2.new(0.5,0)
                ChoiceHolder.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
                ChoiceHolder.Visible = false
                ChoiceHolder.BorderSizePixel = 0
                ChoiceHolder.ZIndex = 4
            
                local ChoiceLayout = Instance.new("UIListLayout")
                ChoiceLayout.Parent = ChoiceHolder
                ChoiceLayout.SortOrder = Enum.SortOrder.LayoutOrder
                ChoiceLayout.FillDirection = Enum.FillDirection.Vertical
                ChoiceLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
                ChoiceLayout.Padding = UDim.new(0, 0)
                ChoiceLayout.Name = "ChoiceLayout"
            
                function dropdown:AddChoice(name)
                    local choice = {
                        Name = name,
                        Hover = false,
                        state = false
                    }
            
                    if dropdown.active == choice.Name then
                        choice.state = true
                    end
            
                    ChoiceHolder.Size = UDim2.new(1,0,0,ChoiceHolder.Size.Y.Offset)
            
                    local Choice = Instance.new("Frame")
                    Choice.Size = UDim2.new(1,-2,0,15)
                    Choice.Parent = ChoiceHolder
                    Choice.AnchorPoint = Vector2.new(0.5,0)
                    Choice.BackgroundColor3 = Color3.fromRGB(26, 25, 26)
                    Choice.BorderSizePixel = 0
                    Choice.ZIndex = 5
            
                    local ChoiceText = Instance.new("TextLabel")
                    ChoiceText.Size = UDim2.new(1,0,1,0)
                    ChoiceText.Parent = Choice
                    ChoiceText.AnchorPoint = Vector2.new(0.5,0)
                    ChoiceText.Position = UDim2.new(0.5, 0, 0, 0)
                    ChoiceText.BackgroundTransparency = 1
                    ChoiceText.FontFace = Font.fromId(12187362578, Enum.FontWeight.Regular)
                    ChoiceText.Text = name
                    ChoiceText.TextColor3 = Library.MenuColors.ElementText
                    ChoiceText.TextSize = 10
                    ChoiceText.Name = name
                    ChoiceText.ZIndex = 6
            
                    for i, name in ipairs(dropdown.active) do 
                        if name == choice.Name then
                            choice.state = true
                            ActiveText.Text = table.concat(dropdown.active, ", ")
                            Library:tween(ChoiceText, {TextColor3 = Library.MenuColors.Accent})
                            Library.flags[options.flag] = ActiveText.Text
                            options.callback(ActiveText.Text)
                            break
                        end
                    end
            
                    -- Choice Functionality
                    do
                        Choice.MouseEnter:Connect(function()
                            if choice.state ~= true then
                                Library:tween(ChoiceText, {TextColor3 = Library.MenuColors.Accent})
                            end
                            choice.Hover = true
                        end)
                    
                        Choice.MouseLeave:Connect(function()
                            if choice.state ~= true then
                                Library:tween(ChoiceText, {TextColor3 = Library.MenuColors.ElementText})
                            end
                            choice.Hover = false
                        end)
            
                        UIS.InputBegan:Connect(function(input)
                            if input.UserInputType == Enum.UserInputType.MouseButton1 then
                                if choice.Hover == true then
                                    local count = 0
                                    for _, v in ipairs(dropdown.active) do
                                        count = count + 1
                                    end
                                    if choice.state == false and count < options.max then
                                        choice.state = not choice.state
                                        if choice.state == true then
                                            Library:tween(ChoiceText, {TextColor3 = Library.MenuColors.Accent})
                                            table.insert(dropdown.active, choice.Name)
                                            ActiveText.Text = table.concat(dropdown.active, ", ")
                                            Library.flags[options.flag] = ActiveText.Text
                                        
                                            options.callback(ActiveText.Text)
                                        else
                                            Library:tween(ChoiceText, {TextColor3 = Library.MenuColors.ElementText})
                                            for i, name in ipairs(dropdown.active) do
                                                if name == choice.Name then
                                                    table.remove(dropdown.active, i)
                                                    ActiveText.Text = table.concat(dropdown.active, ", ")
                                                    Library.flags[options.flag] = ActiveText.Text
                                                 
                                                    options.callback(ActiveText.Text)
                                                    break
                                                end
                                            end
                                        end
                                    elseif choice.state == true and count > options.min then
                                        choice.state = not choice.state
                                        Library:tween(ChoiceText, {TextColor3 = Library.MenuColors.ElementText})
                                        for i, name in ipairs(dropdown.active) do
                                            if name == choice.Name then
                                                table.remove(dropdown.active, i)
                                                ActiveText.Text = table.concat(dropdown.active, ", ")
                                                Library.flags[options.flag] = ActiveText.Text
                                            
                                                options.callback(ActiveText.Text)
                                                break
                                            end
                                        end
                                    end
                                end
                            end
                        end)
                    end
                end -- dropdown:AddChoice

                for _,v in pairs(options.list) do
                    dropdown:AddChoice(v)
                end

                do
					local endsize = 0
					for _, choice in ipairs(ChoiceHolder:GetChildren()) do
						if choice:IsA("Frame") then
							endsize = endsize + choice.AbsoluteSize.Y
						end
					end
                    ChoiceHolder.Size = UDim2.new(1, 2, 0, endsize + 1)
                end

				-- Dropdown Functionality
				do
					ActiveChoice.MouseEnter:Connect(function()
						dropdown.Hover = true
						if dropdown.state ~= true then
							Library:tween(ActiveText, {TextColor3 = Library.MenuColors.Accent})
						end
					end)
				
					ActiveChoice.MouseLeave:Connect(function()
						dropdown.Hover = false
						if dropdown.state ~= true then
							Library:tween(ActiveText, {TextColor3 = Library.MenuColors.ElementText})
						end
					end)

					UIS.InputBegan:Connect(function(input)
						if input.UserInputType == Enum.UserInputType.MouseButton1 then
							if dropdown.Hover then
								dropdown.state = not dropdown.state
								ChoiceHolder.Visible = dropdown.state
							end
						end
					end)

					if dropdown.state == true then
						Library:tween(ActiveText, {TextColor3 = Library.MenuColors.Accent})
					else
						Library:tween(ActiveText, {TextColor3 = Library.MenuColors.ElementText})
					end
				end

                return section
            end

            return section
        end
        return tab
    end

    do -- Mouse Cursor
        local cursor = Instance.new("ImageLabel")
        cursor.Size = UDim2.new(0, 18, 0, 18)
        cursor.BackgroundTransparency = 1
        cursor.ImageColor3 = Library.MenuColors.Accent
        cursor.Image = "rbxassetid://17404277477"
        cursor.Parent = ScreenGui
        cursor.ZIndex = 10
        local function followMouse()
            local mouse = game.Players.LocalPlayer:GetMouse()
            cursor.Position = UDim2.new(0, mouse.X -6, 0, mouse.Y - 2)
        end
        game:GetService("RunService").RenderStepped:Connect(followMouse)
    end

    do -- Drag GUI

        local container = {
            Hover = false
        }

        -- This prevents it from dragging on elements like sliders and colorpickers.
        InnerContainer.MouseEnter:Connect(function()
            container.Hover = true
        end)
    
        InnerContainer.MouseLeave:Connect(function()
            container.Hover = false
        end)

        local dragStart, startPos, dragging
        Background.InputBegan:Connect(function(input)
            if container.Hover ~= true then
                if input.UserInputType == Enum.UserInputType.MouseButton1 then
                    dragging = true
                    dragStart = input.Position
                    startPos = Background.Position
                end
            end
        end)

        UIS.InputChanged:Connect(function(input)
            if container.Hover ~= true then
                if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
                    local delta = input.Position - dragStart
                    local newX = startPos.X.Offset + delta.X
                    local newY = startPos.Y.Offset + delta.Y
                    Background.Position = UDim2.new(startPos.X.Scale, newX, startPos.Y.Scale, newY)
                end
            end
        end)

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

    -- Open / Close
    UIS.MouseIconEnabled = false
    UIS.InputBegan:Connect(function(input)
        if input.KeyCode == Library.Ui_Bind then
            ScreenGui.Enabled = not ScreenGui.Enabled
            UIS.MouseIconEnabled = not ScreenGui.Enabled
        end
    end)

    -- Destroy
    UIS.InputBegan:Connect(function(input)
        if input.KeyCode == Enum.KeyCode.Delete then
            ScreenGui:Destroy()
        end
    end)

    return menu
end

function Create(Class, Properties)
    local _Instance = typeof(Class) == 'string' and Instance.new(Class) or Class
    for Property, Value in pairs(Properties) do
        _Instance[Property] = Value
    end
    return _Instance
end

local main = AddWindow({
})
------------------------- -------------------------
    --- aimbot ---       -      --- aimbot ---
------------------------- -------------------------

local First = main:AddTab({
    name = "aimbot"
})

local smooth_section = First:AddSection({
    name = "Smooth Aim",
    height = 225,
})

local silent_section = First:AddSection({
    name = "Silent Aim",
    side = "Right",
    height = 225
})

local recoil_section = First:AddSection({
    name = "Modifications",
    height = 180
})

local checks_section = First:AddSection({
    name = "Checks",
    side = "Right",
    height = 180
})

--[[
local dropdown = subtab2:AddDropdown({
    name = "HitParts",
    list = {"Head", "Torso", "Legs", "Feet"},
    default = 2,
    callback = function(active)
        print(active)
    end
}) --]]

local Second = main:AddTab({
    name = "visuals"
})

local players_section = Second:AddSection({
    name = "Players",
    height = 225
})

local screen_tab = players_section:AddTab({
    name = "Screen"
})

do -- All Esp Options

    local esp = {
        boxes = {
            enabled = false,
            color = Color3.fromRGB(255,255,255),
        },

        boxfill = {
            enabled = false,
            topcolor = Color3.fromRGB(255,255,255),
            bottomcolor = Color3.fromRGB(0,0,0),
            rotation = 100
        },
    
        names = {
            enabled = false,
            color = Color3.fromRGB(255,255,255),
        },

        distance = {
            enabled = false,
            color = Color3.fromRGB(255,255,255),
        },

        TeamCheck = false,

        Connections = {
            RunService = runservice;
        },
    }

    screen_tab:AddToggle({
        name = "boxes",
        default = false,
        risky = false,
        callback = function(state)
            esp.boxes.enabled = state
        end,
        colorpicker = {
            enabled = true,
            color = Color3.fromRGB(255, 255, 255),
            getcolor = function(value)
                esp.boxes.color = value
            end
        },
    })
    
    screen_tab:AddToggle({
        name = "names",
        default = false,
        risky = false,
        callback = function(state)
            esp.names.enabled = state
        end,
        colorpicker = {
            enabled = true,
            color = Color3.fromRGB(255, 255, 255),
            getcolor = function(value)
                esp.names.color = value
            end
        },
    })

    screen_tab:AddToggle({
        name = "distance",
        default = false,
        risky = false,
        callback = function(state)
            esp.distance.enabled = state
        end,
        colorpicker = {
            enabled = true,
            color = Color3.fromRGB(255, 255, 255),
            getcolor = function(value)
                esp.distance.color = value
            end
        },
    })

    screen_tab:AddToggle({
        name = "box fill",
        default = false,
        risky = false,
        callback = function(state)
            esp.boxfill.enabled = state
        end,
    })

    screen_tab:AddSlider({
        name = "rotation",
        default = esp.boxfill.rotation,
        min = -360,
        changeby = 1,
        suffix = "",
        max = 360,
        callback = function(value)
            esp.boxfill.rotation = value
        end
    })

    screen_tab:AddToggle({
        name = "fill top",
        default = false,
        risky = false,
        colorpicker = {
            enabled = true,
            color = esp.boxfill.topcolor,
            getcolor = function(value)
                esp.boxfill.topcolor = value
            end
        },
    })

    screen_tab:AddToggle({
        name = "fill bottom",
        default = false,
        risky = false,
        colorpicker = {
            enabled = true,
            color = esp.boxfill.bottomcolor,
            getcolor = function(value)
                esp.boxfill.bottomcolor = value
            end
        },
    })

    screen_tab:AddToggle({
        name = "Team Check",
        default = false,
        risky = false,
        callback = function(state)
            esp.TeamCheck = state
        end
    })

    local ScreenGui = Create("ScreenGui", {
        Parent = coregui,
        Name = "DrawingContainer"
    })
    local DupeCheck = function(plr)
        if ScreenGui:FindFirstChild(plr.Name) then
            ScreenGui[plr.Name]:Destroy()
        end
    end

    local function playergone()
        for _, child in ipairs(ScreenGui:GetChildren()) do
            local player = players:FindFirstChild(child.Name)
            if not player then
                ScreenGui[child.Name]:Destroy()
            end
        end
    end
    
    runService.Heartbeat:Connect(playergone)
    

    local june = esp.Connections
    function addesp(plr)
        coroutine.wrap(DupeCheck)(plr)
        local box = Create("Frame", {
            Parent = ScreenGui,
            BackgroundTransparency = 1,
            Name = plr.Name
        })
        local outline = Create("UIStroke", {
            Parent = box,
            Color = esp.boxes.color
        })

        local fill = Create("UIGradient", {
            Parent = box,
            Color = ColorSequence.new{
                ColorSequenceKeypoint.new(0, esp.boxfill.topcolor),
                ColorSequenceKeypoint.new(1, esp.boxfill.bottomcolor)},
            Rotation = esp.boxfill.rotation
        });

        local name = Create("TextLabel", {
            Parent = ScreenGui,
            BackgroundTransparency = 1,
            FontFace = Font.fromId(12187362578, Enum.FontWeight.SemiBold),
            TextColor3 = esp.names.color,
            TextSize = 9,
            Name = plr.Name,
            Text = plr.Name
        })

        local UIStroke = Library:Create("UIStroke", {
            Parent = name,
            Thickness = 2,
            Color = Color3.fromRGB(0,0,0),
            LineJoinMode = Enum.LineJoinMode.Miter,
        })

        local distance = Create("TextLabel", {
            Parent = ScreenGui,
            BackgroundTransparency = 1,
            FontFace = Font.fromId(12187362578, Enum.FontWeight.SemiBold),
            TextColor3 = esp.names.color,
            TextSize = 8,
            Name = plr.Name,
            Text = plr.Name
        })

        local updatepos = function()
            local Connection
            Connection = june.RunService.RenderStepped:Connect(function()
                if plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then
                    local HRP = plr.Character.HumanoidRootPart
                    local Humanoid = plr.Character:WaitForChild("Humanoid");
                    local Pos, OnScreen = camera:WorldToScreenPoint(HRP.Position)
                    local Dist = (camera.CFrame.Position - HRP.Position).Magnitude / 3.5714285714
                        
                    if Humanoid.Health <= 0 then return end

                    if OnScreen then
                        local Size = HRP.Size.Y
                        local scaleFactor = (Size * camera.ViewportSize.Y) / (Pos.Z * 2)
                        local w, h = 2.75 * scaleFactor, 4.6 * scaleFactor
                        
                        if esp.boxes.enabled then
                            box.Position = UDim2.new(0, Pos.X - w / 2, 0, Pos.Y - h / 2)
                            box.Size = UDim2.new(0, w, 0, h)
                            outline.Color = esp.boxes.color
                            box.Visible = esp.boxes.enabled
                            if fill.enabled then box.BackgroundTransparency = 0.5 else box.BackgroundTransparency = 1 end
                        else
                            box.Visible = false
                        end

                        if esp.names.enabled then
                            name.Position = UDim2.new(0, Pos.X, 0, Pos.Y - h / 2 - 9)
                            name.TextColor3  = esp.names.color
                            name.Visible = esp.names.enabled
                            Humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
                        else
                            Humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.Viewer
                            name.Visible = false
                        end

                        if esp.distance.enabled then
                            distance.Position = UDim2.new(0, Pos.X, 0, Pos.Y + h / 2 + 7)
                            distance.TextColor3  = esp.distance.color
                            distance.Visible = esp.names.enabled
                            distance.Text = math.round(Dist)
                        else
                            distance.Visible = false
                        end

                        if esp.boxfill.enabled then
                            fill.Color = ColorSequence.new{
                                ColorSequenceKeypoint.new(0, esp.boxfill.topcolor),
                                ColorSequenceKeypoint.new(1, esp.boxfill.bottomcolor)}
                            fill.Rotation = esp.boxfill.rotation
                            fill.Enabled = true
                        else
                            fill.Enabled = false
                        end

                        if esp.TeamCheck then
                            if plr.Team == localplayer.Team then
                                box.Visible = false
                                name.Visible = false
                                distance.Visible = false
                            else
                                box.Visible = true
                                name.Visible = true
                                distance.Visible = true
                            end
                        end

                    else
                        box.Visible = false
                        name.Visible = false
                        distance.Visible = false
                    end
                else
                    box.Visible = false
                    name.Visible = false
                    distance.Visible = false
                end
            end)
        end
        coroutine.wrap(updatepos)()
    end
    
    for _, v in pairs(players:GetPlayers()) do
        if v.Name ~= localplayer.Name then
            coroutine.wrap(addesp)(v)
          end
    end
    --
    players.PlayerAdded:Connect(function(v)
        coroutine.wrap(addesp)(v)
    end)
    
    players.PlayerRemoving:Connect(function(plr)
        ScreenGui[plr.Name]:Destroy()
    end)
end

local model_tab = players_section:AddTab({
    name = "Model"
})

do -- All World Options
    local world_tab = players_section:AddTab({
        name = "World"
    })
    
    do -- Ambience
        local function updateAmbience(pass1, pass2)
            local vars = {
                ambient = {
                    toggle = pass1,
                    color = pass2,
                    default = Color3.fromRGB(1,1,1)
                }
            }
            if vars.ambient.toggle then
                lighting.Ambient = vars.ambient.color
            else
                lighting.Ambient = vars.ambient.default
            end
        end
    
        local ttoggle, tcolor
        local toggle = world_tab:AddToggle({
            name = "Ambient",
            default = false,
            callback = function(state)
                ttoggle = state
                updateAmbience(ttoggle, tcolor)
            end,
            colorpicker = {
                enabled = true,
                color = Color3.fromRGB(255, 255, 255),
                getcolor = function(color)
                    tcolor = color
                    updateAmbience(ttoggle, tcolor)
                end
            },
        })
    end
    
    do -- Brightness
        local function updateBrightness(pass1)
            local vars = {
                brightness = {
                    value = pass1,
                }
            }
    
            lighting.Brightness = vars.brightness.value
        end
    
        local ttoggle
        local slider = world_tab:AddSlider({
            name = "Brightness",
            default = 2,
            min = 0,
            changeby = 1,
            suffix = "",
            max = 25,
            callback = function(value)
                updateBrightness(value)
            end
        })
    end
    
    do -- Color Shift
        local function updateShift(pass1,pass2)
            local vars = {
                shift = {
                    toggle = pass1,
                    color = pass2,
                    default = Color3.fromRGB(0,0,0)
                }
            }
    
            if vars.shift.toggle then
                lighting.ColorShift_Top = vars.shift.color
            else
                lighting.ColorShift_Top = vars.shift.default
            end
        end
    
        local ttoggle, tcolor
        local toggle = world_tab:AddToggle({
            name = "Color Shift",
            default = false,
            callback = function(state)
                ttoggle = state
                updateShift(ttoggle, tcolor)
            end,
            colorpicker = {
                enabled = true,
                color = Color3.fromRGB(255, 255, 255),
                getcolor = function(color)
                    tcolor = color
                    updateShift(ttoggle, tcolor)
                end
            },
        })
    end
    
    do -- Outdoor Ambience
        local function updateOutdoor(pass1, pass2)
            local vars = {
                outdoor = {
                    toggle = pass1,
                    color = pass2,
                    default = Color3.fromRGB(128,128,128)
                }
            }
            if vars.outdoor.toggle then
                lighting.OutdoorAmbient = vars.outdoor.color
            else
                lighting.OutdoorAmbient = vars.outdoor.default
            end
        end
    
        local ttoggle, tcolor
        local toggle = world_tab:AddToggle({
            name = "Outdoor",
            default = false,
            callback = function(state)
                ttoggle = state
                updateOutdoor(ttoggle, tcolor)
            end,
            colorpicker = {
                enabled = true,
                color = Color3.fromRGB(128, 128, 128),
                getcolor = function(color)
                    tcolor = color
                    updateOutdoor(ttoggle, tcolor)
                end
            },
        })
    end
    
    do -- Clock Time
        local function updateTime(pass1)
            local vars = {
                time = {
                    value = pass1,
                }
            }
    
            lighting.ClockTime = vars.time.value
        end
    
        local ttoggle
        local slider = world_tab:AddSlider({
            name = "Time",
            default = 14,
            min = 0,
            changeby = 1,
            suffix = "h",
            max = 24,
            callback = function(value)
                updateTime(value)
            end
        })
    end
    
    do -- Fog
        local function updateFog(pass1, pass2, pass3, pass4)
            local vars = {
                fog = {
                    toggle = pass1,
                    color = pass2,
                    start = pass3,
                    End = pass4,
                    default1 = Color3.fromRGB(192,192,192),
                    default2 = 10000,
                    default3 = 0
                }
            }
    
            if pass3 == nil then
                vars.fog.start = vars.fog.default2
            elseif pass4 == nil then
                vars.fog.End = vars.fog.default3
            end
    
            if vars.fog.toggle then
                lighting.FogColor = vars.fog.color
                lighting.FogEnd = vars.fog.End
                lighting.FogStart = vars.fog.start
            else
                lighting.FogColor = vars.fog.default1
                lighting.FogEnd = vars.fog.default2
                lighting.FogStart = vars.fog.default3
            end
        end
    
        local ttoggle, tcolor, End, start
        local toggle = world_tab:AddToggle({
            name = "Fog",
            default = false,
            callback = function(state)
                ttoggle = state
                updateFog(ttoggle, tcolor, End, start)
            end,
            colorpicker = {
                enabled = true,
                color = Color3.fromRGB(255, 255, 255),
                getcolor = function(color)
                    tcolor = color
                    updateFog(ttoggle, tcolor, End, start)
                end
            },
        })
    
        local slider = world_tab:AddSlider({
            name = "End",
            default = 100,
            min = 0,
            changeby = 1,
            suffix = "",
            max = 100,
            callback = function(value)
                End = value * 100
                updateFog(ttoggle, tcolor, start, value * 100)
            end
        })
    
        local slider2 = world_tab:AddSlider({
            name = "Start",
            default = 0,
            min = 0,
            changeby = 1,
            suffix = "",
            max = 100,
            callback = function(value)
                start = value
                updateFog(ttoggle, tcolor, value, End)
            end
        })
    
    end
end

local Third = main:AddTab({
    name = "misc"
})

local Fourth = main:AddTab({
    name = "configs"
})

Features & Information

join discord for free scripts https://discord.gg/kNqsszftAQ
#junecc#free#script#leaked#leak

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts