Advertisement
overgrinds

MacLib 1.26

Dec 14th, 2024 (edited)
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 204.78 KB | None | 0 0
  1. local MacLib = {
  2.     Options = {},
  3.     Folder = "Maclib",
  4.     GetService = function(service)
  5.         return cloneref and cloneref(game:GetService(service)) or game:GetService(service)
  6.     end
  7. }
  8.  
  9. --// Services
  10. local TweenService = MacLib.GetService("TweenService")
  11. local RunService = MacLib.GetService("RunService")
  12. local HttpService = MacLib.GetService("HttpService")
  13. local ContentProvider = MacLib.GetService("ContentProvider")
  14. local UserInputService = MacLib.GetService("UserInputService")
  15. local Lighting = MacLib.GetService("Lighting")
  16. local Players = MacLib.GetService("Players")
  17.  
  18. --// Variables
  19. local isStudio = RunService:IsStudio()
  20. local LocalPlayer = Players.LocalPlayer
  21.  
  22. local windowState
  23. local acrylicBlur
  24. local hasGlobalSetting
  25.  
  26. local tabs = {}
  27. local currentTabInstance = nil
  28. local tabIndex = 0
  29. local unloaded = false
  30.  
  31. local assets = {
  32.     interFont = "rbxassetid://12187365364",
  33.     userInfoBlurred = "rbxassetid://18824089198",
  34.     toggleBackground = "rbxassetid://18772190202",
  35.     togglerHead = "rbxassetid://18772309008",
  36.     buttonImage = "rbxassetid://10709791437",
  37.     searchIcon = "rbxassetid://86737463322606",
  38.     colorWheel = "rbxassetid://2849458409",
  39.     colorTarget = "rbxassetid://73265255323268",
  40.     grid = "rbxassetid://121484455191370",
  41.     globe = "rbxassetid://108952102602834",
  42.     transform = "rbxassetid://90336395745819",
  43.     dropdown = "rbxassetid://18865373378",
  44.     sliderbar = "rbxassetid://18772615246",
  45.     sliderhead = "rbxassetid://18772834246",
  46. }
  47.  
  48. --// Functions
  49. local function GetGui()
  50.     local newGui = Instance.new("ScreenGui")
  51.     newGui.ScreenInsets = Enum.ScreenInsets.None
  52.     newGui.ResetOnSpawn = false
  53.     newGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
  54.     newGui.DisplayOrder = 2147483647
  55.  
  56.     local parent = RunService:IsStudio()
  57.         and LocalPlayer:FindFirstChild("PlayerGui")
  58.         or (gethui and gethui())
  59.         or (cloneref and cloneref(MacLib.GetService("CoreGui")) or MacLib.GetService("CoreGui"))
  60.  
  61.     newGui.Parent = parent
  62.     return newGui
  63. end
  64.  
  65. local function Tween(instance, tweeninfo, propertytable)
  66.     return TweenService:Create(instance, tweeninfo, propertytable)
  67. end
  68.  
  69. --// Library Functions
  70. function MacLib:Window(Settings)
  71.     local WindowFunctions = {Settings = Settings}
  72.     if Settings.AcrylicBlur ~= nil then
  73.         acrylicBlur = Settings.AcrylicBlur
  74.     else
  75.         acrylicBlur = true
  76.     end
  77.  
  78.     local macLib = GetGui()
  79.  
  80.     local notifications = Instance.new("Frame")
  81.     notifications.Name = "Notifications"
  82.     notifications.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  83.     notifications.BackgroundTransparency = 1
  84.     notifications.BorderColor3 = Color3.fromRGB(0, 0, 0)
  85.     notifications.BorderSizePixel = 0
  86.     notifications.Size = UDim2.fromScale(1, 1)
  87.     notifications.Parent = macLib
  88.     notifications.ZIndex = 2
  89.  
  90.     local notificationsUIListLayout = Instance.new("UIListLayout")
  91.     notificationsUIListLayout.Name = "NotificationsUIListLayout"
  92.     notificationsUIListLayout.Padding = UDim.new(0, 10)
  93.     notificationsUIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Right
  94.     notificationsUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  95.     notificationsUIListLayout.VerticalAlignment = Enum.VerticalAlignment.Bottom
  96.     notificationsUIListLayout.Parent = notifications
  97.  
  98.     local notificationsUIPadding = Instance.new("UIPadding")
  99.     notificationsUIPadding.Name = "NotificationsUIPadding"
  100.     notificationsUIPadding.PaddingBottom = UDim.new(0, 10)
  101.     notificationsUIPadding.PaddingLeft = UDim.new(0, 10)
  102.     notificationsUIPadding.PaddingRight = UDim.new(0, 10)
  103.     notificationsUIPadding.PaddingTop = UDim.new(0, 10)
  104.     notificationsUIPadding.Parent = notifications
  105.  
  106.     local base = Instance.new("Frame")
  107.     base.Name = "Base"
  108.     base.AnchorPoint = Vector2.new(0.5, 0.5)
  109.     base.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
  110.     base.BackgroundTransparency = Settings.AcrylicBlur and 0.05 or 0
  111.     base.BorderColor3 = Color3.fromRGB(0, 0, 0)
  112.     base.BorderSizePixel = 0
  113.     base.Position = UDim2.fromScale(0.5, 0.5)
  114.     base.Size = Settings.Size or UDim2.fromOffset(868, 650)
  115.  
  116.     local baseUIScale = Instance.new("UIScale")
  117.     baseUIScale.Name = "BaseUIScale"
  118.     baseUIScale.Parent = base
  119.  
  120.     local baseUICorner = Instance.new("UICorner")
  121.     baseUICorner.Name = "BaseUICorner"
  122.     baseUICorner.CornerRadius = UDim.new(0, 10)
  123.     baseUICorner.Parent = base
  124.  
  125.     local baseUIStroke = Instance.new("UIStroke")
  126.     baseUIStroke.Name = "BaseUIStroke"
  127.     baseUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  128.     baseUIStroke.Color = Color3.fromRGB(255, 255, 255)
  129.     baseUIStroke.Transparency = 0.9
  130.     baseUIStroke.Parent = base
  131.  
  132.     local sidebar = Instance.new("Frame")
  133.     sidebar.Name = "Sidebar"
  134.     sidebar.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  135.     sidebar.BackgroundTransparency = 1
  136.     sidebar.BorderColor3 = Color3.fromRGB(0, 0, 0)
  137.     sidebar.BorderSizePixel = 0
  138.     sidebar.Position = UDim2.fromScale(-3.52e-08, 4.69e-08)
  139.     sidebar.Size = UDim2.fromScale(0.325, 1)
  140.  
  141.     local divider = Instance.new("Frame")
  142.     divider.Name = "Divider"
  143.     divider.AnchorPoint = Vector2.new(1, 0)
  144.     divider.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  145.     divider.BackgroundTransparency = 0.9
  146.     divider.BorderColor3 = Color3.fromRGB(0, 0, 0)
  147.     divider.BorderSizePixel = 0
  148.     divider.Position = UDim2.fromScale(1, 0)
  149.     divider.Size = UDim2.new(0, 1, 1, 0)
  150.     divider.Parent = sidebar
  151.  
  152.     local dividerInteract = Instance.new("TextButton")
  153.     dividerInteract.Name = "DividerInteract"
  154.     dividerInteract.AnchorPoint = Vector2.new(0.5, 0)
  155.     dividerInteract.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  156.     dividerInteract.BackgroundTransparency = 1
  157.     dividerInteract.BorderColor3 = Color3.fromRGB(0, 0, 0)
  158.     dividerInteract.BorderSizePixel = 0
  159.     dividerInteract.FontFace = Font.new("rbxasset://fonts/families/SourceSansPro.json")
  160.     dividerInteract.Position = UDim2.fromScale(0.5, 0)
  161.     dividerInteract.Size = UDim2.new(1, 6, 1, 0)
  162.     dividerInteract.Text = ""
  163.     dividerInteract.TextColor3 = Color3.fromRGB(0, 0, 0)
  164.     dividerInteract.TextSize = 14
  165.     dividerInteract.Parent = divider
  166.  
  167.     local windowControls = Instance.new("Frame")
  168.     windowControls.Name = "WindowControls"
  169.     windowControls.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  170.     windowControls.BackgroundTransparency = 1
  171.     windowControls.BorderColor3 = Color3.fromRGB(0, 0, 0)
  172.     windowControls.BorderSizePixel = 0
  173.     windowControls.Size = UDim2.new(1, 0, 0, 31)
  174.  
  175.     local controls = Instance.new("Frame")
  176.     controls.Name = "Controls"
  177.     controls.BackgroundColor3 = Color3.fromRGB(119, 174, 94)
  178.     controls.BackgroundTransparency = 1
  179.     controls.BorderColor3 = Color3.fromRGB(0, 0, 0)
  180.     controls.BorderSizePixel = 0
  181.     controls.Size = UDim2.fromScale(1, 1)
  182.  
  183.     local uIListLayout = Instance.new("UIListLayout")
  184.     uIListLayout.Name = "UIListLayout"
  185.     uIListLayout.Padding = UDim.new(0, 5)
  186.     uIListLayout.FillDirection = Enum.FillDirection.Horizontal
  187.     uIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  188.     uIListLayout.VerticalAlignment = Enum.VerticalAlignment.Center
  189.     uIListLayout.Parent = controls
  190.  
  191.     local uIPadding = Instance.new("UIPadding")
  192.     uIPadding.Name = "UIPadding"
  193.     uIPadding.PaddingLeft = UDim.new(0, 11)
  194.     uIPadding.Parent = controls
  195.  
  196.     local windowControlSettings = {
  197.         sizes = { enabled = UDim2.fromOffset(8, 8), disabled = UDim2.fromOffset(7, 7) },
  198.         transparencies = { enabled = 0, disabled = 1 },
  199.         strokeTransparency = 0.9,
  200.     }
  201.  
  202.     local stroke = Instance.new("UIStroke")
  203.     stroke.Name = "BaseUIStroke"
  204.     stroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  205.     stroke.Color = Color3.fromRGB(255, 255, 255)
  206.     stroke.Transparency = windowControlSettings.strokeTransparency
  207.  
  208.     local exit = Instance.new("TextButton")
  209.     exit.Name = "Exit"
  210.     exit.FontFace = Font.new("rbxasset://fonts/families/SourceSansPro.json")
  211.     exit.Text = ""
  212.     exit.TextColor3 = Color3.fromRGB(0, 0, 0)
  213.     exit.TextSize = 14
  214.     exit.AutoButtonColor = false
  215.     exit.BackgroundColor3 = Color3.fromRGB(250, 93, 86)
  216.     exit.BorderColor3 = Color3.fromRGB(0, 0, 0)
  217.     exit.BorderSizePixel = 0
  218.  
  219.     local uICorner = Instance.new("UICorner")
  220.     uICorner.Name = "UICorner"
  221.     uICorner.CornerRadius = UDim.new(1, 0)
  222.     uICorner.Parent = exit
  223.  
  224.     exit.Parent = controls
  225.  
  226.     local minimize = Instance.new("TextButton")
  227.     minimize.Name = "Minimize"
  228.     minimize.FontFace = Font.new("rbxasset://fonts/families/SourceSansPro.json")
  229.     minimize.Text = ""
  230.     minimize.TextColor3 = Color3.fromRGB(0, 0, 0)
  231.     minimize.TextSize = 14
  232.     minimize.AutoButtonColor = false
  233.     minimize.BackgroundColor3 = Color3.fromRGB(252, 190, 57)
  234.     minimize.BorderColor3 = Color3.fromRGB(0, 0, 0)
  235.     minimize.BorderSizePixel = 0
  236.     minimize.LayoutOrder = 1
  237.  
  238.     local uICorner1 = Instance.new("UICorner")
  239.     uICorner1.Name = "UICorner"
  240.     uICorner1.CornerRadius = UDim.new(1, 0)
  241.     uICorner1.Parent = minimize
  242.  
  243.     minimize.Parent = controls
  244.  
  245.     local maximize = Instance.new("TextButton")
  246.     maximize.Name = "Maximize"
  247.     maximize.FontFace = Font.new("rbxasset://fonts/families/SourceSansPro.json")
  248.     maximize.Text = ""
  249.     maximize.TextColor3 = Color3.fromRGB(0, 0, 0)
  250.     maximize.TextSize = 14
  251.     maximize.AutoButtonColor = false
  252.     maximize.BackgroundColor3 = Color3.fromRGB(119, 174, 94)
  253.     maximize.BorderColor3 = Color3.fromRGB(0, 0, 0)
  254.     maximize.BorderSizePixel = 0
  255.     maximize.LayoutOrder = 1
  256.  
  257.     local uICorner2 = Instance.new("UICorner")
  258.     uICorner2.Name = "UICorner"
  259.     uICorner2.CornerRadius = UDim.new(1, 0)
  260.     uICorner2.Parent = maximize
  261.  
  262.     maximize.Parent = controls
  263.  
  264.     local function applyState(button, enabled)
  265.         local size = enabled and windowControlSettings.sizes.enabled or windowControlSettings.sizes.disabled
  266.         local transparency = enabled and windowControlSettings.transparencies.enabled or windowControlSettings.transparencies.disabled
  267.  
  268.         button.Size = size
  269.         button.BackgroundTransparency = transparency
  270.         button.Active = enabled
  271.         button.Interactable = enabled
  272.  
  273.         for _, child in ipairs(button:GetChildren()) do
  274.             if child:IsA("UIStroke") then
  275.                 child.Transparency = transparency
  276.             end
  277.         end
  278.         if not enabled then
  279.             stroke:Clone().Parent = button
  280.         end
  281.     end
  282.  
  283.     applyState(maximize, false)
  284.  
  285.     local controlsList = {exit, minimize}
  286.     for _, button in pairs(controlsList) do
  287.         local buttonName = button.Name
  288.         local isEnabled = true
  289.  
  290.         if Settings.DisabledWindowControls and table.find(Settings.DisabledWindowControls, buttonName) then
  291.             isEnabled = false
  292.         end
  293.  
  294.         applyState(button, isEnabled)
  295.     end
  296.  
  297.     controls.Parent = windowControls
  298.  
  299.     local divider1 = Instance.new("Frame")
  300.     divider1.Name = "Divider"
  301.     divider1.AnchorPoint = Vector2.new(0, 1)
  302.     divider1.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  303.     divider1.BackgroundTransparency = 0.9
  304.     divider1.BorderColor3 = Color3.fromRGB(0, 0, 0)
  305.     divider1.BorderSizePixel = 0
  306.     divider1.Position = UDim2.fromScale(0, 1)
  307.     divider1.Size = UDim2.new(1, 0, 0, 1)
  308.     divider1.Parent = windowControls
  309.  
  310.     windowControls.Parent = sidebar
  311.  
  312.     local information = Instance.new("Frame")
  313.     information.Name = "Information"
  314.     information.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  315.     information.BackgroundTransparency = 1
  316.     information.BorderColor3 = Color3.fromRGB(0, 0, 0)
  317.     information.BorderSizePixel = 0
  318.     information.Position = UDim2.fromOffset(0, 31)
  319.     information.Size = UDim2.new(1, 0, 0, 60)
  320.  
  321.     local divider2 = Instance.new("Frame")
  322.     divider2.Name = "Divider"
  323.     divider2.AnchorPoint = Vector2.new(0, 1)
  324.     divider2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  325.     divider2.BackgroundTransparency = 0.9
  326.     divider2.BorderColor3 = Color3.fromRGB(0, 0, 0)
  327.     divider2.BorderSizePixel = 0
  328.     divider2.Position = UDim2.fromScale(0, 1)
  329.     divider2.Size = UDim2.new(1, 0, 0, 1)
  330.     divider2.Parent = information
  331.  
  332.     local informationHolder = Instance.new("Frame")
  333.     informationHolder.Name = "InformationHolder"
  334.     informationHolder.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  335.     informationHolder.BackgroundTransparency = 1
  336.     informationHolder.BorderColor3 = Color3.fromRGB(0, 0, 0)
  337.     informationHolder.BorderSizePixel = 0
  338.     informationHolder.Size = UDim2.fromScale(1, 1)
  339.  
  340.     local informationHolderUIPadding = Instance.new("UIPadding")
  341.     informationHolderUIPadding.Name = "InformationHolderUIPadding"
  342.     informationHolderUIPadding.PaddingBottom = UDim.new(0, 10)
  343.     informationHolderUIPadding.PaddingLeft = UDim.new(0, 23)
  344.     informationHolderUIPadding.PaddingRight = UDim.new(0, 22)
  345.     informationHolderUIPadding.PaddingTop = UDim.new(0, 10)
  346.     informationHolderUIPadding.Parent = informationHolder
  347.  
  348.     local globalSettingsButton = Instance.new("ImageButton")
  349.     globalSettingsButton.Name = "GlobalSettingsButton"
  350.     globalSettingsButton.Image = assets.globe
  351.     globalSettingsButton.ImageTransparency = 0.5
  352.     globalSettingsButton.AnchorPoint = Vector2.new(1, 0.5)
  353.     globalSettingsButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  354.     globalSettingsButton.BackgroundTransparency = 1
  355.     globalSettingsButton.BorderColor3 = Color3.fromRGB(0, 0, 0)
  356.     globalSettingsButton.BorderSizePixel = 0
  357.     globalSettingsButton.Position = UDim2.fromScale(1, 0.5)
  358.     globalSettingsButton.Size = UDim2.fromOffset(16,16)
  359.     globalSettingsButton.Parent = informationHolder
  360.  
  361.     local function ChangeGlobalSettingsButtonState(State)
  362.         if State == "Default" then
  363.             Tween(globalSettingsButton, TweenInfo.new(0.2, Enum.EasingStyle.Sine), {
  364.                 ImageTransparency = 0.5
  365.             }):Play()
  366.         elseif State == "Hover" then
  367.             Tween(globalSettingsButton, TweenInfo.new(0.2, Enum.EasingStyle.Sine), {
  368.                 ImageTransparency = 0.3
  369.             }):Play()
  370.         end
  371.     end
  372.  
  373.     globalSettingsButton.MouseEnter:Connect(function()
  374.         ChangeGlobalSettingsButtonState("Hover")
  375.     end)
  376.     globalSettingsButton.MouseLeave:Connect(function()
  377.         ChangeGlobalSettingsButtonState("Default")
  378.     end)
  379.  
  380.     local titleFrame = Instance.new("Frame")
  381.     titleFrame.Name = "TitleFrame"
  382.     titleFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  383.     titleFrame.BackgroundTransparency = 1
  384.     titleFrame.BorderColor3 = Color3.fromRGB(0, 0, 0)
  385.     titleFrame.BorderSizePixel = 0
  386.     titleFrame.Size = UDim2.fromScale(1, 1)
  387.  
  388.     local title = Instance.new("TextLabel")
  389.     title.Name = "Title"
  390.     title.FontFace = Font.new(
  391.         assets.interFont,
  392.         Enum.FontWeight.SemiBold,
  393.         Enum.FontStyle.Normal
  394.     )
  395.     title.Text = Settings.Title
  396.     title.TextColor3 = Color3.fromRGB(255, 255, 255)
  397.     title.RichText = true
  398.     title.TextSize = 18
  399.     title.TextTransparency = 0.1
  400.     title.TextTruncate = Enum.TextTruncate.SplitWord
  401.     title.TextXAlignment = Enum.TextXAlignment.Left
  402.     title.TextYAlignment = Enum.TextYAlignment.Top
  403.     title.AutomaticSize = Enum.AutomaticSize.Y
  404.     title.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  405.     title.BackgroundTransparency = 1
  406.     title.BorderColor3 = Color3.fromRGB(0, 0, 0)
  407.     title.BorderSizePixel = 0
  408.     title.Size = UDim2.new(1, -20, 0, 0)
  409.     title.Parent = titleFrame
  410.  
  411.     local subtitle = Instance.new("TextLabel")
  412.     subtitle.Name = "Subtitle"
  413.     subtitle.FontFace = Font.new(
  414.         assets.interFont,
  415.         Enum.FontWeight.Medium,
  416.         Enum.FontStyle.Normal
  417.     )
  418.     subtitle.RichText = true
  419.     subtitle.Text = Settings.Subtitle
  420.     subtitle.RichText = true
  421.     subtitle.TextColor3 = Color3.fromRGB(255, 255, 255)
  422.     subtitle.TextSize = 12
  423.     subtitle.TextTransparency = 0.7
  424.     subtitle.TextTruncate = Enum.TextTruncate.SplitWord
  425.     subtitle.TextXAlignment = Enum.TextXAlignment.Left
  426.     subtitle.TextYAlignment = Enum.TextYAlignment.Top
  427.     subtitle.AutomaticSize = Enum.AutomaticSize.Y
  428.     subtitle.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  429.     subtitle.BackgroundTransparency = 1
  430.     subtitle.BorderColor3 = Color3.fromRGB(0, 0, 0)
  431.     subtitle.BorderSizePixel = 0
  432.     subtitle.LayoutOrder = 1
  433.     subtitle.Size = UDim2.new(1, -20, 0, 0)
  434.     subtitle.Parent = titleFrame
  435.  
  436.     local titleFrameUIListLayout = Instance.new("UIListLayout")
  437.     titleFrameUIListLayout.Name = "TitleFrameUIListLayout"
  438.     titleFrameUIListLayout.Padding = UDim.new(0, 3)
  439.     titleFrameUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  440.     titleFrameUIListLayout.VerticalAlignment = Enum.VerticalAlignment.Center
  441.     titleFrameUIListLayout.Parent = titleFrame
  442.  
  443.     titleFrame.Parent = informationHolder
  444.  
  445.     informationHolder.Parent = information
  446.  
  447.     information.Parent = sidebar
  448.  
  449.     local sidebarGroup = Instance.new("Frame")
  450.     sidebarGroup.Name = "SidebarGroup"
  451.     sidebarGroup.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  452.     sidebarGroup.BackgroundTransparency = 1
  453.     sidebarGroup.BorderColor3 = Color3.fromRGB(0, 0, 0)
  454.     sidebarGroup.BorderSizePixel = 0
  455.     sidebarGroup.Position = UDim2.fromOffset(0, 91)
  456.     sidebarGroup.Size = UDim2.new(1, 0, 1, -91)
  457.  
  458.     local userInfo = Instance.new("Frame")
  459.     userInfo.Name = "UserInfo"
  460.     userInfo.AnchorPoint = Vector2.new(0, 1)
  461.     userInfo.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  462.     userInfo.BackgroundTransparency = 1
  463.     userInfo.BorderColor3 = Color3.fromRGB(0, 0, 0)
  464.     userInfo.BorderSizePixel = 0
  465.     userInfo.Position = UDim2.fromScale(0, 1)
  466.     userInfo.Size = UDim2.new(1, 0, 0, 107)
  467.  
  468.     local informationGroup = Instance.new("Frame")
  469.     informationGroup.Name = "InformationGroup"
  470.     informationGroup.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  471.     informationGroup.BackgroundTransparency = 1
  472.     informationGroup.BorderColor3 = Color3.fromRGB(0, 0, 0)
  473.     informationGroup.BorderSizePixel = 0
  474.     informationGroup.Size = UDim2.fromScale(1, 1)
  475.  
  476.     local informationGroupUIPadding = Instance.new("UIPadding")
  477.     informationGroupUIPadding.Name = "InformationGroupUIPadding"
  478.     informationGroupUIPadding.PaddingBottom = UDim.new(0, 17)
  479.     informationGroupUIPadding.PaddingLeft = UDim.new(0, 25)
  480.     informationGroupUIPadding.Parent = informationGroup
  481.  
  482.     local informationGroupUIListLayout = Instance.new("UIListLayout")
  483.     informationGroupUIListLayout.Name = "InformationGroupUIListLayout"
  484.     informationGroupUIListLayout.FillDirection = Enum.FillDirection.Horizontal
  485.     informationGroupUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  486.     informationGroupUIListLayout.VerticalAlignment = Enum.VerticalAlignment.Center
  487.     informationGroupUIListLayout.Parent = informationGroup
  488.  
  489.     local userId = LocalPlayer.UserId
  490.     local thumbType = Enum.ThumbnailType.AvatarBust
  491.     local thumbSize = Enum.ThumbnailSize.Size48x48
  492.     local headshotImage, isReady = Players:GetUserThumbnailAsync(userId, thumbType, thumbSize)
  493.  
  494.     local headshot = Instance.new("ImageLabel")
  495.     headshot.Name = "Headshot"
  496.     headshot.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  497.     headshot.BackgroundTransparency = 1
  498.     headshot.BorderColor3 = Color3.fromRGB(0, 0, 0)
  499.     headshot.BorderSizePixel = 0
  500.     headshot.Size = UDim2.fromOffset(32, 32)
  501.     headshot.Image = (isReady and headshotImage) or "rbxassetid://0"
  502.  
  503.     local uICorner3 = Instance.new("UICorner")
  504.     uICorner3.Name = "UICorner"
  505.     uICorner3.CornerRadius = UDim.new(1, 0)
  506.     uICorner3.Parent = headshot
  507.  
  508.     local baseUIStroke2 = Instance.new("UIStroke")
  509.     baseUIStroke2.Name = "BaseUIStroke"
  510.     baseUIStroke2.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  511.     baseUIStroke2.Color = Color3.fromRGB(255, 255, 255)
  512.     baseUIStroke2.Transparency = 0.9
  513.     baseUIStroke2.Parent = headshot
  514.  
  515.     headshot.Parent = informationGroup
  516.  
  517.     local userAndDisplayFrame = Instance.new("Frame")
  518.     userAndDisplayFrame.Name = "UserAndDisplayFrame"
  519.     userAndDisplayFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  520.     userAndDisplayFrame.BackgroundTransparency = 1
  521.     userAndDisplayFrame.BorderColor3 = Color3.fromRGB(0, 0, 0)
  522.     userAndDisplayFrame.BorderSizePixel = 0
  523.     userAndDisplayFrame.LayoutOrder = 1
  524.     userAndDisplayFrame.Size = UDim2.new(1, -42, 0, 32)
  525.  
  526.     local displayName = Instance.new("TextLabel")
  527.     displayName.Name = "DisplayName"
  528.     displayName.FontFace = Font.new(
  529.         assets.interFont,
  530.         Enum.FontWeight.SemiBold,
  531.         Enum.FontStyle.Normal
  532.     )
  533.     displayName.Text = LocalPlayer.DisplayName
  534.     displayName.TextColor3 = Color3.fromRGB(255, 255, 255)
  535.     displayName.TextSize = 13
  536.     displayName.TextTransparency = 0.1
  537.     displayName.TextTruncate = Enum.TextTruncate.SplitWord
  538.     displayName.TextXAlignment = Enum.TextXAlignment.Left
  539.     displayName.TextYAlignment = Enum.TextYAlignment.Top
  540.     displayName.AutomaticSize = Enum.AutomaticSize.XY
  541.     displayName.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  542.     displayName.BackgroundTransparency = 1
  543.     displayName.BorderColor3 = Color3.fromRGB(0, 0, 0)
  544.     displayName.BorderSizePixel = 0
  545.     displayName.Parent = userAndDisplayFrame
  546.     displayName.Size = UDim2.fromScale(1,0)
  547.  
  548.     local userAndDisplayFrameUIPadding = Instance.new("UIPadding")
  549.     userAndDisplayFrameUIPadding.Name = "UserAndDisplayFrameUIPadding"
  550.     userAndDisplayFrameUIPadding.PaddingLeft = UDim.new(0, 8)
  551.     userAndDisplayFrameUIPadding.PaddingTop = UDim.new(0, 3)
  552.     userAndDisplayFrameUIPadding.Parent = userAndDisplayFrame
  553.  
  554.     local userAndDisplayFrameUIListLayout = Instance.new("UIListLayout")
  555.     userAndDisplayFrameUIListLayout.Name = "UserAndDisplayFrameUIListLayout"
  556.     userAndDisplayFrameUIListLayout.Padding = UDim.new(0, 1)
  557.     userAndDisplayFrameUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  558.     userAndDisplayFrameUIListLayout.Parent = userAndDisplayFrame
  559.  
  560.     local username = Instance.new("TextLabel")
  561.     username.Name = "Username"
  562.     username.FontFace = Font.new(
  563.         assets.interFont,
  564.         Enum.FontWeight.SemiBold,
  565.         Enum.FontStyle.Normal
  566.     )
  567.     username.Text = "@" .. LocalPlayer.Name
  568.     username.TextColor3 = Color3.fromRGB(255, 255, 255)
  569.     username.TextSize = 12
  570.     username.TextTransparency = 0.7
  571.     username.TextTruncate = Enum.TextTruncate.SplitWord
  572.     username.TextXAlignment = Enum.TextXAlignment.Left
  573.     username.TextYAlignment = Enum.TextYAlignment.Top
  574.     username.AutomaticSize = Enum.AutomaticSize.XY
  575.     username.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  576.     username.BackgroundTransparency = 1
  577.     username.BorderColor3 = Color3.fromRGB(0, 0, 0)
  578.     username.BorderSizePixel = 0
  579.     username.LayoutOrder = 1
  580.     username.Parent = userAndDisplayFrame
  581.     username.Size = UDim2.fromScale(1,0)
  582.  
  583.     userAndDisplayFrame.Parent = informationGroup
  584.  
  585.     informationGroup.Parent = userInfo
  586.  
  587.     local userInfoUIPadding = Instance.new("UIPadding")
  588.     userInfoUIPadding.Name = "UserInfoUIPadding"
  589.     userInfoUIPadding.PaddingLeft = UDim.new(0, 10)
  590.     userInfoUIPadding.PaddingRight = UDim.new(0, 10)
  591.     userInfoUIPadding.Parent = userInfo
  592.  
  593.     userInfo.Parent = sidebarGroup
  594.  
  595.     local sidebarGroupUIPadding = Instance.new("UIPadding")
  596.     sidebarGroupUIPadding.Name = "SidebarGroupUIPadding"
  597.     sidebarGroupUIPadding.PaddingLeft = UDim.new(0, 10)
  598.     sidebarGroupUIPadding.PaddingRight = UDim.new(0, 10)
  599.     sidebarGroupUIPadding.PaddingTop = UDim.new(0, 31)
  600.     sidebarGroupUIPadding.Parent = sidebarGroup
  601.  
  602.     local tabSwitchers = Instance.new("Frame")
  603.     tabSwitchers.Name = "TabSwitchers"
  604.     tabSwitchers.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  605.     tabSwitchers.BackgroundTransparency = 1
  606.     tabSwitchers.BorderColor3 = Color3.fromRGB(0, 0, 0)
  607.     tabSwitchers.BorderSizePixel = 0
  608.     tabSwitchers.Size = UDim2.new(1, 0, 1, -107)
  609.  
  610.     local tabSwitchersScrollingFrame = Instance.new("ScrollingFrame")
  611.     tabSwitchersScrollingFrame.Name = "TabSwitchersScrollingFrame"
  612.     tabSwitchersScrollingFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y
  613.     tabSwitchersScrollingFrame.BottomImage = ""
  614.     tabSwitchersScrollingFrame.CanvasSize = UDim2.new()
  615.     tabSwitchersScrollingFrame.ScrollBarImageTransparency = 0.8
  616.     tabSwitchersScrollingFrame.ScrollBarThickness = 1
  617.     tabSwitchersScrollingFrame.TopImage = ""
  618.     tabSwitchersScrollingFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  619.     tabSwitchersScrollingFrame.BackgroundTransparency = 1
  620.     tabSwitchersScrollingFrame.BorderColor3 = Color3.fromRGB(0, 0, 0)
  621.     tabSwitchersScrollingFrame.BorderSizePixel = 0
  622.     tabSwitchersScrollingFrame.Size = UDim2.fromScale(1, 1)
  623.  
  624.     local tabSwitchersScrollingFrameUIListLayout = Instance.new("UIListLayout")
  625.     tabSwitchersScrollingFrameUIListLayout.Name = "TabSwitchersScrollingFrameUIListLayout"
  626.     tabSwitchersScrollingFrameUIListLayout.Padding = UDim.new(0, 17)
  627.     tabSwitchersScrollingFrameUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  628.     tabSwitchersScrollingFrameUIListLayout.Parent = tabSwitchersScrollingFrame
  629.  
  630.     local tabSwitchersScrollingFrameUIPadding = Instance.new("UIPadding")
  631.     tabSwitchersScrollingFrameUIPadding.Name = "TabSwitchersScrollingFrameUIPadding"
  632.     tabSwitchersScrollingFrameUIPadding.PaddingTop = UDim.new(0, 2)
  633.     tabSwitchersScrollingFrameUIPadding.Parent = tabSwitchersScrollingFrame
  634.  
  635.     tabSwitchersScrollingFrame.Parent = tabSwitchers
  636.  
  637.     tabSwitchers.Parent = sidebarGroup
  638.  
  639.     sidebarGroup.Parent = sidebar
  640.  
  641.     sidebar.Parent = base
  642.  
  643.     local content = Instance.new("Frame")
  644.     content.Name = "Content"
  645.     content.AnchorPoint = Vector2.new(1, 0)
  646.     content.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  647.     content.BackgroundTransparency = 1
  648.     content.BorderColor3 = Color3.fromRGB(0, 0, 0)
  649.     content.BorderSizePixel = 0
  650.     content.Position = UDim2.fromScale(1, 4.69e-08)
  651.     content.Size = UDim2.new(0, (base.AbsoluteSize.X - sidebar.AbsoluteSize.X), 1, 0)
  652.  
  653.     local resizingContent = false
  654.     local defaultSidebarWidth = sidebar.AbsoluteSize.X
  655.     local initialMouseX, initialSidebarWidth
  656.     local snapRange = 20
  657.     local minSidebarWidth = 107
  658.     local maxSidebarWidth = base.AbsoluteSize.X - minSidebarWidth
  659.  
  660.     local TweenSettings = {
  661.         DefaultTransparency = 0.9,
  662.         HoverTransparency = 0.85,
  663.  
  664.         EasingStyle = Enum.EasingStyle.Sine
  665.     }
  666.  
  667.     local function ChangeState(State)
  668.         Tween(divider, TweenInfo.new(0.2, TweenSettings.EasingStyle), {
  669.             BackgroundTransparency = State == "Idle" and TweenSettings.DefaultTransparency or TweenSettings.HoverTransparency
  670.         }):Play()  
  671.     end
  672.  
  673.     dividerInteract.MouseEnter:Connect(function()
  674.         ChangeState("Hover")
  675.     end)
  676.     dividerInteract.MouseLeave:Connect(function()
  677.         ChangeState("Idle")
  678.     end)
  679.  
  680.     dividerInteract.MouseButton1Down:Connect(function()
  681.         resizingContent = true
  682.         initialMouseX = UserInputService:GetMouseLocation().X
  683.         initialSidebarWidth = sidebar.AbsoluteSize.X
  684.     end)
  685.  
  686.     UserInputService.InputEnded:Connect(function(input)
  687.         if input.UserInputType == Enum.UserInputType.MouseButton1 then
  688.             resizingContent = false
  689.         end
  690.     end)
  691.  
  692.     UserInputService.InputChanged:Connect(function(input)
  693.         if resizingContent and input.UserInputType == Enum.UserInputType.MouseMovement then
  694.             local deltaX = UserInputService:GetMouseLocation().X - initialMouseX
  695.             local newSidebarWidth = initialSidebarWidth + deltaX
  696.  
  697.             if math.abs(newSidebarWidth - defaultSidebarWidth) < snapRange then
  698.                 newSidebarWidth = defaultSidebarWidth
  699.             else
  700.                 newSidebarWidth = math.clamp(newSidebarWidth, minSidebarWidth, maxSidebarWidth)
  701.             end
  702.  
  703.             sidebar.Size = UDim2.new(0, newSidebarWidth, 1, 0)
  704.             content.Size = UDim2.new(0, base.AbsoluteSize.X - newSidebarWidth, 1, 0)
  705.         end
  706.     end)
  707.  
  708.     local topbar = Instance.new("Frame")
  709.     topbar.Name = "Topbar"
  710.     topbar.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  711.     topbar.BackgroundTransparency = 1
  712.     topbar.BorderColor3 = Color3.fromRGB(0, 0, 0)
  713.     topbar.BorderSizePixel = 0
  714.     topbar.Size = UDim2.new(1, 0, 0, 63)
  715.  
  716.     local divider4 = Instance.new("Frame")
  717.     divider4.Name = "Divider"
  718.     divider4.AnchorPoint = Vector2.new(0, 1)
  719.     divider4.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  720.     divider4.BackgroundTransparency = 0.9
  721.     divider4.BorderColor3 = Color3.fromRGB(0, 0, 0)
  722.     divider4.BorderSizePixel = 0
  723.     divider4.Position = UDim2.fromScale(0, 1)
  724.     divider4.Size = UDim2.new(1, 0, 0, 1)
  725.     divider4.Parent = topbar
  726.  
  727.     local elements = Instance.new("Frame")
  728.     elements.Name = "Elements"
  729.     elements.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  730.     elements.BackgroundTransparency = 1
  731.     elements.BorderColor3 = Color3.fromRGB(0, 0, 0)
  732.     elements.BorderSizePixel = 0
  733.     elements.Size = UDim2.fromScale(1, 1)
  734.  
  735.     local uIPadding2 = Instance.new("UIPadding")
  736.     uIPadding2.Name = "UIPadding"
  737.     uIPadding2.PaddingLeft = UDim.new(0, 20)
  738.     uIPadding2.PaddingRight = UDim.new(0, 20)
  739.     uIPadding2.Parent = elements
  740.  
  741.     local moveIcon = Instance.new("ImageButton")
  742.     moveIcon.Name = "MoveIcon"
  743.     moveIcon.Image = assets.transform
  744.     moveIcon.ImageTransparency = 0.7
  745.     moveIcon.AnchorPoint = Vector2.new(1, 0.5)
  746.     moveIcon.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  747.     moveIcon.BackgroundTransparency = 1
  748.     moveIcon.BorderColor3 = Color3.fromRGB(0, 0, 0)
  749.     moveIcon.BorderSizePixel = 0
  750.     moveIcon.Position = UDim2.fromScale(1, 0.5)
  751.     moveIcon.Size = UDim2.fromOffset(15, 15)
  752.     moveIcon.Parent = elements
  753.     moveIcon.Visible = not Settings.DragStyle or Settings.DragStyle == 1
  754.  
  755.     local interact = Instance.new("TextButton")
  756.     interact.Name = "Interact"
  757.     interact.FontFace = Font.new("rbxasset://fonts/families/SourceSansPro.json")
  758.     interact.Text = ""
  759.     interact.TextColor3 = Color3.fromRGB(0, 0, 0)
  760.     interact.TextSize = 14
  761.     interact.AnchorPoint = Vector2.new(0.5, 0.5)
  762.     interact.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  763.     interact.BackgroundTransparency = 1
  764.     interact.BorderColor3 = Color3.fromRGB(0, 0, 0)
  765.     interact.BorderSizePixel = 0
  766.     interact.Position = UDim2.fromScale(0.5, 0.5)
  767.     interact.Size = UDim2.fromOffset(40, 40)
  768.     interact.Parent = moveIcon
  769.  
  770.     local function ChangemoveIconState(State)
  771.         if State == "Default" then
  772.             Tween(moveIcon, TweenInfo.new(0.2, Enum.EasingStyle.Sine), {
  773.                 ImageTransparency = 0.7
  774.             }):Play()
  775.         elseif State == "Hover" then
  776.             Tween(moveIcon, TweenInfo.new(0.2, Enum.EasingStyle.Sine), {
  777.                 ImageTransparency = 0.4
  778.             }):Play()
  779.         end
  780.     end
  781.  
  782.     interact.MouseEnter:Connect(function()
  783.         ChangemoveIconState("Hover")
  784.     end)
  785.     interact.MouseLeave:Connect(function()
  786.         ChangemoveIconState("Default")
  787.     end)
  788.  
  789.     local dragging_ = false
  790.     local dragInput
  791.     local dragStart
  792.     local startPos
  793.  
  794.     local function update(input)
  795.         local delta = input.Position - dragStart
  796.         base.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
  797.     end
  798.  
  799.     local function onDragStart(input)
  800.         if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
  801.             dragging_ = true
  802.             dragStart = input.Position
  803.             startPos = base.Position
  804.  
  805.             input.Changed:Connect(function()
  806.                 if input.UserInputState == Enum.UserInputState.End then
  807.                     dragging_ = false
  808.                 end
  809.             end)
  810.         end
  811.     end
  812.  
  813.     local function onDragUpdate(input)
  814.         if dragging_ and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
  815.             dragInput = input
  816.         end
  817.     end
  818.  
  819.     if not Settings.DragStyle or Settings.DragStyle == 1 then
  820.         interact.InputBegan:Connect(function(input)
  821.             if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
  822.                 onDragStart(input)
  823.             end
  824.         end)
  825.  
  826.         interact.InputChanged:Connect(onDragUpdate)
  827.  
  828.         UserInputService.InputChanged:Connect(function(input)
  829.             if input == dragInput and dragging_ then
  830.                 update(input)
  831.             end
  832.         end)
  833.  
  834.         interact.InputEnded:Connect(function(input)
  835.             if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
  836.                 dragging_ = false
  837.             end
  838.         end)
  839.     elseif Settings.DragStyle == 2 then
  840.         base.InputBegan:Connect(function(input)
  841.             if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
  842.                 onDragStart(input)
  843.             end
  844.         end)
  845.  
  846.         base.InputChanged:Connect(onDragUpdate)
  847.  
  848.         UserInputService.InputChanged:Connect(function(input)
  849.             if input == dragInput and dragging_ then
  850.                 update(input)
  851.             end
  852.         end)
  853.  
  854.         base.InputEnded:Connect(function(input)
  855.             if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
  856.                 dragging_ = false
  857.             end
  858.         end)
  859.     end
  860.  
  861.     local currentTab = Instance.new("TextLabel")
  862.     currentTab.Name = "CurrentTab"
  863.     currentTab.FontFace = Font.new(assets.interFont)
  864.     currentTab.RichText = true
  865.     currentTab.Text = ""
  866.     currentTab.RichText = true
  867.     currentTab.TextColor3 = Color3.fromRGB(255, 255, 255)
  868.     currentTab.TextSize = 15
  869.     currentTab.TextTransparency = 0.5
  870.     currentTab.TextTruncate = Enum.TextTruncate.SplitWord
  871.     currentTab.TextXAlignment = Enum.TextXAlignment.Left
  872.     currentTab.TextYAlignment = Enum.TextYAlignment.Top
  873.     currentTab.AnchorPoint = Vector2.new(0, 0.5)
  874.     currentTab.AutomaticSize = Enum.AutomaticSize.Y
  875.     currentTab.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  876.     currentTab.BackgroundTransparency = 1
  877.     currentTab.BorderColor3 = Color3.fromRGB(0, 0, 0)
  878.     currentTab.BorderSizePixel = 0
  879.     currentTab.Position = UDim2.fromScale(0, 0.5)
  880.     currentTab.Size = UDim2.fromScale(0.9, 0)
  881.     currentTab.Parent = elements
  882.  
  883.     elements.Parent = topbar
  884.  
  885.     topbar.Parent = content
  886.  
  887.     content.Parent = base
  888.  
  889.     local globalSettings = Instance.new("Frame")
  890.     globalSettings.Name = "GlobalSettings"
  891.     globalSettings.AutomaticSize = Enum.AutomaticSize.XY
  892.     globalSettings.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
  893.     globalSettings.BorderColor3 = Color3.fromRGB(0, 0, 0)
  894.     globalSettings.BorderSizePixel = 0
  895.     globalSettings.Position = UDim2.fromScale(0.298, 0.104)
  896.  
  897.     local globalSettingsUIStroke = Instance.new("UIStroke")
  898.     globalSettingsUIStroke.Name = "GlobalSettingsUIStroke"
  899.     globalSettingsUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  900.     globalSettingsUIStroke.Color = Color3.fromRGB(255, 255, 255)
  901.     globalSettingsUIStroke.Transparency = 0.9
  902.     globalSettingsUIStroke.Parent = globalSettings
  903.  
  904.     local globalSettingsUICorner = Instance.new("UICorner")
  905.     globalSettingsUICorner.Name = "GlobalSettingsUICorner"
  906.     globalSettingsUICorner.CornerRadius = UDim.new(0, 10)
  907.     globalSettingsUICorner.Parent = globalSettings
  908.  
  909.     local globalSettingsUIPadding = Instance.new("UIPadding")
  910.     globalSettingsUIPadding.Name = "GlobalSettingsUIPadding"
  911.     globalSettingsUIPadding.PaddingBottom = UDim.new(0, 10)
  912.     globalSettingsUIPadding.PaddingTop = UDim.new(0, 10)
  913.     globalSettingsUIPadding.Parent = globalSettings
  914.  
  915.     local globalSettingsUIListLayout = Instance.new("UIListLayout")
  916.     globalSettingsUIListLayout.Name = "GlobalSettingsUIListLayout"
  917.     globalSettingsUIListLayout.Padding = UDim.new(0, 5)
  918.     globalSettingsUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  919.     globalSettingsUIListLayout.Parent = globalSettings
  920.  
  921.     local globalSettingsUIScale = Instance.new("UIScale")
  922.     globalSettingsUIScale.Name = "GlobalSettingsUIScale"
  923.     globalSettingsUIScale.Scale = 1e-07
  924.     globalSettingsUIScale.Parent = globalSettings
  925.     globalSettings.Parent = base
  926.     base.Parent = macLib
  927.  
  928.     function WindowFunctions:UpdateTitle(NewTitle)
  929.         title.Text = NewTitle
  930.     end
  931.  
  932.     function WindowFunctions:UpdateSubtitle(NewSubtitle)
  933.         subtitle.Text = NewSubtitle
  934.     end
  935.  
  936.     local hovering
  937.     local toggled = globalSettingsUIScale.Scale == 1 and true or false
  938.     local function toggle()
  939.         if not toggled then
  940.             local intween = Tween(globalSettingsUIScale, TweenInfo.new(0.2, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {
  941.                 Scale = 1
  942.             })
  943.             intween:Play()
  944.             intween.Completed:Wait()
  945.             toggled = true
  946.         elseif toggled then
  947.             local outtween = Tween(globalSettingsUIScale, TweenInfo.new(0.2, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {
  948.                 Scale = 0
  949.             })
  950.             outtween:Play()
  951.             outtween.Completed:Wait()
  952.             toggled = false
  953.         end
  954.     end
  955.     globalSettingsButton.MouseButton1Click:Connect(function()
  956.         if not hasGlobalSetting then return end
  957.         toggle()
  958.     end)
  959.     globalSettings.MouseEnter:Connect(function()
  960.         hovering = true
  961.     end)
  962.     globalSettings.MouseLeave:Connect(function()
  963.         hovering = false
  964.     end)
  965.     UserInputService.InputEnded:Connect(function(inp)
  966.         if inp.UserInputType == Enum.UserInputType.MouseButton1 and toggled and not hovering then
  967.             toggle()
  968.         end
  969.     end)
  970.  
  971.     local BlurTarget = base
  972.  
  973.     local HS = HttpService
  974.     local camera = workspace.CurrentCamera
  975.     local MTREL = "Glass"
  976.     local binds = {}
  977.     local wedgeguid = HS:GenerateGUID(true)
  978.  
  979.     local DepthOfField
  980.  
  981.     for _,v in pairs(Lighting:GetChildren()) do
  982.         if not v:IsA("DepthOfFieldEffect") and v:HasTag(".") then
  983.             DepthOfField = Instance.new('DepthOfFieldEffect')
  984.             DepthOfField.FarIntensity = 0
  985.             DepthOfField.FocusDistance = 51.6
  986.             DepthOfField.InFocusRadius = 50
  987.             DepthOfField.NearIntensity = 1
  988.             DepthOfField.Name = HS:GenerateGUID(true)
  989.             DepthOfField:AddTag(".")
  990.         elseif v:IsA("DepthOfFieldEffect") and v:HasTag(".") then
  991.             DepthOfField = v
  992.         end
  993.     end
  994.  
  995.     if not DepthOfField then
  996.         DepthOfField = Instance.new('DepthOfFieldEffect')
  997.         DepthOfField.FarIntensity = 0
  998.         DepthOfField.FocusDistance = 51.6
  999.         DepthOfField.InFocusRadius = 50
  1000.         DepthOfField.NearIntensity = 1
  1001.         DepthOfField.Name = HS:GenerateGUID(true)
  1002.         DepthOfField:AddTag(".")
  1003.     end
  1004.  
  1005.     local frame = Instance.new('Frame')
  1006.     frame.Parent = BlurTarget
  1007.     frame.Size = UDim2.new(0.97, 0, 0.97, 0)
  1008.     frame.Position = UDim2.new(0.5, 0, 0.5, 0)
  1009.     frame.AnchorPoint = Vector2.new(0.5, 0.5)
  1010.     frame.BackgroundTransparency = 1
  1011.     frame.Name = HS:GenerateGUID(true)
  1012.  
  1013.     do
  1014.         local function IsNotNaN(x)
  1015.             return x == x
  1016.         end
  1017.         local continue = IsNotNaN(camera:ScreenPointToRay(0,0).Origin.x)
  1018.         while not continue do
  1019.             RunService.RenderStepped:Wait()
  1020.             continue = IsNotNaN(camera:ScreenPointToRay(0,0).Origin.x)
  1021.         end
  1022.     end
  1023.  
  1024.     local DrawQuad; do
  1025.         local acos, max, pi, sqrt = math.acos, math.max, math.pi, math.sqrt
  1026.         local sz = 0.2
  1027.  
  1028.         local function DrawTriangle(v1, v2, v3, p0, p1)
  1029.             local s1 = (v1 - v2).magnitude
  1030.             local s2 = (v2 - v3).magnitude
  1031.             local s3 = (v3 - v1).magnitude
  1032.             local smax = max(s1, s2, s3)
  1033.             local A, B, C
  1034.             if s1 == smax then
  1035.                 A, B, C = v1, v2, v3
  1036.             elseif s2 == smax then
  1037.                 A, B, C = v2, v3, v1
  1038.             elseif s3 == smax then
  1039.                 A, B, C = v3, v1, v2
  1040.             end
  1041.  
  1042.             local para = ( (B-A).x*(C-A).x + (B-A).y*(C-A).y + (B-A).z*(C-A).z ) / (A-B).magnitude
  1043.             local perp = sqrt((C-A).magnitude^2 - para*para)
  1044.             local dif_para = (A - B).magnitude - para
  1045.  
  1046.             local st = CFrame.new(B, A)
  1047.             local za = CFrame.Angles(pi/2,0,0)
  1048.  
  1049.             local cf0 = st
  1050.  
  1051.             local Top_Look = (cf0 * za).lookVector
  1052.             local Mid_Point = A + CFrame.new(A, B).lookVector * para
  1053.             local Needed_Look = CFrame.new(Mid_Point, C).lookVector
  1054.             local dot = Top_Look.x*Needed_Look.x + Top_Look.y*Needed_Look.y + Top_Look.z*Needed_Look.z
  1055.  
  1056.             local ac = CFrame.Angles(0, 0, acos(dot))
  1057.  
  1058.             cf0 = cf0 * ac
  1059.             if ((cf0 * za).lookVector - Needed_Look).magnitude > 0.01 then
  1060.                 cf0 = cf0 * CFrame.Angles(0, 0, -2*acos(dot))
  1061.             end
  1062.             cf0 = cf0 * CFrame.new(0, perp/2, -(dif_para + para/2))
  1063.  
  1064.             local cf1 = st * ac * CFrame.Angles(0, pi, 0)
  1065.             if ((cf1 * za).lookVector - Needed_Look).magnitude > 0.01 then
  1066.                 cf1 = cf1 * CFrame.Angles(0, 0, 2*acos(dot))
  1067.             end
  1068.             cf1 = cf1 * CFrame.new(0, perp/2, dif_para/2)
  1069.  
  1070.             if not p0 then
  1071.                 p0 = Instance.new('Part')
  1072.                 p0.FormFactor = 'Custom'
  1073.                 p0.TopSurface = 0
  1074.                 p0.BottomSurface = 0
  1075.                 p0.Anchored = true
  1076.                 p0.CanCollide = false
  1077.                 p0.CastShadow = false
  1078.                 p0.Material = MTREL
  1079.                 p0.Size = Vector3.new(sz, sz, sz)
  1080.                 p0.Name = HS:GenerateGUID(true)
  1081.                 local mesh = Instance.new('SpecialMesh', p0)
  1082.                 mesh.MeshType = 2
  1083.                 mesh.Name = wedgeguid
  1084.             end
  1085.             p0[wedgeguid].Scale = Vector3.new(0, perp/sz, para/sz)
  1086.             p0.CFrame = cf0
  1087.  
  1088.             if not p1 then
  1089.                 p1 = p0:clone()
  1090.             end
  1091.             p1[wedgeguid].Scale = Vector3.new(0, perp/sz, dif_para/sz)
  1092.             p1.CFrame = cf1
  1093.  
  1094.             return p0, p1
  1095.         end
  1096.  
  1097.         function DrawQuad(v1, v2, v3, v4, parts)
  1098.             parts[1], parts[2] = DrawTriangle(v1, v2, v3, parts[1], parts[2])
  1099.             parts[3], parts[4] = DrawTriangle(v3, v2, v4, parts[3], parts[4])
  1100.         end
  1101.     end
  1102.  
  1103.     if binds[frame] then
  1104.         return binds[frame].parts
  1105.     end
  1106.  
  1107.     local parts = {}
  1108.  
  1109.     local parents = {}
  1110.     do
  1111.         local function add(child)
  1112.             if child:IsA'GuiObject' then
  1113.                 parents[#parents + 1] = child
  1114.                 add(child.Parent)
  1115.             end
  1116.         end
  1117.         add(frame)
  1118.     end
  1119.  
  1120.     local function IsVisible(instance)
  1121.         while instance do
  1122.             if instance:IsA("GuiObject") then
  1123.                 if not instance.Visible then
  1124.                     return false
  1125.                 end
  1126.             elseif instance:IsA("ScreenGui") then
  1127.                 if not instance.Enabled then
  1128.                     return false
  1129.                 end
  1130.                 break
  1131.             end
  1132.             instance = instance.Parent
  1133.         end
  1134.         return true
  1135.     end
  1136.  
  1137.     local function UpdateOrientation(fetchProps)
  1138.         if not IsVisible(frame) or not acrylicBlur or unloaded then
  1139.             for _, pt in pairs(parts) do
  1140.                 pt.Parent = nil
  1141.                 DepthOfField.Enabled = false
  1142.                 DepthOfField.Parent = nil
  1143.             end
  1144.             return
  1145.         end
  1146.         if not DepthOfField.Parent then
  1147.             DepthOfField.Parent = Lighting
  1148.         end
  1149.         DepthOfField.Enabled = true
  1150.         local properties = {
  1151.             Transparency = 0.98;
  1152.             BrickColor = BrickColor.new('Institutional white');
  1153.         }
  1154.         local zIndex = 1 - 0.05*frame.ZIndex
  1155.  
  1156.         local tl, br = frame.AbsolutePosition, frame.AbsolutePosition + frame.AbsoluteSize
  1157.         local tr, bl = Vector2.new(br.x, tl.y), Vector2.new(tl.x, br.y)
  1158.         do
  1159.             local rot = 0;
  1160.             for _, v in ipairs(parents) do
  1161.                 rot = rot + v.Rotation
  1162.             end
  1163.             if rot ~= 0 and rot%180 ~= 0 then
  1164.                 local mid = tl:lerp(br, 0.5)
  1165.                 local s, c = math.sin(math.rad(rot)), math.cos(math.rad(rot))
  1166.                 local vec = tl
  1167.                 tl = Vector2.new(c*(tl.x - mid.x) - s*(tl.y - mid.y), s*(tl.x - mid.x) + c*(tl.y - mid.y)) + mid
  1168.                 tr = Vector2.new(c*(tr.x - mid.x) - s*(tr.y - mid.y), s*(tr.x - mid.x) + c*(tr.y - mid.y)) + mid
  1169.                 bl = Vector2.new(c*(bl.x - mid.x) - s*(bl.y - mid.y), s*(bl.x - mid.x) + c*(bl.y - mid.y)) + mid
  1170.                 br = Vector2.new(c*(br.x - mid.x) - s*(br.y - mid.y), s*(br.x - mid.x) + c*(br.y - mid.y)) + mid
  1171.             end
  1172.         end
  1173.         DrawQuad(
  1174.             camera:ScreenPointToRay(tl.x, tl.y, zIndex).Origin,
  1175.             camera:ScreenPointToRay(tr.x, tr.y, zIndex).Origin,
  1176.             camera:ScreenPointToRay(bl.x, bl.y, zIndex).Origin,
  1177.             camera:ScreenPointToRay(br.x, br.y, zIndex).Origin,
  1178.             parts
  1179.         )
  1180.         if fetchProps then
  1181.             for _, pt in pairs(parts) do
  1182.                 pt.Parent = camera
  1183.             end
  1184.             for propName, propValue in pairs(properties) do
  1185.                 for _, pt in pairs(parts) do
  1186.                     pt[propName] = propValue
  1187.                 end
  1188.             end
  1189.         end
  1190.     end
  1191.  
  1192.     UpdateOrientation(true)
  1193.  
  1194.     RunService.RenderStepped:Connect(UpdateOrientation)
  1195.  
  1196.     function WindowFunctions:GlobalSetting(Settings)
  1197.         hasGlobalSetting = true
  1198.         local GlobalSettingFunctions = {}
  1199.         local globalSetting = Instance.new("TextButton")
  1200.         globalSetting.Name = "GlobalSetting"
  1201.         globalSetting.FontFace = Font.new("rbxasset://fonts/families/SourceSansPro.json")
  1202.         globalSetting.Text = ""
  1203.         globalSetting.TextColor3 = Color3.fromRGB(0, 0, 0)
  1204.         globalSetting.TextSize = 14
  1205.         globalSetting.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1206.         globalSetting.BackgroundTransparency = 1
  1207.         globalSetting.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1208.         globalSetting.BorderSizePixel = 0
  1209.         globalSetting.Size = UDim2.fromOffset(200, 30)
  1210.  
  1211.         local globalSettingToggleUIPadding = Instance.new("UIPadding")
  1212.         globalSettingToggleUIPadding.Name = "GlobalSettingToggleUIPadding"
  1213.         globalSettingToggleUIPadding.PaddingLeft = UDim.new(0, 15)
  1214.         globalSettingToggleUIPadding.Parent = globalSetting
  1215.  
  1216.         local settingName = Instance.new("TextLabel")
  1217.         settingName.Name = "SettingName"
  1218.         settingName.FontFace = Font.new(assets.interFont)
  1219.         settingName.Text = Settings.Name
  1220.         settingName.RichText = true
  1221.         settingName.TextColor3 = Color3.fromRGB(255, 255, 255)
  1222.         settingName.TextSize = 13
  1223.         settingName.TextTransparency = 0.5
  1224.         settingName.TextTruncate = Enum.TextTruncate.SplitWord
  1225.         settingName.TextXAlignment = Enum.TextXAlignment.Left
  1226.         settingName.TextYAlignment = Enum.TextYAlignment.Top
  1227.         settingName.AnchorPoint = Vector2.new(0, 0.5)
  1228.         settingName.AutomaticSize = Enum.AutomaticSize.Y
  1229.         settingName.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1230.         settingName.BackgroundTransparency = 1
  1231.         settingName.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1232.         settingName.BorderSizePixel = 0
  1233.         settingName.Position = UDim2.fromScale(1.3e-07, 0.5)
  1234.         settingName.Size = UDim2.new(1,-40,0,0)
  1235.         settingName.Parent = globalSetting
  1236.  
  1237.         local globalSettingToggleUIListLayout = Instance.new("UIListLayout")
  1238.         globalSettingToggleUIListLayout.Name = "GlobalSettingToggleUIListLayout"
  1239.         globalSettingToggleUIListLayout.Padding = UDim.new(0, 10)
  1240.         globalSettingToggleUIListLayout.FillDirection = Enum.FillDirection.Horizontal
  1241.         globalSettingToggleUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  1242.         globalSettingToggleUIListLayout.VerticalAlignment = Enum.VerticalAlignment.Center
  1243.         globalSettingToggleUIListLayout.Parent = globalSetting
  1244.  
  1245.         local checkmark = Instance.new("TextLabel")
  1246.         checkmark.Name = "Checkmark"
  1247.         checkmark.FontFace = Font.new(
  1248.             assets.interFont,
  1249.             Enum.FontWeight.Medium,
  1250.             Enum.FontStyle.Normal
  1251.         )
  1252.         checkmark.Text = "✓"
  1253.         checkmark.TextColor3 = Color3.fromRGB(255, 255, 255)
  1254.         checkmark.TextSize = 13
  1255.         checkmark.TextTransparency = 1
  1256.         checkmark.TextXAlignment = Enum.TextXAlignment.Left
  1257.         checkmark.TextYAlignment = Enum.TextYAlignment.Top
  1258.         checkmark.AnchorPoint = Vector2.new(0, 0.5)
  1259.         checkmark.AutomaticSize = Enum.AutomaticSize.Y
  1260.         checkmark.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1261.         checkmark.BackgroundTransparency = 1
  1262.         checkmark.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1263.         checkmark.BorderSizePixel = 0
  1264.         checkmark.LayoutOrder = -1
  1265.         checkmark.Position = UDim2.fromScale(1.3e-07, 0.5)
  1266.         checkmark.Size = UDim2.fromOffset(-10, 0)
  1267.         checkmark.Parent = globalSetting
  1268.  
  1269.         globalSetting.Parent = globalSettings
  1270.  
  1271.         local tweensettings = {
  1272.             duration = 0.2,
  1273.             easingStyle = Enum.EasingStyle.Quint,
  1274.             transparencyIn = 0.2,
  1275.             transparencyOut = 0.5,
  1276.             checkSizeIncrease = 12,
  1277.             checkSizeDecrease = -globalSettingToggleUIListLayout.Padding.Offset,
  1278.             waitTime = 1
  1279.         }
  1280.  
  1281.         local tweens = {
  1282.             checkIn = Tween(checkmark, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle), {
  1283.                 Size = UDim2.new(checkmark.Size.X.Scale, tweensettings.checkSizeIncrease, checkmark.Size.Y.Scale, checkmark.Size.Y.Offset)
  1284.             }),
  1285.             checkOut = Tween(checkmark, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle),{
  1286.                 Size = UDim2.new(checkmark.Size.X.Scale, tweensettings.checkSizeDecrease, checkmark.Size.Y.Scale, checkmark.Size.Y.Offset)
  1287.             }),
  1288.             nameIn = Tween(settingName, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle),{
  1289.                 TextTransparency = tweensettings.transparencyIn
  1290.             }),
  1291.             nameOut = Tween(settingName, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle),{
  1292.                 TextTransparency = tweensettings.transparencyOut
  1293.             })
  1294.         }
  1295.  
  1296.         local function Toggle(State)
  1297.             if not State then
  1298.                 tweens.checkOut:Play()
  1299.                 tweens.nameOut:Play()
  1300.                 checkmark:GetPropertyChangedSignal("AbsoluteSize"):Connect(function()
  1301.                     if checkmark.AbsoluteSize.X <= 0 then
  1302.                         checkmark.TextTransparency = 1
  1303.                     end
  1304.                 end)
  1305.             else
  1306.                 tweens.checkIn:Play()
  1307.                 tweens.nameIn:Play()
  1308.                 checkmark:GetPropertyChangedSignal("AbsoluteSize"):Connect(function()
  1309.                     if checkmark.AbsoluteSize.X > 0 then
  1310.                         checkmark.TextTransparency = 0
  1311.                     end
  1312.                 end)
  1313.             end
  1314.         end
  1315.  
  1316.         local toggled = Settings.Default
  1317.         Toggle(toggled)
  1318.  
  1319.         globalSetting.MouseButton1Click:Connect(function()
  1320.             toggled = not toggled
  1321.             Toggle(toggled)
  1322.  
  1323.             task.spawn(function()
  1324.                 if Settings.Callback then
  1325.                     Settings.Callback(toggled)
  1326.                 end
  1327.             end)
  1328.         end)
  1329.  
  1330.         function GlobalSettingFunctions:UpdateName(NewName)
  1331.             settingName.Text = NewName
  1332.         end
  1333.  
  1334.         function GlobalSettingFunctions:UpdateState(NewState)
  1335.             Toggle(NewState)
  1336.             toggled = NewState
  1337.         end
  1338.  
  1339.         return GlobalSettingFunctions
  1340.     end
  1341.  
  1342.     function WindowFunctions:TabGroup()
  1343.         local SectionFunctions = {}
  1344.  
  1345.         local tabGroup = Instance.new("Frame")
  1346.         tabGroup.Name = "Section"
  1347.         tabGroup.AutomaticSize = Enum.AutomaticSize.Y
  1348.         tabGroup.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1349.         tabGroup.BackgroundTransparency = 1
  1350.         tabGroup.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1351.         tabGroup.BorderSizePixel = 0
  1352.         tabGroup.Size = UDim2.fromScale(1, 0)
  1353.  
  1354.         local divider3 = Instance.new("Frame")
  1355.         divider3.Name = "Divider"
  1356.         divider3.AnchorPoint = Vector2.new(0.5, 1)
  1357.         divider3.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1358.         divider3.BackgroundTransparency = 0.9
  1359.         divider3.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1360.         divider3.BorderSizePixel = 0
  1361.         divider3.Position = UDim2.fromScale(0.5, 1)
  1362.         divider3.Size = UDim2.new(1, -21, 0, 1)
  1363.         divider3.Parent = tabGroup
  1364.  
  1365.         local sectionTabSwitchers = Instance.new("Frame")
  1366.         sectionTabSwitchers.Name = "SectionTabSwitchers"
  1367.         sectionTabSwitchers.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1368.         sectionTabSwitchers.BackgroundTransparency = 1
  1369.         sectionTabSwitchers.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1370.         sectionTabSwitchers.BorderSizePixel = 0
  1371.         sectionTabSwitchers.Size = UDim2.fromScale(1, 1)
  1372.  
  1373.         local uIListLayout1 = Instance.new("UIListLayout")
  1374.         uIListLayout1.Name = "UIListLayout"
  1375.         uIListLayout1.Padding = UDim.new(0, 15)
  1376.         uIListLayout1.HorizontalAlignment = Enum.HorizontalAlignment.Center
  1377.         uIListLayout1.SortOrder = Enum.SortOrder.LayoutOrder
  1378.         uIListLayout1.Parent = sectionTabSwitchers
  1379.  
  1380.         local uIPadding1 = Instance.new("UIPadding")
  1381.         uIPadding1.Name = "UIPadding"
  1382.         uIPadding1.PaddingBottom = UDim.new(0, 15)
  1383.         uIPadding1.Parent = sectionTabSwitchers
  1384.  
  1385.         sectionTabSwitchers.Parent = tabGroup
  1386.         tabGroup.Parent = tabSwitchersScrollingFrame
  1387.  
  1388.         function SectionFunctions:Tab(Settings)
  1389.             local TabFunctions = {Settings = Settings}
  1390.             local tabSwitcher = Instance.new("TextButton")
  1391.             tabSwitcher.Name = "TabSwitcher"
  1392.             tabSwitcher.FontFace = Font.new("rbxasset://fonts/families/SourceSansPro.json")
  1393.             tabSwitcher.Text = ""
  1394.             tabSwitcher.TextColor3 = Color3.fromRGB(0, 0, 0)
  1395.             tabSwitcher.TextSize = 14
  1396.             tabSwitcher.AutoButtonColor = false
  1397.             tabSwitcher.AnchorPoint = Vector2.new(0.5, 0)
  1398.             tabSwitcher.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1399.             tabSwitcher.BackgroundTransparency = 1
  1400.             tabSwitcher.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1401.             tabSwitcher.BorderSizePixel = 0
  1402.             tabSwitcher.Position = UDim2.fromScale(0.5, 0)
  1403.             tabSwitcher.Size = UDim2.new(1, -21, 0, 40)
  1404.  
  1405.             tabIndex += 1
  1406.             tabSwitcher.LayoutOrder = tabIndex
  1407.  
  1408.             local tabSwitcherUICorner = Instance.new("UICorner")
  1409.             tabSwitcherUICorner.Name = "TabSwitcherUICorner"
  1410.             tabSwitcherUICorner.Parent = tabSwitcher
  1411.  
  1412.             local tabSwitcherUIStroke = Instance.new("UIStroke")
  1413.             tabSwitcherUIStroke.Name = "TabSwitcherUIStroke"
  1414.             tabSwitcherUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  1415.             tabSwitcherUIStroke.Color = Color3.fromRGB(255, 255, 255)
  1416.             tabSwitcherUIStroke.Transparency = 1
  1417.             tabSwitcherUIStroke.Parent = tabSwitcher
  1418.  
  1419.             local tabSwitcherUIListLayout = Instance.new("UIListLayout")
  1420.             tabSwitcherUIListLayout.Name = "TabSwitcherUIListLayout"
  1421.             tabSwitcherUIListLayout.Padding = UDim.new(0, 9)
  1422.             tabSwitcherUIListLayout.FillDirection = Enum.FillDirection.Horizontal
  1423.             tabSwitcherUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  1424.             tabSwitcherUIListLayout.VerticalAlignment = Enum.VerticalAlignment.Center
  1425.             tabSwitcherUIListLayout.Parent = tabSwitcher
  1426.  
  1427.             local tabImage
  1428.  
  1429.             if Settings.Image then
  1430.                 tabImage = Instance.new("ImageLabel")
  1431.                 tabImage.Name = "TabImage"
  1432.                 tabImage.Image = Settings.Image
  1433.                 tabImage.ImageTransparency = 0.5
  1434.                 tabImage.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1435.                 tabImage.BackgroundTransparency = 1
  1436.                 tabImage.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1437.                 tabImage.BorderSizePixel = 0
  1438.                 tabImage.Size = UDim2.fromOffset(18, 18)
  1439.                 tabImage.Parent = tabSwitcher
  1440.             end
  1441.  
  1442.             local tabSwitcherName = Instance.new("TextLabel")
  1443.             tabSwitcherName.Name = "TabSwitcherName"
  1444.             tabSwitcherName.FontFace = Font.new(
  1445.                 assets.interFont,
  1446.                 Enum.FontWeight.Medium,
  1447.                 Enum.FontStyle.Normal
  1448.             )
  1449.             tabSwitcherName.Text = Settings.Name
  1450.             tabSwitcherName.RichText = true
  1451.             tabSwitcherName.TextColor3 = Color3.fromRGB(255, 255, 255)
  1452.             tabSwitcherName.TextSize = 16
  1453.             tabSwitcherName.TextTransparency = 0.5
  1454.             tabSwitcherName.TextTruncate = Enum.TextTruncate.SplitWord
  1455.             tabSwitcherName.TextXAlignment = Enum.TextXAlignment.Left
  1456.             tabSwitcherName.TextYAlignment = Enum.TextYAlignment.Top
  1457.             tabSwitcherName.AutomaticSize = Enum.AutomaticSize.Y
  1458.             tabSwitcherName.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1459.             tabSwitcherName.BackgroundTransparency = 1
  1460.             tabSwitcherName.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1461.             tabSwitcherName.BorderSizePixel = 0
  1462.             tabSwitcherName.Size = UDim2.fromScale(1, 0)
  1463.             tabSwitcherName.Parent = tabSwitcher
  1464.             tabSwitcherName.LayoutOrder = 1
  1465.  
  1466.             local tabSwitcherUIPadding = Instance.new("UIPadding")
  1467.             tabSwitcherUIPadding.Name = "TabSwitcherUIPadding"
  1468.             tabSwitcherUIPadding.PaddingLeft = UDim.new(0, 24)
  1469.             tabSwitcherUIPadding.PaddingRight = UDim.new(0, 35)
  1470.             tabSwitcherUIPadding.PaddingTop = UDim.new(0, 1)
  1471.             tabSwitcherUIPadding.Parent = tabSwitcher
  1472.  
  1473.             tabSwitcher.Parent = sectionTabSwitchers
  1474.  
  1475.             local elements1 = Instance.new("Frame")
  1476.             elements1.Name = "Elements"
  1477.             elements1.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1478.             elements1.BackgroundTransparency = 1
  1479.             elements1.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1480.             elements1.BorderSizePixel = 0
  1481.             elements1.Position = UDim2.fromOffset(0, 63)
  1482.             elements1.Size = UDim2.new(1, 0, 1, -63)
  1483.             elements1.ClipsDescendants = true
  1484.  
  1485.             local elementsUIPadding = Instance.new("UIPadding")
  1486.             elementsUIPadding.Name = "ElementsUIPadding"
  1487.             elementsUIPadding.PaddingRight = UDim.new(0, 5)
  1488.             elementsUIPadding.PaddingTop = UDim.new(0, 10)
  1489.             elementsUIPadding.PaddingBottom = UDim.new(0, 10)
  1490.             elementsUIPadding.Parent = elements1
  1491.  
  1492.             local elementsScrolling = Instance.new("ScrollingFrame")
  1493.             elementsScrolling.Name = "ElementsScrolling"
  1494.             elementsScrolling.AutomaticCanvasSize = Enum.AutomaticSize.Y
  1495.             elementsScrolling.BottomImage = ""
  1496.             elementsScrolling.CanvasSize = UDim2.new()
  1497.             elementsScrolling.ScrollBarImageTransparency = 0.5
  1498.             elementsScrolling.ScrollBarThickness = 1
  1499.             elementsScrolling.TopImage = ""
  1500.             elementsScrolling.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1501.             elementsScrolling.BackgroundTransparency = 1
  1502.             elementsScrolling.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1503.             elementsScrolling.BorderSizePixel = 0
  1504.             elementsScrolling.Size = UDim2.fromScale(1, 1)
  1505.             elementsScrolling.ClipsDescendants = false
  1506.  
  1507.             local elementsScrollingUIPadding = Instance.new("UIPadding")
  1508.             elementsScrollingUIPadding.Name = "ElementsScrollingUIPadding"
  1509.             elementsScrollingUIPadding.PaddingBottom = UDim.new(0, 5)
  1510.             elementsScrollingUIPadding.PaddingLeft = UDim.new(0, 11)
  1511.             elementsScrollingUIPadding.PaddingRight = UDim.new(0, 3)
  1512.             elementsScrollingUIPadding.PaddingTop = UDim.new(0, 5)
  1513.             elementsScrollingUIPadding.Parent = elementsScrolling
  1514.  
  1515.             local elementsScrollingUIListLayout = Instance.new("UIListLayout")
  1516.             elementsScrollingUIListLayout.Name = "ElementsScrollingUIListLayout"
  1517.             elementsScrollingUIListLayout.Padding = UDim.new(0, 15)
  1518.             elementsScrollingUIListLayout.FillDirection = Enum.FillDirection.Horizontal
  1519.             elementsScrollingUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  1520.             elementsScrollingUIListLayout.Parent = elementsScrolling
  1521.  
  1522.             local left = Instance.new("Frame")
  1523.             left.Name = "Left"
  1524.             left.AutomaticSize = Enum.AutomaticSize.Y
  1525.             left.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  1526.             left.BackgroundTransparency = 1
  1527.             left.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1528.             left.BorderSizePixel = 0
  1529.             left.Position = UDim2.fromScale(0.512, 0)
  1530.             left.Size = UDim2.new(0.5, -10, 0, 0)
  1531.  
  1532.             local leftUIListLayout = Instance.new("UIListLayout")
  1533.             leftUIListLayout.Name = "LeftUIListLayout"
  1534.             leftUIListLayout.Padding = UDim.new(0, 15)
  1535.             leftUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  1536.             leftUIListLayout.Parent = left
  1537.  
  1538.             left.Parent = elementsScrolling
  1539.  
  1540.             local right = Instance.new("Frame")
  1541.             right.Name = "Right"
  1542.             right.AutomaticSize = Enum.AutomaticSize.Y
  1543.             right.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  1544.             right.BackgroundTransparency = 1
  1545.             right.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1546.             right.BorderSizePixel = 0
  1547.             right.LayoutOrder = 1
  1548.             right.Position = UDim2.fromScale(0.512, 0)
  1549.             right.Size = UDim2.new(0.5, -10, 0, 0)
  1550.  
  1551.             local rightUIListLayout = Instance.new("UIListLayout")
  1552.             rightUIListLayout.Name = "RightUIListLayout"
  1553.             rightUIListLayout.Padding = UDim.new(0, 15)
  1554.             rightUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  1555.             rightUIListLayout.Parent = right
  1556.  
  1557.             right.Parent = elementsScrolling
  1558.  
  1559.             elementsScrolling.Parent = elements1
  1560.  
  1561.             function TabFunctions:Section(Settings)
  1562.                 local SectionFunctions = {}
  1563.                 local section = Instance.new("Frame")
  1564.                 section.Name = "Section"
  1565.                 section.AutomaticSize = Enum.AutomaticSize.Y
  1566.                 section.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1567.                 section.BackgroundTransparency = 0.98
  1568.                 section.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1569.                 section.BorderSizePixel = 0
  1570.                 section.Position = UDim2.fromScale(0, 6.78e-08)
  1571.                 section.Size = UDim2.fromScale(1, 0)
  1572.                 section.ClipsDescendants = true
  1573.                 section.Parent = Settings.Side == "Left" and left or right
  1574.  
  1575.                 local sectionUICorner = Instance.new("UICorner")
  1576.                 sectionUICorner.Name = "SectionUICorner"
  1577.                 sectionUICorner.Parent = section
  1578.  
  1579.                 local sectionUIStroke = Instance.new("UIStroke")
  1580.                 sectionUIStroke.Name = "SectionUIStroke"
  1581.                 sectionUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  1582.                 sectionUIStroke.Color = Color3.fromRGB(255, 255, 255)
  1583.                 sectionUIStroke.Transparency = 0.95
  1584.                 sectionUIStroke.Parent = section
  1585.  
  1586.                 local sectionUIListLayout = Instance.new("UIListLayout")
  1587.                 sectionUIListLayout.Name = "SectionUIListLayout"
  1588.                 sectionUIListLayout.Padding = UDim.new(0, 10)
  1589.                 sectionUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  1590.                 sectionUIListLayout.Parent = section
  1591.  
  1592.                 local sectionUIPadding = Instance.new("UIPadding")
  1593.                 sectionUIPadding.Name = "SectionUIPadding"
  1594.                 sectionUIPadding.PaddingBottom = UDim.new(0, 20)
  1595.                 sectionUIPadding.PaddingLeft = UDim.new(0, 20)
  1596.                 sectionUIPadding.PaddingRight = UDim.new(0, 18)
  1597.                 sectionUIPadding.PaddingTop = UDim.new(0, 22)
  1598.                 sectionUIPadding.Parent = section
  1599.  
  1600.                 function SectionFunctions:Button(Settings, Flag)
  1601.                     local ButtonFunctions = {Settings = Settings}
  1602.                     local button = Instance.new("Frame")
  1603.                     button.Name = "Button"
  1604.                     button.AutomaticSize = Enum.AutomaticSize.Y
  1605.                     button.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  1606.                     button.BackgroundTransparency = 1
  1607.                     button.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1608.                     button.BorderSizePixel = 0
  1609.                     button.Size = UDim2.new(1, 0, 0, 38)
  1610.                     button.Parent = section
  1611.  
  1612.                     local buttonInteract = Instance.new("TextButton")
  1613.                     buttonInteract.Name = "ButtonInteract"
  1614.                     buttonInteract.FontFace = Font.new(assets.interFont)
  1615.                     buttonInteract.RichText = true
  1616.                     buttonInteract.TextColor3 = Color3.fromRGB(255, 255, 255)
  1617.                     buttonInteract.TextSize = 13
  1618.                     buttonInteract.TextTransparency = 0.5
  1619.                     buttonInteract.TextTruncate = Enum.TextTruncate.AtEnd
  1620.                     buttonInteract.TextXAlignment = Enum.TextXAlignment.Left
  1621.                     buttonInteract.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1622.                     buttonInteract.BackgroundTransparency = 1
  1623.                     buttonInteract.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1624.                     buttonInteract.BorderSizePixel = 0
  1625.                     buttonInteract.Size = UDim2.fromScale(1, 1)
  1626.                     buttonInteract.Parent = button
  1627.                     buttonInteract.Text = ButtonFunctions.Settings.Name
  1628.  
  1629.                     local buttonImage = Instance.new("ImageLabel")
  1630.                     buttonImage.Name = "ButtonImage"
  1631.                     buttonImage.Image = assets.buttonImage
  1632.                     buttonImage.ImageTransparency = 0.5
  1633.                     buttonImage.AnchorPoint = Vector2.new(1, 0.5)
  1634.                     buttonImage.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1635.                     buttonImage.BackgroundTransparency = 1
  1636.                     buttonImage.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1637.                     buttonImage.BorderSizePixel = 0
  1638.                     buttonImage.Position = UDim2.fromScale(1, 0.5)
  1639.                     buttonImage.Size = UDim2.fromOffset(15, 15)
  1640.                     buttonImage.Parent = button
  1641.  
  1642.                     local TweenSettings = {
  1643.                         DefaultTransparency = 0.5,
  1644.                         HoverTransparency = 0.3,
  1645.  
  1646.                         EasingStyle = Enum.EasingStyle.Sine
  1647.                     }
  1648.  
  1649.                     local function ChangeState(State)
  1650.                         if State == "Idle" then
  1651.                             Tween(buttonInteract, TweenInfo.new(0.2, TweenSettings.EasingStyle), {
  1652.                                 TextTransparency = TweenSettings.DefaultTransparency
  1653.                             }):Play()
  1654.                             Tween(buttonImage, TweenInfo.new(0.2, TweenSettings.EasingStyle), {
  1655.                                 ImageTransparency = TweenSettings.DefaultTransparency
  1656.                             }):Play()
  1657.                         elseif State == "Hover" then
  1658.                             Tween(buttonInteract, TweenInfo.new(0.2, TweenSettings.EasingStyle), {
  1659.                                 TextTransparency = TweenSettings.HoverTransparency
  1660.                             }):Play()
  1661.                             Tween(buttonImage, TweenInfo.new(0.2, TweenSettings.EasingStyle), {
  1662.                                 ImageTransparency = TweenSettings.HoverTransparency
  1663.                             }):Play()
  1664.                         end
  1665.                     end
  1666.  
  1667.                     local function Callback()
  1668.                         if ButtonFunctions.Settings.Callback then
  1669.                             ButtonFunctions.Settings.Callback()
  1670.                         end
  1671.                     end
  1672.  
  1673.                     buttonInteract.MouseEnter:Connect(function()
  1674.                         ChangeState("Hover")
  1675.                     end)
  1676.                     buttonInteract.MouseLeave:Connect(function()
  1677.                         ChangeState("Idle")
  1678.                     end)
  1679.  
  1680.                     buttonInteract.MouseButton1Click:Connect(Callback)
  1681.                     function ButtonFunctions:UpdateName(Name)
  1682.                         buttonInteract.Text = Name
  1683.                     end
  1684.                     function ButtonFunctions:SetVisibility(State)
  1685.                         button.Visible = State
  1686.                     end
  1687.  
  1688.                     if Flag then
  1689.                         MacLib.Options[Flag] = ButtonFunctions
  1690.                     end
  1691.                     return ButtonFunctions
  1692.                 end
  1693.  
  1694.                 function SectionFunctions:Toggle(Settings, Flag)
  1695.                     local ToggleFunctions = { Settings = Settings, IgnoreConfig = false, Class = "Toggle" }
  1696.                     local toggle = Instance.new("Frame")
  1697.                     toggle.Name = "Toggle"
  1698.                     toggle.AutomaticSize = Enum.AutomaticSize.Y
  1699.                     toggle.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  1700.                     toggle.BackgroundTransparency = 1
  1701.                     toggle.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1702.                     toggle.BorderSizePixel = 0
  1703.                     toggle.Size = UDim2.new(1, 0, 0, 38)
  1704.                     toggle.Parent = section
  1705.  
  1706.                     local toggleName = Instance.new("TextLabel")
  1707.                     toggleName.Name = "ToggleName"
  1708.                     toggleName.FontFace = Font.new(assets.interFont)
  1709.                     toggleName.Text = ToggleFunctions.Settings.Name
  1710.                     toggleName.RichText = true
  1711.                     toggleName.TextColor3 = Color3.fromRGB(255, 255, 255)
  1712.                     toggleName.TextSize = 13
  1713.                     toggleName.TextTransparency = 0.5
  1714.                     toggleName.TextTruncate = Enum.TextTruncate.AtEnd
  1715.                     toggleName.TextXAlignment = Enum.TextXAlignment.Left
  1716.                     toggleName.TextYAlignment = Enum.TextYAlignment.Top
  1717.                     toggleName.AnchorPoint = Vector2.new(0, 0.5)
  1718.                     toggleName.AutomaticSize = Enum.AutomaticSize.Y
  1719.                     toggleName.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1720.                     toggleName.BackgroundTransparency = 1
  1721.                     toggleName.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1722.                     toggleName.BorderSizePixel = 0
  1723.                     toggleName.Position = UDim2.fromScale(0, 0.5)
  1724.                     toggleName.Size = UDim2.new(1, -50, 0, 0)
  1725.                     toggleName.Parent = toggle
  1726.  
  1727.                     local toggle1 = Instance.new("ImageButton")
  1728.                     toggle1.Name = "Toggle"
  1729.                     toggle1.Image = assets.toggleBackground
  1730.                     toggle1.ImageColor3 = Color3.fromRGB(87, 86, 86)
  1731.                     toggle1.AutoButtonColor = false
  1732.                     toggle1.AnchorPoint = Vector2.new(1, 0.5)
  1733.                     toggle1.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1734.                     toggle1.BackgroundTransparency = 1
  1735.                     toggle1.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1736.                     toggle1.BorderSizePixel = 0
  1737.                     toggle1.Position = UDim2.fromScale(1, 0.5)
  1738.                     toggle1.Size = UDim2.fromOffset(41, 21)
  1739.                     toggle1.ImageTransparency = 0.5
  1740.  
  1741.                     local toggleUIPadding = Instance.new("UIPadding")
  1742.                     toggleUIPadding.Name = "ToggleUIPadding"
  1743.                     toggleUIPadding.PaddingBottom = UDim.new(0, 1)
  1744.                     toggleUIPadding.PaddingLeft = UDim.new(0, -2)
  1745.                     toggleUIPadding.PaddingRight = UDim.new(0, 3)
  1746.                     toggleUIPadding.PaddingTop = UDim.new(0, 1)
  1747.                     toggleUIPadding.Parent = toggle1
  1748.  
  1749.                     local togglerHead = Instance.new("ImageLabel")
  1750.                     togglerHead.Name = "TogglerHead"
  1751.                     togglerHead.Image = assets.togglerHead
  1752.                     togglerHead.ImageColor3 = Color3.fromRGB(255, 255, 255)
  1753.                     togglerHead.AnchorPoint = Vector2.new(1, 0.5)
  1754.                     togglerHead.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1755.                     togglerHead.BackgroundTransparency = 1
  1756.                     togglerHead.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1757.                     togglerHead.BorderSizePixel = 0
  1758.                     togglerHead.Position = UDim2.fromScale(0.5, 0.5)
  1759.                     togglerHead.Size = UDim2.fromOffset(15, 15)
  1760.                     togglerHead.ZIndex = 2
  1761.                     togglerHead.Parent = toggle1
  1762.                     togglerHead.ImageTransparency = 0.8
  1763.  
  1764.                     toggle1.Parent = toggle
  1765.  
  1766.                     local toggle1Transparency = {Enabled = 0, Disabled = 0.5}
  1767.                     local togglerHeadTransparency = {Enabled = 0, Disabled = 0.85}
  1768.  
  1769.                     local TweenSettings = {
  1770.                         Info = TweenInfo.new(0.15, Enum.EasingStyle.Quad),
  1771.  
  1772.                         EnabledPosition = UDim2.new(1, 0, 0.5, 0),
  1773.                         DisabledPosition = UDim2.new(0.5, 0, 0.5, 0),
  1774.                     }
  1775.  
  1776.                     local togglebool = ToggleFunctions.Settings.Default
  1777.  
  1778.                     local function NewState(State, callback)
  1779.                         local transparencyValues = State and {toggle1Transparency.Enabled, togglerHeadTransparency.Enabled}
  1780.                             or {toggle1Transparency.Disabled, togglerHeadTransparency.Disabled}
  1781.                         local position = State and TweenSettings.EnabledPosition or TweenSettings.DisabledPosition
  1782.  
  1783.                         Tween(toggle1, TweenSettings.Info, {
  1784.                             ImageTransparency = transparencyValues[1]
  1785.                         }):Play()
  1786.  
  1787.                         Tween(togglerHead, TweenSettings.Info, {
  1788.                             ImageTransparency = transparencyValues[2]
  1789.                         }):Play()
  1790.  
  1791.                         Tween(togglerHead, TweenSettings.Info, {
  1792.                             Position = position
  1793.                         }):Play()
  1794.  
  1795.                         ToggleFunctions.State = State
  1796.                         if callback then
  1797.                             callback(togglebool)
  1798.                         end
  1799.                     end
  1800.  
  1801.                     NewState(togglebool)
  1802.  
  1803.                     local function Toggle()
  1804.                         togglebool = not togglebool
  1805.                         NewState(togglebool, ToggleFunctions.Settings.Callback)
  1806.                     end
  1807.  
  1808.                     toggle1.MouseButton1Click:Connect(Toggle)
  1809.  
  1810.                     function ToggleFunctions:Toggle()
  1811.                         Toggle()
  1812.                     end
  1813.                     function ToggleFunctions:UpdateState(State)
  1814.                         togglebool = State
  1815.                         NewState(togglebool, ToggleFunctions.Settings.Callback)
  1816.                     end
  1817.                     function ToggleFunctions:GetState()
  1818.                         return togglebool
  1819.                     end
  1820.                     function ToggleFunctions:UpdateName(Name)
  1821.                         toggleName.Text = Name
  1822.                     end
  1823.                     function ToggleFunctions:SetVisibility(State)
  1824.                         toggle.Visible = State
  1825.                     end
  1826.  
  1827.                     if Flag then
  1828.                         MacLib.Options[Flag] = ToggleFunctions
  1829.                     end
  1830.                     return ToggleFunctions
  1831.                 end
  1832.  
  1833.                 function SectionFunctions:Slider(Settings, Flag)
  1834.                     local SliderFunctions = { Settings = Settings, IgnoreConfig = false, Class = "Slider" }
  1835.                     local slider = Instance.new("Frame")
  1836.                     slider.Name = "Slider"
  1837.                     slider.AutomaticSize = Enum.AutomaticSize.Y
  1838.                     slider.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  1839.                     slider.BackgroundTransparency = 1
  1840.                     slider.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1841.                     slider.BorderSizePixel = 0
  1842.                     slider.Size = UDim2.new(1, 0, 0, 38)
  1843.                     slider.Parent = section
  1844.  
  1845.                     local sliderName = Instance.new("TextLabel")
  1846.                     sliderName.Name = "SliderName"
  1847.                     sliderName.FontFace = Font.new(assets.interFont)
  1848.                     sliderName.Text = SliderFunctions.Settings.Name
  1849.                     sliderName.RichText = true
  1850.                     sliderName.TextColor3 = Color3.fromRGB(255, 255, 255)
  1851.                     sliderName.TextSize = 13
  1852.                     sliderName.TextTransparency = 0.5
  1853.                     sliderName.TextTruncate = Enum.TextTruncate.AtEnd
  1854.                     sliderName.TextXAlignment = Enum.TextXAlignment.Left
  1855.                     sliderName.TextYAlignment = Enum.TextYAlignment.Top
  1856.                     sliderName.AnchorPoint = Vector2.new(0, 0.5)
  1857.                     sliderName.AutomaticSize = Enum.AutomaticSize.XY
  1858.                     sliderName.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1859.                     sliderName.BackgroundTransparency = 1
  1860.                     sliderName.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1861.                     sliderName.BorderSizePixel = 0
  1862.                     sliderName.Position = UDim2.fromScale(1.3e-07, 0.5)
  1863.                     sliderName.Parent = slider
  1864.  
  1865.                     local sliderElements = Instance.new("Frame")
  1866.                     sliderElements.Name = "SliderElements"
  1867.                     sliderElements.AnchorPoint = Vector2.new(1, 0)
  1868.                     sliderElements.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1869.                     sliderElements.BackgroundTransparency = 1
  1870.                     sliderElements.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1871.                     sliderElements.BorderSizePixel = 0
  1872.                     sliderElements.Position = UDim2.fromScale(1, 0)
  1873.                     sliderElements.Size = UDim2.fromScale(1, 1)
  1874.  
  1875.                     local sliderValue = Instance.new("TextBox")
  1876.                     sliderValue.Name = "SliderValue"
  1877.                     sliderValue.FontFace = Font.new(assets.interFont)
  1878.                     sliderValue.TextColor3 = Color3.fromRGB(255, 255, 255)
  1879.                     sliderValue.TextSize = 12
  1880.                     sliderValue.TextTransparency = 0.1
  1881.                     --sliderValue.TextTruncate = Enum.TextTruncate.AtEnd
  1882.                     sliderValue.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1883.                     sliderValue.BackgroundTransparency = 0.95
  1884.                     sliderValue.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1885.                     sliderValue.BorderSizePixel = 0
  1886.                     sliderValue.LayoutOrder = 1
  1887.                     sliderValue.Position = UDim2.fromScale(-0.0789, 0.171)
  1888.                     sliderValue.Size = UDim2.fromOffset(41, 21)
  1889.                     sliderValue.ClipsDescendants = true
  1890.  
  1891.                     local sliderValueUICorner = Instance.new("UICorner")
  1892.                     sliderValueUICorner.Name = "SliderValueUICorner"
  1893.                     sliderValueUICorner.CornerRadius = UDim.new(0, 4)
  1894.                     sliderValueUICorner.Parent = sliderValue
  1895.  
  1896.                     local sliderValueUIStroke = Instance.new("UIStroke")
  1897.                     sliderValueUIStroke.Name = "SliderValueUIStroke"
  1898.                     sliderValueUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  1899.                     sliderValueUIStroke.Color = Color3.fromRGB(255, 255, 255)
  1900.                     sliderValueUIStroke.Transparency = 0.9
  1901.                     sliderValueUIStroke.Parent = sliderValue
  1902.  
  1903.                     local sliderValueUIPadding = Instance.new("UIPadding")
  1904.                     sliderValueUIPadding.Name = "SliderValueUIPadding"
  1905.                     sliderValueUIPadding.PaddingLeft = UDim.new(0, 2)
  1906.                     sliderValueUIPadding.PaddingRight = UDim.new(0, 2)
  1907.                     sliderValueUIPadding.Parent = sliderValue
  1908.  
  1909.                     sliderValue.Parent = sliderElements
  1910.  
  1911.                     local sliderElementsUIListLayout = Instance.new("UIListLayout")
  1912.                     sliderElementsUIListLayout.Name = "SliderElementsUIListLayout"
  1913.                     sliderElementsUIListLayout.Padding = UDim.new(0, 20)
  1914.                     sliderElementsUIListLayout.FillDirection = Enum.FillDirection.Horizontal
  1915.                     sliderElementsUIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Right
  1916.                     sliderElementsUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  1917.                     sliderElementsUIListLayout.VerticalAlignment = Enum.VerticalAlignment.Center
  1918.                     sliderElementsUIListLayout.Parent = sliderElements
  1919.  
  1920.                     local sliderBar = Instance.new("ImageLabel")
  1921.                     sliderBar.Name = "SliderBar"
  1922.                     sliderBar.Image = assets.sliderbar
  1923.                     sliderBar.ImageColor3 = Color3.fromRGB(87, 86, 86)
  1924.                     sliderBar.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1925.                     sliderBar.BackgroundTransparency = 1
  1926.                     sliderBar.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1927.                     sliderBar.BorderSizePixel = 0
  1928.                     sliderBar.Position = UDim2.fromScale(0.219, 0.457)
  1929.                     sliderBar.Size = UDim2.fromOffset(123, 3)
  1930.  
  1931.                     local sliderHead = Instance.new("ImageButton")
  1932.                     sliderHead.Name = "SliderHead"
  1933.                     sliderHead.Image = assets.sliderhead
  1934.                     sliderHead.AnchorPoint = Vector2.new(0.5, 0.5)
  1935.                     sliderHead.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1936.                     sliderHead.BackgroundTransparency = 1
  1937.                     sliderHead.BorderColor3 = Color3.fromRGB(0, 0, 0)
  1938.                     sliderHead.BorderSizePixel = 0
  1939.                     sliderHead.Position = UDim2.fromScale(1, 0.5)
  1940.                     sliderHead.Size = UDim2.fromOffset(12, 12)
  1941.                     sliderHead.Parent = sliderBar
  1942.  
  1943.                     sliderBar.Parent = sliderElements
  1944.  
  1945.                     local sliderElementsUIPadding = Instance.new("UIPadding")
  1946.                     sliderElementsUIPadding.Name = "SliderElementsUIPadding"
  1947.                     sliderElementsUIPadding.PaddingTop = UDim.new(0, 3)
  1948.                     sliderElementsUIPadding.Parent = sliderElements
  1949.  
  1950.                     sliderElements.Parent = slider
  1951.  
  1952.                     local dragging = false
  1953.  
  1954.                     local DisplayMethods = {
  1955.                         Hundredths = function(sliderValue) -- Deprecated use Settings.Precision
  1956.                             return string.format("%.2f", sliderValue)
  1957.                         end,
  1958.                         Tenths = function(sliderValue) -- Deprecated use Settings.Precision
  1959.                             return string.format("%.1f", sliderValue)
  1960.                         end,
  1961.                         Round = function(sliderValue, precision)
  1962.                             if precision then
  1963.                                 return string.format("%." .. precision .. "f", sliderValue)
  1964.                             else
  1965.                                 return tostring(math.round(sliderValue))
  1966.                             end
  1967.                         end,
  1968.                         Degrees = function(sliderValue, precision)
  1969.                             local formattedValue = precision and string.format("%." .. precision .. "f", sliderValue) or tostring(sliderValue)
  1970.                             return formattedValue .. "°"
  1971.                         end,
  1972.                         Percent = function(sliderValue, precision)
  1973.                             local percentage = (sliderValue - SliderFunctions.Settings.Minimum) / (SliderFunctions.Settings.Maximum - SliderFunctions.Settings.Minimum) * 100
  1974.                             return precision and string.format("%." .. precision .. "f", percentage) .. "%" or tostring(math.round(percentage)) .. "%"
  1975.                         end,
  1976.                         Value = function(sliderValue, precision)
  1977.                             return precision and string.format("%." .. precision .. "f", sliderValue) or tostring(sliderValue)
  1978.                         end
  1979.                     }
  1980.  
  1981.                     local ValueDisplayMethod = DisplayMethods[SliderFunctions.Settings.DisplayMethod] or DisplayMethods.Value
  1982.                     local finalValue
  1983.  
  1984.                     local function SetValue(val, ignorecallback)
  1985.                         local posXScale
  1986.  
  1987.                         if typeof(val) == "Instance" then
  1988.                             local input = val
  1989.                             posXScale = math.clamp((input.Position.X - sliderBar.AbsolutePosition.X) / sliderBar.AbsoluteSize.X, 0, 1)
  1990.                         else
  1991.                             local value = val
  1992.                             posXScale = (value - SliderFunctions.Settings.Minimum) / (SliderFunctions.Settings.Maximum - Settings.Minimum)
  1993.                         end
  1994.  
  1995.                         local pos = UDim2.new(posXScale, 0, 0.5, 0)
  1996.                         sliderHead.Position = pos
  1997.  
  1998.                         finalValue = posXScale * (SliderFunctions.Settings.Maximum - SliderFunctions.Settings.Minimum) + Settings.Minimum
  1999.  
  2000.                         sliderValue.Text = (Settings.Prefix or "") .. ValueDisplayMethod(finalValue, SliderFunctions.Settings.Precision) .. (Settings.Suffix or "")
  2001.  
  2002.                         if not ignorecallback then
  2003.                             task.spawn(function()
  2004.                                 if SliderFunctions.Settings.Callback then
  2005.                                     SliderFunctions.Settings.Callback(finalValue)
  2006.                                 end
  2007.                             end)
  2008.                         end
  2009.  
  2010.                         SliderFunctions.Value = finalValue
  2011.                     end
  2012.  
  2013.                     SetValue(SliderFunctions.Settings.Default, true)
  2014.  
  2015.                     sliderHead.InputBegan:Connect(function(input)
  2016.                         if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
  2017.                             dragging = true
  2018.                             SetValue(input)
  2019.                         end
  2020.                     end)
  2021.  
  2022.                     sliderHead.InputEnded:Connect(function(input)
  2023.                         if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
  2024.                             dragging = false
  2025.                             if SliderFunctions.Settings.onInputComplete then
  2026.                                 SliderFunctions.Settings.onInputComplete(finalValue)
  2027.                             end
  2028.                         end
  2029.                     end)
  2030.  
  2031.                     sliderValue.FocusLost:Connect(function(enterPressed)
  2032.                         local inputText = sliderValue.Text
  2033.                         local value, isPercent = inputText:match("^(%-?%d+%.?%d*)(%%?)$")
  2034.  
  2035.                         if value then
  2036.                             value = tonumber(value)
  2037.                             isPercent = isPercent == "%"
  2038.  
  2039.                             if isPercent then
  2040.                                 value = SliderFunctions.Settings.Minimum + (value / 100) * (SliderFunctions.Settings.Maximum - SliderFunctions.Settings.Minimum)
  2041.                             end
  2042.  
  2043.                             local newValue = math.clamp(value, SliderFunctions.Settings.Minimum, SliderFunctions.Settings.Maximum)
  2044.                             SetValue(newValue)
  2045.                         else
  2046.                             sliderValue.Text = ValueDisplayMethod(sliderValue)
  2047.                         end
  2048.  
  2049.                         if SliderFunctions.Settings.onInputComplete then
  2050.                             SliderFunctions.Settings.onInputComplete(finalValue)
  2051.                         end
  2052.                     end)
  2053.  
  2054.                     UserInputService.InputChanged:Connect(function(input)
  2055.                         if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
  2056.                             SetValue(input)
  2057.                         end
  2058.                     end)
  2059.  
  2060.                     local function updateSliderBarSize()
  2061.                         local padding = sliderElementsUIListLayout.Padding.Offset
  2062.                         local sliderValueWidth = sliderValue.AbsoluteSize.X
  2063.                         local sliderNameWidth = sliderName.AbsoluteSize.X
  2064.                         local totalWidth = sliderElements.AbsoluteSize.X
  2065.  
  2066.                         local newBarWidth = (totalWidth - (padding + sliderValueWidth + sliderNameWidth + 20)) / baseUIScale.Scale
  2067.                         sliderBar.Size = UDim2.new(sliderBar.Size.X.Scale, newBarWidth, sliderBar.Size.Y.Scale, sliderBar.Size.Y.Offset)
  2068.                     end
  2069.  
  2070.                     updateSliderBarSize()
  2071.  
  2072.                     sliderName:GetPropertyChangedSignal("AbsoluteSize"):Connect(updateSliderBarSize)
  2073.                     section:GetPropertyChangedSignal("AbsoluteSize"):Connect(updateSliderBarSize)
  2074.  
  2075.                     function SliderFunctions:UpdateName(Name)
  2076.                         sliderName = Name
  2077.                     end
  2078.                     function SliderFunctions:SetVisibility(State)
  2079.                         slider.Visible = State
  2080.                     end
  2081.                     function SliderFunctions:UpdateValue(Value)
  2082.                         SetValue(tonumber(Value), true)
  2083.                     end
  2084.                     function SliderFunctions:GetValue()
  2085.                         return finalValue
  2086.                     end
  2087.  
  2088.                     if Flag then
  2089.                         MacLib.Options[Flag] = SliderFunctions
  2090.                     end
  2091.                     return SliderFunctions
  2092.                 end
  2093.  
  2094.                 function SectionFunctions:Input(Settings, Flag)
  2095.                     local InputFunctions = { Settings = Settings, IgnoreConfig = false, Class = "Input" }
  2096.                     local input = Instance.new("Frame")
  2097.                     input.Name = "Input"
  2098.                     input.AutomaticSize = Enum.AutomaticSize.Y
  2099.                     input.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  2100.                     input.BackgroundTransparency = 1
  2101.                     input.BorderColor3 = Color3.fromRGB(0, 0, 0)
  2102.                     input.BorderSizePixel = 0
  2103.                     input.Size = UDim2.new(1, 0, 0, 38)
  2104.                     input.Parent = section
  2105.  
  2106.                     local inputName = Instance.new("TextLabel")
  2107.                     inputName.Name = "InputName"
  2108.                     inputName.FontFace = Font.new(assets.interFont)
  2109.                     inputName.Text = InputFunctions.Settings.Name
  2110.                     inputName.RichText = true
  2111.                     inputName.TextColor3 = Color3.fromRGB(255, 255, 255)
  2112.                     inputName.TextSize = 13
  2113.                     inputName.TextTransparency = 0.5
  2114.                     inputName.TextTruncate = Enum.TextTruncate.AtEnd
  2115.                     inputName.TextXAlignment = Enum.TextXAlignment.Left
  2116.                     inputName.TextYAlignment = Enum.TextYAlignment.Top
  2117.                     inputName.AnchorPoint = Vector2.new(0, 0.5)
  2118.                     inputName.AutomaticSize = Enum.AutomaticSize.XY
  2119.                     inputName.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  2120.                     inputName.BackgroundTransparency = 1
  2121.                     inputName.BorderColor3 = Color3.fromRGB(0, 0, 0)
  2122.                     inputName.BorderSizePixel = 0
  2123.                     inputName.Position = UDim2.fromScale(0, 0.5)
  2124.                     inputName.Parent = input
  2125.  
  2126.                     local inputBox = Instance.new("TextBox")
  2127.                     inputBox.Name = "InputBox"
  2128.                     inputBox.FontFace = Font.new(assets.interFont)
  2129.                     inputBox.Text = "Hello world!"
  2130.                     inputBox.TextColor3 = Color3.fromRGB(255, 255, 255)
  2131.                     inputBox.TextSize = 12
  2132.                     inputBox.TextTransparency = 0.1
  2133.                     inputBox.AnchorPoint = Vector2.new(1, 0.5)
  2134.                     inputBox.AutomaticSize = Enum.AutomaticSize.X
  2135.                     inputBox.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  2136.                     inputBox.BackgroundTransparency = 0.95
  2137.                     inputBox.BorderColor3 = Color3.fromRGB(0, 0, 0)
  2138.                     inputBox.BorderSizePixel = 0
  2139.                     inputBox.ClipsDescendants = true
  2140.                     inputBox.LayoutOrder = 1
  2141.                     inputBox.Position = UDim2.fromScale(1, 0.5)
  2142.                     inputBox.Size = UDim2.fromOffset(21, 21)
  2143.                     inputBox.TextXAlignment = Enum.TextXAlignment.Right
  2144.  
  2145.                     local inputBoxUICorner = Instance.new("UICorner")
  2146.                     inputBoxUICorner.Name = "InputBoxUICorner"
  2147.                     inputBoxUICorner.CornerRadius = UDim.new(0, 4)
  2148.                     inputBoxUICorner.Parent = inputBox
  2149.  
  2150.                     local inputBoxUIStroke = Instance.new("UIStroke")
  2151.                     inputBoxUIStroke.Name = "InputBoxUIStroke"
  2152.                     inputBoxUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  2153.                     inputBoxUIStroke.Color = Color3.fromRGB(255, 255, 255)
  2154.                     inputBoxUIStroke.Transparency = 0.9
  2155.                     inputBoxUIStroke.Parent = inputBox
  2156.  
  2157.                     local inputBoxUIPadding = Instance.new("UIPadding")
  2158.                     inputBoxUIPadding.Name = "InputBoxUIPadding"
  2159.                     inputBoxUIPadding.PaddingLeft = UDim.new(0, 5)
  2160.                     inputBoxUIPadding.PaddingRight = UDim.new(0, 5)
  2161.                     inputBoxUIPadding.Parent = inputBox
  2162.  
  2163.                     local inputBoxUISizeConstraint = Instance.new("UISizeConstraint")
  2164.                     inputBoxUISizeConstraint.Name = "InputBoxUISizeConstraint"
  2165.                     inputBoxUISizeConstraint.Parent = inputBox
  2166.  
  2167.                     inputBox.Parent = input
  2168.  
  2169.                     local Input = input
  2170.                     local InputBox = inputBox
  2171.                     local InputName = inputName
  2172.                     local Constraint = inputBoxUISizeConstraint
  2173.  
  2174.                     local function applyCharacterLimit(value)
  2175.                         if InputFunctions.Settings.CharacterLimit then
  2176.                             return value:sub(1, InputFunctions.Settings.CharacterLimit)
  2177.                         end
  2178.                         return value
  2179.                     end
  2180.  
  2181.                     local CharacterSubs = {
  2182.                         All = function(value)
  2183.                             return applyCharacterLimit(value)
  2184.                         end,
  2185.                         Numeric = function(value)
  2186.                             local result = value:match("^%-?%d*$") and value or value:gsub("[^%d-]", ""):gsub("(%-)", function(match, pos)
  2187.                                 return pos == 1 and match or ""
  2188.                             end)
  2189.                             return applyCharacterLimit(result)
  2190.                         end,
  2191.                         Alphabetic = function(value)
  2192.                             return applyCharacterLimit(value:gsub("[^a-zA-Z ]", ""))
  2193.                         end,
  2194.                         AlphaNumeric = function(value)
  2195.                             return applyCharacterLimit(value:gsub("[^a-zA-Z0-9]", ""))
  2196.                         end,
  2197.                     }
  2198.  
  2199.                     local AcceptedCharacters
  2200.  
  2201.                     if type(InputFunctions.Settings.AcceptedCharacters) == "function" then
  2202.                         AcceptedCharacters = InputFunctions.Settings.AcceptedCharacters
  2203.                     else
  2204.                         AcceptedCharacters = CharacterSubs[InputFunctions.Settings.AcceptedCharacters] or CharacterSubs.All
  2205.                     end
  2206.  
  2207.                     InputBox.AutomaticSize = Enum.AutomaticSize.X
  2208.  
  2209.                     local function checkSize()
  2210.                         local nameWidth = InputName.AbsoluteSize.X
  2211.                         local totalWidth = Input.AbsoluteSize.X
  2212.  
  2213.                         local maxWidth = (totalWidth - nameWidth - 20) / baseUIScale.Scale
  2214.                         Constraint.MaxSize = Vector2.new(maxWidth, 9e9)
  2215.                     end
  2216.  
  2217.                     checkSize()
  2218.                     InputName:GetPropertyChangedSignal("AbsoluteSize"):Connect(checkSize)
  2219.  
  2220.                     InputBox.FocusLost:Connect(function()
  2221.                         local inputText = InputBox.Text
  2222.                         local filteredText = AcceptedCharacters(inputText)
  2223.                         InputBox.Text = filteredText
  2224.                         task.spawn(function()
  2225.                             if InputFunctions.Settings.Callback then
  2226.                                 InputFunctions.Settings.Callback(filteredText)
  2227.                             end
  2228.                         end)
  2229.                     end)
  2230.                     InputBox.Text = InputFunctions.Settings.Default or ""
  2231.                     InputBox.PlaceholderText = InputFunctions.Settings.Placeholder or ""
  2232.  
  2233.                     InputBox:GetPropertyChangedSignal("Text"):Connect(function()
  2234.                         InputBox.Text = AcceptedCharacters(InputBox.Text)
  2235.                         if InputFunctions.Settings.onChanged then
  2236.                             InputFunctions.Settings.onChanged(InputBox.Text)
  2237.                         end
  2238.                         InputFunctions.Text = InputBox.Text
  2239.                     end)
  2240.  
  2241.                     function InputFunctions:UpdateName(Name)
  2242.                         inputName.Text = Name
  2243.                     end
  2244.                     function InputFunctions:SetVisibility(State)
  2245.                         input.Visible = State
  2246.                     end
  2247.                     function InputFunctions:GetInput()
  2248.                         return InputBox.Text
  2249.                     end
  2250.                     function InputFunctions:UpdatePlaceholder(Placeholder)
  2251.                         inputBox.PlaceholderText = Placeholder
  2252.                     end
  2253.                     function InputFunctions:UpdateText(Text)
  2254.                         local filteredText = AcceptedCharacters(Text)
  2255.                         InputBox.Text = filteredText
  2256.                         InputFunctions.Text = filteredText
  2257.                         task.spawn(function()
  2258.                             if InputFunctions.Settings.Callback then
  2259.                                 InputFunctions.Settings.Callback(filteredText)
  2260.                             end
  2261.                         end)
  2262.                     end
  2263.  
  2264.                     if Flag then
  2265.                         MacLib.Options[Flag] = InputFunctions
  2266.                     end
  2267.                     return InputFunctions
  2268.                 end
  2269.  
  2270.                 function SectionFunctions:Keybind(Settings, Flag)
  2271.                     local KeybindFunctions = { Settings = Settings, IgnoreConfig = false, Class = "Keybind" }
  2272.                     local keybind = Instance.new("Frame")
  2273.                     keybind.Name = "Keybind"
  2274.                     keybind.AutomaticSize = Enum.AutomaticSize.Y
  2275.                     keybind.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  2276.                     keybind.BackgroundTransparency = 1
  2277.                     keybind.BorderColor3 = Color3.fromRGB(0, 0, 0)
  2278.                     keybind.BorderSizePixel = 0
  2279.                     keybind.Size = UDim2.new(1, 0, 0, 38)
  2280.                     keybind.Parent = section
  2281.  
  2282.                     local keybindName = Instance.new("TextLabel")
  2283.                     keybindName.Name = "KeybindName"
  2284.                     keybindName.FontFace = Font.new(assets.interFont)
  2285.                     keybindName.Text = KeybindFunctions.Settings.Name
  2286.                     keybindName.RichText = true
  2287.                     keybindName.TextColor3 = Color3.fromRGB(255, 255, 255)
  2288.                     keybindName.TextSize = 13
  2289.                     keybindName.TextTransparency = 0.5
  2290.                     keybindName.TextTruncate = Enum.TextTruncate.AtEnd
  2291.                     keybindName.TextXAlignment = Enum.TextXAlignment.Left
  2292.                     keybindName.TextYAlignment = Enum.TextYAlignment.Top
  2293.                     keybindName.AnchorPoint = Vector2.new(0, 0.5)
  2294.                     keybindName.AutomaticSize = Enum.AutomaticSize.XY
  2295.                     keybindName.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  2296.                     keybindName.BackgroundTransparency = 1
  2297.                     keybindName.BorderColor3 = Color3.fromRGB(0, 0, 0)
  2298.                     keybindName.BorderSizePixel = 0
  2299.                     keybindName.Position = UDim2.fromScale(0, 0.5)
  2300.                     keybindName.Parent = keybind
  2301.  
  2302.                     local binderBox = Instance.new("TextBox")
  2303.                     binderBox.Name = "BinderBox"
  2304.                     binderBox.CursorPosition = -1
  2305.                     binderBox.FontFace = Font.new(assets.interFont)
  2306.                     binderBox.PlaceholderText = "..."
  2307.                     binderBox.Text = ""
  2308.                     binderBox.TextColor3 = Color3.fromRGB(255, 255, 255)
  2309.                     binderBox.TextSize = 12
  2310.                     binderBox.TextTransparency = 0.1
  2311.                     binderBox.AnchorPoint = Vector2.new(1, 0.5)
  2312.                     binderBox.AutomaticSize = Enum.AutomaticSize.X
  2313.                     binderBox.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  2314.                     binderBox.BackgroundTransparency = 0.95
  2315.                     binderBox.BorderColor3 = Color3.fromRGB(0, 0, 0)
  2316.                     binderBox.BorderSizePixel = 0
  2317.                     binderBox.ClipsDescendants = true
  2318.                     binderBox.LayoutOrder = 1
  2319.                     binderBox.Position = UDim2.fromScale(1, 0.5)
  2320.                     binderBox.Size = UDim2.fromOffset(21, 21)
  2321.  
  2322.                     local binderBoxUICorner = Instance.new("UICorner")
  2323.                     binderBoxUICorner.Name = "BinderBoxUICorner"
  2324.                     binderBoxUICorner.CornerRadius = UDim.new(0, 4)
  2325.                     binderBoxUICorner.Parent = binderBox
  2326.  
  2327.                     local binderBoxUIStroke = Instance.new("UIStroke")
  2328.                     binderBoxUIStroke.Name = "BinderBoxUIStroke"
  2329.                     binderBoxUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  2330.                     binderBoxUIStroke.Color = Color3.fromRGB(255, 255, 255)
  2331.                     binderBoxUIStroke.Transparency = 0.9
  2332.                     binderBoxUIStroke.Parent = binderBox
  2333.  
  2334.                     local binderBoxUIPadding = Instance.new("UIPadding")
  2335.                     binderBoxUIPadding.Name = "BinderBoxUIPadding"
  2336.                     binderBoxUIPadding.PaddingLeft = UDim.new(0, 5)
  2337.                     binderBoxUIPadding.PaddingRight = UDim.new(0, 5)
  2338.                     binderBoxUIPadding.Parent = binderBox
  2339.  
  2340.                     local binderBoxUISizeConstraint = Instance.new("UISizeConstraint")
  2341.                     binderBoxUISizeConstraint.Name = "BinderBoxUISizeConstraint"
  2342.                     binderBoxUISizeConstraint.Parent = binderBox
  2343.  
  2344.                     binderBox.Parent = keybind
  2345.  
  2346.                     local focused
  2347.                     local isBinding = false
  2348.                     local reset = false
  2349.                     local binded = KeybindFunctions.Settings.Default
  2350.  
  2351.                     local function resetFocusState()
  2352.                         focused = false
  2353.                         isBinding = false
  2354.                         binderBox:ReleaseFocus()
  2355.                     end
  2356.  
  2357.                     if binded then
  2358.                         binderBox.Text = binded.Name
  2359.                     end
  2360.  
  2361.                     binderBox.Focused:Connect(function()
  2362.                         focused = true
  2363.                     end)
  2364.  
  2365.                     binderBox.FocusLost:Connect(function()
  2366.                         focused = false
  2367.                     end)
  2368.  
  2369.                     UserInputService.InputBegan:Connect(function(inp)
  2370.                         if focused and not isBinding then
  2371.                             isBinding = true
  2372.  
  2373.                             local Event
  2374.                             Event = UserInputService.InputBegan:Connect(function(input)
  2375.                                 if KeybindFunctions.Settings.Blacklist and (table.find(KeybindFunctions.KeybindFunctions.Settings.Blacklist, input.KeyCode) or table.find(KeybindFunctions.Settings.Blacklist, input.UserInputType)) then
  2376.                                     binderBox:ReleaseFocus()
  2377.                                     resetFocusState()
  2378.                                     Event:Disconnect()
  2379.                                     return
  2380.                                 end
  2381.  
  2382.                                 if input.UserInputType == Enum.UserInputType.Keyboard then
  2383.                                     binded = input.KeyCode
  2384.                                     binderBox.Text = input.KeyCode.Name
  2385.                                 elseif input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.MouseButton2 then
  2386.                                     binded = input.UserInputType
  2387.                                     binderBox.Text = input.UserInputType.Name
  2388.                                 end
  2389.  
  2390.                                 if KeybindFunctions.Settings.onBinded then
  2391.                                     KeybindFunctions.Settings.onBinded(binded)
  2392.                                 end
  2393.                                 reset = true
  2394.                                 resetFocusState()
  2395.                                 Event:Disconnect()
  2396.                             end)
  2397.                         else
  2398.                             if not reset and (inp.KeyCode == binded or inp.UserInputType == binded) then
  2399.                                 if KeybindFunctions.Settings.Callback then
  2400.                                     KeybindFunctions.Settings.Callback(binded)
  2401.                                 end
  2402.                                 if KeybindFunctions.Settings.onBindHeld then
  2403.                                     KeybindFunctions.Settings.onBindHeld(true, binded)
  2404.                                 end
  2405.                             else
  2406.                                 reset = false
  2407.                             end
  2408.                         end
  2409.                     end)
  2410.  
  2411.                     UserInputService.InputEnded:Connect(function(inp)
  2412.                         if not focused and not isBinding then
  2413.                             if inp.KeyCode == binded or inp.UserInputType == binded then
  2414.                                 if Settings.onBindHeld then
  2415.                                     Settings.onBindHeld(false, binded)
  2416.                                 end
  2417.                             end
  2418.                         end
  2419.                     end)
  2420.  
  2421.                     function KeybindFunctions:Bind(Key)
  2422.                         binded = Key
  2423.                         binderBox.Text = Key.Name
  2424.                     end
  2425.  
  2426.                     function KeybindFunctions:Unbind()
  2427.                         binded = nil
  2428.                         binderBox.Text = ""
  2429.                     end
  2430.  
  2431.                     function KeybindFunctions:GetBind()
  2432.                         return binded
  2433.                     end
  2434.  
  2435.                     function KeybindFunctions:UpdateName(Name)
  2436.                         keybindName = Name
  2437.                     end
  2438.  
  2439.                     function KeybindFunctions:SetVisibility(State)
  2440.                         keybind.Visible = State
  2441.                     end
  2442.  
  2443.                     if Flag then
  2444.                         MacLib.Options[Flag] = KeybindFunctions
  2445.                     end
  2446.  
  2447.                     return KeybindFunctions
  2448.                 end
  2449.  
  2450.                 function SectionFunctions:Dropdown(Settings, Flag)
  2451.                     local DropdownFunctions = { Settings = Settings, IgnoreConfig = false, Class = "Dropdown" }
  2452.                     local Selected = {}
  2453.                     local OptionObjs = {}
  2454.  
  2455.                     local dropdown = Instance.new("Frame")
  2456.                     dropdown.Name = "Dropdown"
  2457.                     dropdown.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  2458.                     dropdown.BackgroundTransparency = 0.985
  2459.                     dropdown.BorderColor3 = Color3.fromRGB(0, 0, 0)
  2460.                     dropdown.BorderSizePixel = 0
  2461.                     dropdown.Size = UDim2.new(1, 0, 0, 38)
  2462.                     dropdown.Parent = section
  2463.                     dropdown.ClipsDescendants = true
  2464.  
  2465.                     local dropdownUIPadding = Instance.new("UIPadding")
  2466.                     dropdownUIPadding.Name = "DropdownUIPadding"
  2467.                     dropdownUIPadding.PaddingLeft = UDim.new(0, 15)
  2468.                     dropdownUIPadding.PaddingRight = UDim.new(0, 15)
  2469.                     dropdownUIPadding.Parent = dropdown
  2470.  
  2471.                     local interact = Instance.new("TextButton")
  2472.                     interact.Name = "Interact"
  2473.                     interact.FontFace = Font.new("rbxasset://fonts/families/SourceSansPro.json")
  2474.                     interact.Text = ""
  2475.                     interact.TextColor3 = Color3.fromRGB(0, 0, 0)
  2476.                     interact.TextSize = 14
  2477.                     interact.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  2478.                     interact.BackgroundTransparency = 1
  2479.                     interact.BorderColor3 = Color3.fromRGB(0, 0, 0)
  2480.                     interact.BorderSizePixel = 0
  2481.                     interact.Size = UDim2.new(1, 0, 0, 38)
  2482.                     interact.Parent = dropdown
  2483.  
  2484.                     local dropdownName = Instance.new("TextLabel")
  2485.                     dropdownName.Name = "DropdownName"
  2486.                     dropdownName.FontFace = Font.new(assets.interFont)
  2487.                     dropdownName.Text = Settings.Default and (DropdownFunctions.Settings.Name .. " • " .. table.concat(Selected, ", ")) or (DropdownFunctions.Settings.Name .. "...")
  2488.                     dropdownName.RichText = true
  2489.                     dropdownName.TextColor3 = Color3.fromRGB(255, 255, 255)
  2490.                     dropdownName.TextSize = 13
  2491.                     dropdownName.TextTransparency = 0.5
  2492.                     dropdownName.TextTruncate = Enum.TextTruncate.SplitWord
  2493.                     dropdownName.TextXAlignment = Enum.TextXAlignment.Left
  2494.                     dropdownName.AutomaticSize = Enum.AutomaticSize.Y
  2495.                     dropdownName.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  2496.                     dropdownName.BackgroundTransparency = 1
  2497.                     dropdownName.BorderColor3 = Color3.fromRGB(0, 0, 0)
  2498.                     dropdownName.BorderSizePixel = 0
  2499.                     dropdownName.Size = UDim2.new(1, -20, 0, 38)
  2500.                     dropdownName.Parent = dropdown
  2501.  
  2502.                     local dropdownUIStroke = Instance.new("UIStroke")
  2503.                     dropdownUIStroke.Name = "DropdownUIStroke"
  2504.                     dropdownUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  2505.                     dropdownUIStroke.Color = Color3.fromRGB(255, 255, 255)
  2506.                     dropdownUIStroke.Transparency = 0.95
  2507.                     dropdownUIStroke.Parent = dropdown
  2508.  
  2509.                     local dropdownUICorner = Instance.new("UICorner")
  2510.                     dropdownUICorner.Name = "DropdownUICorner"
  2511.                     dropdownUICorner.CornerRadius = UDim.new(0, 6)
  2512.                     dropdownUICorner.Parent = dropdown
  2513.  
  2514.                     local dropdownImage = Instance.new("ImageLabel")
  2515.                     dropdownImage.Name = "DropdownImage"
  2516.                     dropdownImage.Image = assets.dropdown
  2517.                     dropdownImage.ImageTransparency = 0.5
  2518.                     dropdownImage.AnchorPoint = Vector2.new(1, 0)
  2519.                     dropdownImage.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  2520.                     dropdownImage.BackgroundTransparency = 1
  2521.                     dropdownImage.BorderColor3 = Color3.fromRGB(0, 0, 0)
  2522.                     dropdownImage.BorderSizePixel = 0
  2523.                     dropdownImage.Position = UDim2.new(1, 0, 0, 12)
  2524.                     dropdownImage.Size = UDim2.fromOffset(14, 14)
  2525.                     dropdownImage.Parent = dropdown
  2526.  
  2527.                     local dropdownFrame = Instance.new("Frame")
  2528.                     dropdownFrame.Name = "DropdownFrame"
  2529.                     dropdownFrame.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  2530.                     dropdownFrame.BackgroundTransparency = 1
  2531.                     dropdownFrame.BorderColor3 = Color3.fromRGB(0, 0, 0)
  2532.                     dropdownFrame.BorderSizePixel = 0
  2533.                     dropdownFrame.ClipsDescendants = true
  2534.                     dropdownFrame.Size = UDim2.fromScale(1, 1)
  2535.                     dropdownFrame.Visible = false
  2536.                     dropdownFrame.AutomaticSize = Enum.AutomaticSize.Y
  2537.  
  2538.                     local dropdownFrameUIPadding = Instance.new("UIPadding")
  2539.                     dropdownFrameUIPadding.Name = "DropdownFrameUIPadding"
  2540.                     dropdownFrameUIPadding.PaddingTop = UDim.new(0, 38)
  2541.                     dropdownFrameUIPadding.PaddingBottom = UDim.new(0, 10)
  2542.                     dropdownFrameUIPadding.Parent = dropdownFrame
  2543.  
  2544.                     local dropdownFrameUIListLayout = Instance.new("UIListLayout")
  2545.                     dropdownFrameUIListLayout.Name = "DropdownFrameUIListLayout"
  2546.                     dropdownFrameUIListLayout.Padding = UDim.new(0, 5)
  2547.                     dropdownFrameUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  2548.                     dropdownFrameUIListLayout.Parent = dropdownFrame
  2549.  
  2550.                     local search = Instance.new("Frame")
  2551.                     search.Name = "Search"
  2552.                     search.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  2553.                     search.BackgroundTransparency = 0.95
  2554.                     search.BorderColor3 = Color3.fromRGB(0, 0, 0)
  2555.                     search.BorderSizePixel = 0
  2556.                     search.LayoutOrder = -1
  2557.                     search.Size = UDim2.new(1, 0, 0, 30)
  2558.                     search.Parent = dropdownFrame
  2559.                     search.Visible = DropdownFunctions.Settings.Search
  2560.  
  2561.                     local sectionUICorner = Instance.new("UICorner")
  2562.                     sectionUICorner.Name = "SectionUICorner"
  2563.                     sectionUICorner.Parent = search
  2564.  
  2565.                     local searchIcon = Instance.new("ImageLabel")
  2566.                     searchIcon.Name = "SearchIcon"
  2567.                     searchIcon.Image = assets.searchIcon
  2568.                     searchIcon.ImageColor3 = Color3.fromRGB(180, 180, 180)
  2569.                     searchIcon.AnchorPoint = Vector2.new(0, 0.5)
  2570.                     searchIcon.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  2571.                     searchIcon.BackgroundTransparency = 1
  2572.                     searchIcon.BorderColor3 = Color3.fromRGB(0, 0, 0)
  2573.                     searchIcon.BorderSizePixel = 0
  2574.                     searchIcon.Position = UDim2.fromScale(0, 0.5)
  2575.                     searchIcon.Size = UDim2.fromOffset(12, 12)
  2576.                     searchIcon.Parent = search
  2577.  
  2578.                     local uIPadding = Instance.new("UIPadding")
  2579.                     uIPadding.Name = "UIPadding"
  2580.                     uIPadding.PaddingLeft = UDim.new(0, 15)
  2581.                     uIPadding.Parent = search
  2582.  
  2583.                     local searchBox = Instance.new("TextBox")
  2584.                     searchBox.Name = "SearchBox"
  2585.                     searchBox.CursorPosition = -1
  2586.                     searchBox.FontFace = Font.new(
  2587.                         assets.interFont,
  2588.                         Enum.FontWeight.Medium,
  2589.                         Enum.FontStyle.Normal
  2590.                     )
  2591.                     searchBox.PlaceholderColor3 = Color3.fromRGB(150, 150, 150)
  2592.                     searchBox.PlaceholderText = "Search..."
  2593.                     searchBox.Text = ""
  2594.                     searchBox.TextColor3 = Color3.fromRGB(200, 200, 200)
  2595.                     searchBox.TextSize = 14
  2596.                     searchBox.TextXAlignment = Enum.TextXAlignment.Left
  2597.                     searchBox.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  2598.                     searchBox.BackgroundTransparency = 1
  2599.                     searchBox.BorderColor3 = Color3.fromRGB(0, 0, 0)
  2600.                     searchBox.BorderSizePixel = 0
  2601.                     searchBox.Size = UDim2.fromScale(1, 1)
  2602.  
  2603.                     local function CalculateDropdownSize()
  2604.                         local totalHeight = 0
  2605.                         local visibleChildrenCount = 0
  2606.                         local padding = dropdownFrameUIPadding.PaddingTop.Offset + dropdownFrameUIPadding.PaddingBottom.Offset
  2607.  
  2608.                         for _, v in pairs(dropdownFrame:GetChildren()) do
  2609.                             if not v:IsA("UIComponent") and v.Visible then
  2610.                                 totalHeight += v.AbsoluteSize.Y
  2611.                                 visibleChildrenCount += 1
  2612.                             end
  2613.                         end
  2614.  
  2615.                         local spacing = dropdownFrameUIListLayout.Padding.Offset * (visibleChildrenCount - 1)
  2616.  
  2617.                         return totalHeight + spacing + padding
  2618.                     end
  2619.  
  2620.                     local function findOption()
  2621.                         local searchTerm = searchBox.Text:lower()
  2622.  
  2623.                         for _, v in pairs(OptionObjs) do
  2624.                             local optionText = v.NameLabel.Text:lower()
  2625.                             local isVisible = string.find(optionText, searchTerm) ~= nil
  2626.  
  2627.                             if v.Button.Visible ~= isVisible then
  2628.                                 v.Button.Visible = isVisible
  2629.                             end
  2630.                         end
  2631.  
  2632.                         dropdown.Size = UDim2.new(1, 0, 0, CalculateDropdownSize())
  2633.                     end
  2634.  
  2635.                     searchBox:GetPropertyChangedSignal("Text"):Connect(findOption)
  2636.  
  2637.                     local uIPadding1 = Instance.new("UIPadding")
  2638.                     uIPadding1.Name = "UIPadding"
  2639.                     uIPadding1.PaddingLeft = UDim.new(0, 23)
  2640.                     uIPadding1.Parent = searchBox
  2641.  
  2642.                     searchBox.Parent = search
  2643.  
  2644.                     local tweensettings = {
  2645.                         duration = 0.2,
  2646.                         easingStyle = Enum.EasingStyle.Quint,
  2647.                         transparencyIn = 0.2,
  2648.                         transparencyOut = 0.5,
  2649.                         checkSizeIncrease = 12,
  2650.                         checkSizeDecrease = -13,
  2651.                         waitTime = 1
  2652.                     }
  2653.  
  2654.                     local function Toggle(optionName, State)
  2655.                         local option = OptionObjs[optionName]
  2656.  
  2657.                         if not option then return end
  2658.  
  2659.                         local checkmark = option.Checkmark
  2660.                         local optionNameLabel = option.NameLabel
  2661.  
  2662.                         if State then
  2663.                             if DropdownFunctions.Settings.Multi then
  2664.                                 if not table.find(Selected, optionName) then
  2665.                                     table.insert(Selected, optionName)
  2666.                                     DropdownFunctions.Value = Selected
  2667.                                 end
  2668.                             else
  2669.                                 for name, opt in pairs(OptionObjs) do
  2670.                                     if name ~= optionName then
  2671.                                         Tween(opt.Checkmark, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle), {
  2672.                                             Size = UDim2.new(opt.Checkmark.Size.X.Scale, tweensettings.checkSizeDecrease, opt.Checkmark.Size.Y.Scale, opt.Checkmark.Size.Y.Offset)
  2673.                                         }):Play()
  2674.                                         Tween(opt.NameLabel, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle), {
  2675.                                             TextTransparency = tweensettings.transparencyOut
  2676.                                         }):Play()
  2677.                                         opt.Checkmark.TextTransparency = 1
  2678.                                     end
  2679.                                 end
  2680.                                 Selected = {optionName}
  2681.                                 DropdownFunctions.Value = Selected[1]
  2682.                             end
  2683.                             Tween(checkmark, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle), {
  2684.                                 Size = UDim2.new(checkmark.Size.X.Scale, tweensettings.checkSizeIncrease, checkmark.Size.Y.Scale, checkmark.Size.Y.Offset)
  2685.                             }):Play()
  2686.                             Tween(optionNameLabel, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle), {
  2687.                                 TextTransparency = tweensettings.transparencyIn
  2688.                             }):Play()
  2689.                             checkmark.TextTransparency = 0
  2690.                         else
  2691.                             if DropdownFunctions.Settings.Multi then
  2692.                                 local idx = table.find(Selected, optionName)
  2693.                                 if idx then
  2694.                                     table.remove(Selected, idx)
  2695.                                 end
  2696.                             else
  2697.                                 Selected = {}
  2698.                             end
  2699.                             Tween(checkmark, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle), {
  2700.                                 Size = UDim2.new(checkmark.Size.X.Scale, tweensettings.checkSizeDecrease, checkmark.Size.Y.Scale, checkmark.Size.Y.Offset)
  2701.                             }):Play()
  2702.                             Tween(optionNameLabel, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle), {
  2703.                                 TextTransparency = tweensettings.transparencyOut
  2704.                             }):Play()
  2705.                             checkmark.TextTransparency = 1
  2706.                         end
  2707.  
  2708.                         if Settings.Required and #Selected == 0 and not State then
  2709.                             return
  2710.                         end
  2711.  
  2712.                         if #Selected > 0 then
  2713.                             dropdownName.Text = DropdownFunctions.Settings.Name .. " • " .. table.concat(Selected, ", ")
  2714.                         else
  2715.                             dropdownName.Text = DropdownFunctions.Settings.Name .. "..."
  2716.                         end
  2717.                     end
  2718.  
  2719.                     local dropped = false
  2720.                     local db = false
  2721.  
  2722.                     local function ToggleDropdown()
  2723.                         if db then return end
  2724.                         db = true
  2725.                         local defaultDropdownSize = 38
  2726.                         local isDropdownOpen = not dropped
  2727.                         local targetSize = isDropdownOpen and UDim2.new(1, 0, 0, CalculateDropdownSize()) or UDim2.new(1, 0, 0, defaultDropdownSize)
  2728.  
  2729.                         local dropTween = Tween(dropdown, TweenInfo.new(0.2, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {
  2730.                             Size = targetSize
  2731.                         })
  2732.                         local iconTween = Tween(dropdownImage, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
  2733.                             Rotation = isDropdownOpen and -90 or 0
  2734.                         })
  2735.  
  2736.                         dropTween:Play()
  2737.                         iconTween:Play()
  2738.  
  2739.                         if isDropdownOpen then
  2740.                             dropdownFrame.Visible = true
  2741.                             dropTween.Completed:Connect(function()
  2742.                                 db = false
  2743.                             end)
  2744.                         else
  2745.                             dropTween.Completed:Connect(function()
  2746.                                 dropdownFrame.Visible = false
  2747.                                 db = false
  2748.                             end)
  2749.                         end
  2750.  
  2751.                         dropped = isDropdownOpen
  2752.                     end
  2753.  
  2754.                     interact.MouseButton1Click:Connect(ToggleDropdown)
  2755.  
  2756.                     local function addOption(i, v)
  2757.                         local option = Instance.new("TextButton")
  2758.                         option.Name = "Option"
  2759.                         option.FontFace = Font.new("rbxasset://fonts/families/SourceSansPro.json")
  2760.                         option.Text = ""
  2761.                         option.TextColor3 = Color3.fromRGB(0, 0, 0)
  2762.                         option.TextSize = 14
  2763.                         option.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  2764.                         option.BackgroundTransparency = 1
  2765.                         option.BorderColor3 = Color3.fromRGB(0, 0, 0)
  2766.                         option.BorderSizePixel = 0
  2767.                         option.Size = UDim2.new(1, 0, 0, 30)
  2768.  
  2769.                         local optionUIPadding = Instance.new("UIPadding")
  2770.                         optionUIPadding.Name = "OptionUIPadding"
  2771.                         optionUIPadding.PaddingLeft = UDim.new(0, 15)
  2772.                         optionUIPadding.Parent = option
  2773.  
  2774.                         local optionName = Instance.new("TextLabel")
  2775.                         optionName.Name = "OptionName"
  2776.                         optionName.FontFace = Font.new(assets.interFont)
  2777.                         optionName.Text = v
  2778.                         optionName.RichText = true
  2779.                         optionName.TextColor3 = Color3.fromRGB(255, 255, 255)
  2780.                         optionName.TextSize = 13
  2781.                         optionName.TextTransparency = 0.5
  2782.                         optionName.TextTruncate = Enum.TextTruncate.AtEnd
  2783.                         optionName.TextXAlignment = Enum.TextXAlignment.Left
  2784.                         optionName.TextYAlignment = Enum.TextYAlignment.Top
  2785.                         optionName.AnchorPoint = Vector2.new(0, 0.5)
  2786.                         optionName.AutomaticSize = Enum.AutomaticSize.XY
  2787.                         optionName.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  2788.                         optionName.BackgroundTransparency = 1
  2789.                         optionName.BorderColor3 = Color3.fromRGB(0, 0, 0)
  2790.                         optionName.BorderSizePixel = 0
  2791.                         optionName.Position = UDim2.fromScale(1.3e-07, 0.5)
  2792.                         optionName.Parent = option
  2793.  
  2794.                         local optionUIListLayout = Instance.new("UIListLayout")
  2795.                         optionUIListLayout.Name = "OptionUIListLayout"
  2796.                         optionUIListLayout.Padding = UDim.new(0, 10)
  2797.                         optionUIListLayout.FillDirection = Enum.FillDirection.Horizontal
  2798.                         optionUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  2799.                         optionUIListLayout.VerticalAlignment = Enum.VerticalAlignment.Center
  2800.                         optionUIListLayout.Parent = option
  2801.  
  2802.                         local checkmark = Instance.new("TextLabel")
  2803.                         checkmark.Name = "Checkmark"
  2804.                         checkmark.FontFace = Font.new(assets.interFont)
  2805.                         checkmark.Text = "✓"
  2806.                         checkmark.TextColor3 = Color3.fromRGB(255, 255, 255)
  2807.                         checkmark.TextSize = 13
  2808.                         checkmark.TextTransparency = 1
  2809.                         checkmark.TextXAlignment = Enum.TextXAlignment.Left
  2810.                         checkmark.TextYAlignment = Enum.TextYAlignment.Top
  2811.                         checkmark.AnchorPoint = Vector2.new(0, 0.5)
  2812.                         checkmark.AutomaticSize = Enum.AutomaticSize.Y
  2813.                         checkmark.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  2814.                         checkmark.BackgroundTransparency = 1
  2815.                         checkmark.BorderColor3 = Color3.fromRGB(0, 0, 0)
  2816.                         checkmark.BorderSizePixel = 0
  2817.                         checkmark.LayoutOrder = -1
  2818.                         checkmark.Position = UDim2.fromScale(1.3e-07, 0.5)
  2819.                         checkmark.Size = UDim2.fromOffset(-10, 0)
  2820.                         checkmark.Parent = option
  2821.  
  2822.                         option.Parent = dropdownFrame
  2823.  
  2824.                         dropdownFrame.Parent = dropdown
  2825.                         OptionObjs[v] = {
  2826.                             Index = i,
  2827.                             Button = option,
  2828.                             NameLabel = optionName,
  2829.                             Checkmark = checkmark
  2830.                         }
  2831.  
  2832.                         local tweensettings = {
  2833.                             duration = 0.2,
  2834.                             easingStyle = Enum.EasingStyle.Quint,
  2835.                             transparencyIn = 0.2,
  2836.                             transparencyOut = 0.5,
  2837.                             checkSizeIncrease = 12,
  2838.                             checkSizeDecrease = -optionUIListLayout.Padding.Offset,
  2839.                             waitTime = 1
  2840.                         }
  2841.                         local tweens = {
  2842.                             checkIn = Tween(checkmark, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle), {
  2843.                                 Size = UDim2.new(checkmark.Size.X.Scale, tweensettings.checkSizeIncrease, checkmark.Size.Y.Scale, checkmark.Size.Y.Offset)
  2844.                             }),
  2845.                             checkOut = Tween(checkmark, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle),{
  2846.                                 Size = UDim2.new(checkmark.Size.X.Scale, tweensettings.checkSizeDecrease, checkmark.Size.Y.Scale, checkmark.Size.Y.Offset)
  2847.                             }),
  2848.                             nameIn = Tween(optionName, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle),{
  2849.                                 TextTransparency = tweensettings.transparencyIn
  2850.                             }),
  2851.                             nameOut = Tween(optionName, TweenInfo.new(tweensettings.duration, tweensettings.easingStyle),{
  2852.                                 TextTransparency = tweensettings.transparencyOut
  2853.                             })
  2854.                         }
  2855.  
  2856.                         local isSelected = false
  2857.                         if DropdownFunctions.Settings.Default then
  2858.                             if DropdownFunctions.Settings.Multi then
  2859.                                 isSelected = table.find(DropdownFunctions.Settings.Default, v) and true or false
  2860.                             else
  2861.                                 isSelected = (DropdownFunctions.Settings.Default == i) and true or false
  2862.                             end
  2863.                         end
  2864.                         Toggle(v, isSelected)
  2865.  
  2866.                         local option = OptionObjs[v].Button
  2867.  
  2868.                         option.MouseButton1Click:Connect(function()
  2869.                             local isSelected = table.find(Selected, v) and true or false
  2870.                             local newSelected = not isSelected
  2871.  
  2872.                             if DropdownFunctions.Settings.Required and not newSelected and #Selected <= 1 then
  2873.                                 return
  2874.                             end
  2875.  
  2876.                             Toggle(v, newSelected)
  2877.  
  2878.                             task.spawn(function()
  2879.                                 if DropdownFunctions.Settings.Multi then
  2880.                                     local Return = {}
  2881.                                     for _, opt in ipairs(Selected) do
  2882.                                         Return[opt] = true
  2883.                                     end
  2884.                                     if DropdownFunctions.Settings.Callback then
  2885.                                         DropdownFunctions.Settings.Callback(Return)
  2886.                                     end
  2887.  
  2888.                                 else
  2889.                                     if newSelected and DropdownFunctions.Settings.Callback then
  2890.                                         DropdownFunctions.Settings.Callback(Selected[1] or nil)
  2891.                                     end
  2892.                                 end
  2893.                             end)
  2894.                         end)
  2895.  
  2896.                         if dropped then
  2897.                             dropdown.Size = UDim2.new(1, 0, 0, CalculateDropdownSize())
  2898.                         end
  2899.                     end
  2900.  
  2901.                     if DropdownFunctions.Settings.Options then
  2902.                         for i, v in pairs(DropdownFunctions.Settings.Options) do
  2903.                             addOption(i, v)
  2904.                         end
  2905.                     end
  2906.  
  2907.                     function DropdownFunctions:UpdateName(New)
  2908.                         dropdownName.Text = New
  2909.                     end
  2910.                     function DropdownFunctions:SetVisibility(State)
  2911.                         dropdown.Visible = State
  2912.                     end
  2913.                     function DropdownFunctions:UpdateSelection(newSelection)
  2914.                         if not newSelection then return end
  2915.  
  2916.                         for option, _ in pairs(OptionObjs) do
  2917.                             Toggle(option, false)
  2918.                         end
  2919.  
  2920.                         local selectedOptions = {}
  2921.                         if type(newSelection) == "number" then
  2922.                             for option, data in pairs(OptionObjs) do
  2923.                                 local isSelected = data.Index == newSelection
  2924.                                 Toggle(option, isSelected)
  2925.                                 if isSelected then
  2926.                                     table.insert(selectedOptions, option)
  2927.                                 end
  2928.                             end
  2929.                         elseif type(newSelection) == "string" then
  2930.                             for option, data in pairs(OptionObjs) do
  2931.                                 local isSelected = option == newSelection
  2932.                                 Toggle(option, isSelected)
  2933.                                 if isSelected then
  2934.                                     table.insert(selectedOptions, option)
  2935.                                 end
  2936.                             end
  2937.                         elseif type(newSelection) == "table" then
  2938.                             for option, _ in pairs(OptionObjs) do
  2939.                                 local isSelected = table.find(newSelection, option) ~= nil
  2940.                                 Toggle(option, isSelected)
  2941.                                 if isSelected then
  2942.                                     table.insert(selectedOptions, option)
  2943.                                 end
  2944.                             end
  2945.                         end
  2946.  
  2947.                         if DropdownFunctions.Settings.Callback then
  2948.                             if DropdownFunctions.Settings.Multi then
  2949.                                 local Return = {}
  2950.                                 for _, opt in ipairs(selectedOptions) do
  2951.                                     Return[opt] = true
  2952.                                 end
  2953.                                 DropdownFunctions.Settings.Callback(Return)
  2954.                             else
  2955.                                 DropdownFunctions.Settings.Callback(selectedOptions[1] or nil)
  2956.                             end
  2957.                         end
  2958.                     end
  2959.                     function DropdownFunctions:InsertOptions(newOptions)
  2960.                         if not newOptions then return end
  2961.                         DropdownFunctions.Settings.Options = newOptions
  2962.                         for i, v in pairs(newOptions) do
  2963.                             addOption(i, v)
  2964.                         end
  2965.                     end
  2966.                     function DropdownFunctions:ClearOptions()
  2967.                         for _, optionData in pairs(OptionObjs) do
  2968.                             optionData.Button:Destroy()
  2969.                         end
  2970.                         OptionObjs = {}
  2971.                         Selected = {}
  2972.  
  2973.                         if dropped then
  2974.                             dropdown.Size = UDim2.new(1, 0, 0, CalculateDropdownSize())
  2975.                         end
  2976.                     end
  2977.                     function DropdownFunctions:GetOptions()
  2978.                         local optionsStatus = {}
  2979.  
  2980.                         for option, data in pairs(OptionObjs) do
  2981.                             local isSelected = table.find(Selected, option) and true or false
  2982.                             optionsStatus[option] = isSelected
  2983.                         end
  2984.  
  2985.                         return optionsStatus
  2986.                     end
  2987.  
  2988.                     function DropdownFunctions:RemoveOptions(remove)
  2989.                         if not remove then return end
  2990.                         for _, optionName in ipairs(remove) do
  2991.                             local optionData = OptionObjs[optionName]
  2992.  
  2993.                             if optionData then
  2994.                                 for i = #Selected, 1, -1 do
  2995.                                     if Selected[i] == optionName then
  2996.                                         table.remove(Selected, i)
  2997.                                     end
  2998.                                 end
  2999.  
  3000.                                 optionData.Button:Destroy()
  3001.  
  3002.                                 OptionObjs[optionName] = nil
  3003.                             end
  3004.                         end
  3005.  
  3006.                         if dropped then
  3007.                             dropdown.Size = UDim2.new(1, 0, 0, CalculateDropdownSize())
  3008.                         end
  3009.                     end
  3010.                     function DropdownFunctions:IsOption(optionName)
  3011.                         if not optionName then return end
  3012.                         return OptionObjs[optionName] ~= nil
  3013.                     end
  3014.  
  3015.                     if Flag then
  3016.                         MacLib.Options[Flag] = DropdownFunctions
  3017.                     end
  3018.  
  3019.                     return DropdownFunctions
  3020.                 end
  3021.  
  3022.                 function SectionFunctions:Colorpicker(Settings, Flag)
  3023.                     local ColorpickerFunctions = { Settings = Settings, IgnoreConfig = false, Class = "Colorpicker" }
  3024.  
  3025.                     local isAlpha = ColorpickerFunctions.Settings.Alpha and true or false
  3026.                     ColorpickerFunctions.Color = ColorpickerFunctions.Settings.Default
  3027.                     ColorpickerFunctions.Alpha = isAlpha and ColorpickerFunctions.Settings.Alpha
  3028.  
  3029.                     local colorpicker = Instance.new("Frame")
  3030.                     colorpicker.Name = "Colorpicker"
  3031.                     colorpicker.AutomaticSize = Enum.AutomaticSize.Y
  3032.                     colorpicker.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  3033.                     colorpicker.BackgroundTransparency = 1
  3034.                     colorpicker.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3035.                     colorpicker.BorderSizePixel = 0
  3036.                     colorpicker.Size = UDim2.new(1, 0, 0, 38)
  3037.                     colorpicker.Parent = section
  3038.  
  3039.                     local colorpickerName = Instance.new("TextLabel")
  3040.                     colorpickerName.Name = "KeybindName"
  3041.                     colorpickerName.FontFace = Font.new(assets.interFont)
  3042.                     colorpickerName.Text = Settings.Name
  3043.                     colorpickerName.TextColor3 = Color3.fromRGB(255, 255, 255)
  3044.                     colorpickerName.TextSize = 13
  3045.                     colorpickerName.TextTransparency = 0.5
  3046.                     colorpickerName.RichText = true
  3047.                     colorpickerName.TextTruncate = Enum.TextTruncate.AtEnd
  3048.                     colorpickerName.TextXAlignment = Enum.TextXAlignment.Left
  3049.                     colorpickerName.TextYAlignment = Enum.TextYAlignment.Top
  3050.                     colorpickerName.AnchorPoint = Vector2.new(0, 0.5)
  3051.                     colorpickerName.AutomaticSize = Enum.AutomaticSize.XY
  3052.                     colorpickerName.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3053.                     colorpickerName.BackgroundTransparency = 1
  3054.                     colorpickerName.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3055.                     colorpickerName.BorderSizePixel = 0
  3056.                     colorpickerName.Position = UDim2.fromScale(0, 0.5)
  3057.                     colorpickerName.Parent = colorpicker
  3058.  
  3059.                     local colorCbg = Instance.new("ImageLabel")
  3060.                     colorCbg.Name = "NewColor"
  3061.                     colorCbg.Image = assets.grid
  3062.                     colorCbg.ScaleType = Enum.ScaleType.Tile
  3063.                     colorCbg.TileSize = UDim2.fromOffset(500, 500)
  3064.                     colorCbg.AnchorPoint = Vector2.new(1, 0.5)
  3065.                     colorCbg.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3066.                     colorCbg.BackgroundTransparency = 1
  3067.                     colorCbg.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3068.                     colorCbg.BorderSizePixel = 0
  3069.                     colorCbg.Position = UDim2.fromScale(1, 0.5)
  3070.                     colorCbg.Size = UDim2.fromOffset(21, 21)
  3071.  
  3072.                     local colorC = Instance.new("Frame")
  3073.                     colorC.Name = "Color"
  3074.                     colorC.AnchorPoint = Vector2.new(0.5, 0.5)
  3075.                     colorC.BackgroundColor3 = ColorpickerFunctions.Color
  3076.                     colorC.BorderSizePixel = 0
  3077.                     colorC.Position = UDim2.fromScale(0.5, 0.5)
  3078.                     colorC.Size = UDim2.fromScale(1, 1)
  3079.                     colorC.BackgroundTransparency = ColorpickerFunctions.Alpha or 0
  3080.  
  3081.                     local uICorner = Instance.new("UICorner")
  3082.                     uICorner.Name = "UICorner"
  3083.                     uICorner.CornerRadius = UDim.new(0, 6)
  3084.                     uICorner.Parent = colorC
  3085.  
  3086.                     local interact = Instance.new("TextButton")
  3087.                     interact.Name = "Interact"
  3088.                     interact.FontFace = Font.new("rbxasset://fonts/families/SourceSansPro.json")
  3089.                     interact.Text = ""
  3090.                     interact.TextColor3 = Color3.fromRGB(0, 0, 0)
  3091.                     interact.TextSize = 14
  3092.                     interact.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3093.                     interact.BackgroundTransparency = 1
  3094.                     interact.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3095.                     interact.BorderSizePixel = 0
  3096.                     interact.Size = UDim2.fromScale(1, 1)
  3097.                     interact.Parent = colorC
  3098.  
  3099.                     colorC.Parent = colorCbg
  3100.  
  3101.                     local uICorner1 = Instance.new("UICorner")
  3102.                     uICorner1.Name = "UICorner"
  3103.                     uICorner1.CornerRadius = UDim.new(0, 8)
  3104.                     uICorner1.Parent = colorCbg
  3105.  
  3106.                     colorCbg.Parent = colorpicker
  3107.  
  3108.                     local colorPicker = Instance.new("Frame")
  3109.                     colorPicker.Name = "ColorPicker"
  3110.                     colorPicker.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  3111.                     colorPicker.BackgroundTransparency = 0.5
  3112.                     colorPicker.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3113.                     colorPicker.BorderSizePixel = 0
  3114.                     colorPicker.Size = UDim2.fromScale(1, 1)
  3115.                     colorPicker.Visible = false
  3116.  
  3117.                     local baseUICorner = Instance.new("UICorner")
  3118.                     baseUICorner.Name = "BaseUICorner"
  3119.                     baseUICorner.CornerRadius = UDim.new(0, 10)
  3120.                     baseUICorner.Parent = colorPicker
  3121.  
  3122.                     local prompt = Instance.new("Frame")
  3123.                     prompt.Name = "Prompt"
  3124.                     prompt.AnchorPoint = Vector2.new(0.5, 0.5)
  3125.                     prompt.AutomaticSize = Enum.AutomaticSize.Y
  3126.                     prompt.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
  3127.                     prompt.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3128.                     prompt.BorderSizePixel = 0
  3129.                     prompt.Position = UDim2.fromScale(0.5, 0.5)
  3130.                     prompt.Size = UDim2.fromOffset(420, 0)
  3131.  
  3132.                     local promptUIScale = Instance.new("UIScale")
  3133.                     promptUIScale.Name = "BaseUIScale"
  3134.                     promptUIScale.Parent = prompt
  3135.                     promptUIScale.Scale = 0.95
  3136.  
  3137.                     local globalSettingsUIStroke = Instance.new("UIStroke")
  3138.                     globalSettingsUIStroke.Name = "GlobalSettingsUIStroke"
  3139.                     globalSettingsUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  3140.                     globalSettingsUIStroke.Color = Color3.fromRGB(255, 255, 255)
  3141.                     globalSettingsUIStroke.Transparency = 0.9
  3142.                     globalSettingsUIStroke.Parent = prompt
  3143.  
  3144.                     local globalSettingsUICorner = Instance.new("UICorner")
  3145.                     globalSettingsUICorner.Name = "GlobalSettingsUICorner"
  3146.                     globalSettingsUICorner.CornerRadius = UDim.new(0, 10)
  3147.                     globalSettingsUICorner.Parent = prompt
  3148.  
  3149.                     local uIListLayout = Instance.new("UIListLayout")
  3150.                     uIListLayout.Name = "UIListLayout"
  3151.                     uIListLayout.Padding = UDim.new(0, 10)
  3152.                     uIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
  3153.                     uIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  3154.                     uIListLayout.Parent = prompt
  3155.  
  3156.                     local colorOptions = Instance.new("Frame")
  3157.                     colorOptions.Name = "ColorOptions"
  3158.                     colorOptions.AutomaticSize = Enum.AutomaticSize.XY
  3159.                     colorOptions.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3160.                     colorOptions.BackgroundTransparency = 1
  3161.                     colorOptions.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3162.                     colorOptions.BorderSizePixel = 0
  3163.                     colorOptions.LayoutOrder = 1
  3164.                     colorOptions.Size = UDim2.fromScale(1, 0)
  3165.  
  3166.                     local value = Instance.new("TextButton")
  3167.                     value.Name = "Value"
  3168.                     value.FontFace = Font.new("rbxasset://fonts/families/SourceSansPro.json")
  3169.                     value.Text = ""
  3170.                     value.TextColor3 = Color3.fromRGB(0, 0, 0)
  3171.                     value.TextSize = 14
  3172.                     value.AutoButtonColor = false
  3173.                     value.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3174.                     value.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3175.                     value.BorderSizePixel = 0
  3176.                     value.LayoutOrder = 1
  3177.                     value.Position = UDim2.fromScale(0.092, 0.886)
  3178.                     value.Size = UDim2.new(1, 0, 0, 15)
  3179.  
  3180.                     local uIGradient = Instance.new("UIGradient")
  3181.                     uIGradient.Name = "UIGradient"
  3182.                     uIGradient.Color = ColorSequence.new({
  3183.                         ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 255, 255)),
  3184.                         ColorSequenceKeypoint.new(1, Color3.fromRGB(0, 0, 0)),
  3185.                     })
  3186.                     uIGradient.Parent = value
  3187.  
  3188.                     local slide = Instance.new("Frame")
  3189.                     slide.Name = "Slide"
  3190.                     slide.AnchorPoint = Vector2.new(0, 0.5)
  3191.                     slide.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3192.                     slide.BorderColor3 = Color3.fromRGB(27, 42, 53)
  3193.                     slide.BorderSizePixel = 0
  3194.                     slide.Position = UDim2.fromScale(0, 0.5)
  3195.                     slide.Size = UDim2.new(0, 13, 1, 8)
  3196.  
  3197.                     local uICorner = Instance.new("UICorner")
  3198.                     uICorner.Name = "UICorner"
  3199.                     uICorner.CornerRadius = UDim.new(1, 0)
  3200.                     uICorner.Parent = slide
  3201.  
  3202.                     local uIStroke = Instance.new("UIStroke")
  3203.                     uIStroke.Name = "UIStroke"
  3204.                     uIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  3205.                     uIStroke.Transparency = 0.5
  3206.                     uIStroke.Parent = slide
  3207.  
  3208.                     slide.Parent = value
  3209.  
  3210.                     local uICorner1 = Instance.new("UICorner")
  3211.                     uICorner1.Name = "UICorner"
  3212.                     uICorner1.CornerRadius = UDim.new(0, 6)
  3213.                     uICorner1.Parent = value
  3214.  
  3215.                     local uIStroke1 = Instance.new("UIStroke")
  3216.                     uIStroke1.Name = "UIStroke"
  3217.                     uIStroke1.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  3218.                     uIStroke1.Color = Color3.fromRGB(255, 255, 255)
  3219.                     uIStroke1.Transparency = 0.9
  3220.  
  3221.                     local uIGradient1 = Instance.new("UIGradient")
  3222.                     uIGradient1.Name = "UIGradient"
  3223.                     uIGradient1.Color = ColorSequence.new({
  3224.                         ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 255, 255)),
  3225.                         ColorSequenceKeypoint.new(1, Color3.fromRGB(0, 0, 0)),
  3226.                     })
  3227.                     uIGradient1.Rotation = 180
  3228.                     uIGradient1.Parent = uIStroke1
  3229.  
  3230.                     uIStroke1.Parent = value
  3231.  
  3232.                     value.Parent = colorOptions
  3233.  
  3234.                     local uIListLayout1 = Instance.new("UIListLayout")
  3235.                     uIListLayout1.Name = "UIListLayout"
  3236.                     uIListLayout1.Padding = UDim.new(0, 25)
  3237.                     uIListLayout1.SortOrder = Enum.SortOrder.LayoutOrder
  3238.                     uIListLayout1.Parent = colorOptions
  3239.  
  3240.                     local wheel = Instance.new("Frame")
  3241.                     wheel.Name = "Wheel"
  3242.                     wheel.AutomaticSize = Enum.AutomaticSize.Y
  3243.                     wheel.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3244.                     wheel.BackgroundTransparency = 1
  3245.                     wheel.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3246.                     wheel.BorderSizePixel = 0
  3247.                     wheel.Size = UDim2.new(1, 0, 0, 100)
  3248.  
  3249.                     local wheel1 = Instance.new("ImageButton")
  3250.                     wheel1.Name = "Wheel"
  3251.                     wheel1.Image = assets.colorWheel
  3252.                     wheel1.AutoButtonColor = false
  3253.                     wheel1.Active = false
  3254.                     wheel1.BackgroundColor3 = Color3.fromRGB(248, 248, 248)
  3255.                     wheel1.BackgroundTransparency = 1
  3256.                     wheel1.BorderColor3 = Color3.fromRGB(27, 42, 53)
  3257.                     wheel1.Selectable = false
  3258.                     wheel1.Size = UDim2.fromOffset(220, 220)
  3259.                     wheel1.SizeConstraint = Enum.SizeConstraint.RelativeYY
  3260.  
  3261.                     local target = Instance.new("ImageLabel")
  3262.                     target.Name = "Target"
  3263.                     target.Image = assets.colorTarget
  3264.                     target.ImageColor3 = Color3.fromRGB(0, 0, 0)
  3265.                     target.AnchorPoint = Vector2.new(0.5, 0.5)
  3266.                     target.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3267.                     target.BackgroundTransparency = 1
  3268.                     target.BorderColor3 = Color3.fromRGB(27, 42, 53)
  3269.                     target.Position = UDim2.fromScale(0.5, 0.5)
  3270.                     target.Size = UDim2.fromOffset(22, 22)
  3271.                     target.SizeConstraint = Enum.SizeConstraint.RelativeYY
  3272.                     target.Parent = wheel1
  3273.  
  3274.                     wheel1.Parent = wheel
  3275.  
  3276.                     local inputs = Instance.new("Frame")
  3277.                     inputs.Name = "Inputs"
  3278.                     inputs.AnchorPoint = Vector2.new(1, 0.5)
  3279.                     inputs.AutomaticSize = Enum.AutomaticSize.XY
  3280.                     inputs.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3281.                     inputs.BackgroundTransparency = 1
  3282.                     inputs.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3283.                     inputs.BorderSizePixel = 0
  3284.                     inputs.LayoutOrder = 1
  3285.                     inputs.Position = UDim2.fromScale(1, 0.5)
  3286.  
  3287.                     local uIListLayout2 = Instance.new("UIListLayout")
  3288.                     uIListLayout2.Name = "UIListLayout"
  3289.                     uIListLayout2.Padding = UDim.new(0, 5)
  3290.                     uIListLayout2.SortOrder = Enum.SortOrder.LayoutOrder
  3291.                     uIListLayout2.Parent = inputs
  3292.  
  3293.                     local red = Instance.new("Frame")
  3294.                     red.Name = "Red"
  3295.                     red.AutomaticSize = Enum.AutomaticSize.XY
  3296.                     red.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  3297.                     red.BackgroundTransparency = 1
  3298.                     red.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3299.                     red.BorderSizePixel = 0
  3300.                     red.LayoutOrder = 1
  3301.                     red.Size = UDim2.fromOffset(0, 38)
  3302.  
  3303.                     local inputName = Instance.new("TextLabel")
  3304.                     inputName.Name = "InputName"
  3305.                     inputName.FontFace = Font.new(assets.interFont)
  3306.                     inputName.Text = "Red"
  3307.                     inputName.TextColor3 = Color3.fromRGB(255, 255, 255)
  3308.                     inputName.TextSize = 13
  3309.                     inputName.TextTransparency = 0.5
  3310.                     inputName.TextTruncate = Enum.TextTruncate.AtEnd
  3311.                     inputName.TextXAlignment = Enum.TextXAlignment.Left
  3312.                     inputName.TextYAlignment = Enum.TextYAlignment.Top
  3313.                     inputName.AnchorPoint = Vector2.new(0, 0.5)
  3314.                     inputName.AutomaticSize = Enum.AutomaticSize.XY
  3315.                     inputName.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3316.                     inputName.BackgroundTransparency = 1
  3317.                     inputName.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3318.                     inputName.BorderSizePixel = 0
  3319.                     inputName.LayoutOrder = 2
  3320.                     inputName.Position = UDim2.fromScale(0, 0.5)
  3321.                     inputName.Parent = red
  3322.  
  3323.                     local uIListLayout3 = Instance.new("UIListLayout")
  3324.                     uIListLayout3.Name = "UIListLayout"
  3325.                     uIListLayout3.Padding = UDim.new(0, 15)
  3326.                     uIListLayout3.FillDirection = Enum.FillDirection.Horizontal
  3327.                     uIListLayout3.SortOrder = Enum.SortOrder.LayoutOrder
  3328.                     uIListLayout3.VerticalAlignment = Enum.VerticalAlignment.Center
  3329.                     uIListLayout3.Parent = red
  3330.  
  3331.                     local inputBox = Instance.new("TextBox")
  3332.                     inputBox.Name = "InputBox"
  3333.                     inputBox.ClearTextOnFocus = false
  3334.                     inputBox.CursorPosition = -1
  3335.                     inputBox.FontFace = Font.new(assets.interFont)
  3336.                     inputBox.Text = "255"
  3337.                     inputBox.TextColor3 = Color3.fromRGB(255, 255, 255)
  3338.                     inputBox.TextSize = 12
  3339.                     inputBox.TextTransparency = 0.1
  3340.                     inputBox.TextXAlignment = Enum.TextXAlignment.Left
  3341.                     inputBox.AnchorPoint = Vector2.new(1, 0.5)
  3342.                     inputBox.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3343.                     inputBox.BackgroundTransparency = 0.95
  3344.                     inputBox.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3345.                     inputBox.BorderSizePixel = 0
  3346.                     inputBox.ClipsDescendants = true
  3347.                     inputBox.LayoutOrder = 1
  3348.                     inputBox.Position = UDim2.fromScale(1, 0.5)
  3349.                     inputBox.Size = UDim2.fromOffset(75, 25)
  3350.  
  3351.                     local inputBoxUICorner = Instance.new("UICorner")
  3352.                     inputBoxUICorner.Name = "InputBoxUICorner"
  3353.                     inputBoxUICorner.CornerRadius = UDim.new(0, 4)
  3354.                     inputBoxUICorner.Parent = inputBox
  3355.  
  3356.                     local inputBoxUIStroke = Instance.new("UIStroke")
  3357.                     inputBoxUIStroke.Name = "InputBoxUIStroke"
  3358.                     inputBoxUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  3359.                     inputBoxUIStroke.Color = Color3.fromRGB(255, 255, 255)
  3360.                     inputBoxUIStroke.Transparency = 0.9
  3361.                     inputBoxUIStroke.Parent = inputBox
  3362.  
  3363.                     local inputBoxUISizeConstraint = Instance.new("UISizeConstraint")
  3364.                     inputBoxUISizeConstraint.Name = "InputBoxUISizeConstraint"
  3365.                     inputBoxUISizeConstraint.Parent = inputBox
  3366.  
  3367.                     local inputBoxUIPadding = Instance.new("UIPadding")
  3368.                     inputBoxUIPadding.Name = "InputBoxUIPadding"
  3369.                     inputBoxUIPadding.PaddingLeft = UDim.new(0, 8)
  3370.                     inputBoxUIPadding.PaddingRight = UDim.new(0, 10)
  3371.                     inputBoxUIPadding.Parent = inputBox
  3372.  
  3373.                     inputBox.Parent = red
  3374.  
  3375.                     red.Parent = inputs
  3376.  
  3377.                     local green = Instance.new("Frame")
  3378.                     green.Name = "Green"
  3379.                     green.AutomaticSize = Enum.AutomaticSize.XY
  3380.                     green.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  3381.                     green.BackgroundTransparency = 1
  3382.                     green.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3383.                     green.BorderSizePixel = 0
  3384.                     green.LayoutOrder = 2
  3385.                     green.Size = UDim2.fromOffset(0, 38)
  3386.  
  3387.                     local inputName1 = Instance.new("TextLabel")
  3388.                     inputName1.Name = "InputName"
  3389.                     inputName1.FontFace = Font.new(assets.interFont)
  3390.                     inputName1.Text = "Green"
  3391.                     inputName1.TextColor3 = Color3.fromRGB(255, 255, 255)
  3392.                     inputName1.TextSize = 13
  3393.                     inputName1.TextTransparency = 0.5
  3394.                     inputName1.TextTruncate = Enum.TextTruncate.AtEnd
  3395.                     inputName1.TextXAlignment = Enum.TextXAlignment.Left
  3396.                     inputName1.TextYAlignment = Enum.TextYAlignment.Top
  3397.                     inputName1.AnchorPoint = Vector2.new(0, 0.5)
  3398.                     inputName1.AutomaticSize = Enum.AutomaticSize.XY
  3399.                     inputName1.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3400.                     inputName1.BackgroundTransparency = 1
  3401.                     inputName1.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3402.                     inputName1.BorderSizePixel = 0
  3403.                     inputName1.LayoutOrder = 2
  3404.                     inputName1.Position = UDim2.fromScale(0, 0.5)
  3405.                     inputName1.Parent = green
  3406.  
  3407.                     local uIListLayout4 = Instance.new("UIListLayout")
  3408.                     uIListLayout4.Name = "UIListLayout"
  3409.                     uIListLayout4.Padding = UDim.new(0, 15)
  3410.                     uIListLayout4.FillDirection = Enum.FillDirection.Horizontal
  3411.                     uIListLayout4.SortOrder = Enum.SortOrder.LayoutOrder
  3412.                     uIListLayout4.VerticalAlignment = Enum.VerticalAlignment.Center
  3413.                     uIListLayout4.Parent = green
  3414.  
  3415.                     local inputBox1 = Instance.new("TextBox")
  3416.                     inputBox1.Name = "InputBox"
  3417.                     inputBox1.ClearTextOnFocus = false
  3418.                     inputBox1.FontFace = Font.new(assets.interFont)
  3419.                     inputBox1.Text = "255"
  3420.                     inputBox1.TextColor3 = Color3.fromRGB(255, 255, 255)
  3421.                     inputBox1.TextSize = 12
  3422.                     inputBox1.TextTransparency = 0.1
  3423.                     inputBox1.TextXAlignment = Enum.TextXAlignment.Left
  3424.                     inputBox1.AnchorPoint = Vector2.new(1, 0.5)
  3425.                     inputBox1.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3426.                     inputBox1.BackgroundTransparency = 0.95
  3427.                     inputBox1.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3428.                     inputBox1.BorderSizePixel = 0
  3429.                     inputBox1.ClipsDescendants = true
  3430.                     inputBox1.LayoutOrder = 1
  3431.                     inputBox1.Position = UDim2.fromScale(1, 0.5)
  3432.                     inputBox1.Size = UDim2.fromOffset(75, 25)
  3433.  
  3434.                     local inputBoxUICorner1 = Instance.new("UICorner")
  3435.                     inputBoxUICorner1.Name = "InputBoxUICorner"
  3436.                     inputBoxUICorner1.CornerRadius = UDim.new(0, 4)
  3437.                     inputBoxUICorner1.Parent = inputBox1
  3438.  
  3439.                     local inputBoxUIStroke1 = Instance.new("UIStroke")
  3440.                     inputBoxUIStroke1.Name = "InputBoxUIStroke"
  3441.                     inputBoxUIStroke1.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  3442.                     inputBoxUIStroke1.Color = Color3.fromRGB(255, 255, 255)
  3443.                     inputBoxUIStroke1.Transparency = 0.9
  3444.                     inputBoxUIStroke1.Parent = inputBox1
  3445.  
  3446.                     local inputBoxUISizeConstraint1 = Instance.new("UISizeConstraint")
  3447.                     inputBoxUISizeConstraint1.Name = "InputBoxUISizeConstraint"
  3448.                     inputBoxUISizeConstraint1.Parent = inputBox1
  3449.  
  3450.                     local inputBoxUIPadding1 = Instance.new("UIPadding")
  3451.                     inputBoxUIPadding1.Name = "InputBoxUIPadding"
  3452.                     inputBoxUIPadding1.PaddingLeft = UDim.new(0, 8)
  3453.                     inputBoxUIPadding1.PaddingRight = UDim.new(0, 10)
  3454.                     inputBoxUIPadding1.Parent = inputBox1
  3455.  
  3456.                     inputBox1.Parent = green
  3457.  
  3458.                     green.Parent = inputs
  3459.  
  3460.                     local blue = Instance.new("Frame")
  3461.                     blue.Name = "Blue"
  3462.                     blue.AutomaticSize = Enum.AutomaticSize.XY
  3463.                     blue.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  3464.                     blue.BackgroundTransparency = 1
  3465.                     blue.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3466.                     blue.BorderSizePixel = 0
  3467.                     blue.LayoutOrder = 3
  3468.                     blue.Size = UDim2.fromOffset(0, 38)
  3469.  
  3470.                     local inputName2 = Instance.new("TextLabel")
  3471.                     inputName2.Name = "InputName"
  3472.                     inputName2.FontFace = Font.new(assets.interFont)
  3473.                     inputName2.Text = "Blue"
  3474.                     inputName2.TextColor3 = Color3.fromRGB(255, 255, 255)
  3475.                     inputName2.TextSize = 13
  3476.                     inputName2.TextTransparency = 0.5
  3477.                     inputName2.TextTruncate = Enum.TextTruncate.AtEnd
  3478.                     inputName2.TextXAlignment = Enum.TextXAlignment.Left
  3479.                     inputName2.TextYAlignment = Enum.TextYAlignment.Top
  3480.                     inputName2.AnchorPoint = Vector2.new(0, 0.5)
  3481.                     inputName2.AutomaticSize = Enum.AutomaticSize.XY
  3482.                     inputName2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3483.                     inputName2.BackgroundTransparency = 1
  3484.                     inputName2.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3485.                     inputName2.BorderSizePixel = 0
  3486.                     inputName2.LayoutOrder = 2
  3487.                     inputName2.Position = UDim2.fromScale(0, 0.5)
  3488.                     inputName2.Parent = blue
  3489.  
  3490.                     local uIListLayout5 = Instance.new("UIListLayout")
  3491.                     uIListLayout5.Name = "UIListLayout"
  3492.                     uIListLayout5.Padding = UDim.new(0, 15)
  3493.                     uIListLayout5.FillDirection = Enum.FillDirection.Horizontal
  3494.                     uIListLayout5.SortOrder = Enum.SortOrder.LayoutOrder
  3495.                     uIListLayout5.VerticalAlignment = Enum.VerticalAlignment.Center
  3496.                     uIListLayout5.Parent = blue
  3497.  
  3498.                     local inputBox2 = Instance.new("TextBox")
  3499.                     inputBox2.Name = "InputBox"
  3500.                     inputBox2.ClearTextOnFocus = false
  3501.                     inputBox2.FontFace = Font.new(assets.interFont)
  3502.                     inputBox2.Text = "255"
  3503.                     inputBox2.TextColor3 = Color3.fromRGB(255, 255, 255)
  3504.                     inputBox2.TextSize = 12
  3505.                     inputBox2.TextTransparency = 0.1
  3506.                     inputBox2.TextXAlignment = Enum.TextXAlignment.Left
  3507.                     inputBox2.AnchorPoint = Vector2.new(1, 0.5)
  3508.                     inputBox2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3509.                     inputBox2.BackgroundTransparency = 0.95
  3510.                     inputBox2.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3511.                     inputBox2.BorderSizePixel = 0
  3512.                     inputBox2.ClipsDescendants = true
  3513.                     inputBox2.LayoutOrder = 1
  3514.                     inputBox2.Position = UDim2.fromScale(1, 0.5)
  3515.                     inputBox2.Size = UDim2.fromOffset(75, 25)
  3516.  
  3517.                     local inputBoxUICorner2 = Instance.new("UICorner")
  3518.                     inputBoxUICorner2.Name = "InputBoxUICorner"
  3519.                     inputBoxUICorner2.CornerRadius = UDim.new(0, 4)
  3520.                     inputBoxUICorner2.Parent = inputBox2
  3521.  
  3522.                     local inputBoxUIStroke2 = Instance.new("UIStroke")
  3523.                     inputBoxUIStroke2.Name = "InputBoxUIStroke"
  3524.                     inputBoxUIStroke2.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  3525.                     inputBoxUIStroke2.Color = Color3.fromRGB(255, 255, 255)
  3526.                     inputBoxUIStroke2.Transparency = 0.9
  3527.                     inputBoxUIStroke2.Parent = inputBox2
  3528.  
  3529.                     local inputBoxUISizeConstraint2 = Instance.new("UISizeConstraint")
  3530.                     inputBoxUISizeConstraint2.Name = "InputBoxUISizeConstraint"
  3531.                     inputBoxUISizeConstraint2.Parent = inputBox2
  3532.  
  3533.                     local inputBoxUIPadding2 = Instance.new("UIPadding")
  3534.                     inputBoxUIPadding2.Name = "InputBoxUIPadding"
  3535.                     inputBoxUIPadding2.PaddingLeft = UDim.new(0, 8)
  3536.                     inputBoxUIPadding2.PaddingRight = UDim.new(0, 10)
  3537.                     inputBoxUIPadding2.Parent = inputBox2
  3538.  
  3539.                     inputBox2.Parent = blue
  3540.  
  3541.                     blue.Parent = inputs
  3542.  
  3543.                     local alpha = Instance.new("Frame")
  3544.                     alpha.Name = "Alpha"
  3545.                     alpha.AutomaticSize = Enum.AutomaticSize.XY
  3546.                     alpha.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  3547.                     alpha.BackgroundTransparency = 1
  3548.                     alpha.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3549.                     alpha.BorderSizePixel = 0
  3550.                     alpha.LayoutOrder = 4
  3551.                     alpha.Size = UDim2.fromOffset(0, 38)
  3552.                     alpha.Visible = isAlpha
  3553.  
  3554.                     local inputName3 = Instance.new("TextLabel")
  3555.                     inputName3.Name = "InputName"
  3556.                     inputName3.FontFace = Font.new(assets.interFont)
  3557.                     inputName3.Text = "Alpha"
  3558.                     inputName3.TextColor3 = Color3.fromRGB(255, 255, 255)
  3559.                     inputName3.TextSize = 13
  3560.                     inputName3.TextTransparency = 0.5
  3561.                     inputName3.TextTruncate = Enum.TextTruncate.AtEnd
  3562.                     inputName3.TextXAlignment = Enum.TextXAlignment.Left
  3563.                     inputName3.TextYAlignment = Enum.TextYAlignment.Top
  3564.                     inputName3.AnchorPoint = Vector2.new(0, 0.5)
  3565.                     inputName3.AutomaticSize = Enum.AutomaticSize.XY
  3566.                     inputName3.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3567.                     inputName3.BackgroundTransparency = 1
  3568.                     inputName3.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3569.                     inputName3.BorderSizePixel = 0
  3570.                     inputName3.LayoutOrder = 2
  3571.                     inputName3.Position = UDim2.fromScale(0, 0.5)
  3572.                     inputName3.Parent = alpha
  3573.  
  3574.                     local uIListLayout6 = Instance.new("UIListLayout")
  3575.                     uIListLayout6.Name = "UIListLayout"
  3576.                     uIListLayout6.Padding = UDim.new(0, 15)
  3577.                     uIListLayout6.FillDirection = Enum.FillDirection.Horizontal
  3578.                     uIListLayout6.SortOrder = Enum.SortOrder.LayoutOrder
  3579.                     uIListLayout6.VerticalAlignment = Enum.VerticalAlignment.Center
  3580.                     uIListLayout6.Parent = alpha
  3581.  
  3582.                     local inputBox3 = Instance.new("TextBox")
  3583.                     inputBox3.Name = "InputBox"
  3584.                     inputBox3.ClearTextOnFocus = false
  3585.                     inputBox3.FontFace = Font.new(assets.interFont)
  3586.                     inputBox3.Text = "0"
  3587.                     inputBox3.TextColor3 = Color3.fromRGB(255, 255, 255)
  3588.                     inputBox3.TextSize = 12
  3589.                     inputBox3.TextTransparency = 0.1
  3590.                     inputBox3.TextXAlignment = Enum.TextXAlignment.Left
  3591.                     inputBox3.AnchorPoint = Vector2.new(1, 0.5)
  3592.                     inputBox3.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3593.                     inputBox3.BackgroundTransparency = 0.95
  3594.                     inputBox3.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3595.                     inputBox3.BorderSizePixel = 0
  3596.                     inputBox3.ClipsDescendants = true
  3597.                     inputBox3.LayoutOrder = 1
  3598.                     inputBox3.Position = UDim2.fromScale(1, 0.5)
  3599.                     inputBox3.Size = UDim2.fromOffset(75, 25)
  3600.  
  3601.                     local inputBoxUICorner3 = Instance.new("UICorner")
  3602.                     inputBoxUICorner3.Name = "InputBoxUICorner"
  3603.                     inputBoxUICorner3.CornerRadius = UDim.new(0, 4)
  3604.                     inputBoxUICorner3.Parent = inputBox3
  3605.  
  3606.                     local inputBoxUIStroke3 = Instance.new("UIStroke")
  3607.                     inputBoxUIStroke3.Name = "InputBoxUIStroke"
  3608.                     inputBoxUIStroke3.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  3609.                     inputBoxUIStroke3.Color = Color3.fromRGB(255, 255, 255)
  3610.                     inputBoxUIStroke3.Transparency = 0.9
  3611.                     inputBoxUIStroke3.Parent = inputBox3
  3612.  
  3613.                     local inputBoxUISizeConstraint3 = Instance.new("UISizeConstraint")
  3614.                     inputBoxUISizeConstraint3.Name = "InputBoxUISizeConstraint"
  3615.                     inputBoxUISizeConstraint3.Parent = inputBox3
  3616.  
  3617.                     local inputBoxUIPadding3 = Instance.new("UIPadding")
  3618.                     inputBoxUIPadding3.Name = "InputBoxUIPadding"
  3619.                     inputBoxUIPadding3.PaddingLeft = UDim.new(0, 8)
  3620.                     inputBoxUIPadding3.PaddingRight = UDim.new(0, 10)
  3621.                     inputBoxUIPadding3.Parent = inputBox3
  3622.  
  3623.                     inputBox3.Parent = alpha
  3624.  
  3625.                     alpha.Parent = inputs
  3626.  
  3627.                     local hex = Instance.new("Frame")
  3628.                     hex.Name = "Hex"
  3629.                     hex.AutomaticSize = Enum.AutomaticSize.XY
  3630.                     hex.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  3631.                     hex.BackgroundTransparency = 1
  3632.                     hex.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3633.                     hex.BorderSizePixel = 0
  3634.                     hex.Size = UDim2.fromOffset(0, 38)
  3635.  
  3636.                     local inputName4 = Instance.new("TextLabel")
  3637.                     inputName4.Name = "InputName"
  3638.                     inputName4.FontFace = Font.new(assets.interFont)
  3639.                     inputName4.Text = "Hex"
  3640.                     inputName4.TextColor3 = Color3.fromRGB(255, 255, 255)
  3641.                     inputName4.TextSize = 13
  3642.                     inputName4.TextTransparency = 0.5
  3643.                     inputName4.TextTruncate = Enum.TextTruncate.AtEnd
  3644.                     inputName4.TextXAlignment = Enum.TextXAlignment.Left
  3645.                     inputName4.TextYAlignment = Enum.TextYAlignment.Top
  3646.                     inputName4.AnchorPoint = Vector2.new(0, 0.5)
  3647.                     inputName4.AutomaticSize = Enum.AutomaticSize.XY
  3648.                     inputName4.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3649.                     inputName4.BackgroundTransparency = 1
  3650.                     inputName4.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3651.                     inputName4.BorderSizePixel = 0
  3652.                     inputName4.LayoutOrder = 2
  3653.                     inputName4.Position = UDim2.fromScale(0, 0.5)
  3654.                     inputName4.Parent = hex
  3655.  
  3656.                     local uIListLayout7 = Instance.new("UIListLayout")
  3657.                     uIListLayout7.Name = "UIListLayout"
  3658.                     uIListLayout7.Padding = UDim.new(0, 15)
  3659.                     uIListLayout7.FillDirection = Enum.FillDirection.Horizontal
  3660.                     uIListLayout7.SortOrder = Enum.SortOrder.LayoutOrder
  3661.                     uIListLayout7.VerticalAlignment = Enum.VerticalAlignment.Center
  3662.                     uIListLayout7.Parent = hex
  3663.  
  3664.                     local inputBox4 = Instance.new("TextBox")
  3665.                     inputBox4.Name = "InputBox"
  3666.                     inputBox4.ClearTextOnFocus = false
  3667.                     inputBox4.CursorPosition = -1
  3668.                     inputBox4.FontFace = Font.new(assets.interFont)
  3669.                     inputBox4.Text = "255"
  3670.                     inputBox4.TextColor3 = Color3.fromRGB(255, 255, 255)
  3671.                     inputBox4.TextSize = 12
  3672.                     inputBox4.TextTransparency = 0.1
  3673.                     inputBox4.TextXAlignment = Enum.TextXAlignment.Left
  3674.                     inputBox4.AnchorPoint = Vector2.new(1, 0.5)
  3675.                     inputBox4.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3676.                     inputBox4.BackgroundTransparency = 0.95
  3677.                     inputBox4.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3678.                     inputBox4.BorderSizePixel = 0
  3679.                     inputBox4.ClipsDescendants = true
  3680.                     inputBox4.LayoutOrder = 1
  3681.                     inputBox4.Position = UDim2.fromScale(1, 0.5)
  3682.                     inputBox4.Size = UDim2.fromOffset(75, 25)
  3683.  
  3684.                     local inputBoxUICorner4 = Instance.new("UICorner")
  3685.                     inputBoxUICorner4.Name = "InputBoxUICorner"
  3686.                     inputBoxUICorner4.CornerRadius = UDim.new(0, 4)
  3687.                     inputBoxUICorner4.Parent = inputBox4
  3688.  
  3689.                     local inputBoxUIStroke4 = Instance.new("UIStroke")
  3690.                     inputBoxUIStroke4.Name = "InputBoxUIStroke"
  3691.                     inputBoxUIStroke4.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  3692.                     inputBoxUIStroke4.Color = Color3.fromRGB(255, 255, 255)
  3693.                     inputBoxUIStroke4.Transparency = 0.9
  3694.                     inputBoxUIStroke4.Parent = inputBox4
  3695.  
  3696.                     local inputBoxUISizeConstraint4 = Instance.new("UISizeConstraint")
  3697.                     inputBoxUISizeConstraint4.Name = "InputBoxUISizeConstraint"
  3698.                     inputBoxUISizeConstraint4.Parent = inputBox4
  3699.  
  3700.                     local inputBoxUIPadding4 = Instance.new("UIPadding")
  3701.                     inputBoxUIPadding4.Name = "InputBoxUIPadding"
  3702.                     inputBoxUIPadding4.PaddingLeft = UDim.new(0, 8)
  3703.                     inputBoxUIPadding4.PaddingRight = UDim.new(0, 10)
  3704.                     inputBoxUIPadding4.Parent = inputBox4
  3705.  
  3706.                     inputBox4.Parent = hex
  3707.  
  3708.                     hex.Parent = inputs
  3709.  
  3710.                     inputs.Parent = wheel
  3711.  
  3712.                     local uIPadding = Instance.new("UIPadding")
  3713.                     uIPadding.Name = "UIPadding"
  3714.                     uIPadding.PaddingRight = UDim.new(0, 5)
  3715.                     uIPadding.Parent = wheel
  3716.  
  3717.                     wheel.Parent = colorOptions
  3718.  
  3719.                     local colorWells = Instance.new("Frame")
  3720.                     colorWells.Name = "ColorWells"
  3721.                     colorWells.AutomaticSize = Enum.AutomaticSize.Y
  3722.                     colorWells.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3723.                     colorWells.BackgroundTransparency = 1
  3724.                     colorWells.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3725.                     colorWells.BorderSizePixel = 0
  3726.                     colorWells.LayoutOrder = 2
  3727.                     colorWells.Size = UDim2.fromScale(1, 0)
  3728.  
  3729.                     local uIGridLayout = Instance.new("UIGridLayout")
  3730.                     uIGridLayout.Name = "UIGridLayout"
  3731.                     uIGridLayout.CellPadding = UDim2.fromOffset(10, 0)
  3732.                     uIGridLayout.CellSize = UDim2.new(0.5, -5, 0, 30)
  3733.                     uIGridLayout.SortOrder = Enum.SortOrder.LayoutOrder
  3734.                     uIGridLayout.Parent = colorWells
  3735.  
  3736.                     local newColor = Instance.new("ImageLabel")
  3737.                     newColor.Name = "NewColor"
  3738.                     newColor.Image = assets.grid
  3739.                     newColor.ScaleType = Enum.ScaleType.Tile
  3740.                     newColor.TileSize = UDim2.fromOffset(500, 500)
  3741.                     newColor.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3742.                     newColor.BackgroundTransparency = 1
  3743.                     newColor.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3744.                     newColor.BorderSizePixel = 0
  3745.                     newColor.Size = UDim2.fromOffset(100, 100)
  3746.  
  3747.                     local uICorner2 = Instance.new("UICorner")
  3748.                     uICorner2.Name = "UICorner"
  3749.                     uICorner2.Parent = newColor
  3750.  
  3751.                     local color = Instance.new("Frame")
  3752.                     color.Name = "Color"
  3753.                     color.AnchorPoint = Vector2.new(0.5, 0.5)
  3754.                     color.BorderColor3 = Color3.fromRGB(27, 42, 53)
  3755.                     color.BorderSizePixel = 0
  3756.                     color.Position = UDim2.fromScale(0.5, 0.5)
  3757.                     color.Size = UDim2.new(1, 1, 1, 1)
  3758.  
  3759.                     local uICorner3 = Instance.new("UICorner")
  3760.                     uICorner3.Name = "UICorner"
  3761.                     uICorner3.Parent = color
  3762.  
  3763.                     color.Parent = newColor
  3764.  
  3765.                     newColor.Parent = colorWells
  3766.  
  3767.                     local oldColor = Instance.new("ImageLabel")
  3768.                     oldColor.Name = "OldColor"
  3769.                     oldColor.Image = assets.grid
  3770.                     oldColor.ScaleType = Enum.ScaleType.Tile
  3771.                     oldColor.TileSize = UDim2.fromOffset(500, 500)
  3772.                     oldColor.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3773.                     oldColor.BackgroundTransparency = 1
  3774.                     oldColor.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3775.                     oldColor.BorderSizePixel = 0
  3776.                     oldColor.LayoutOrder = 1
  3777.                     oldColor.Size = UDim2.fromOffset(100, 100)
  3778.  
  3779.                     local uICorner4 = Instance.new("UICorner")
  3780.                     uICorner4.Name = "UICorner"
  3781.                     uICorner4.Parent = oldColor
  3782.  
  3783.                     local color1 = Instance.new("Frame")
  3784.                     color1.Name = "Color"
  3785.                     color1.AnchorPoint = Vector2.new(0.5, 0.5)
  3786.                     color1.BorderColor3 = Color3.fromRGB(27, 42, 53)
  3787.                     color1.BorderSizePixel = 0
  3788.                     color1.Position = UDim2.fromScale(0.5, 0.5)
  3789.                     color1.Size = UDim2.new(1, 1, 1, 1)
  3790.  
  3791.                     local uICorner5 = Instance.new("UICorner")
  3792.                     uICorner5.Name = "UICorner"
  3793.                     uICorner5.Parent = color1
  3794.  
  3795.                     color1.Parent = oldColor
  3796.  
  3797.                     oldColor.Parent = colorWells
  3798.  
  3799.                     colorWells.Parent = colorOptions
  3800.  
  3801.                     colorOptions.Parent = prompt
  3802.  
  3803.                     local interactions = Instance.new("Frame")
  3804.                     interactions.Name = "Interactions"
  3805.                     interactions.AutomaticSize = Enum.AutomaticSize.Y
  3806.                     interactions.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  3807.                     interactions.BackgroundTransparency = 1
  3808.                     interactions.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3809.                     interactions.BorderSizePixel = 0
  3810.                     interactions.LayoutOrder = 2
  3811.                     interactions.Size = UDim2.fromScale(1, 0)
  3812.  
  3813.                     local uIListLayout8 = Instance.new("UIListLayout")
  3814.                     uIListLayout8.Name = "UIListLayout"
  3815.                     uIListLayout8.Padding = UDim.new(0, 10)
  3816.                     uIListLayout8.SortOrder = Enum.SortOrder.LayoutOrder
  3817.                     uIListLayout8.Parent = interactions
  3818.  
  3819.                     local confirm = Instance.new("TextButton")
  3820.                     confirm.Name = "Confirm"
  3821.                     confirm.FontFace = Font.new(
  3822.                         "rbxassetid://12187365364",
  3823.                         Enum.FontWeight.Medium,
  3824.                         Enum.FontStyle.Normal
  3825.                     )
  3826.                     confirm.Text = "Confirm"
  3827.                     confirm.TextColor3 = Color3.fromRGB(255, 255, 255)
  3828.                     confirm.TextSize = 15
  3829.                     confirm.TextTransparency = 0.5
  3830.                     confirm.TextTruncate = Enum.TextTruncate.AtEnd
  3831.                     confirm.AutoButtonColor = false
  3832.                     confirm.AutomaticSize = Enum.AutomaticSize.Y
  3833.                     confirm.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
  3834.                     confirm.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3835.                     confirm.BorderSizePixel = 0
  3836.                     confirm.Size = UDim2.fromScale(1, 0)
  3837.  
  3838.                     local uIPadding1 = Instance.new("UIPadding")
  3839.                     uIPadding1.Name = "UIPadding"
  3840.                     uIPadding1.PaddingBottom = UDim.new(0, 9)
  3841.                     uIPadding1.PaddingLeft = UDim.new(0, 10)
  3842.                     uIPadding1.PaddingRight = UDim.new(0, 10)
  3843.                     uIPadding1.PaddingTop = UDim.new(0, 9)
  3844.                     uIPadding1.Parent = confirm
  3845.  
  3846.                     local baseUICorner = Instance.new("UICorner")
  3847.                     baseUICorner.Name = "BaseUICorner"
  3848.                     baseUICorner.CornerRadius = UDim.new(0, 10)
  3849.                     baseUICorner.Parent = confirm
  3850.  
  3851.                     confirm.Parent = interactions
  3852.  
  3853.                     local cancel = Instance.new("TextButton")
  3854.                     cancel.Name = "Cancel"
  3855.                     cancel.FontFace = Font.new(
  3856.                         "rbxassetid://12187365364",
  3857.                         Enum.FontWeight.Medium,
  3858.                         Enum.FontStyle.Normal
  3859.                     )
  3860.                     cancel.Text = "Cancel"
  3861.                     cancel.TextColor3 = Color3.fromRGB(255, 255, 255)
  3862.                     cancel.TextSize = 15
  3863.                     cancel.TextTransparency = 0.5
  3864.                     cancel.TextTruncate = Enum.TextTruncate.AtEnd
  3865.                     cancel.AutoButtonColor = false
  3866.                     cancel.AutomaticSize = Enum.AutomaticSize.Y
  3867.                     cancel.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
  3868.                     cancel.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3869.                     cancel.BorderSizePixel = 0
  3870.                     cancel.Size = UDim2.fromScale(1, 0)
  3871.  
  3872.                     local baseUICorner1 = Instance.new("UICorner")
  3873.                     baseUICorner1.Name = "BaseUICorner"
  3874.                     baseUICorner1.CornerRadius = UDim.new(0, 10)
  3875.                     baseUICorner1.Parent = cancel
  3876.  
  3877.                     local uIPadding2 = Instance.new("UIPadding")
  3878.                     uIPadding2.Name = "UIPadding"
  3879.                     uIPadding2.PaddingBottom = UDim.new(0, 9)
  3880.                     uIPadding2.PaddingLeft = UDim.new(0, 10)
  3881.                     uIPadding2.PaddingRight = UDim.new(0, 10)
  3882.                     uIPadding2.PaddingTop = UDim.new(0, 9)
  3883.                     uIPadding2.Parent = cancel
  3884.  
  3885.                     cancel.Parent = interactions
  3886.  
  3887.                     local uIPadding3 = Instance.new("UIPadding")
  3888.                     uIPadding3.Name = "UIPadding"
  3889.                     uIPadding3.PaddingTop = UDim.new(0, 10)
  3890.                     uIPadding3.Parent = interactions
  3891.  
  3892.                     interactions.Parent = prompt
  3893.  
  3894.                     local globalSettingsUIPadding = Instance.new("UIPadding")
  3895.                     globalSettingsUIPadding.Name = "GlobalSettingsUIPadding"
  3896.                     globalSettingsUIPadding.PaddingBottom = UDim.new(0, 20)
  3897.                     globalSettingsUIPadding.PaddingLeft = UDim.new(0, 20)
  3898.                     globalSettingsUIPadding.PaddingRight = UDim.new(0, 20)
  3899.                     globalSettingsUIPadding.PaddingTop = UDim.new(0, 20)
  3900.                     globalSettingsUIPadding.Parent = prompt
  3901.  
  3902.                     local paragraph = Instance.new("Frame")
  3903.                     paragraph.Name = "Paragraph"
  3904.                     paragraph.AutomaticSize = Enum.AutomaticSize.Y
  3905.                     paragraph.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  3906.                     paragraph.BackgroundTransparency = 1
  3907.                     paragraph.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3908.                     paragraph.BorderSizePixel = 0
  3909.                     paragraph.Size = UDim2.fromScale(1, 0)
  3910.  
  3911.                     local paragraphHeader = Instance.new("TextLabel")
  3912.                     paragraphHeader.Name = "ParagraphHeader"
  3913.                     paragraphHeader.FontFace = Font.new(
  3914.                         "rbxassetid://12187365364",
  3915.                         Enum.FontWeight.SemiBold,
  3916.                         Enum.FontStyle.Normal
  3917.                     )
  3918.                     paragraphHeader.RichText = true
  3919.                     paragraphHeader.Text = ColorpickerFunctions.Settings.Name
  3920.                     paragraphHeader.TextColor3 = Color3.fromRGB(255, 255, 255)
  3921.                     paragraphHeader.TextSize = 18
  3922.                     paragraphHeader.TextTransparency = 0.4
  3923.                     paragraphHeader.TextWrapped = true
  3924.                     paragraphHeader.TextYAlignment = Enum.TextYAlignment.Top
  3925.                     paragraphHeader.AutomaticSize = Enum.AutomaticSize.XY
  3926.                     paragraphHeader.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3927.                     paragraphHeader.BackgroundTransparency = 1
  3928.                     paragraphHeader.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3929.                     paragraphHeader.BorderSizePixel = 0
  3930.                     paragraphHeader.Size = UDim2.fromScale(1, 0)
  3931.                     paragraphHeader.Parent = paragraph
  3932.  
  3933.                     local uIListLayout9 = Instance.new("UIListLayout")
  3934.                     uIListLayout9.Name = "UIListLayout"
  3935.                     uIListLayout9.Padding = UDim.new(0, 15)
  3936.                     uIListLayout9.HorizontalAlignment = Enum.HorizontalAlignment.Center
  3937.                     uIListLayout9.SortOrder = Enum.SortOrder.LayoutOrder
  3938.                     uIListLayout9.Parent = paragraph
  3939.  
  3940.                     local uIPadding4 = Instance.new("UIPadding")
  3941.                     uIPadding4.Name = "UIPadding"
  3942.                     uIPadding4.PaddingBottom = UDim.new(0, 15)
  3943.                     uIPadding4.Parent = paragraph
  3944.  
  3945.                     local line = Instance.new("Frame")
  3946.                     line.Name = "Line"
  3947.                     line.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  3948.                     line.BackgroundTransparency = 0.9
  3949.                     line.BorderColor3 = Color3.fromRGB(0, 0, 0)
  3950.                     line.BorderSizePixel = 0
  3951.                     line.LayoutOrder = 1
  3952.                     line.Size = UDim2.new(1, 0, 0, 1)
  3953.                     line.Parent = paragraph
  3954.  
  3955.                     paragraph.Parent = prompt
  3956.  
  3957.                     prompt.Parent = colorPicker
  3958.  
  3959.                     colorPicker.Parent = base
  3960.  
  3961.                     local fromHSV, fromRGB, v2, udim2 = Color3.fromHSV, Color3.fromRGB, Vector2.new, UDim2.new
  3962.  
  3963.                     local wheel = wheel1
  3964.                     local ring = target
  3965.                     local slider = value
  3966.                     local colour = color
  3967.  
  3968.                     local modifierInputs = {
  3969.                         Hex = hex.InputBox,
  3970.                         Red = red.InputBox,
  3971.                         Green = green.InputBox,
  3972.                         Blue = blue.InputBox,
  3973.                         Alpha = alpha.InputBox
  3974.                     }
  3975.  
  3976.                     local Mouse = LocalPlayer:GetMouse()
  3977.  
  3978.                     local WheelDown, SlideDown = false, false
  3979.                     local hue, saturation, value = 0, 0, 1
  3980.  
  3981.                     local function toPolar(v)
  3982.                         return math.atan2(v.y, v.x), v.magnitude
  3983.                     end
  3984.  
  3985.                     local function radToDeg(x)
  3986.                         return ((x + math.pi) / (2 * math.pi)) * 360
  3987.                     end
  3988.  
  3989.                     local function degToRad(degrees)
  3990.                         return degrees * (math.pi / 180)
  3991.                     end
  3992.  
  3993.                     local function hexToRGB(hex)
  3994.                         hex = hex:gsub("#","")
  3995.                         if #hex ~= 6 then return 0, 0, 0 end
  3996.                         local r = tonumber(hex:sub(1, 2), 16) or 0
  3997.                         local g = tonumber(hex:sub(3, 4), 16) or 0
  3998.                         local b = tonumber(hex:sub(5, 6), 16) or 0
  3999.                         return r, g, b
  4000.                     end
  4001.  
  4002.                     local function clampInput(value, min, max)
  4003.                         local num = tonumber(value)
  4004.                         if num then
  4005.                             return math.clamp(num, min, max)
  4006.                         end
  4007.                         return min
  4008.                     end
  4009.  
  4010.                     local function update()
  4011.                         local c = fromHSV(hue, saturation, value)
  4012.                         colour.BackgroundColor3 = c
  4013.                         colour.BackgroundTransparency = clampInput(modifierInputs.Alpha.Text, 0, 1)
  4014.  
  4015.                         modifierInputs.Red.Text = tostring(math.floor(c.r * 255 + 0.5))
  4016.                         modifierInputs.Green.Text = tostring(math.floor(c.g * 255 + 0.5))
  4017.                         modifierInputs.Blue.Text = tostring(math.floor(c.b * 255 + 0.5))
  4018.                         modifierInputs.Alpha.Text = clampInput(modifierInputs.Alpha.Text, 0, 1)
  4019.  
  4020.                         local hexColor = string.format("#%02X%02X%02X",
  4021.                             math.floor(c.r * 255 + 0.5),
  4022.                             math.floor(c.g * 255 + 0.5),
  4023.                             math.floor(c.b * 255 + 0.5))
  4024.                         modifierInputs.Hex.Text = hexColor
  4025.                     end
  4026.  
  4027.                     local function UpdateSlide(iX)
  4028.                         local rY = iX - slider.AbsolutePosition.X
  4029.                         local cY = math.clamp(rY, 0, slider.AbsoluteSize.X - slide.AbsoluteSize.X)
  4030.                         slide.Position = udim2(0, cY, 0.5, 0)
  4031.                         value = 1 - (cY / (slider.AbsoluteSize.X - slide.AbsoluteSize.X))
  4032.                         update()
  4033.                     end
  4034.  
  4035.                     local function UpdateRing(iX, iY)
  4036.                         local r = wheel.AbsoluteSize.x / 2
  4037.                         local d = v2(iX, iY) - wheel.AbsolutePosition - wheel.AbsoluteSize / 2
  4038.  
  4039.                         if d:Dot(d) > r * r then
  4040.                             d = d.unit * r
  4041.                         end
  4042.  
  4043.                         ring.Position = udim2(0.5, d.x, 0.5, d.y)
  4044.                         local phi, len = toPolar(d * v2(1, -1))
  4045.                         hue, saturation = radToDeg(phi) / 360, math.clamp(len / r, 0, 1)
  4046.                         slider.BackgroundColor3 = fromHSV(hue, saturation, 1)
  4047.                         update()
  4048.                     end
  4049.  
  4050.                     local function UpdateSlideFromValue(value)
  4051.                         local cY = (1 - value) * (slider.AbsoluteSize.X - slide.AbsoluteSize.X)
  4052.                         slide.Position = UDim2.new(0, cY, 0.5, 0)
  4053.                     end
  4054.  
  4055.                     local function UpdateRingFromHSV(hue, saturation)
  4056.                         local r = wheel.AbsoluteSize.X / 2
  4057.                         local phi = degToRad(hue * 360)
  4058.                         local len = saturation * r
  4059.                         local x = len * math.cos(phi)
  4060.                         local y = len * math.sin(phi)
  4061.  
  4062.                         ring.Position = UDim2.new(0.5, -x, 0.5, y)
  4063.                         slider.BackgroundColor3 = fromHSV(hue, saturation, 1)
  4064.                     end
  4065.  
  4066.                     local function updateFromRGB()
  4067.                         local r = clampInput(modifierInputs.Red.Text, 0, 255)
  4068.                         local g = clampInput(modifierInputs.Green.Text, 0, 255)
  4069.                         local b = clampInput(modifierInputs.Blue.Text, 0, 255)
  4070.                         modifierInputs.Red.Text = r
  4071.                         modifierInputs.Green.Text = g
  4072.                         modifierInputs.Blue.Text = b
  4073.  
  4074.                         hue, saturation, value = Color3.fromRGB(r, g, b):ToHSV()
  4075.  
  4076.                         UpdateSlideFromValue(value)
  4077.                         UpdateRingFromHSV(hue, saturation)
  4078.                         update()
  4079.                     end
  4080.  
  4081.                     local function updateFromHex()
  4082.                         local hex = modifierInputs.Hex.Text
  4083.                         local r, g, b = hexToRGB(hex)
  4084.  
  4085.                         r = clampInput(r, 0, 255)
  4086.                         g = clampInput(g, 0, 255)
  4087.                         b = clampInput(b, 0, 255)
  4088.  
  4089.                         modifierInputs.Red.Text = r
  4090.                         modifierInputs.Green.Text = g
  4091.                         modifierInputs.Blue.Text = b
  4092.  
  4093.                         hue, saturation, value = Color3.fromRGB(r, g, b):ToHSV()
  4094.                         UpdateSlideFromValue(value)
  4095.                         UpdateRingFromHSV(hue, saturation)
  4096.                         update()
  4097.                     end
  4098.  
  4099.                     local function updateFromSettings()
  4100.                         local r = math.floor(ColorpickerFunctions.Color.R * 255 + 0.5)
  4101.                         local g = math.floor(ColorpickerFunctions.Color.G * 255 + 0.5)
  4102.                         local b = math.floor(ColorpickerFunctions.Color.B * 255 + 0.5)
  4103.                         modifierInputs.Red.Text = r
  4104.                         modifierInputs.Green.Text = g
  4105.                         modifierInputs.Blue.Text = b
  4106.                         modifierInputs.Alpha.Text = isAlpha and ColorpickerFunctions.Alpha or 0
  4107.  
  4108.                         local hexColor = string.format("#%02X%02X%02X", r,g,b)
  4109.                         modifierInputs.Hex.Text = hexColor
  4110.  
  4111.                         hue, saturation, value = Color3.fromRGB(r, g, b):ToHSV()
  4112.  
  4113.                         color1.BackgroundColor3 = ColorpickerFunctions.Color
  4114.                         color1.BackgroundTransparency = isAlpha and ColorpickerFunctions.Alpha or 0
  4115.  
  4116.                         colour.BackgroundColor3 = Color3.fromRGB(r,g,b)
  4117.                         colour.BackgroundTransparency = isAlpha and ColorpickerFunctions.Alpha or 0
  4118.  
  4119.                         UpdateSlideFromValue(value)
  4120.                         UpdateRingFromHSV(hue, saturation)
  4121.                     end
  4122.  
  4123.                     wheel.InputBegan:Connect(function(input)
  4124.                         if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
  4125.                             WheelDown = true
  4126.                             UpdateRing(Mouse.X, Mouse.Y)
  4127.                         end
  4128.                     end)
  4129.  
  4130.                     slider.InputBegan:Connect(function(input)
  4131.                         if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
  4132.                             SlideDown = true
  4133.                             UpdateSlide(Mouse.X)
  4134.                         end
  4135.                     end)
  4136.  
  4137.                     slider.InputEnded:Connect(function(input)
  4138.                         if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
  4139.                             SlideDown = false
  4140.                         end
  4141.                     end)
  4142.  
  4143.                     wheel.InputEnded:Connect(function(input)
  4144.                         if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
  4145.                             WheelDown = false
  4146.                         end
  4147.                     end)
  4148.  
  4149.                     UserInputService.InputChanged:Connect(function(input)
  4150.                         if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
  4151.                             if SlideDown then
  4152.                                 UpdateSlide(Mouse.X)
  4153.                             elseif WheelDown then
  4154.                                 UpdateRing(Mouse.X, Mouse.Y)
  4155.                             end
  4156.                         end
  4157.                     end)
  4158.  
  4159.                     local function onFocusEnter(instance)
  4160.                         local placeholder = instance.Text
  4161.                         instance.Text = ""
  4162.                         instance.PlaceholderText = placeholder
  4163.                     end
  4164.  
  4165.                     modifierInputs.Hex.FocusLost:Connect(updateFromHex)
  4166.                     modifierInputs.Red.FocusLost:Connect(updateFromRGB)
  4167.                     modifierInputs.Green.FocusLost:Connect(updateFromRGB)
  4168.                     modifierInputs.Blue.FocusLost:Connect(updateFromRGB)
  4169.                     modifierInputs.Alpha.FocusLost:Connect(update)
  4170.  
  4171.                     modifierInputs.Hex.Focused:Connect(function()
  4172.                         onFocusEnter(modifierInputs.Hex)
  4173.                     end)
  4174.                     modifierInputs.Red.Focused:Connect(function()
  4175.                         onFocusEnter(modifierInputs.Red)
  4176.                     end)
  4177.                     modifierInputs.Green.Focused:Connect(function()
  4178.                         onFocusEnter(modifierInputs.Green)
  4179.                     end)
  4180.                     modifierInputs.Blue.Focused:Connect(function()
  4181.                         onFocusEnter(modifierInputs.Blue)
  4182.                     end)
  4183.                     modifierInputs.Alpha.Focused:Connect(function()
  4184.                         onFocusEnter(modifierInputs.Alpha)
  4185.                     end)
  4186.  
  4187.                     local function makeCanvas()
  4188.                         local ColorPickerCanvas = Instance.new("CanvasGroup")
  4189.                         ColorPickerCanvas.Name = "ColorPickerCanvas"
  4190.                         ColorPickerCanvas.BackgroundTransparency = 1
  4191.                         ColorPickerCanvas.BorderSizePixel = 0
  4192.                         ColorPickerCanvas.Size = UDim2.fromScale(1, 1)
  4193.                         ColorPickerCanvas.ZIndex = 5
  4194.                         ColorPickerCanvas.GroupTransparency = 1
  4195.                         ColorPickerCanvas.Parent = base
  4196.                         ColorPickerCanvas.Visible = false
  4197.                         return ColorPickerCanvas
  4198.                     end
  4199.  
  4200.                     local function transition(isIn)
  4201.                         local canvas = makeCanvas()
  4202.                         local tweenTransparency = isIn and 0 or 1
  4203.                         local tweenScale = isIn and 1 or 0.95
  4204.                         local stateTransparency = isIn and 1 or 0
  4205.                         local tweenInfo = TweenInfo.new(0.1, Enum.EasingStyle.Sine)
  4206.                         local canvasTween = Tween(canvas, tweenInfo, { GroupTransparency = tweenTransparency })
  4207.                         local scaleTween = Tween(promptUIScale, tweenInfo, { Scale = tweenScale })
  4208.  
  4209.                         colorPicker.Visible = true
  4210.                         colorPicker.Parent = canvas
  4211.                         canvas.Visible = true
  4212.                         canvas.GroupTransparency = stateTransparency
  4213.                         canvasTween:Play()
  4214.                         scaleTween:Play()
  4215.                         canvasTween.Completed:Wait()
  4216.  
  4217.                         if not isIn then
  4218.                             colorPicker.Visible = false
  4219.                             canvas.Visible = false
  4220.                         end
  4221.  
  4222.                         colorPicker.Parent = base
  4223.                         canvas:Destroy()
  4224.                     end
  4225.  
  4226.                     local function colorpickerIn()
  4227.                         transition(true)
  4228.                     end
  4229.  
  4230.                     local function colorpickerOut()
  4231.                         transition(false)
  4232.                     end
  4233.  
  4234.                     interact.MouseButton1Click:Connect(colorpickerIn)
  4235.  
  4236.                     cancel.MouseButton1Click:Connect(colorpickerOut)
  4237.                     confirm.MouseButton1Click:Connect(function()
  4238.                         colorpickerOut()
  4239.                         local c = fromHSV(hue, saturation, value)
  4240.                         ColorpickerFunctions.Color = Color3.fromRGB(c.r * 255, c.g * 255, c.b * 255)
  4241.                         ColorpickerFunctions.Alpha = isAlpha and clampInput(modifierInputs.Alpha.Text, 0, 1)
  4242.  
  4243.                         color1.BackgroundColor3 = ColorpickerFunctions.Color
  4244.                         color1.BackgroundTransparency = isAlpha and ColorpickerFunctions.Alpha or 0
  4245.  
  4246.                         colorC.BackgroundColor3 = ColorpickerFunctions.Color
  4247.                         colorC.BackgroundTransparency = isAlpha and ColorpickerFunctions.Alpha or 0
  4248.  
  4249.                         if ColorpickerFunctions.Settings.Callback then
  4250.                             task.spawn(function()
  4251.                                 ColorpickerFunctions.Settings.Callback(ColorpickerFunctions.Color, isAlpha and ColorpickerFunctions.Alpha)
  4252.                             end)
  4253.                         end
  4254.                     end)
  4255.  
  4256.                     updateFromSettings()
  4257.  
  4258.                     function ColorpickerFunctions:UpdateName(New)
  4259.                         colorpickerName.Text = New
  4260.                     end
  4261.                     function ColorpickerFunctions:SetVisibility(State)
  4262.                         colorpicker.Visible = State
  4263.                     end
  4264.  
  4265.                     function ColorpickerFunctions:SetColor(color3)
  4266.                         ColorpickerFunctions.Color = color3
  4267.                         colorC.BackgroundColor3 = color3
  4268.  
  4269.                         local r = math.floor(ColorpickerFunctions.Color.R * 255 + 0.5)
  4270.                         local g = math.floor(ColorpickerFunctions.Color.G * 255 + 0.5)
  4271.                         local b = math.floor(ColorpickerFunctions.Color.B * 255 + 0.5)
  4272.                         modifierInputs.Red.Text = r
  4273.                         modifierInputs.Green.Text = g
  4274.                         modifierInputs.Blue.Text = b
  4275.  
  4276.                         local hexColor = string.format("#%02X%02X%02X", r,g,b)
  4277.                         modifierInputs.Hex.Text = hexColor
  4278.  
  4279.                         hue, saturation, value = Color3.fromRGB(r, g, b):ToHSV()
  4280.  
  4281.                         color1.BackgroundColor3 = ColorpickerFunctions.Color
  4282.                         colour.BackgroundColor3 = Color3.fromRGB(r,g,b)
  4283.  
  4284.                         UpdateSlideFromValue(value)
  4285.                         UpdateRingFromHSV(hue, saturation)
  4286.  
  4287.                         if ColorpickerFunctions.Settings.Callback then
  4288.                             task.spawn(function()
  4289.                                 ColorpickerFunctions.Settings.Callback(ColorpickerFunctions.Color, isAlpha and ColorpickerFunctions.Alpha)
  4290.                             end)
  4291.                         end
  4292.                     end
  4293.  
  4294.                     function ColorpickerFunctions:SetAlpha(alpha)
  4295.                         ColorpickerFunctions.Alpha = alpha
  4296.                         colorC.Transparency = alpha
  4297.                         updateFromSettings()
  4298.                     end
  4299.  
  4300.                     if Flag then
  4301.                         MacLib.Options[Flag] = ColorpickerFunctions
  4302.                     end
  4303.                     return ColorpickerFunctions
  4304.                 end
  4305.  
  4306.                 function SectionFunctions:Header(Settings, Flag)
  4307.                     local HeaderFunctions = {Settings = Settings}
  4308.  
  4309.                     local header = Instance.new("Frame")
  4310.                     header.Name = "Header"
  4311.                     header.AutomaticSize = Enum.AutomaticSize.Y
  4312.                     header.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  4313.                     header.BackgroundTransparency = 1
  4314.                     header.BorderColor3 = Color3.fromRGB(0, 0, 0)
  4315.                     header.BorderSizePixel = 0
  4316.                     header.LayoutOrder = 0
  4317.                     header.Size = UDim2.fromScale(1, 0)
  4318.                     header.Parent = section
  4319.  
  4320.                     local uIPadding = Instance.new("UIPadding")
  4321.                     uIPadding.Name = "UIPadding"
  4322.                     uIPadding.PaddingBottom = UDim.new(0, 5)
  4323.                     uIPadding.Parent = header
  4324.  
  4325.                     local headerText = Instance.new("TextLabel")
  4326.                     headerText.Name = "HeaderText"
  4327.                     headerText.FontFace = Font.new(
  4328.                         assets.interFont,
  4329.                         Enum.FontWeight.Medium,
  4330.                         Enum.FontStyle.Normal
  4331.                     )
  4332.                     headerText.RichText = true
  4333.                     headerText.Text = HeaderFunctions.Settings.Text or HeaderFunctions.Settings.Name
  4334.                     headerText.TextColor3 = Color3.fromRGB(255, 255, 255)
  4335.                     headerText.TextSize = 16
  4336.                     headerText.TextTransparency = 0.3
  4337.                     headerText.TextWrapped = true
  4338.                     headerText.TextXAlignment = Enum.TextXAlignment.Left
  4339.                     headerText.AutomaticSize = Enum.AutomaticSize.Y
  4340.                     headerText.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  4341.                     headerText.BackgroundTransparency = 1
  4342.                     headerText.BorderColor3 = Color3.fromRGB(0, 0, 0)
  4343.                     headerText.BorderSizePixel = 0
  4344.                     headerText.Size = UDim2.fromScale(1, 0)
  4345.                     headerText.Parent = header
  4346.  
  4347.                     function HeaderFunctions:UpdateName(New)
  4348.                         headerText.Text = New
  4349.                     end
  4350.                     function HeaderFunctions:SetVisibility(State)
  4351.                         header.Visible = State
  4352.                     end
  4353.  
  4354.                     if Flag then
  4355.                         MacLib.Options[Flag] = HeaderFunctions
  4356.                     end
  4357.                     return HeaderFunctions
  4358.                 end
  4359.  
  4360.                 function SectionFunctions:Label(Settings, Flag)
  4361.                     local LabelFunctions = {Settings = Settings}
  4362.  
  4363.                     local label = Instance.new("Frame")
  4364.                     label.Name = "Label"
  4365.                     label.AutomaticSize = Enum.AutomaticSize.Y
  4366.                     label.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  4367.                     label.BackgroundTransparency = 1
  4368.                     label.BorderColor3 = Color3.fromRGB(0, 0, 0)
  4369.                     label.BorderSizePixel = 0
  4370.                     label.Size = UDim2.new(1, 0, 0, 38)
  4371.                     label.Parent = section
  4372.  
  4373.                     local labelText = Instance.new("TextLabel")
  4374.                     labelText.Name = "LabelText"
  4375.                     labelText.FontFace = Font.new(assets.interFont)
  4376.                     labelText.RichText = true
  4377.                     labelText.Text = LabelFunctions.Settings.Text or LabelFunctions.Settings.Name -- Settings.Name Deprecated use Settings.Text
  4378.                     labelText.TextColor3 = Color3.fromRGB(255, 255, 255)
  4379.                     labelText.TextSize = 13
  4380.                     labelText.TextTransparency = 0.5
  4381.                     labelText.TextWrapped = true
  4382.                     labelText.TextXAlignment = Enum.TextXAlignment.Left
  4383.                     labelText.AutomaticSize = Enum.AutomaticSize.Y
  4384.                     labelText.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  4385.                     labelText.BackgroundTransparency = 1
  4386.                     labelText.BorderColor3 = Color3.fromRGB(0, 0, 0)
  4387.                     labelText.BorderSizePixel = 0
  4388.                     labelText.Size = UDim2.fromScale(1, 1)
  4389.                     labelText.Parent = label
  4390.  
  4391.                     function LabelFunctions:UpdateName(New)
  4392.                         labelText.Text = New
  4393.                     end
  4394.                     function LabelFunctions:SetVisibility(State)
  4395.                         label.Visible = State
  4396.                     end
  4397.  
  4398.                     if Flag then
  4399.                         MacLib.Options[Flag] = LabelFunctions
  4400.                     end
  4401.                     return LabelFunctions
  4402.                 end
  4403.  
  4404.                 function SectionFunctions:SubLabel(Settings, Flag)
  4405.                     local SubLabelFunctions = {Settings = Settings}
  4406.  
  4407.                     local subLabel = Instance.new("Frame")
  4408.                     subLabel.Name = "SubLabel"
  4409.                     subLabel.AutomaticSize = Enum.AutomaticSize.Y
  4410.                     subLabel.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  4411.                     subLabel.BackgroundTransparency = 1
  4412.                     subLabel.BorderColor3 = Color3.fromRGB(0, 0, 0)
  4413.                     subLabel.BorderSizePixel = 0
  4414.                     subLabel.Size = UDim2.new(1, 0, 0, 0)
  4415.                     subLabel.Parent = section
  4416.  
  4417.                     local subLabelText = Instance.new("TextLabel")
  4418.                     subLabelText.Name = "SubLabelText"
  4419.                     subLabelText.FontFace = Font.new(assets.interFont)
  4420.                     subLabelText.RichText = true
  4421.                     subLabelText.Text = SubLabelFunctions.Settings.Text or SubLabelFunctions.Settings.Name -- Settings.Name Deprecated use Settings.Text
  4422.                     subLabelText.TextColor3 = Color3.fromRGB(255, 255, 255)
  4423.                     subLabelText.TextSize = 12
  4424.                     subLabelText.TextTransparency = 0.7
  4425.                     subLabelText.TextWrapped = true
  4426.                     subLabelText.TextXAlignment = Enum.TextXAlignment.Left
  4427.                     subLabelText.AutomaticSize = Enum.AutomaticSize.Y
  4428.                     subLabelText.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  4429.                     subLabelText.BackgroundTransparency = 1
  4430.                     subLabelText.BorderColor3 = Color3.fromRGB(0, 0, 0)
  4431.                     subLabelText.BorderSizePixel = 0
  4432.                     subLabelText.Size = UDim2.fromScale(1, 1)
  4433.                     subLabelText.Parent = subLabel
  4434.  
  4435.                     function SubLabelFunctions:UpdateName(New)
  4436.                         subLabelText.Text = New
  4437.                     end
  4438.                     function SubLabelFunctions:SetVisibility(State)
  4439.                         subLabel.Visible = State
  4440.                     end
  4441.  
  4442.                     if Flag then
  4443.                         MacLib.Options[Flag] = SubLabelFunctions
  4444.                     end
  4445.                     return SubLabelFunctions
  4446.                 end
  4447.  
  4448.                 function SectionFunctions:Paragraph(Settings, Flag)
  4449.                     local ParagraphFunctions = {Settings = Settings}
  4450.  
  4451.                     local paragraph = Instance.new("Frame")
  4452.                     paragraph.Name = "Paragraph"
  4453.                     paragraph.AutomaticSize = Enum.AutomaticSize.Y
  4454.                     paragraph.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  4455.                     paragraph.BackgroundTransparency = 1
  4456.                     paragraph.BorderColor3 = Color3.fromRGB(0, 0, 0)
  4457.                     paragraph.BorderSizePixel = 0
  4458.                     paragraph.Size = UDim2.new(1, 0, 0, 38)
  4459.                     paragraph.Parent = section
  4460.  
  4461.                     local paragraphHeader = Instance.new("TextLabel")
  4462.                     paragraphHeader.Name = "ParagraphHeader"
  4463.                     paragraphHeader.FontFace = Font.new(
  4464.                         assets.interFont,
  4465.                         Enum.FontWeight.Medium,
  4466.                         Enum.FontStyle.Normal
  4467.                     )
  4468.                     paragraphHeader.RichText = true
  4469.                     paragraphHeader.Text = ParagraphFunctions.Settings.Header
  4470.                     paragraphHeader.TextColor3 = Color3.fromRGB(255, 255, 255)
  4471.                     paragraphHeader.TextSize = 15
  4472.                     paragraphHeader.TextTransparency = 0.4
  4473.                     paragraphHeader.TextWrapped = true
  4474.                     paragraphHeader.TextXAlignment = Enum.TextXAlignment.Left
  4475.                     paragraphHeader.AutomaticSize = Enum.AutomaticSize.Y
  4476.                     paragraphHeader.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  4477.                     paragraphHeader.BackgroundTransparency = 1
  4478.                     paragraphHeader.BorderColor3 = Color3.fromRGB(0, 0, 0)
  4479.                     paragraphHeader.BorderSizePixel = 0
  4480.                     paragraphHeader.Size = UDim2.fromScale(1, 0)
  4481.                     paragraphHeader.Parent = paragraph
  4482.  
  4483.                     local uIListLayout = Instance.new("UIListLayout")
  4484.                     uIListLayout.Name = "UIListLayout"
  4485.                     uIListLayout.Padding = UDim.new(0, 5)
  4486.                     uIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  4487.                     uIListLayout.Parent = paragraph
  4488.  
  4489.                     local paragraphBody = Instance.new("TextLabel")
  4490.                     paragraphBody.Name = "ParagraphBody"
  4491.                     paragraphBody.FontFace = Font.new(assets.interFont)
  4492.                     paragraphBody.RichText = true
  4493.                     paragraphBody.Text = ParagraphFunctions.Settings.Body
  4494.                     paragraphBody.TextColor3 = Color3.fromRGB(255, 255, 255)
  4495.                     paragraphBody.TextSize = 13
  4496.                     paragraphBody.TextTransparency = 0.5
  4497.                     paragraphBody.TextWrapped = true
  4498.                     paragraphBody.TextXAlignment = Enum.TextXAlignment.Left
  4499.                     paragraphBody.AutomaticSize = Enum.AutomaticSize.Y
  4500.                     paragraphBody.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  4501.                     paragraphBody.BackgroundTransparency = 1
  4502.                     paragraphBody.BorderColor3 = Color3.fromRGB(0, 0, 0)
  4503.                     paragraphBody.BorderSizePixel = 0
  4504.                     paragraphBody.LayoutOrder = 1
  4505.                     paragraphBody.Size = UDim2.fromScale(1, 0)
  4506.                     paragraphBody.Parent = paragraph
  4507.  
  4508.                     function ParagraphFunctions:UpdateHeader(New)
  4509.                         paragraphHeader.Text = New
  4510.                     end
  4511.                     function ParagraphFunctions:UpdateBody(New)
  4512.                         paragraphBody.Text = New
  4513.                     end
  4514.                     function ParagraphFunctions:SetVisibility(State)
  4515.                         paragraph.Visible = State
  4516.                     end
  4517.  
  4518.                     if Flag then
  4519.                         MacLib.Options[Flag] = ParagraphFunctions
  4520.                     end
  4521.                     return ParagraphFunctions
  4522.                 end
  4523.  
  4524.                 function SectionFunctions:Divider()
  4525.                     local DividerFunctions = {}
  4526.  
  4527.                     local divider = Instance.new("Frame")
  4528.                     divider.Name = "Divider"
  4529.                     divider.AnchorPoint = Vector2.new(0, 1)
  4530.                     divider.AutomaticSize = Enum.AutomaticSize.Y
  4531.                     divider.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  4532.                     divider.BackgroundTransparency = 1
  4533.                     divider.BorderColor3 = Color3.fromRGB(0, 0, 0)
  4534.                     divider.BorderSizePixel = 0
  4535.                     divider.Position = UDim2.fromScale(0, 1)
  4536.                     divider.Size = UDim2.new(1, 0, 0, 1)
  4537.                     divider.Parent = section
  4538.  
  4539.                     local uIPadding = Instance.new("UIPadding")
  4540.                     uIPadding.Name = "UIPadding"
  4541.                     uIPadding.PaddingBottom = UDim.new(0, 8)
  4542.                     uIPadding.PaddingTop = UDim.new(0, 8)
  4543.                     uIPadding.Parent = divider
  4544.  
  4545.                     local uIListLayout = Instance.new("UIListLayout")
  4546.                     uIListLayout.Name = "UIListLayout"
  4547.                     uIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  4548.                     uIListLayout.Parent = divider
  4549.  
  4550.                     local line = Instance.new("Frame")
  4551.                     line.Name = "Line"
  4552.                     line.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  4553.                     line.BackgroundTransparency = 0.9
  4554.                     line.BorderColor3 = Color3.fromRGB(0, 0, 0)
  4555.                     line.BorderSizePixel = 0
  4556.                     line.Size = UDim2.new(1, 0, 0, 1)
  4557.                     line.Parent = divider
  4558.  
  4559.                     function DividerFunctions:Remove()
  4560.                         divider:Destroy()
  4561.                     end
  4562.                     function DividerFunctions:SetVisibility(State)
  4563.                         divider.Visible = State
  4564.                     end
  4565.  
  4566.                     return DividerFunctions
  4567.                 end
  4568.  
  4569.                 function SectionFunctions:Spacer()
  4570.                     local SpacerFunctions = {}
  4571.  
  4572.                     local spacer = Instance.new("Frame")
  4573.                     spacer.Name = "Spacer"
  4574.                     spacer.AnchorPoint = Vector2.new(0, 1)
  4575.                     spacer.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  4576.                     spacer.BackgroundTransparency = 1
  4577.                     spacer.BorderColor3 = Color3.fromRGB(0, 0, 0)
  4578.                     spacer.BorderSizePixel = 0
  4579.                     spacer.Position = UDim2.fromScale(0, 1)
  4580.                     spacer.Parent = section
  4581.  
  4582.                     function SpacerFunctions:Remove()
  4583.                         spacer:Destroy()
  4584.                     end
  4585.                     function SpacerFunctions:SetVisibility(State)
  4586.                         spacer.Visible = State
  4587.                     end
  4588.  
  4589.                     return SpacerFunctions
  4590.                 end
  4591.  
  4592.                 return SectionFunctions
  4593.             end
  4594.  
  4595.             local function SelectCurrentTab()
  4596.                 local easetime = 0.15
  4597.  
  4598.                 if currentTabInstance then
  4599.                     currentTabInstance.Parent = nil
  4600.                 end
  4601.  
  4602.                 for i, tabInfo in pairs(tabs) do
  4603.                     Tween(i, TweenInfo.new(easetime, Enum.EasingStyle.Sine), {
  4604.                         BackgroundTransparency = (i == tabSwitcher and 0.98 or 1)
  4605.                     }):Play()
  4606.  
  4607.                     if tabInfo.tabStroke then
  4608.                         Tween(tabInfo.tabStroke, TweenInfo.new(easetime, Enum.EasingStyle.Sine), {
  4609.                             Transparency = (i == tabSwitcher and 0.95 or 1)
  4610.                         }):Play()
  4611.                     end
  4612.                     if tabInfo.switcherImage then
  4613.                         Tween(tabInfo.switcherImage, TweenInfo.new(easetime, Enum.EasingStyle.Sine), {
  4614.                             ImageTransparency = (i == tabSwitcher and 0.1 or 0.5)
  4615.                         }):Play()
  4616.                     end
  4617.                     if tabInfo.switcherName then
  4618.                         Tween(tabInfo.switcherName, TweenInfo.new(easetime, Enum.EasingStyle.Sine), {
  4619.                             TextTransparency = (i == tabSwitcher and 0.1 or 0.5)
  4620.                         }):Play()
  4621.                     end
  4622.                 end
  4623.  
  4624.                 tabs[tabSwitcher].tabContent.Parent = content
  4625.                 currentTabInstance = tabs[tabSwitcher].tabContent
  4626.                 currentTab.Text = Settings.Name
  4627.             end
  4628.  
  4629.             tabSwitcher.MouseButton1Click:Connect(function()
  4630.                 SelectCurrentTab()
  4631.             end)
  4632.  
  4633.             function TabFunctions:Select()
  4634.                 SelectCurrentTab()
  4635.             end
  4636.  
  4637.             function TabFunctions:InsertConfigSection(Side)
  4638.                 local configSection = TabFunctions:Section({ Side = "Left" })
  4639.  
  4640.                 if isStudio then
  4641.                     configSection:Label({Text = "Config system unavailable. (Environment isStudio)"})
  4642.                     return "Config system unavailable."
  4643.                 end
  4644.  
  4645.                 local inputPath = nil
  4646.                 local selectedConfig = nil
  4647.  
  4648.                 configSection:Input({
  4649.                     Name = "Config Name",
  4650.                     Placeholder = "Name",
  4651.                     AcceptedCharacters = "All",
  4652.                     Callback = function(input)
  4653.                         inputPath = input
  4654.                     end,
  4655.                 })
  4656.  
  4657.                 local configSelection = configSection:Dropdown({
  4658.                     Name = "Select Config",
  4659.                     Multi = false,
  4660.                     Required = false,
  4661.                     Options = MacLib:RefreshConfigList(),
  4662.                     Callback = function(Value)
  4663.                         selectedConfig = Value
  4664.                     end,
  4665.                 })
  4666.  
  4667.                 configSection:Button({
  4668.                     Name = "Create Config",
  4669.                     Callback = function()
  4670.                         if not inputPath or string.gsub(inputPath, " ", "") == "" then
  4671.                             WindowFunctions:Notify({
  4672.                                 Title = "Interface",
  4673.                                 Description = "Config name cannot be empty."
  4674.                             })
  4675.                             return
  4676.                         end
  4677.  
  4678.                         local success, returned = MacLib:SaveConfig(inputPath)
  4679.                         if not success then
  4680.                             WindowFunctions:Notify({
  4681.                                 Title = "Interface",
  4682.                                 Description = "Unable to save config, return error: " .. returned
  4683.                             })
  4684.                         end
  4685.  
  4686.                         WindowFunctions:Notify({
  4687.                             Title = "Interface",
  4688.                             Description = string.format("Created config %q", inputPath),
  4689.                         })
  4690.  
  4691.                         configSelection:ClearOptions()
  4692.                         configSelection:InsertOptions(MacLib:RefreshConfigList())
  4693.                     end,
  4694.                 })
  4695.  
  4696.                 configSection:Button({
  4697.                     Name = "Load Config",
  4698.                     Callback = function()
  4699.                         local success, returned = MacLib:LoadConfig(configSelection.Value)
  4700.                         if not success then
  4701.                             WindowFunctions:Notify({
  4702.                                 Title = "Interface",
  4703.                                 Description = "Unable to load config, return error: " .. returned
  4704.                             })
  4705.                             return
  4706.                         end
  4707.  
  4708.                         WindowFunctions:Notify({
  4709.                             Title = "Interface",
  4710.                             Description = string.format("Loaded config %q", configSelection.Value),
  4711.                         })
  4712.                     end,
  4713.                 })
  4714.  
  4715.                 configSection:Button({
  4716.                     Name = "Overwrite Config",
  4717.                     Callback = function()
  4718.                         local success, returned = MacLib:SaveConfig(configSelection.Value)
  4719.                         if not success then
  4720.                             WindowFunctions:Notify({
  4721.                                 Title = "Interface",
  4722.                                 Description = "Unable to overwrite config, return error: " .. returned
  4723.                             })
  4724.                             return
  4725.                         end
  4726.  
  4727.                         WindowFunctions:Notify({
  4728.                             Title = "Interface",
  4729.                             Description = string.format("Overwrote config %q", configSelection.Value),
  4730.                         })
  4731.                     end,
  4732.                 })
  4733.  
  4734.                 configSection:Button({
  4735.                     Name = "Refresh Config List",
  4736.                     Callback = function()
  4737.                         configSelection:ClearOptions()
  4738.                         configSelection:InsertOptions(MacLib:RefreshConfigList())
  4739.                     end,
  4740.                 })
  4741.  
  4742.                 local autoloadLabel
  4743.  
  4744.                 configSection:Button({
  4745.                     Name = "Set as autoload",
  4746.                     Callback = function()
  4747.                         local name = configSelection.Value
  4748.                         writefile(MacLib.Folder .. "/settings/autoload.txt", name)
  4749.                         autoloadLabel:UpdateName("Autoload config: " .. name)
  4750.                         WindowFunctions:Notify({
  4751.                             Title = "Interface",
  4752.                             Description = string.format("Set %q as autoload", name),
  4753.                         })
  4754.                     end,
  4755.                 })
  4756.  
  4757.                 autoloadLabel = configSection:Label({Text = "Autoload config: None"})
  4758.  
  4759.                 if isfile(MacLib.Folder .. "/settings/autoload.txt") then
  4760.                     local name = readfile(MacLib.Folder .. "/settings/autoload.txt")
  4761.                     autoloadLabel:UpdateName("Autoload config: " .. name)
  4762.                 end
  4763.             end
  4764.  
  4765.             tabs[tabSwitcher] = {
  4766.                 tabContent = elements1,
  4767.                 tabStroke = tabSwitcherUIStroke,
  4768.                 switcherImage = tabImage,
  4769.                 switcherName = tabSwitcherName,
  4770.             }
  4771.  
  4772.             return TabFunctions
  4773.         end
  4774.  
  4775.         return SectionFunctions
  4776.     end
  4777.  
  4778.     function WindowFunctions:Notify(Settings)
  4779.         local NotificationFunctions = {}
  4780.  
  4781.         local notification = Instance.new("Frame")
  4782.         notification.Name = "Notification"
  4783.         notification.AnchorPoint = Vector2.new(0.5, 0.5)
  4784.         notification.AutomaticSize = Enum.AutomaticSize.Y
  4785.         notification.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
  4786.         notification.BorderColor3 = Color3.fromRGB(0, 0, 0)
  4787.         notification.BorderSizePixel = 0
  4788.         notification.Position = UDim2.fromScale(0.5, 0.5)
  4789.         notification.Size = UDim2.fromOffset(Settings.SizeX or 250, 0)
  4790.  
  4791.         notification.Parent = notifications
  4792.  
  4793.         local notificationUIStroke = Instance.new("UIStroke")
  4794.         notificationUIStroke.Name = "NotificationUIStroke"
  4795.         notificationUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  4796.         notificationUIStroke.Color = Color3.fromRGB(255, 255, 255)
  4797.         notificationUIStroke.Transparency = 0.9
  4798.         notificationUIStroke.Parent = notification
  4799.  
  4800.         local notificationUICorner = Instance.new("UICorner")
  4801.         notificationUICorner.Name = "NotificationUICorner"
  4802.         notificationUICorner.CornerRadius = UDim.new(0, 10)
  4803.         notificationUICorner.Parent = notification
  4804.  
  4805.         local notificationUIScale = Instance.new("UIScale")
  4806.         notificationUIScale.Name = "NotificationUIScale"
  4807.         notificationUIScale.Parent = notification
  4808.         notificationUIScale.Scale = 0
  4809.  
  4810.         local notificationInformation = Instance.new("Frame")
  4811.         notificationInformation.Name = "NotificationInformation"
  4812.         notificationInformation.AutomaticSize = Enum.AutomaticSize.Y
  4813.         notificationInformation.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  4814.         notificationInformation.BackgroundTransparency = 1
  4815.         notificationInformation.BorderColor3 = Color3.fromRGB(0, 0, 0)
  4816.         notificationInformation.BorderSizePixel = 0
  4817.         notificationInformation.Size = UDim2.fromScale(1, 1)
  4818.  
  4819.         local notificationTitle = Instance.new("TextLabel")
  4820.         notificationTitle.Name = "NotificationTitle"
  4821.         notificationTitle.FontFace = Font.new(
  4822.             assets.interFont,
  4823.             Enum.FontWeight.SemiBold,
  4824.             Enum.FontStyle.Normal
  4825.         )
  4826.         notificationTitle.RichText = true
  4827.         notificationTitle.Text = Settings.Title
  4828.         notificationTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
  4829.         notificationTitle.TextSize = 13
  4830.         notificationTitle.TextTransparency = 0.2
  4831.         notificationTitle.TextTruncate = Enum.TextTruncate.SplitWord
  4832.         notificationTitle.TextXAlignment = Enum.TextXAlignment.Left
  4833.         notificationTitle.TextYAlignment = Enum.TextYAlignment.Top
  4834.         notificationTitle.AutomaticSize = Enum.AutomaticSize.XY
  4835.         notificationTitle.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  4836.         notificationTitle.BackgroundTransparency = 1
  4837.         notificationTitle.BorderColor3 = Color3.fromRGB(0, 0, 0)
  4838.         notificationTitle.BorderSizePixel = 0
  4839.         notificationTitle.Size = UDim2.new(1, -12, 0, 0)
  4840.  
  4841.         local notificationTitleUIPadding = Instance.new("UIPadding")
  4842.         notificationTitleUIPadding.Name = "NotificationTitleUIPadding"
  4843.         notificationTitleUIPadding.PaddingRight = UDim.new(0, 25)
  4844.         notificationTitleUIPadding.Parent = notificationTitle
  4845.  
  4846.         notificationTitle.Parent = notificationInformation
  4847.  
  4848.         local notificationDescription = Instance.new("TextLabel")
  4849.         notificationDescription.Name = "NotificationDescription"
  4850.         notificationDescription.FontFace = Font.new(
  4851.             assets.interFont,
  4852.             Enum.FontWeight.Medium,
  4853.             Enum.FontStyle.Normal
  4854.         )
  4855.         notificationDescription.Text = Settings.Description
  4856.         notificationDescription.TextColor3 = Color3.fromRGB(255, 255, 255)
  4857.         notificationDescription.TextSize = 11
  4858.         notificationDescription.TextTransparency = 0.5
  4859.         notificationDescription.TextWrapped = true
  4860.         notificationDescription.RichText = true
  4861.         notificationDescription.TextXAlignment = Enum.TextXAlignment.Left
  4862.         notificationDescription.TextYAlignment = Enum.TextYAlignment.Top
  4863.         notificationDescription.AutomaticSize = Enum.AutomaticSize.XY
  4864.         notificationDescription.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  4865.         notificationDescription.BackgroundTransparency = 1
  4866.         notificationDescription.BorderColor3 = Color3.fromRGB(0, 0, 0)
  4867.         notificationDescription.BorderSizePixel = 0
  4868.         notificationDescription.Size = UDim2.new(1, -12, 0, 0)
  4869.  
  4870.         local notificationDescriptionUIPadding = Instance.new("UIPadding")
  4871.         notificationDescriptionUIPadding.Name = "NotificationDescriptionUIPadding"
  4872.         notificationDescriptionUIPadding.PaddingRight = UDim.new(0, 25)
  4873.         notificationDescriptionUIPadding.PaddingTop = UDim.new(0, 17)
  4874.         notificationDescriptionUIPadding.Parent = notificationDescription
  4875.  
  4876.         notificationDescription.Parent = notificationInformation
  4877.  
  4878.         local notificationUIPadding = Instance.new("UIPadding")
  4879.         notificationUIPadding.Name = "NotificationUIPadding"
  4880.         notificationUIPadding.PaddingBottom = UDim.new(0, 12)
  4881.         notificationUIPadding.PaddingLeft = UDim.new(0, 10)
  4882.         notificationUIPadding.PaddingRight = UDim.new(0, 10)
  4883.         notificationUIPadding.PaddingTop = UDim.new(0, 10)
  4884.         notificationUIPadding.Parent = notificationInformation
  4885.  
  4886.         notificationInformation.Parent = notification
  4887.  
  4888.         local notificationControls = Instance.new("Frame")
  4889.         notificationControls.Name = "NotificationControls"
  4890.         notificationControls.AutomaticSize = Enum.AutomaticSize.Y
  4891.         notificationControls.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  4892.         notificationControls.BackgroundTransparency = 1
  4893.         notificationControls.BorderColor3 = Color3.fromRGB(0, 0, 0)
  4894.         notificationControls.BorderSizePixel = 0
  4895.         notificationControls.Size = UDim2.fromScale(1, 1)
  4896.  
  4897.         local interactable = Instance.new("TextButton")
  4898.         interactable.Name = "Interactable"
  4899.         interactable.FontFace = Font.new(assets.interFont)
  4900.         interactable.Text = "✓"
  4901.         interactable.TextColor3 = Color3.fromRGB(255, 255, 255)
  4902.         interactable.TextSize = 17
  4903.         interactable.TextTransparency = 0.2
  4904.         interactable.AnchorPoint = Vector2.new(1, 0.5)
  4905.         interactable.AutomaticSize = Enum.AutomaticSize.XY
  4906.         interactable.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  4907.         interactable.BackgroundTransparency = 1
  4908.         interactable.BorderColor3 = Color3.fromRGB(0, 0, 0)
  4909.         interactable.BorderSizePixel = 0
  4910.         interactable.LayoutOrder = 1
  4911.         interactable.Position = UDim2.fromScale(1, 0.5)
  4912.         interactable.Parent = notificationControls
  4913.  
  4914.         local uIPadding = Instance.new("UIPadding")
  4915.         uIPadding.Name = "UIPadding"
  4916.         uIPadding.PaddingBottom = UDim.new(0, 6)
  4917.         uIPadding.PaddingRight = UDim.new(0, 13)
  4918.         uIPadding.PaddingTop = UDim.new(0, 6)
  4919.         uIPadding.Parent = notificationControls
  4920.  
  4921.         notificationControls.Parent = notification
  4922.  
  4923.         local tweens = {
  4924.             In = Tween(notificationUIScale, TweenInfo.new(0.2, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {
  4925.                 Scale = Settings.Scale or 1
  4926.             }),
  4927.             Out = Tween(notificationUIScale, TweenInfo.new(0.2, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {
  4928.                 Scale = 0
  4929.             }),
  4930.         }
  4931.  
  4932.         local styles = {
  4933.             None = function() interactable:Destroy() end,
  4934.             Confirm = function() interactable.Text = "✓" end,
  4935.             Cancel = function() interactable.Text = "✗" end
  4936.         }
  4937.  
  4938.         local style = styles[Settings.Style] or function() interactable:Destroy() end
  4939.         style()
  4940.  
  4941.         if interactable then
  4942.             interactable.MouseButton1Click:Connect(function()
  4943.                 NotificationFunctions:Cancel()
  4944.                 if Settings.Callback then
  4945.                     task.spawn(Settings.Callback)
  4946.                 end
  4947.             end)
  4948.         end
  4949.  
  4950.         local AnimateNotification = task.spawn(function()
  4951.             tweens.In:Play()
  4952.  
  4953.             Settings.Lifetime = Settings.Lifetime or 3
  4954.  
  4955.             if Settings.Lifetime ~= 0 then
  4956.                 task.wait(Settings.Lifetime)
  4957.  
  4958.                 local out = tweens.Out
  4959.                 out:Play()
  4960.                 out.Completed:Wait()
  4961.                 notification:Destroy()
  4962.             end
  4963.         end)
  4964.  
  4965.         function NotificationFunctions:UpdateTitle(New)
  4966.             notificationTitle.Text = New
  4967.         end
  4968.  
  4969.         function NotificationFunctions:UpdateDescription(New)
  4970.             notificationDescription.Text = New
  4971.         end
  4972.  
  4973.         function NotificationFunctions:Resize(X)
  4974.             local targ = X or 250
  4975.             notification.Size = UDim2.fromOffset(targ, 0)
  4976.         end
  4977.  
  4978.         function NotificationFunctions:Cancel()
  4979.             task.cancel(AnimateNotification)
  4980.  
  4981.             local out = tweens.Out
  4982.             out:Play()
  4983.             out.Completed:Wait()
  4984.             notification:Destroy()
  4985.         end
  4986.  
  4987.         return NotificationFunctions
  4988.     end
  4989.  
  4990.     function WindowFunctions:Dialog(Settings)
  4991.         local DialogFunctions = {}
  4992.  
  4993.         local dialogCanvas = Instance.new("CanvasGroup")
  4994.         dialogCanvas.Name = "DialogCanvas"
  4995.         dialogCanvas.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  4996.         dialogCanvas.BackgroundTransparency = 1
  4997.         dialogCanvas.BorderColor3 = Color3.fromRGB(0, 0, 0)
  4998.         dialogCanvas.BorderSizePixel = 0
  4999.         dialogCanvas.Size = UDim2.fromScale(1, 1)
  5000.         dialogCanvas.GroupTransparency = 1
  5001.         dialogCanvas.Parent = base
  5002.  
  5003.         local dialog = Instance.new("Frame")
  5004.         dialog.Name = "Dialog"
  5005.         dialog.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  5006.         dialog.BackgroundTransparency = 0.5
  5007.         dialog.BorderColor3 = Color3.fromRGB(0, 0, 0)
  5008.         dialog.BorderSizePixel = 0
  5009.         dialog.Size = UDim2.fromScale(1, 1)
  5010.  
  5011.         local dialogUICorner = Instance.new("UICorner")
  5012.         dialogUICorner.Name = "BaseUICorner"
  5013.         dialogUICorner.CornerRadius = UDim.new(0, 10)
  5014.         dialogUICorner.Parent = dialog
  5015.  
  5016.         local prompt = Instance.new("Frame")
  5017.         prompt.Name = "Prompt"
  5018.         prompt.AnchorPoint = Vector2.new(0.5, 0.5)
  5019.         prompt.AutomaticSize = Enum.AutomaticSize.Y
  5020.         prompt.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
  5021.         prompt.BorderColor3 = Color3.fromRGB(0, 0, 0)
  5022.         prompt.BorderSizePixel = 0
  5023.         prompt.Position = UDim2.fromScale(0.5, 0.5)
  5024.         prompt.Size = UDim2.fromOffset(280, 0)
  5025.  
  5026.         local promptUIScale = Instance.new("UIScale")
  5027.         promptUIScale.Name = "BaseUIScale"
  5028.         promptUIScale.Parent = prompt
  5029.         promptUIScale.Scale = 0.95
  5030.  
  5031.         local globalSettingsUIStroke = Instance.new("UIStroke")
  5032.         globalSettingsUIStroke.Name = "GlobalSettingsUIStroke"
  5033.         globalSettingsUIStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  5034.         globalSettingsUIStroke.Color = Color3.fromRGB(255, 255, 255)
  5035.         globalSettingsUIStroke.Transparency = 0.9
  5036.         globalSettingsUIStroke.Parent = prompt
  5037.  
  5038.         local globalSettingsUICorner = Instance.new("UICorner")
  5039.         globalSettingsUICorner.Name = "GlobalSettingsUICorner"
  5040.         globalSettingsUICorner.CornerRadius = UDim.new(0, 10)
  5041.         globalSettingsUICorner.Parent = prompt
  5042.  
  5043.         local globalSettingsUIPadding = Instance.new("UIPadding")
  5044.         globalSettingsUIPadding.Name = "GlobalSettingsUIPadding"
  5045.         globalSettingsUIPadding.PaddingBottom = UDim.new(0, 20)
  5046.         globalSettingsUIPadding.PaddingLeft = UDim.new(0, 20)
  5047.         globalSettingsUIPadding.PaddingRight = UDim.new(0, 20)
  5048.         globalSettingsUIPadding.PaddingTop = UDim.new(0, 20)
  5049.         globalSettingsUIPadding.Parent = prompt
  5050.  
  5051.         local paragraph = Instance.new("Frame")
  5052.         paragraph.Name = "Paragraph"
  5053.         paragraph.AutomaticSize = Enum.AutomaticSize.Y
  5054.         paragraph.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  5055.         paragraph.BackgroundTransparency = 1
  5056.         paragraph.BorderColor3 = Color3.fromRGB(0, 0, 0)
  5057.         paragraph.BorderSizePixel = 0
  5058.         paragraph.Size = UDim2.new(1, 0, 0, 38)
  5059.  
  5060.         local paragraphHeader = Instance.new("TextLabel")
  5061.         paragraphHeader.Name = "ParagraphHeader"
  5062.         paragraphHeader.FontFace = Font.new(
  5063.             assets.interFont,
  5064.             Enum.FontWeight.Medium,
  5065.             Enum.FontStyle.Normal
  5066.         )
  5067.         paragraphHeader.RichText = true
  5068.         paragraphHeader.Text = Settings.Title
  5069.         paragraphHeader.TextColor3 = Color3.fromRGB(255, 255, 255)
  5070.         paragraphHeader.TextSize = 18
  5071.         paragraphHeader.TextTransparency = 0.4
  5072.         paragraphHeader.TextWrapped = true
  5073.         paragraphHeader.AutomaticSize = Enum.AutomaticSize.Y
  5074.         paragraphHeader.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  5075.         paragraphHeader.BackgroundTransparency = 1
  5076.         paragraphHeader.BorderColor3 = Color3.fromRGB(0, 0, 0)
  5077.         paragraphHeader.BorderSizePixel = 0
  5078.         paragraphHeader.Size = UDim2.fromScale(1, 0)
  5079.         paragraphHeader.Parent = paragraph
  5080.  
  5081.         local uIListLayout = Instance.new("UIListLayout")
  5082.         uIListLayout.Name = "UIListLayout"
  5083.         uIListLayout.Padding = UDim.new(0, 15)
  5084.         uIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  5085.         uIListLayout.Parent = paragraph
  5086.  
  5087.         local paragraphBody = Instance.new("TextLabel")
  5088.         paragraphBody.Name = "ParagraphBody"
  5089.         paragraphBody.FontFace = Font.new(assets.interFont)
  5090.         paragraphBody.RichText = true
  5091.         paragraphBody.Text = Settings.Description
  5092.         paragraphBody.TextColor3 = Color3.fromRGB(255, 255, 255)
  5093.         paragraphBody.TextSize = 14
  5094.         paragraphBody.TextTransparency = 0.5
  5095.         paragraphBody.TextWrapped = true
  5096.         paragraphBody.AutomaticSize = Enum.AutomaticSize.Y
  5097.         paragraphBody.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  5098.         paragraphBody.BackgroundTransparency = 1
  5099.         paragraphBody.BorderColor3 = Color3.fromRGB(0, 0, 0)
  5100.         paragraphBody.BorderSizePixel = 0
  5101.         paragraphBody.LayoutOrder = 1
  5102.         paragraphBody.Size = UDim2.fromScale(1, 0)
  5103.         paragraphBody.Parent = paragraph
  5104.  
  5105.         paragraph.Parent = prompt
  5106.  
  5107.         local interactions = Instance.new("Frame")
  5108.         interactions.Name = "Interactions"
  5109.         interactions.AutomaticSize = Enum.AutomaticSize.Y
  5110.         interactions.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  5111.         interactions.BackgroundTransparency = 1
  5112.         interactions.BorderColor3 = Color3.fromRGB(0, 0, 0)
  5113.         interactions.BorderSizePixel = 0
  5114.         interactions.LayoutOrder = 1
  5115.         interactions.Size = UDim2.fromScale(1, 0)
  5116.  
  5117.         local uIListLayout1 = Instance.new("UIListLayout")
  5118.         uIListLayout1.Name = "UIListLayout"
  5119.         uIListLayout1.Padding = UDim.new(0, 10)
  5120.         uIListLayout1.SortOrder = Enum.SortOrder.LayoutOrder
  5121.         uIListLayout1.Parent = interactions
  5122.  
  5123.         local uIPadding = Instance.new("UIPadding")
  5124.         uIPadding.Name = "UIPadding"
  5125.         uIPadding.PaddingTop = UDim.new(0, 20)
  5126.         uIPadding.Parent = interactions
  5127.  
  5128.         interactions.Parent = prompt
  5129.  
  5130.         local uIListLayout2 = Instance.new("UIListLayout")
  5131.         uIListLayout2.Name = "UIListLayout"
  5132.         uIListLayout2.SortOrder = Enum.SortOrder.LayoutOrder
  5133.         uIListLayout2.Parent = prompt
  5134.  
  5135.         prompt.Parent = dialog
  5136.  
  5137.         dialog.Parent = dialogCanvas
  5138.  
  5139.         local canvasIn = Tween(dialogCanvas, TweenInfo.new(0.1, Enum.EasingStyle.Sine), { GroupTransparency = 0 })
  5140.         local canvasOut = Tween(dialogCanvas, TweenInfo.new(0.1, Enum.EasingStyle.Sine), { GroupTransparency = 1 })
  5141.  
  5142.         local scaleIn = Tween(promptUIScale, TweenInfo.new(0.1, Enum.EasingStyle.Sine), { Scale = 1 })
  5143.         local scaleOut = Tween(promptUIScale, TweenInfo.new(0.1, Enum.EasingStyle.Sine), { Scale = 0.95 })
  5144.  
  5145.         local function dialogIn()
  5146.             canvasIn:Play()
  5147.             scaleIn:Play()
  5148.             canvasIn.Completed:Wait()
  5149.             dialog.Parent = base
  5150.         end
  5151.  
  5152.         local function dialogOut()
  5153.             if not dialog.Parent then return end
  5154.             dialog.Parent = dialogCanvas
  5155.             canvasOut:Play()
  5156.             scaleOut:Play()
  5157.             canvasOut.Completed:Wait()
  5158.             dialogCanvas:Destroy()
  5159.         end
  5160.  
  5161.         for _, v in pairs(Settings.Buttons) do
  5162.             local button = Instance.new("TextButton")
  5163.             button.Name = "Button"
  5164.             button.FontFace = Font.new(assets.interFont)
  5165.             button.Text = v.Name
  5166.             button.TextColor3 = Color3.fromRGB(255, 255, 255)
  5167.             button.TextSize = 15
  5168.             button.TextTransparency = 0.5
  5169.             button.TextTruncate = Enum.TextTruncate.AtEnd
  5170.             button.AutoButtonColor = false
  5171.             button.AutomaticSize = Enum.AutomaticSize.Y
  5172.             button.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
  5173.             button.BorderColor3 = Color3.fromRGB(0, 0, 0)
  5174.             button.BorderSizePixel = 0
  5175.             button.Size = UDim2.fromScale(1, 0)
  5176.  
  5177.             local uIPadding1 = Instance.new("UIPadding")
  5178.             uIPadding1.Name = "UIPadding"
  5179.             uIPadding1.PaddingBottom = UDim.new(0, 9)
  5180.             uIPadding1.PaddingLeft = UDim.new(0, 10)
  5181.             uIPadding1.PaddingRight = UDim.new(0, 10)
  5182.             uIPadding1.PaddingTop = UDim.new(0, 9)
  5183.             uIPadding1.Parent = button
  5184.  
  5185.             local baseUICorner1 = Instance.new("UICorner")
  5186.             baseUICorner1.Name = "BaseUICorner"
  5187.             baseUICorner1.CornerRadius = UDim.new(0, 10)
  5188.             baseUICorner1.Parent = button
  5189.  
  5190.             button.Parent = interactions
  5191.  
  5192.             local TweenSettings = {
  5193.                 DefaultTransparency = 0,
  5194.                 DefaultTransparency2 = 0.5,
  5195.                 HoverTransparency = 0.3,
  5196.                 HoverTransparency2 = 0.6,
  5197.  
  5198.                 EasingStyle = Enum.EasingStyle.Sine
  5199.             }
  5200.  
  5201.             local function ChangeState(State)
  5202.                 if State == "Idle" then
  5203.                     Tween(button, TweenInfo.new(0.2, TweenSettings.EasingStyle), {
  5204.                         BackgroundTransparency = TweenSettings.DefaultTransparency,
  5205.                         TextTransparency = TweenSettings.DefaultTransparency2
  5206.                     }):Play()
  5207.                 elseif State == "Hover" then
  5208.                     Tween(button, TweenInfo.new(0.2, TweenSettings.EasingStyle), {
  5209.                         BackgroundTransparency = TweenSettings.HoverTransparency,
  5210.                         TextTransparency = TweenSettings.HoverTransparency2
  5211.                     }):Play()
  5212.                 end
  5213.             end
  5214.  
  5215.             button.MouseButton1Click:Connect(function()
  5216.                 if dialogCanvas.GroupTransparency ~= 0 then return end
  5217.                 if v.Callback then
  5218.                     v.Callback()
  5219.                 end
  5220.  
  5221.                 dialogOut()
  5222.             end)
  5223.  
  5224.             button.MouseEnter:Connect(function()
  5225.                 ChangeState("Hover")
  5226.             end)
  5227.             button.MouseLeave:Connect(function()
  5228.                 ChangeState("Idle")
  5229.             end)
  5230.         end
  5231.  
  5232.         dialogIn()
  5233.  
  5234.         function DialogFunctions:UpdateTitle(New)
  5235.             paragraphHeader.Text = New
  5236.         end
  5237.         function DialogFunctions:UpdateDescription(New)
  5238.             paragraphBody.Text = New
  5239.         end
  5240.  
  5241.         function DialogFunctions:Cancel()
  5242.             dialogOut()
  5243.         end
  5244.  
  5245.         return DialogFunctions
  5246.     end
  5247.  
  5248.     function WindowFunctions:SetNotificationsState(State)
  5249.         notifications.Visible = State
  5250.     end
  5251.  
  5252.     function WindowFunctions:GetNotificationsState(State)
  5253.         return notifications.Visible
  5254.     end
  5255.  
  5256.     function WindowFunctions:SetState(State)
  5257.         windowState = State
  5258.         base.Visible = State
  5259.     end
  5260.  
  5261.     function WindowFunctions:GetState()
  5262.         return windowState
  5263.     end
  5264.  
  5265.     local onUnloadCallback
  5266.  
  5267.     function WindowFunctions:Unload()
  5268.         if onUnloadCallback then
  5269.             onUnloadCallback()  
  5270.         end
  5271.         macLib:Destroy()
  5272.         unloaded = true
  5273.     end
  5274.  
  5275.     function WindowFunctions.onUnloaded(callback)
  5276.         onUnloadCallback = callback
  5277.     end
  5278.  
  5279.     local MenuKeybind = Settings.Keybind or Enum.KeyCode.RightControl
  5280.  
  5281.     local function ToggleMenu()
  5282.         local state = not WindowFunctions:GetState()
  5283.         WindowFunctions:SetState(state)
  5284.         WindowFunctions:Notify({
  5285.             Title = Settings.Title,
  5286.             Description = (state and "Maximized " or "Minimized ") .. "the menu. Use " .. tostring(MenuKeybind.Name) .. " to toggle it.",
  5287.             Lifetime = 5
  5288.         })
  5289.     end
  5290.  
  5291.     UserInputService.InputEnded:Connect(function(inp, gpe)
  5292.         if gpe then return end
  5293.         if inp.KeyCode == MenuKeybind then
  5294.             ToggleMenu()
  5295.         end
  5296.     end)
  5297.  
  5298.     minimize.MouseButton1Click:Connect(ToggleMenu)
  5299.     exit.MouseButton1Click:Connect(function()
  5300.         WindowFunctions:Dialog({
  5301.             Title = Settings.Title,
  5302.             Description = "Are you sure you want to exit the menu? You will lose any unsaved configurations.",
  5303.             Buttons = {
  5304.                 {
  5305.                     Name = "Confirm",
  5306.                     Callback = function()
  5307.                         WindowFunctions:Unload()
  5308.                     end,
  5309.                 },
  5310.                 {
  5311.                     Name = "Cancel"
  5312.                 }
  5313.             }
  5314.         })
  5315.     end)
  5316.  
  5317.     function WindowFunctions:SetKeybind(Keycode)
  5318.         MenuKeybind = Keycode
  5319.     end
  5320.  
  5321.     function WindowFunctions:SetAcrylicBlurState(State)
  5322.         acrylicBlur = State
  5323.         base.BackgroundTransparency = State and 0.05 or 0
  5324.     end
  5325.  
  5326.     function WindowFunctions:GetAcrylicBlurState()
  5327.         return acrylicBlur
  5328.     end
  5329.  
  5330.     local function _SetUserInfoState(State)
  5331.         if State then
  5332.             headshot.Image = (isReady and headshotImage) or "rbxassetid://0"
  5333.             username.Text = "@" .. LocalPlayer.Name
  5334.             displayName.Text = LocalPlayer.DisplayName
  5335.         else
  5336.             headshot.Image = assets.userInfoBlurred
  5337.             local nameLength = #LocalPlayer.Name
  5338.             local displayNameLength = #LocalPlayer.DisplayName
  5339.             username.Text = "@" .. string.rep(".", nameLength)
  5340.             displayName.Text = string.rep(".", displayNameLength)
  5341.         end
  5342.     end
  5343.  
  5344.     local showUserInfo
  5345.     if Settings.ShowUserInfo ~= nil then
  5346.         showUserInfo = Settings.ShowUserInfo
  5347.     else
  5348.         showUserInfo = true
  5349.     end
  5350.  
  5351.     _SetUserInfoState(showUserInfo)
  5352.  
  5353.     function WindowFunctions:SetUserInfoState(State)
  5354.         _SetUserInfoState(State)
  5355.     end
  5356.     function WindowFunctions:GetUserInfoState(State)
  5357.         return showUserInfo
  5358.     end
  5359.  
  5360.     function WindowFunctions:SetSize(Size)
  5361.         base.Size = Size
  5362.     end
  5363.     function WindowFunctions:GetSize(Size)
  5364.         return base.Size
  5365.     end
  5366.  
  5367.     function WindowFunctions:SetScale(Scale)
  5368.         baseUIScale.Scale = Scale
  5369.     end
  5370.     function WindowFunctions:GetScale()
  5371.         return baseUIScale.Scale
  5372.     end
  5373.  
  5374.     local ClassParser = {
  5375.         ["Toggle"] = {
  5376.             Save = function(Flag, data)
  5377.                 return {
  5378.                     type = "Toggle",
  5379.                     flag = Flag,
  5380.                     state = data.State or false
  5381.                 }
  5382.             end,
  5383.             Load = function(Flag, data)
  5384.                 if MacLib.Options[Flag] and data.state then
  5385.                     MacLib.Options[Flag]:UpdateState(data.state)
  5386.                 end
  5387.             end
  5388.         },
  5389.         ["Slider"] = {
  5390.             Save = function(Flag, data)
  5391.                 return {
  5392.                     type = "Slider",
  5393.                     flag = Flag,
  5394.                     value = (data.Value and tostring(data.Value)) or false
  5395.                 }
  5396.             end,
  5397.             Load = function(Flag, data)
  5398.                 if MacLib.Options[Flag] and data.value then
  5399.                     MacLib.Options[Flag]:UpdateValue(data.value)
  5400.                 end
  5401.             end
  5402.         },
  5403.         ["Input"] = {
  5404.             Save = function(Flag, data)
  5405.                 return {
  5406.                     type = "Input",
  5407.                     flag = Flag,
  5408.                     text = data.Text
  5409.                 }
  5410.             end,
  5411.             Load = function(Flag, data)
  5412.                 if MacLib.Options[Flag] and data.text and type(data.text) == "string" then
  5413.                     MacLib.Options[Flag]:UpdateText(data.text)
  5414.                 end
  5415.             end
  5416.         },
  5417.         ["Keybind"] = {
  5418.             Save = function(Flag, data)
  5419.                 return {
  5420.                     type = "Keybind",
  5421.                     flag = Flag,
  5422.                     bind = (typeof(data.Bind) == "EnumItem" and data.Bind.Name) or nil
  5423.                 }
  5424.             end,
  5425.             Load = function(Flag, data)
  5426.                 if MacLib.Options[Flag] and data.bind then
  5427.                     MacLib.Options[Flag]:Bind(Enum.KeyCode[data.bind])
  5428.                 end
  5429.             end
  5430.         },
  5431.         ["Dropdown"] = {
  5432.             Save = function(Flag, data)
  5433.                 return {
  5434.                     type = "Dropdown",
  5435.                     flag = Flag,
  5436.                     value = data.Value
  5437.                 }
  5438.             end,
  5439.             Load = function(Flag, data)
  5440.                 if MacLib.Options[Flag] and data.value then
  5441.                     MacLib.Options[Flag]:UpdateSelection(data.value)
  5442.                 end
  5443.             end
  5444.         },
  5445.         ["Colorpicker"] = {
  5446.             Save = function(Flag, data)
  5447.                 local function Color3ToHex(color)
  5448.                     return string.format("#%02X%02X%02X", math.floor(color.R * 255), math.floor(color.G * 255), math.floor(color.B * 255))
  5449.                 end
  5450.  
  5451.                 return {
  5452.                     type = "Colorpicker",
  5453.                     flag = Flag,
  5454.                     color = Color3ToHex(data.Color) or nil,
  5455.                     alpha = data.Alpha
  5456.                 }
  5457.             end,
  5458.             Load = function(Flag, data)
  5459.                 local function HexToColor3(hex)
  5460.                     local r = tonumber(hex:sub(2, 3), 16) / 255
  5461.                     local g = tonumber(hex:sub(4, 5), 16) / 255
  5462.                     local b = tonumber(hex:sub(6, 7), 16) / 255
  5463.                     return Color3.new(r, g, b)
  5464.                 end
  5465.  
  5466.                 if MacLib.Options[Flag] and data.color then
  5467.                     MacLib.Options[Flag]:SetColor(HexToColor3(data.color))
  5468.                     if data.alpha then
  5469.                         MacLib.Options[Flag]:SetAlpha(data.alpha)
  5470.                     end
  5471.                 end
  5472.             end
  5473.         }
  5474.     }
  5475.  
  5476.     local function BuildFolderTree()
  5477.         if isStudio or not (isfolder and makefolder) then return "Config system unavailable." end
  5478.  
  5479.         local paths = {
  5480.             MacLib.Folder,
  5481.             MacLib.Folder .. "/settings"
  5482.         }
  5483.  
  5484.         for i = 1, #paths do
  5485.             local str = paths[i]
  5486.             if not isfolder(str) then
  5487.                 makefolder(str)
  5488.             end
  5489.         end
  5490.     end
  5491.  
  5492.     function MacLib:LoadAutoLoadConfig()
  5493.         if isStudio or not (isfile and readfile) then return "Config system unavailable." end
  5494.  
  5495.         if isfile(MacLib.Folder .. "/settings/autoload.txt") then
  5496.             local name = readfile(MacLib.Folder .. "/settings/autoload.txt")
  5497.  
  5498.             local suc, err = MacLib:LoadConfig(name)
  5499.             if not suc then
  5500.                 WindowFunctions:Notify({
  5501.                     Title = "Interface",
  5502.                     Description = "Error loading autoload config: " .. err
  5503.                 })
  5504.             end
  5505.  
  5506.             WindowFunctions:Notify({
  5507.                 Title = "Interface",
  5508.                 Description = string.format("Autoloaded config: %q", name),
  5509.             })
  5510.         end
  5511.     end
  5512.  
  5513.     function MacLib:SetFolder(Folder)
  5514.         if isStudio then return "Config system unavailable." end
  5515.  
  5516.         MacLib.Folder = Folder;
  5517.         BuildFolderTree()
  5518.     end
  5519.  
  5520.     function MacLib:SaveConfig(Path)
  5521.         if isStudio or not writefile then return "Config system unavailable." end
  5522.  
  5523.         if (not Path) then
  5524.             return false, "Please select a config file."
  5525.         end
  5526.  
  5527.         local fullPath = MacLib.Folder .. "/settings/" .. Path .. ".json"
  5528.  
  5529.         local data = {
  5530.             objects = {}
  5531.         }
  5532.  
  5533.         for flag, option in next, MacLib.Options do
  5534.             if not ClassParser[option.Class] then continue end
  5535.             if option.IgnoreConfig then continue end
  5536.  
  5537.             table.insert(data.objects, ClassParser[option.Class].Save(flag, option))
  5538.         end
  5539.  
  5540.         local success, encoded = pcall(HttpService.JSONEncode, HttpService, data)
  5541.         if not success then
  5542.             return false, "Unable to encode into JSON data"
  5543.         end
  5544.  
  5545.         writefile(fullPath, encoded)
  5546.         return true
  5547.     end
  5548.  
  5549.     function MacLib:LoadConfig(Path)
  5550.         if isStudio or not (isfile and readfile) then return "Config system unavailable." end
  5551.  
  5552.         if (not Path) then
  5553.             return false, "Please select a config file."
  5554.         end
  5555.  
  5556.         local file = MacLib.Folder .. "/settings/" .. Path .. ".json"
  5557.         if not isfile(file) then return false, "Invalid file" end
  5558.  
  5559.         local success, decoded = pcall(HttpService.JSONDecode, HttpService, readfile(file))
  5560.         if not success then return false, "Unable to decode JSON data." end
  5561.  
  5562.         for _, option in next, decoded.objects do
  5563.             if ClassParser[option.type] then
  5564.                 task.spawn(function()
  5565.                     ClassParser[option.type].Load(option.flag, option)
  5566.                 end)
  5567.             end
  5568.         end
  5569.  
  5570.         return true
  5571.     end
  5572.  
  5573.     function MacLib:RefreshConfigList()
  5574.         if isStudio or not (isfolder and listfiles) then return "Config system unavailable." end
  5575.  
  5576.         local list = (isfolder(MacLib.Folder) and isfolder(MacLib.Folder .. "/settings")) and listfiles(MacLib.Folder .. "/settings") or {}
  5577.  
  5578.         local out = {}
  5579.         for i = 1, #list do
  5580.             local file = list[i]
  5581.             if file:sub(-5) == ".json" then
  5582.                 local pos = file:find(".json", 1, true)
  5583.                 local start = pos
  5584.  
  5585.                 local char = file:sub(pos, pos)
  5586.                 while char ~= "/" and char ~= "\\" and char ~= "" do
  5587.                     pos = pos - 1
  5588.                     char = file:sub(pos, pos)
  5589.                 end
  5590.  
  5591.                 if char == "/" or char == "\\" then
  5592.                     local name = file:sub(pos + 1, start - 1)
  5593.                     if name ~= "options" then
  5594.                         table.insert(out, name)
  5595.                     end
  5596.                 end
  5597.             end
  5598.         end
  5599.  
  5600.         return out
  5601.     end
  5602.  
  5603.     macLib.Enabled = false
  5604.  
  5605.     local assetList = {}
  5606.     for _, assetId in pairs(assets) do
  5607.         table.insert(assetList, assetId)
  5608.     end
  5609.  
  5610.     ContentProvider:PreloadAsync(assetList)
  5611.     macLib.Enabled = true
  5612.     windowState = true
  5613.  
  5614.     return WindowFunctions
  5615. end
  5616.  
  5617. function MacLib:Demo()
  5618.     local Window = MacLib:Window({
  5619.         Title = "Maclib Demo",
  5620.         Subtitle = "This is a subtitle.",
  5621.         Size = UDim2.fromOffset(868, 650),
  5622.         DragStyle = 1,
  5623.         DisabledWindowControls = {},
  5624.         ShowUserInfo = true,
  5625.         Keybind = Enum.KeyCode.RightControl,
  5626.         AcrylicBlur = true,
  5627.     })
  5628.  
  5629.     local globalSettings = {
  5630.         UIBlurToggle = Window:GlobalSetting({
  5631.             Name = "UI Blur",
  5632.             Default = Window:GetAcrylicBlurState(),
  5633.             Callback = function(bool)
  5634.                 Window:SetAcrylicBlurState(bool)
  5635.                 Window:Notify({
  5636.                     Title = Window.Settings.Title,
  5637.                     Description = (bool and "Enabled" or "Disabled") .. " UI Blur",
  5638.                     Lifetime = 5
  5639.                 })
  5640.             end,
  5641.         }),
  5642.         NotificationToggler = Window:GlobalSetting({
  5643.             Name = "Notifications",
  5644.             Default = Window:GetNotificationsState(),
  5645.             Callback = function(bool)
  5646.                 Window:SetNotificationsState(bool)
  5647.                 Window:Notify({
  5648.                     Title = Window.Settings.Title,
  5649.                     Description = (bool and "Enabled" or "Disabled") .. " Notifications",
  5650.                     Lifetime = 5
  5651.                 })
  5652.             end,
  5653.         }),
  5654.         ShowUserInfo = Window:GlobalSetting({
  5655.             Name = "Show User Info",
  5656.             Default = Window:GetUserInfoState(),
  5657.             Callback = function(bool)
  5658.                 Window:SetUserInfoState(bool)
  5659.                 Window:Notify({
  5660.                     Title = Window.Settings.Title,
  5661.                     Description = (bool and "Showing" or "Redacted") .. " User Info",
  5662.                     Lifetime = 5
  5663.                 })
  5664.             end,
  5665.         })
  5666.     }
  5667.  
  5668.     local tabGroups = {
  5669.         TabGroup1 = Window:TabGroup()
  5670.     }
  5671.  
  5672.     local tabs = {
  5673.         Main = tabGroups.TabGroup1:Tab({ Name = "Demo", Image = "rbxassetid://18821914323" }),
  5674.         Settings = tabGroups.TabGroup1:Tab({ Name = "Settings", Image = "rbxassetid://10734950309" })
  5675.     }
  5676.  
  5677.     local sections = {
  5678.         MainSection1 = tabs.Main:Section({ Side = "Left" }),
  5679.     }
  5680.  
  5681.     sections.MainSection1:Header({
  5682.         Name = "Header #1"
  5683.     })
  5684.  
  5685.     sections.MainSection1:Button({
  5686.         Name = "Button",
  5687.         Callback = function()
  5688.             Window:Dialog({
  5689.                 Title = Window.Settings.Title,
  5690.                 Description = "Lorem ipsum odor amet, consectetuer adipiscing elit. Eros vestibulum aliquet mattis, ex platea nunc.",
  5691.                 Buttons = {
  5692.                     {
  5693.                         Name = "Confirm",
  5694.                         Callback = function()
  5695.                             print("Confirmed!")
  5696.                         end,
  5697.                     },
  5698.                     {
  5699.                         Name = "Cancel"
  5700.                     }
  5701.                 }
  5702.             })
  5703.         end,
  5704.     })
  5705.  
  5706.     sections.MainSection1:Input({
  5707.         Name = "Input",
  5708.         Placeholder = "Input",
  5709.         AcceptedCharacters = "All",
  5710.         Callback = function(input)
  5711.             Window:Notify({
  5712.                 Title = Window.Settings.Title,
  5713.                 Description = "Successfully set input to " .. input
  5714.             })
  5715.         end,
  5716.         onChanged = function(input)
  5717.             print("Input is now " .. input)
  5718.         end,
  5719.     }, "Input")
  5720.  
  5721.     sections.MainSection1:Slider({
  5722.         Name = "Slider",
  5723.         Default = 50,
  5724.         Minimum = 0,
  5725.         Maximum = 100,
  5726.         DisplayMethod = "Percent",
  5727.         Precision = 0,
  5728.         Callback = function(Value)
  5729.             print("Changed to ".. Value)
  5730.         end
  5731.     }, "Slider")
  5732.  
  5733.     sections.MainSection1:Toggle({
  5734.         Name = "Toggle",
  5735.         Default = false,
  5736.         Callback = function(value)
  5737.             Window:Notify({
  5738.                 Title = Window.Settings.Title,
  5739.                 Description = (value and "Enabled " or "Disabled ") .. "Toggle"
  5740.             })
  5741.         end,
  5742.     }, "Toggle")
  5743.  
  5744.     sections.MainSection1:Keybind({
  5745.         Name = "Keybind",
  5746.         Blacklist = false,
  5747.         Callback = function(binded)
  5748.             Window:Notify({
  5749.                 Title = "Demo Window",
  5750.                 Description = "Pressed keybind - "..tostring(binded.Name),
  5751.                 Lifetime = 3
  5752.             })
  5753.         end,
  5754.         onBinded = function(bind)
  5755.             Window:Notify({
  5756.                 Title = "Demo Window",
  5757.                 Description = "Successfully Binded Keybind to - "..tostring(bind.Name),
  5758.                 Lifetime = 3
  5759.             })
  5760.         end,
  5761.     }, "Keybind")
  5762.  
  5763.     sections.MainSection1:Colorpicker({
  5764.         Name = "Colorpicker",
  5765.         Default = Color3.fromRGB(0, 255, 255),
  5766.         Callback = function(color)
  5767.             print("Color: ", color)
  5768.         end,
  5769.     }, "Colorpicker")
  5770.  
  5771.     local alphaColorPicker = sections.MainSection1:Colorpicker({
  5772.         Name = "Transparency Colorpicker",
  5773.         Default = Color3.fromRGB(255,0,0),
  5774.         Alpha = 0,
  5775.         Callback = function(color, alpha)
  5776.             print("Color: ", color, " Alpha: ", alpha)
  5777.         end,
  5778.     }, "TransparencyColorpicker")
  5779.  
  5780.     local rainbowActive
  5781.     local rainbowConnection
  5782.     local hue = 0
  5783.  
  5784.     sections.MainSection1:Toggle({
  5785.         Name = "Rainbow",
  5786.         Default = false,
  5787.         Callback = function(value)
  5788.             rainbowActive = value
  5789.  
  5790.             if rainbowActive then
  5791.                 rainbowConnection = game:GetService("RunService").RenderStepped:Connect(function(deltaTime)
  5792.                     hue = (hue + deltaTime * 0.1) % 1
  5793.                     alphaColorPicker:SetColor(Color3.fromHSV(hue, 1, 1))
  5794.                 end)
  5795.             elseif rainbowConnection then
  5796.                 rainbowConnection:Disconnect()
  5797.                 rainbowConnection = nil
  5798.             end
  5799.         end,
  5800.     }, "RainbowToggle")
  5801.  
  5802.     local optionTable = {
  5803.         "Apple",
  5804.         "Banana",
  5805.         "Orange",
  5806.         "Grapes",
  5807.         "Pineapple",
  5808.         "Mango",
  5809.         "Strawberry",
  5810.         "Blueberry",
  5811.         "Watermelon",
  5812.         "Peach"
  5813.     }
  5814.  
  5815.     local Dropdown = sections.MainSection1:Dropdown({
  5816.         Name = "Dropdown",
  5817.         Multi = false,
  5818.         Required = true,
  5819.         Options = optionTable,
  5820.         Default = 1,
  5821.         Callback = function(Value)
  5822.             print("Dropdown changed: ".. Value)
  5823.         end,
  5824.     }, "Dropdown")
  5825.  
  5826.     local MultiDropdown = sections.MainSection1:Dropdown({
  5827.         Name = "Multi Dropdown",
  5828.         Search = true,
  5829.         Multi = true,
  5830.         Required = false,
  5831.         Options = optionTable,
  5832.         Default = {"Apple", "Orange"},
  5833.         Callback = function(Value)
  5834.             local Values = {}
  5835.             for Value, State in next, Value do
  5836.                 table.insert(Values, Value)
  5837.             end
  5838.             print("Mutlidropdown changed:", table.concat(Values, ", "))
  5839.         end,
  5840.     }, "MultiDropdown")
  5841.  
  5842.     sections.MainSection1:Button({
  5843.         Name = "Update Selection",
  5844.         Callback = function()
  5845.             Dropdown:UpdateSelection("Grapes")
  5846.             MultiDropdown:UpdateSelection({"Banana", "Pineapple"})
  5847.         end,
  5848.     })
  5849.  
  5850.     sections.MainSection1:Divider()
  5851.  
  5852.     sections.MainSection1:Header({
  5853.         Text = "Header #2"
  5854.     })
  5855.  
  5856.     sections.MainSection1:Paragraph({
  5857.         Header = "Paragraph",
  5858.         Body = "Paragraph body. Lorem ipsum odor amet, consectetuer adipiscing elit. Morbi tempus netus aliquet per velit est gravida."
  5859.     })
  5860.  
  5861.     sections.MainSection1:Label({
  5862.         Text = "Label. Lorem ipsum odor amet, consectetuer adipiscing elit."
  5863.     })
  5864.  
  5865.     sections.MainSection1:SubLabel({
  5866.         Text = "Sub-Label. Lorem ipsum odor amet, consectetuer adipiscing elit."
  5867.     })
  5868.  
  5869.     MacLib:SetFolder("Maclib")
  5870.     tabs.Settings:InsertConfigSection("Left")
  5871.  
  5872.     Window.onUnloaded(function()
  5873.         print("Unloaded!")
  5874.     end)
  5875.  
  5876.     tabs.Main:Select()
  5877.     MacLib:LoadAutoLoadConfig()
  5878. end
  5879.  
  5880. return MacLib
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement