Attrixx

Untitled

Aug 22nd, 2020
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 83.91 KB | None | 0 0
  1. local Player = game.Players.LocalPlayer
  2. local Mouse = Player:GetMouse()
  3.  
  4. local TextService = game:GetService("TextService")
  5. local TweenService = game:GetService("TweenService")
  6. local RunService = game:GetService("RunService")
  7. local InputService = game:GetService("UserInputService")
  8. local CoreGuiService = game:GetService("CoreGui")
  9. local ContentService = game:GetService("ContentProvider")
  10.  
  11. local Themes = {
  12.     Light = {
  13.         MainFrame = Color3.fromRGB(255,255,255),
  14.         Minimise = Color3.fromRGB(255,106,0),
  15.         MinimiseAccent = Color3.fromRGB(147,59,0),
  16.         Maximise = Color3.fromRGB(25,255,0),
  17.         MaximiseAccent = Color3.fromRGB(0,255,110),
  18.         NavBar = Color3.fromRGB(124,37,255),
  19.         NavBarAccent = Color3.fromRGB(30, 30, 30),
  20.         NavBarInvert = Color3.fromRGB(30,30,30),
  21.         TitleBar = Color3.fromRGB(124,37,255),
  22.         TitleBarAccent = Color3.fromRGB(255,255,255),
  23.         Overlay = Color3.fromRGB(124,37,255),
  24.         Banner = Color3.fromRGB(255,255,255),
  25.         BannerAccent = Color3.fromRGB(124,37,255),
  26.         Content = Color3.fromRGB(124,37,255),
  27.         Button = Color3.fromRGB(124,37,255),
  28.         ButtonAccent = Color3.fromRGB(255,255,255),
  29.         ChipSet = Color3.fromRGB(124,37,255),
  30.         ChipSetAccent = Color3.fromRGB(255,255,255),
  31.         DataTable = Color3.fromRGB(124,37,255),
  32.         DataTableAccent = Color3.fromRGB(255,255,255),
  33.         Slider = Color3.fromRGB(255,255,255),
  34.         SliderAccent = Color3.fromRGB(124,37,255),
  35.         Toggle = Color3.fromRGB(124,37,255),
  36.         ToggleAccent = Color3.fromRGB(255,255,255),
  37.         Dropdown = Color3.fromRGB(255,255,255),
  38.         DropdownAccent = Color3.fromRGB(124,37,255),
  39.         ColorPicker = Color3.fromRGB(255,255,255),
  40.         ColorPickerAccent = Color3.fromRGB(124,37,255),
  41.         TextField = Color3.fromRGB(124,37,255),
  42.         TextFieldAccent = Color3.fromRGB(124,37,255)
  43.     },
  44.     Dark = {
  45.         MainFrame = Color3.fromRGB(30,30,30),
  46.         Minimise = Color3.fromRGB(255,106,0),
  47.         MinimiseAccent = Color3.fromRGB(147,59,0),
  48.         Maximise = Color3.fromRGB(25,255,0),
  49.         MaximiseAccent = Color3.fromRGB(0,255,110),
  50.         NavBar = Color3.fromRGB(55,55,55),
  51.         NavBarAccent = Color3.fromRGB(,255,255),
  52.         NavBarInvert = Color3.fromRGB(235,235,235),
  53.         TitleBar = Color3.fromRGB(55,55,55),
  54.         TitleBarAccent = Color3.fromRGB(255,255,255),
  55.         Overlay = Color3.fromRGB(175,175,175),
  56.         Banner = Color3.fromRGB(55,55,55),
  57.         BannerAccent = Color3.fromRGB(255,255,255),
  58.         Content = Color3.fromRGB(85,85,85),
  59.         Button = Color3.fromRGB(85,85,85),
  60.         ButtonAccent = Color3.fromRGB(255,255,255),
  61.         ChipSet = Color3.fromRGB(235,235,235),
  62.         ChipSetAccent = Color3.fromRGB(85,85,85),
  63.         DataTable = Color3.fromRGB(235,235,235),
  64.         DataTableAccent = Color3.fromRGB(85,85,85),
  65.         Slider = Color3.fromRGB(85,85,85),
  66.         SliderAccent = Color3.fromRGB(235,235,235),
  67.         Toggle = Color3.fromRGB(205,205,205),
  68.         ToggleAccent = Color3.fromRGB(125,125,125),
  69.         Dropdown = Color3.fromRGB(85,85,85),
  70.         DropdownAccent = Color3.fromRGB(235,235,235),
  71.         ColorPicker = Color3.fromRGB(85,85,85),
  72.         ColorPickerAccent = Color3.fromRGB(235,235,235),
  73.         TextField = Color3.fromRGB(175,175,175),
  74.         TextFieldAccent = Color3.fromRGB(255,255,255)
  75.     }
  76. }
  77.  
  78. local Types = {
  79.     "RoundFrame",
  80.     "Shadow",
  81.     "Circle",
  82.     "CircleButton",
  83.     "Frame",
  84.     "Label",
  85.     "Button",
  86.     "SmoothButton",
  87.     "Box",
  88.     "ScrollingFrame",
  89.     "Menu",
  90.     "NavBar"
  91. }
  92.  
  93. local ActualTypes = {
  94.     RoundFrame = "ImageLabel",
  95.     Shadow = "ImageLabel",
  96.     Circle = "ImageLabel",
  97.     CircleButton = "ImageButton",
  98.     Frame = "Frame",
  99.     Label = "TextLabel",
  100.     Button = "TextButton",
  101.     SmoothButton = "ImageButton",
  102.     Box = "TextBox",
  103.     ScrollingFrame = "ScrollingFrame",
  104.     Menu = "ImageButton",
  105.     NavBar = "ImageButton"
  106. }
  107.  
  108. local Properties = {
  109.     RoundFrame = {
  110.         BackgroundTransparency = 1,
  111.         Image = "http://www.roblox.com/asset/?id=5554237731",
  112.         ScaleType = Enum.ScaleType.Slice,
  113.         SliceCenter = Rect.new(3,3,297,297)
  114.     },
  115.     SmoothButton = {
  116.         AutoButtonColor = false,
  117.         BackgroundTransparency = 1,
  118.         Image = "http://www.roblox.com/asset/?id=5554237731",
  119.         ScaleType = Enum.ScaleType.Slice,
  120.         SliceCenter = Rect.new(3,3,297,297)
  121.     },
  122.     Shadow = {
  123.         Name = "Shadow",
  124.         BackgroundTransparency = 1,
  125.         Image = "http://www.roblox.com/asset/?id=5554236805",
  126.         ScaleType = Enum.ScaleType.Slice,
  127.         SliceCenter = Rect.new(23,23,277,277),
  128.         Size = UDim2.fromScale(1,1) + UDim2.fromOffset(30,30),
  129.         Position = UDim2.fromOffset(-15,-15)
  130.     },
  131.     Circle = {
  132.         BackgroundTransparency = 1,
  133.         Image = "http://www.roblox.com/asset/?id=5554831670"
  134.     },
  135.     CircleButton = {
  136.         BackgroundTransparency = 1,
  137.         AutoButtonColor = false,
  138.         Image = "http://www.roblox.com/asset/?id=5554831670"
  139.     },
  140.     Frame = {
  141.         BackgroundTransparency = 1,
  142.         BorderSizePixel = 0,
  143.         Size = UDim2.fromScale(1,1)
  144.     },
  145.     Label = {
  146.         BackgroundTransparency = 1,
  147.         Position = UDim2.fromOffset(5,0),
  148.         Size = UDim2.fromScale(1,1) - UDim2.fromOffset(5,0),
  149.         TextSize = 14,
  150.         TextXAlignment = Enum.TextXAlignment.Left
  151.     },
  152.     Button = {
  153.         BackgroundTransparency = 1,
  154.         Position = UDim2.fromOffset(5,0),
  155.         Size = UDim2.fromScale(1,1) - UDim2.fromOffset(5,0),
  156.         TextSize = 14,
  157.         TextXAlignment = Enum.TextXAlignment.Left
  158.     },
  159.     Box = {
  160.         BackgroundTransparency = 1,
  161.         Position = UDim2.fromOffset(5,0),
  162.         Size = UDim2.fromScale(1,1) - UDim2.fromOffset(5,0),
  163.         TextSize = 14,
  164.         TextXAlignment = Enum.TextXAlignment.Left
  165.     },
  166.     ScrollingFrame = {
  167.         BackgroundTransparency = 1,
  168.         ScrollBarThickness = 0,
  169.         CanvasSize = UDim2.fromScale(0,0),
  170.         Size = UDim2.fromScale(1,1)
  171.     },
  172.     Menu = {
  173.         Name = "More",
  174.         AutoButtonColor = false,
  175.         BackgroundTransparency = 1,
  176.         Image = "http://www.roblox.com/asset/?id=5555108481",
  177.         Size = UDim2.fromOffset(20,20),
  178.         Position = UDim2.fromScale(1,0.5) - UDim2.fromOffset(25,10)
  179.     },
  180.     NavBar = {
  181.         Name = "SheetToggle",
  182.         Image = "http://www.roblox.com/asset/?id=5576439039",
  183.         BackgroundTransparency = 1,
  184.         Size = UDim2.fromOffset(20,20),
  185.         Position = UDim2.fromOffset(5,5),
  186.         AutoButtonColor = false
  187.     }
  188. }
  189.  
  190. function FindType(String)
  191.     for _, Type in next, Types do
  192.         if Type:sub(1, #String):lower() == String:lower() then
  193.             return Type
  194.         end
  195.     end
  196.     return false
  197. end
  198.  
  199. local Objects = {}
  200.  
  201. function Objects.new(Type)
  202.     local TargetType = FindType(Type)
  203.     if TargetType then
  204.         local NewImage = Instance.new(ActualTypes[TargetType])
  205.         if Properties[TargetType] then
  206.             for Property, Value in next, Properties[TargetType] do
  207.                 NewImage[Property] = Value
  208.             end
  209.         end
  210.         return NewImage
  211.     else
  212.         return Instance.new(Type)
  213.     end
  214. end
  215.  
  216. local function GetXY(GuiObject)
  217.     local Max, May = GuiObject.AbsoluteSize.X, GuiObject.AbsoluteSize.Y
  218.     local Px, Py = math.clamp(Mouse.X - GuiObject.AbsolutePosition.X, 0, Max), math.clamp(Mouse.Y - GuiObject.AbsolutePosition.Y, 0, May)
  219.     return Px/Max, Py/May
  220. end
  221.  
  222. local function CircleAnim(GuiObject, EndColour, StartColour)
  223.     local PX, PY = GetXY(GuiObject)
  224.     local Circle = Objects.new("Circle")
  225.     Circle.Size = UDim2.fromScale(0,0)
  226.     Circle.Position = UDim2.fromScale(PX,PY)
  227.     Circle.ImageColor3 = StartColour or GuiObject.ImageColor3
  228.     Circle.ZIndex = 200
  229.     Circle.Parent = GuiObject
  230.     local Size = GuiObject.AbsoluteSize.X
  231.     TweenService:Create(Circle, TweenInfo.new(1), {Position = UDim2.fromScale(PX,PY) - UDim2.fromOffset(Size/2,Size/2), ImageTransparency = 1, ImageColor3 = EndColour, Size = UDim2.fromOffset(Size,Size)}):Play()
  232.     spawn(function()
  233.         wait(2)
  234.         Circle:Destroy()
  235.     end)
  236. end
  237.  
  238. local Material = {}
  239.  
  240. local Styles = {
  241.     [1] = "Normal",
  242.     [2] = "Invert",
  243.     [3] = "Sheets"
  244. }
  245.  
  246. local ThisTheme
  247.  
  248. local NavBar = {
  249.     Normal = function()
  250.         local NewNavBar = Objects.new("Round")
  251.         NewNavBar.Name = "NavBar"
  252.         NewNavBar.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(-10,30)
  253.         NewNavBar.Position = UDim2.fromOffset(5,35)
  254.         NewNavBar.ImageColor3 = ThisTheme.NavBar
  255.         NewNavBar.ZIndex = 100
  256.        
  257.         local NavBarShadow = Objects.new("Shadow")
  258.         NavBarShadow.ImageColor3 = ThisTheme.NavBar
  259.         NavBarShadow.Parent = NewNavBar
  260.         NavBarShadow.ZIndex = 100
  261.        
  262.         local NavBarContent = Objects.new("Frame")
  263.         NavBarContent.Name = "Content"
  264.         NavBarContent.Parent = NewNavBar
  265.        
  266.         NavBarContent.ChildAdded:Connect(function(Child)
  267.             pcall(function()
  268.                 local Children = #NavBarContent:GetChildren() - 2
  269.                 TweenService:Create(Child, TweenInfo.new(1), {TextTransparency = (Children > 1) and 0.5 or 0}):Play()
  270.             end)
  271.             pcall(function()
  272.                 local Children = #NavBarContent:GetChildren() - 2
  273.                 TweenService:Create(Child, TweenInfo.new(1), {ImageTransparency = (Children > 1) and 0.5 or 0}):Play()
  274.             end)
  275.             pcall(function()
  276.                 local Children = #NavBarContent:GetChildren() - 2
  277.                 TweenService:Create(Child:FindFirstChildWhichIsA("ImageLabel"), TweenInfo.new(1), {ImageTransparency = (Children > 1) and 0.5 or 0}):Play()
  278.             end)
  279.             pcall(function()
  280.                 Child.TextColor3 = ThisTheme.NavBarAccent
  281.             end)
  282.             pcall(function()
  283.                 Child:FindFirstChildWhichIsA("ImageLabel").ImageColor3 = ThisTheme.NavBarAccent
  284.             end)
  285.             pcall(function()
  286.                 Child.ImageColor3 = ThisTheme.NavBarAccent
  287.             end)
  288.         end)
  289.        
  290.         local NavBarList = Objects.new("UIListLayout")
  291.         NavBarList.FillDirection = Enum.FillDirection.Horizontal
  292.         NavBarList.HorizontalAlignment = Enum.HorizontalAlignment.Left
  293.         NavBarList.VerticalAlignment = Enum.VerticalAlignment.Center
  294.         NavBarList.Parent = NavBarContent
  295.        
  296.         local NavBarPadding = Objects.new("UIPadding")
  297.         NavBarPadding.PaddingLeft = UDim.new(0,5)
  298.         NavBarPadding.Parent = NavBarContent
  299.        
  300.         return NewNavBar, NavBarContent
  301.     end,
  302.     Invert = function()
  303.         local NewNavBar = Objects.new("Round")
  304.         NewNavBar.Name = "NavBar"
  305.         NewNavBar.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(-10,30)
  306.         NewNavBar.Position = UDim2.fromOffset(5,35)
  307.         NewNavBar.ImageColor3 = ThisTheme.NavBarAccent
  308.         NewNavBar.ImageTransparency = 1
  309.         NewNavBar.ZIndex = 100
  310.        
  311.         local NavBarShadow = Objects.new("Shadow")
  312.         NavBarShadow.ImageColor3 = ThisTheme.NavBarInvert
  313.         NavBarShadow.ImageTransparency = 1
  314.         NavBarShadow.Parent = NewNavBar
  315.         NavBarShadow.ZIndex = 100
  316.        
  317.         TweenService:Create(NewNavBar, TweenInfo.new(1), {ImageTransparency = 0}):Play()
  318.         TweenService:Create(NavBarShadow, TweenInfo.new(1), {ImageTransparency = 0}):Play()
  319.        
  320.         local NavBarContent = Objects.new("Frame")
  321.         NavBarContent.Name = "Content"
  322.         NavBarContent.Parent = NewNavBar
  323.        
  324.         NavBarContent.ChildAdded:Connect(function(Child)
  325.             pcall(function()
  326.                 local Children = #NavBarContent:GetChildren() - 2
  327.                 TweenService:Create(Child, TweenInfo.new(1), {TextTransparency = (Children > 1) and 0.5 or 0}):Play()
  328.             end)
  329.             pcall(function()
  330.                 local Children = #NavBarContent:GetChildren() - 2
  331.                 TweenService:Create(Child, TweenInfo.new(1), {ImageTransparency = (Children > 1) and 0.5 or 0}):Play()
  332.             end)
  333.             pcall(function()
  334.                 local Children = #NavBarContent:GetChildren() - 2
  335.                 TweenService:Create(Child:FindFirstChildWhichIsA("ImageLabel"), TweenInfo.new(1), {ImageTransparency = (Children > 1) and 0.5 or 0}):Play()
  336.             end)
  337.             pcall(function()
  338.                 Child.TextColor3 = ThisTheme.NavBar
  339.             end)
  340.             pcall(function()
  341.                 Child:FindFirstChildWhichIsA("ImageLabel").ImageColor3 = ThisTheme.NavBar
  342.             end)
  343.             pcall(function()
  344.                 Child.ImageColor3 = ThisTheme.NavBar
  345.             end)
  346.         end)
  347.        
  348.         local NavBarList = Objects.new("UIListLayout")
  349.         NavBarList.FillDirection = Enum.FillDirection.Horizontal
  350.         NavBarList.HorizontalAlignment = Enum.HorizontalAlignment.Left
  351.         NavBarList.VerticalAlignment = Enum.VerticalAlignment.Center
  352.         NavBarList.Parent = NavBarContent
  353.        
  354.         local NavBarPadding = Objects.new("UIPadding")
  355.         NavBarPadding.PaddingLeft = UDim.new(0,5)
  356.         NavBarPadding.Parent = NavBarContent
  357.        
  358.         return NewNavBar, NavBarContent
  359.     end,
  360.     Sheets = function()
  361.         local NewNavBar = Objects.new("Round")
  362.         NewNavBar.ClipsDescendants = true
  363.         NewNavBar.Name = "NavBar"
  364.         NewNavBar.Size = UDim2.fromScale(0,1) - UDim2.fromOffset(0,30)
  365.         NewNavBar.Position = UDim2.fromOffset(0,30)
  366.         NewNavBar.ImageColor3 = ThisTheme.NavBarAccent
  367.         NewNavBar.ZIndex = 100
  368.        
  369.         local NavBarOverlay = Objects.new("Frame")
  370.         NavBarOverlay.Name = "Overlay"
  371.         NavBarOverlay.BackgroundColor3 = ThisTheme.NavBar
  372.         NavBarOverlay.BackgroundTransparency = 1
  373.         NavBarOverlay.Size = UDim2.fromScale(1,1) - UDim2.fromOffset(0,30)
  374.         NavBarOverlay.Position = UDim2.fromOffset(0,30)
  375.         NavBarOverlay.ZIndex = 75
  376.        
  377.         local NavBarMenu = Objects.new("NavBar")
  378.         NavBarMenu.ZIndex = 100
  379.        
  380.         local NavBarShadow = Objects.new("Shadow")
  381.         NavBarShadow.ImageColor3 = ThisTheme.NavBar
  382.         NavBarShadow.Parent = NewNavBar
  383.         NavBarShadow.ZIndex = 100
  384.        
  385.         local Effect1, Effect2, Effect3 = Objects.new("Frame"), Objects.new("Frame"), Objects.new("Frame")
  386.        
  387.         Effect1.ZIndex = 100
  388.         Effect2.ZIndex = 100
  389.         Effect3.ZIndex = 100
  390.        
  391.         Effect1.BackgroundTransparency = 0
  392.         Effect2.BackgroundTransparency = 0
  393.         Effect3.BackgroundTransparency = 0
  394.        
  395.         Effect1.BackgroundColor3 = ThisTheme.NavBarAccent
  396.         Effect2.BackgroundColor3 = ThisTheme.NavBarAccent
  397.         Effect3.BackgroundColor3 = ThisTheme.NavBar
  398.        
  399.         Effect1.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(0,5)
  400.         Effect2.Size = UDim2.fromScale(0,1) + UDim2.fromOffset(5,0)
  401.         Effect3.Size = UDim2.fromScale(0,1) + UDim2.fromOffset(1,0)
  402.        
  403.         Effect1.Position = UDim2.fromScale(0,0)
  404.         Effect2.Position = UDim2.fromScale(1,0) - UDim2.fromOffset(5,0)
  405.         Effect3.Position = UDim2.fromScale(1,0)
  406.        
  407.         Effect1.Parent = NewNavBar
  408.         Effect2.Parent = NewNavBar
  409.         Effect3.Parent = NewNavBar
  410.        
  411.         local NavBarContent = Objects.new("Frame")
  412.         NavBarContent.Name = "Content"
  413.         NavBarContent.Parent = NewNavBar
  414.        
  415.         local NavBarList = Objects.new("UIListLayout")
  416.         NavBarList.FillDirection = Enum.FillDirection.Vertical
  417.         NavBarList.HorizontalAlignment = Enum.HorizontalAlignment.Center
  418.         NavBarList.VerticalAlignment = Enum.VerticalAlignment.Top
  419.         NavBarList.Parent = NavBarContent
  420.        
  421.         local NavBarPadding = Objects.new("UIPadding")
  422.         NavBarPadding.PaddingLeft = UDim.new(0,5)
  423.         NavBarPadding.PaddingRight = UDim.new(0,5)
  424.         NavBarPadding.PaddingTop = UDim.new(0,5)
  425.         NavBarPadding.PaddingBottom = UDim.new(0,5)
  426.         NavBarPadding.Parent = NavBarContent
  427.        
  428.         NavBarContent.ChildAdded:Connect(function(Child)
  429.             pcall(function()
  430.                 local Children = #NavBarContent:GetChildren() - 2
  431.                 TweenService:Create(Child, TweenInfo.new(1), {TextTransparency = (Children > 1) and 0.5 or 0}):Play()
  432.             end)
  433.             pcall(function()
  434.                 local Children = #NavBarContent:GetChildren() - 2
  435.                 TweenService:Create(Child, TweenInfo.new(1), {ImageTransparency = (Children > 1) and 0.5 or 0}):Play()
  436.             end)
  437.             pcall(function()
  438.                 local Children = #NavBarContent:GetChildren() - 2
  439.                 TweenService:Create(Child:FindFirstChildWhichIsA("ImageLabel"), TweenInfo.new(1), {ImageTransparency = (Children > 1) and 0.5 or 0}):Play()
  440.             end)
  441.             pcall(function()
  442.                 Child.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(0,30)
  443.             end)
  444.             pcall(function()
  445.                 Child:FindFirstChildWhichIsA("ImageLabel").ImageColor3 = ThisTheme.NavBar
  446.             end)
  447.             pcall(function()
  448.                 Child.TextColor3 = ThisTheme.NavBar
  449.             end)
  450.             pcall(function()
  451.                 Child.ImageColor3 = ThisTheme.NavBar
  452.             end)
  453.         end)
  454.        
  455.         return NewNavBar, NavBarContent, NavBarMenu,  NavBarOverlay
  456.     end
  457. }
  458.  
  459. local MainGUI
  460.  
  461. function TryAddMenu(Object, Menu, ReturnTable)
  462.     local Menu = Menu
  463.     local ReturnTable = ReturnTable
  464.     ReturnTable.Object = Object
  465.     local Total = 0
  466.            
  467.     table.foreach(Menu, function(_, Value)
  468.         Total += (typeof(Value) == "function") and 1 or 0
  469.     end)
  470.    
  471.     if Total > 0 then
  472.         local MenuToggle = false
  473.        
  474.         local MenuButton = Objects.new("Menu")
  475.         MenuButton.ImageTransparency = 1
  476.         MenuButton.Parent = Object
  477.        
  478.         TweenService:Create(MenuButton, TweenInfo.new(0.5), {ImageTransparency = 0}):Play()
  479.        
  480.         local Size = Total * 30 + ((Total + 1) * 2)
  481.        
  482.         local MenuBuild = Objects.new("Round")
  483.         MenuBuild.Name = "Menu"
  484.         MenuBuild.ImageColor3 = ThisTheme.ButtonAccent
  485.         MenuBuild.Size = UDim2.fromOffset(120,0)
  486.         MenuBuild.Position = UDim2.fromOffset(MenuButton.AbsolutePosition.X,MenuButton.AbsolutePosition.Y) - UDim2.fromOffset(125,5)
  487.         MenuBuild.ZIndex = 100
  488.         MenuBuild.ClipsDescendants = true
  489.         MenuBuild.Parent = MainGUI
  490.        
  491.         MenuButton:GetPropertyChangedSignal("AbsolutePosition"):Connect(function()
  492.             MenuBuild.Position = UDim2.fromOffset(MenuButton.AbsolutePosition.X,MenuButton.AbsolutePosition.Y) - UDim2.fromOffset(125,5)
  493.         end)
  494.        
  495.         local MenuContent = Objects.new("Frame")
  496.         MenuContent.Name = "Content"
  497.         MenuContent.Parent = MenuBuild
  498.        
  499.         local MenuList = Objects.new("UIListLayout")
  500.         MenuList.Padding = UDim.new(0,2)
  501.         MenuList.Parent = MenuContent
  502.        
  503.         local MenuPadding = Objects.new("UIPadding")
  504.         MenuPadding.PaddingTop = UDim.new(0,2)
  505.         MenuPadding.PaddingRight = UDim.new(0,2)
  506.         MenuPadding.PaddingLeft = UDim.new(0,2)
  507.         MenuPadding.PaddingBottom = UDim.new(0,2)
  508.         MenuPadding.Parent = MenuContent
  509.        
  510.         MenuButton.MouseButton1Down:Connect(function()
  511.             MenuToggle = not MenuToggle
  512.             TweenService:Create(MenuBuild, TweenInfo.new(0.15), {Size = MenuToggle and UDim2.fromOffset(120,Size) or UDim2.fromOffset(120,0)}):Play()
  513.         end)
  514.        
  515.         table.foreach(Menu, function(Option, Value)
  516.             if typeof(Value) == "function" then
  517.                 local MenuOption = Objects.new("SmoothButton")
  518.                 MenuOption.Name = "MenuOption"
  519.                 MenuOption.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(0,30)
  520.                 MenuOption.ImageColor3 = ThisTheme.Button
  521.                 MenuOption.ImageTransparency = 1
  522.                 MenuOption.ZIndex = 150
  523.                 MenuOption.Parent = MenuContent
  524.                
  525.                 local OptionShadow = Objects.new("Shadow")
  526.                 OptionShadow.ImageColor3 = ThisTheme.Button
  527.                 OptionShadow.ImageTransparency = 1
  528.                 OptionShadow.Parent = MenuOption
  529.                
  530.                 local OptionValue = Objects.new("Label")
  531.                 OptionValue.Name = "Value"
  532.                 OptionValue.Position = UDim2.fromScale(0,0)
  533.                 OptionValue.Size = UDim2.fromScale(1,1) - UDim2.fromOffset(5,0)
  534.                 OptionValue.Text = Option
  535.                 OptionValue.TextColor3 = ThisTheme.Button
  536.                 OptionValue.Font = Enum.Font.Gotham
  537.                 OptionValue.TextSize = 12
  538.                 OptionValue.ZIndex = 150
  539.                 OptionValue.TextXAlignment = Enum.TextXAlignment.Right
  540.                 OptionValue.Parent = MenuOption
  541.                
  542.                 MenuOption.MouseButton1Down:Connect(function()
  543.                     Value(ReturnTable)
  544.                     MenuToggle = false
  545.                     TweenService:Create(MenuBuild, TweenInfo.new(0.15), {Size = UDim2.fromOffset(120,0)}):Play()
  546.                 end)
  547.                
  548.                 MenuOption.MouseEnter:Connect(function()
  549.                     TweenService:Create(MenuOption, TweenInfo.new(0.15), {ImageTransparency = 0.8}):Play()
  550.                     TweenService:Create(OptionShadow, TweenInfo.new(0.15), {ImageTransparency = 0.8}):Play()
  551.                 end)
  552.                
  553.                 MenuOption.MouseLeave:Connect(function()
  554.                     TweenService:Create(MenuOption, TweenInfo.new(0.15), {ImageTransparency = 1}):Play()
  555.                     TweenService:Create(OptionShadow, TweenInfo.new(0.15), {ImageTransparency = 1}):Play()
  556.                 end)
  557.             end
  558.         end)
  559.         return true, MenuButton
  560.     end
  561.     return false
  562. end
  563.  
  564. function CreateNewButton(ButtonConfig, Parent)
  565.     local ButtonText = ButtonConfig.Text or "nil button"
  566.     local ButtonCallback = ButtonConfig.Callback or function() print("nil button") end
  567.     local Menu = ButtonConfig.Menu or {}
  568.    
  569.     local Button = Objects.new("SmoothButton")
  570.     Button.Name = "Button"
  571.     Button.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(0,30)
  572.     Button.ImageColor3 = ThisTheme.Button
  573.     Button.ImageTransparency = 1
  574.     Button.Parent = Parent
  575.    
  576.     local ButtonShadow = Objects.new("Shadow")
  577.     ButtonShadow.ImageColor3 = ThisTheme.Button
  578.     ButtonShadow.ImageTransparency = 1
  579.     ButtonShadow.Parent = Button
  580.    
  581.     local ButtonLabel = Objects.new("Label")
  582.     ButtonLabel.Text = ButtonText
  583.     ButtonLabel.TextColor3 = ThisTheme.ButtonAccent
  584.     ButtonLabel.Font = Enum.Font.GothamSemibold
  585.     ButtonLabel.TextSize = 14
  586.     ButtonLabel.ClipsDescendants = true
  587.     ButtonLabel.TextTransparency = 1
  588.     ButtonLabel.Parent = Button
  589.    
  590.     TweenService:Create(Button, TweenInfo.new(0.5), {ImageTransparency = 0}):Play()
  591.     TweenService:Create(ButtonShadow, TweenInfo.new(0.5), {ImageTransparency = 0}):Play()
  592.     TweenService:Create(ButtonLabel, TweenInfo.new(0.5), {TextTransparency = 0}):Play()
  593.    
  594.     Button.MouseButton1Down:Connect(function()
  595.         CircleAnim(ButtonLabel, ThisTheme.ButtonAccent, ThisTheme.Button)
  596.         ButtonCallback()
  597.     end)
  598.    
  599.     local MenuAdded = TryAddMenu(Button, Menu, {})
  600.    
  601.     return Button, ButtonLabel
  602. end
  603.  
  604. local TargetParent = RunService:IsStudio() and Player.PlayerGui or CoreGuiService
  605.  
  606. function Material.Load(Config)
  607.     local Style = (Config.Style and math.clamp(Config.Style, 1, 3)) or 1
  608.     local Title = Config.Title or "MaterialLua"
  609.     local SizeX = Config.SizeX or 300
  610.     local SizeY = Config.SizeY or 500
  611.     local Theme = Config.Theme or "Light"
  612.     local Overrides = Config.ColorOverrides or {}
  613.     local Open = true
  614.    
  615.     Theme = Themes[Theme]
  616.    
  617.     ThisTheme = Theme
  618.    
  619.     for KeyOverride, ValueOverride in next, Overrides do
  620.         ThisTheme[KeyOverride] = ValueOverride
  621.     end
  622.    
  623.     local OldInstance = TargetParent:FindFirstChild(Title)
  624.    
  625.     if OldInstance then
  626.         OldInstance:Destroy()
  627.     end
  628.    
  629.     local NewInstance = Objects.new("ScreenGui")
  630.     NewInstance.Name = Title
  631.     NewInstance.Parent = TargetParent
  632.    
  633.     MainGUI = NewInstance
  634.    
  635.     local MainFrame = Objects.new("Round")
  636.     MainFrame.Name = "MainFrame"
  637.     MainFrame.Size = UDim2.fromOffset(0,SizeY)
  638.     MainFrame.Position = UDim2.fromScale(0.5,0.5) - UDim2.fromOffset(SizeX/2,SizeY/2)
  639.     MainFrame.ImageColor3 = Theme.MainFrame
  640.     MainFrame.Parent = NewInstance
  641.    
  642.     TweenService:Create(MainFrame, TweenInfo.new(1), {Size = UDim2.fromOffset(SizeX,SizeY)}):Play()
  643.    
  644.     wait(1)
  645.    
  646.     local MainShadow = Objects.new("Shadow")
  647.     MainShadow.ImageColor3 = Theme.MainFrame
  648.     MainShadow.Parent = MainFrame
  649.    
  650.     local TitleBar = Objects.new("SmoothButton")
  651.     TitleBar.Name = "TitleBar"
  652.     TitleBar.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(0,30)
  653.     TitleBar.ImageColor3 = Theme.TitleBar
  654.     TitleBar.ImageTransparency = 1
  655.     TitleBar.Parent = MainFrame
  656.    
  657.     local ExtraBar = Objects.new("Frame")
  658.     ExtraBar.Name = "Hidden"
  659.     ExtraBar.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(0,5)
  660.     ExtraBar.Position = UDim2.fromScale(0,1) - UDim2.fromOffset(0,5)
  661.     ExtraBar.BackgroundColor3 = Theme.TitleBar
  662.     ExtraBar.Parent = TitleBar
  663.    
  664.     local TitleShadow = Objects.new("Shadow")
  665.     TitleShadow.ImageColor3 = Theme.TitleBar
  666.     TitleShadow.ImageTransparency = 1
  667.     TitleShadow.Parent = TitleBar
  668.    
  669.     local TitleText = Objects.new("Button")
  670.     TitleText.Name = "Title"
  671.     TitleText.Text = Title
  672.     TitleText.TextColor3 = Theme.TitleBarAccent
  673.     TitleText.TextTransparency = 1
  674.     TitleText.Font = Enum.Font.GothamBold
  675.     TitleText.Parent = TitleBar
  676.    
  677.     TitleText.MouseButton1Down:Connect(function()
  678.         local Mx, My = Mouse.X, Mouse.Y
  679.         local MouseMove, MouseKill
  680.         MouseMove = Mouse.Move:Connect(function()
  681.             local nMx, nMy = Mouse.X, Mouse.Y
  682.             local Dx, Dy = nMx - Mx, nMy - My
  683.             MainFrame.Position += UDim2.fromOffset(Dx, Dy)
  684.             Mx, My = nMx, nMy
  685.         end)
  686.         MouseKill = InputService.InputEnded:Connect(function(UserInput)
  687.             if UserInput.UserInputType == Enum.UserInputType.MouseButton1 then
  688.                 MouseMove:Disconnect()
  689.                 MouseKill:Disconnect()
  690.             end
  691.         end)
  692.     end)
  693.    
  694.     local MinimiseButton = Objects.new("SmoothButton")
  695.     MinimiseButton.Size = UDim2.fromOffset(20,20)
  696.     MinimiseButton.Position = UDim2.fromScale(1,0) + UDim2.fromOffset(-25,5)
  697.     MinimiseButton.ImageColor3 = Theme.Minimise
  698.     MinimiseButton.ImageTransparency = 1
  699.     MinimiseButton.Parent = TitleBar
  700.    
  701.     local MinimiseShadow = Objects.new("Shadow")
  702.     MinimiseShadow.ImageColor3 = Theme.MinimiseAccent
  703.     MinimiseShadow.ImageTransparency = 1
  704.     MinimiseShadow.Parent = MinimiseButton
  705.    
  706.     MinimiseButton.MouseButton1Down:Connect(function()
  707.         Open = not Open
  708.         TweenService:Create(MainShadow, TweenInfo.new(0.15), {ImageTransparency = 1}):Play()
  709.         TweenService:Create(MainFrame, TweenInfo.new(0.15), {Size = Open and UDim2.fromOffset(SizeX,SizeY) or UDim2.fromOffset(SizeX,30)}):Play()
  710.         TweenService:Create(MinimiseButton, TweenInfo.new(0.15), {ImageColor3 = Open and Theme.Minimise or Theme.Maximise}):Play()
  711.         TweenService:Create(MinimiseShadow, TweenInfo.new(0.15), {ImageColor3 = Open and Theme.MinimiseAccent or Theme.MaximiseAccent}):Play()
  712.         if Open then
  713.             wait(0.15)
  714.             MainFrame.ClipsDescendants = false
  715.             TweenService:Create(MainShadow, TweenInfo.new(0.15), {ImageTransparency = 0}):Play()
  716.         else
  717.             MainFrame.ClipsDescendants = true
  718.         end
  719.     end)
  720.    
  721.     local Content = Objects.new("Round")
  722.     Content.Name = "Content"
  723.     Content.ImageColor3 = Theme.Content
  724.     Content.Size = UDim2.fromScale(1,1) - UDim2.fromOffset(10,75)
  725.     Content.Position = UDim2.fromOffset(5,70)
  726.     Content.ImageTransparency = 1
  727.     Content.Parent = MainFrame
  728.    
  729.     local NavigationBar, NavigationBarContent, NavBarMenu, NavBarOverlay = NavBar[Styles[Style]]()
  730.     NavigationBar.Parent = MainFrame
  731.    
  732.     TweenService:Create(TitleBar, TweenInfo.new(1), {ImageTransparency = 0}):Play()
  733.     TweenService:Create(ExtraBar, TweenInfo.new(1), {BackgroundTransparency = 0}):Play()
  734.     TweenService:Create(TitleShadow, TweenInfo.new(1), {ImageTransparency = 0}):Play()
  735.     TweenService:Create(TitleText, TweenInfo.new(1), {TextTransparency = 0}):Play()
  736.     TweenService:Create(MinimiseButton, TweenInfo.new(1), {ImageTransparency = 0}):Play()
  737.     TweenService:Create(MinimiseShadow, TweenInfo.new(1), {ImageTransparency = 0}):Play()
  738.     TweenService:Create(Content, TweenInfo.new(1), {ImageTransparency = 0.8}):Play()
  739.    
  740.     wait(1)
  741.    
  742.     if NavBarMenu then
  743.         TweenService:Create(TitleText, TweenInfo.new(0.5), {
  744.             Size = TitleText.Size - UDim2.fromOffset(25,0),
  745.             Position = TitleText.Position + UDim2.fromOffset(25,0)
  746.         }):Play()
  747.         TweenService:Create(Content, TweenInfo.new(0.5), {
  748.             Size = Content.Size + UDim2.fromOffset(0,35),
  749.             Position = Content.Position - UDim2.fromOffset(0,35)
  750.         }):Play()
  751.        
  752.         NavBarMenu.ImageTransparency = 1
  753.         NavBarMenu.Parent = TitleBar
  754.        
  755.         TweenService:Create(NavBarMenu, TweenInfo.new(0.5), {ImageTransparency = 0}):Play()
  756.        
  757.         NavBarOverlay.Parent = MainFrame
  758.        
  759.         local MenuToggle = false
  760.        
  761.         NavBarMenu.MouseButton1Down:Connect(function()
  762.             MenuToggle = not MenuToggle
  763.             TweenService:Create(NavigationBar, TweenInfo.new(0.15), {Size = (MenuToggle and UDim2.fromScale(0.5,1) or UDim2.fromScale(0,1)) - UDim2.fromOffset(0,30)}):Play()
  764.             TweenService:Create(NavBarOverlay, TweenInfo.new(0.15), {BackgroundTransparency = MenuToggle and 0.5 or 1}):Play()
  765.             if MenuToggle then
  766.                 wait(0.15)
  767.                 NavigationBar.ClipsDescendants = false
  768.             else
  769.                 NavigationBar.ClipsDescendants = true
  770.             end
  771.         end)
  772.     end
  773.    
  774.     local TabCount = 0
  775.    
  776.     local TabLibrary = {}
  777.    
  778.     local ButtonTrack = {}
  779.     local PageTrack = {}
  780.    
  781.     function TabLibrary.Banner(BannerConfig)
  782.         local BannerText = BannerConfig.Text
  783.         local BannerOptions = BannerConfig.Options or {}
  784.        
  785.         local ExistingBanner, ExistingBannerOverlay = MainFrame:FindFirstChild("BannerOverlay"), MainFrame:FindFirstChild("Banner")
  786.        
  787.         if ExistingBanner then
  788.             ExistingBanner:Destroy()
  789.         end
  790.        
  791.         if ExistingBannerOverlay then
  792.             ExistingBannerOverlay:Destroy()
  793.         end
  794.        
  795.         local BannerOverlay = Objects.new("Frame")
  796.         BannerOverlay.Name = "BannerOverlay"
  797.         BannerOverlay.BackgroundColor3 = Theme.BannerAccent
  798.         BannerOverlay.Size = UDim2.fromScale(1,1) - UDim2.fromOffset(0,30)
  799.         BannerOverlay.Position = UDim2.fromOffset(0,30)
  800.         BannerOverlay.ZIndex = 75
  801.         BannerOverlay.Parent = MainFrame
  802.        
  803.         local TextSize = TextService:GetTextSize(BannerText, 12, Enum.Font.Gotham, Vector2.new(0,0)).X
  804.        
  805.         local Lines = math.ceil((TextSize) / (MainFrame.AbsoluteSize.X - 10))
  806.        
  807.         local BannerSize = UDim2.fromScale(1,0) + UDim2.fromOffset(-10,(Lines*20)+40)
  808.         local BannerPosition = UDim2.fromScale(0,1) + UDim2.fromOffset(5,(-Lines*20)-45)
  809.        
  810.         local Banner = Objects.new("Round")
  811.         Banner.Name = "Banner"
  812.         Banner.ImageTransparency = 1
  813.         Banner.ImageColor3 = Theme.Banner
  814.         Banner.Size = BannerSize
  815.         Banner.Position = BannerPosition
  816.         Banner.ZIndex = 80
  817.         Banner.Parent = MainFrame
  818.        
  819.         local BannerLabel = Objects.new("Label")
  820.         BannerLabel.Name = "Value"
  821.         BannerLabel.Text = BannerText
  822.         BannerLabel.TextColor3 = Theme.BannerAccent
  823.         BannerLabel.TextSize = 12
  824.         BannerLabel.Font = Enum.Font.Gotham
  825.         BannerLabel.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(-5,(Lines*20)+5)
  826.         BannerLabel.TextWrapped = true
  827.         BannerLabel.Position = UDim2.fromOffset(5,0)
  828.         BannerLabel.TextTransparency = 1
  829.         BannerLabel.ZIndex = 80
  830.         BannerLabel.Parent = Banner
  831.        
  832.         TweenService:Create(BannerOverlay, TweenInfo.new(0.5), {BackgroundTransparency = 0.5}):Play()
  833.         TweenService:Create(Banner, TweenInfo.new(0.5), {ImageTransparency = 0}):Play()
  834.         TweenService:Create(BannerLabel, TweenInfo.new(0.5), {TextTransparency = 0}):Play()
  835.        
  836.         local BannerContainer = Objects.new("Frame")
  837.         BannerContainer.Name = "Options"
  838.         BannerContainer.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(-10,0)
  839.         BannerContainer.Position = UDim2.fromScale(0,1) - UDim2.fromOffset(-5,35)
  840.         BannerContainer.ZIndex = 80
  841.         BannerContainer.ClipsDescendants = true
  842.         BannerContainer.Parent = Banner
  843.        
  844.         local BannerList = Objects.new("UIListLayout")
  845.         BannerList.FillDirection = Enum.FillDirection.Horizontal
  846.         BannerList.HorizontalAlignment = Enum.HorizontalAlignment.Right
  847.         BannerList.SortOrder = Enum.SortOrder.LayoutOrder
  848.         BannerList.Padding = UDim.new(0,5)
  849.         BannerList.Parent = BannerContainer
  850.        
  851.         BannerOptions["Ok"] = function()
  852.             TweenService:Create(BannerContainer, TweenInfo.new(0.5), {Size = UDim2.fromScale(1,0) + UDim2.fromOffset(-10,0)}):Play()
  853.             TweenService:Create(BannerOverlay, TweenInfo.new(0.5), {BackgroundTransparency = 1}):Play()
  854.             TweenService:Create(Banner, TweenInfo.new(0.5), {ImageTransparency = 1}):Play()
  855.             TweenService:Create(BannerLabel, TweenInfo.new(0.5), {TextTransparency = 1}):Play()
  856.         end
  857.        
  858.         table.foreach(BannerOptions, function(Option, Value)
  859.             if typeof(Value) == "function" then
  860.                 local TextSize = TextService:GetTextSize(Option:upper(), 12, Enum.Font.GothamBold, Vector2.new(0,0)).X
  861.                
  862.                 local OptionItem = Objects.new("SmoothButton")
  863.                 OptionItem.ImageColor3 = Theme.BannerAccent
  864.                 OptionItem.ImageTransparency = 0.9
  865.                 OptionItem.Size = UDim2.fromOffset(TextSize+10,30)
  866.                 OptionItem.ZIndex = 80
  867.                 OptionItem.ClipsDescendants = true
  868.                 OptionItem.Parent = BannerContainer
  869.                
  870.                 local OptionLabel = Objects.new("Label")
  871.                 OptionLabel.Text = Option:upper()
  872.                 OptionLabel.TextSize = 12
  873.                 OptionLabel.TextColor3 = Theme.BannerAccent
  874.                 OptionLabel.Font = Enum.Font.GothamBold
  875.                 OptionLabel.Size = UDim2.fromScale(1,1)
  876.                 OptionLabel.Position = UDim2.fromScale(0,0)
  877.                 OptionLabel.TextXAlignment = Enum.TextXAlignment.Center
  878.                 OptionLabel.ZIndex = 80
  879.                 OptionLabel.Parent = OptionItem
  880.                
  881.                 OptionItem.MouseButton1Down:Connect(function()
  882.                     Value()
  883.                     CircleAnim(OptionItem, Theme.Banner)
  884.                 end)
  885.             end
  886.         end)
  887.        
  888.         TweenService:Create(BannerContainer, TweenInfo.new(0.5), {Size = UDim2.fromScale(1,0) + UDim2.fromOffset(-10,30)}):Play()
  889.     end
  890.    
  891.     function TabLibrary.New(TabConfig)
  892.         local ImageID = TabConfig.ID
  893.         local Title = TabConfig.Title
  894.        
  895.         local Button
  896.        
  897.         if ImageID then
  898.             if Title then
  899.                 local Settings = {
  900.                     TextSize = 12,
  901.                     Font = Enum.Font.GothamBold,
  902.                     Vector = Vector2.new(0,0)
  903.                 }
  904.                
  905.                 local TextSize = TextService:GetTextSize(Title:upper(), Settings.TextSize, Settings.Font, Settings.Vector).X
  906.                
  907.                 Button = Objects.new("Button")
  908.                 Button.Name = Title:upper()
  909.                 Button.TextXAlignment = Enum.TextXAlignment.Right
  910.                 Button.TextSize = Settings.TextSize
  911.                 Button.Font = Settings.Font
  912.                 Button.Text = Title:upper()
  913.                 Button.Size = UDim2.fromScale(0,1) + UDim2.fromOffset(TextSize+35)
  914.                 Button.ZIndex = 200
  915.                 Button.TextTransparency = 1
  916.             end
  917.            
  918.             local FetchURL = "rbxassetid://"..ImageID
  919.            
  920.             local Image = RunService:IsStudio() and "http://www.roblox.com/asset/?id=5472131383" or game:GetObjects(FetchURL)[1].Texture
  921.            
  922.             local NewImage = Objects.new(Button and "Round" or "SmoothButton")
  923.             NewImage.Name = ImageID
  924.             NewImage.BackgroundTransparency = 1
  925.             NewImage.Size = UDim2.fromOffset(20,20)
  926.             NewImage.ScaleType = Enum.ScaleType.Stretch
  927.             NewImage.Image = Image
  928.             NewImage.ZIndex = 200
  929.             NewImage.ImageTransparency = 1
  930.  
  931.             if Button then
  932.                 NewImage.Position = UDim2.fromScale(0,0.5) - UDim2.fromOffset(0,10)
  933.                 NewImage.Parent = Button
  934.             else
  935.                 Button = NewImage
  936.             end
  937.            
  938.         else
  939.             local Settings = {
  940.                 TextSize = 12,
  941.                 Font = Enum.Font.GothamBold,
  942.                 Vector = Vector2.new(0,0)
  943.             }
  944.            
  945.             local TextSize = TextService:GetTextSize(Title:upper(), Settings.TextSize, Settings.Font, Settings.Vector).X
  946.            
  947.             Button = Objects.new("Button")
  948.             Button.Name = Title:upper()
  949.             Button.TextXAlignment = Enum.TextXAlignment.Center
  950.             Button.TextSize = Settings.TextSize
  951.             Button.Font = Settings.Font
  952.             Button.Text = Title:upper()
  953.             Button.Size = UDim2.fromScale(0,1) + UDim2.fromOffset(TextSize+10)
  954.             Button.ZIndex = 200
  955.             Button.TextTransparency = 1
  956.         end
  957.        
  958.         Button.Parent = NavigationBarContent
  959.        
  960.         local PageContentFrame = Objects.new("Scroll")
  961.         PageContentFrame.Name = Title:upper() or ImageID
  962.         PageContentFrame.Visible = (TabCount == 0)
  963.         PageContentFrame.ZIndex = 50
  964.         PageContentFrame.Parent = Content
  965.        
  966.         table.insert(ButtonTrack, Button)
  967.         table.insert(PageTrack, PageContentFrame)
  968.        
  969.         Button.MouseButton1Down:Connect(function()
  970.             for _, Track in next, ButtonTrack do
  971.                 if not (Track == Button) then
  972.                     TweenService:Create(Track, TweenInfo.new(0.15), {TextTransparency = 0.5}):Play()
  973.                     pcall(function()
  974.                         TweenService:Create(Track:FindFirstChildWhichIsA("ImageLabel"), TweenInfo.new(0.15), {ImageTransparency = 0.5}):Play()
  975.                     end)
  976.                 else
  977.                     TweenService:Create(Track, TweenInfo.new(0.15), {TextTransparency = 0}):Play()
  978.                     pcall(function()
  979.                         TweenService:Create(Track:FindFirstChildWhichIsA("ImageLabel"), TweenInfo.new(0.15), {ImageTransparency = 0}):Play()
  980.                     end)
  981.                 end
  982.             end
  983.             for _, Track in next, PageTrack do
  984.                 Track.Visible = (Track == PageContentFrame)
  985.             end
  986.         end)
  987.        
  988.         local PagePadding = Objects.new("UIPadding")
  989.         PagePadding.PaddingLeft = UDim.new(0,5)
  990.         PagePadding.PaddingRight = UDim.new(0,5)
  991.         PagePadding.PaddingTop = UDim.new(0,5)
  992.         PagePadding.PaddingBottom = UDim.new(0,5)
  993.         PagePadding.Parent = PageContentFrame
  994.        
  995.         local PageList = Objects.new("UIListLayout")
  996.         PageList.SortOrder = Enum.SortOrder.LayoutOrder
  997.         PageList.Padding = UDim.new(0,5)
  998.         PageList.Parent = PageContentFrame
  999.        
  1000.         PageList:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
  1001.             PageContentFrame.CanvasSize = UDim2.fromOffset(0,PageList.AbsoluteContentSize.Y+10)
  1002.         end)
  1003.        
  1004.         TabCount += 1
  1005.        
  1006.         local OptionLibrary = {}
  1007.        
  1008.         function OptionLibrary.Button(ButtonConfig)
  1009.             local NewButton, ButtonLabel = CreateNewButton(ButtonConfig, PageContentFrame)
  1010.            
  1011.             local ButtonLibrary = {}
  1012.            
  1013.             function ButtonLibrary:SetText(Value)
  1014.                 ButtonLabel.Text = Value
  1015.             end
  1016.            
  1017.             function ButtonLibrary:GetText()
  1018.                 return ButtonLabel.Text
  1019.             end
  1020.            
  1021.             return ButtonLibrary
  1022.         end
  1023.        
  1024.         function OptionLibrary.Dropdown(DropdownConfig)
  1025.             local DropdownText = DropdownConfig.Text or "nil dropdown"
  1026.             local DropdownCallback = DropdownConfig.Callback or function() print("nil dropdown") end
  1027.             local DropdownOptions = DropdownConfig.Options or {}
  1028.             local Menu = DropdownConfig.Menu or {}
  1029.            
  1030.             local Dropdown = Objects.new("Frame")
  1031.             Dropdown.Name = "Dropdown"
  1032.             Dropdown.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(0,30)
  1033.             Dropdown.Parent = PageContentFrame
  1034.            
  1035.             local DropdownBar = Objects.new("Round")
  1036.             DropdownBar.Name = "TitleBar"
  1037.             DropdownBar.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(0,30)
  1038.             DropdownBar.ImageColor3 = Theme.Dropdown
  1039.             DropdownBar.ImageTransparency = 1
  1040.             DropdownBar.Parent = Dropdown
  1041.            
  1042.             local DropdownTitle = Objects.new("Button")
  1043.             DropdownTitle.Name = "Title"
  1044.             DropdownTitle.Font = Enum.Font.GothamSemibold
  1045.             DropdownTitle.Text = DropdownText
  1046.             DropdownTitle.TextColor3 = Theme.DropdownAccent
  1047.             DropdownTitle.TextTransparency = 1
  1048.             DropdownTitle.TextSize = 14
  1049.             DropdownTitle.Parent = DropdownBar
  1050.            
  1051.             local DropdownToggle = Objects.new("Round")
  1052.             DropdownToggle.Name = "Container"
  1053.             DropdownToggle.Size = UDim2.fromOffset(24,24)
  1054.             DropdownToggle.Position = UDim2.fromScale(1,0.5) - UDim2.fromOffset(27,12)
  1055.             DropdownToggle.ImageColor3 = Theme.DropdownAccent
  1056.             DropdownToggle.ImageTransparency = 1 -- 0.8
  1057.             DropdownToggle.Parent = DropdownBar
  1058.            
  1059.             local DropdownButton = Objects.new("Round")
  1060.             DropdownButton.Name = "Drop"
  1061.             DropdownButton.Image = "http://www.roblox.com/asset/?id=5574299686"
  1062.             DropdownButton.ScaleType = Enum.ScaleType.Stretch
  1063.             DropdownButton.Size = UDim2.fromScale(1,1) - UDim2.fromOffset(4,4)
  1064.             DropdownButton.Position = UDim2.fromOffset(2,2)
  1065.             DropdownButton.ImageColor3 = Theme.DropdownAccent
  1066.             DropdownButton.ImageTransparency = 1
  1067.             DropdownButton.Parent = DropdownToggle
  1068.            
  1069.             TweenService:Create(DropdownBar, TweenInfo.new(0.5), {ImageTransparency = 0}):Play()
  1070.             TweenService:Create(DropdownTitle, TweenInfo.new(0.5), {TextTransparency = 0}):Play()
  1071.             TweenService:Create(DropdownToggle, TweenInfo.new(0.5), {ImageTransparency = 0.8}):Play()
  1072.             TweenService:Create(DropdownButton, TweenInfo.new(0.5), {ImageTransparency = 0}):Play()
  1073.            
  1074.             local DropdownContent = Objects.new("Frame")
  1075.             DropdownContent.Name = "Content"
  1076.             DropdownContent.Size = UDim2.fromScale(1,0)
  1077.             DropdownContent.Position = UDim2.fromOffset(0,35)
  1078.             DropdownContent.ClipsDescendants = true
  1079.             DropdownContent.Parent = Dropdown
  1080.            
  1081.             local NumberOfOptions = #DropdownOptions
  1082.             local DropToggle = false
  1083.             local DropdownSize = UDim2.fromScale(1,0) + UDim2.fromOffset(0,(NumberOfOptions*20) + ((NumberOfOptions - 1) * 5))
  1084.            
  1085.             local DropdownList = Objects.new("UIListLayout")
  1086.             DropdownList.SortOrder = Enum.SortOrder.LayoutOrder
  1087.             DropdownList.Padding = UDim.new(0,5)
  1088.             DropdownList.Parent = DropdownContent
  1089.            
  1090.             DropdownList:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
  1091.                 if DropToggle then
  1092.                     DropdownContent.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(DropdownList.AbsoluteContentSize.Y)
  1093.                     DropdownSize = UDim2.fromScale(1,0) + UDim2.fromOffset(DropdownList.AbsoluteContentSize.Y)
  1094.                 end
  1095.             end)
  1096.            
  1097.             table.foreach(DropdownOptions, function(_, Value)
  1098.                 local NewButton = CreateNewButton({
  1099.                     Text = Value,
  1100.                     Callback = function() end
  1101.                 }, DropdownContent)
  1102.                
  1103.                 NewButton.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(0,20)
  1104.                 NewButton.MouseButton1Down:Connect(function()
  1105.                     DropdownCallback(Value)
  1106.                     DropdownTitle.Text = DropdownText..": "..Value
  1107.                 end)
  1108.             end)
  1109.            
  1110.             DropdownTitle.MouseButton1Down:Connect(function()
  1111.                 DropToggle = not DropToggle
  1112.                 TweenService:Create(DropdownButton, TweenInfo.new(0.15), {Rotation = DropToggle and 135 or 0}):Play()
  1113.                 TweenService:Create(DropdownContent, TweenInfo.new(0.15), {Size = DropToggle and DropdownSize or UDim2.fromScale(1,0)}):Play()
  1114.                 TweenService:Create(Dropdown, TweenInfo.new(0.15), {Size = DropToggle and (DropdownSize + UDim2.fromOffset(0,35)) or (UDim2.fromScale(1,0) + UDim2.fromOffset(0,30))}):Play()
  1115.             end)
  1116.            
  1117.             local MenuAdded, MenuButton = TryAddMenu(DropdownBar, Menu, {})
  1118.            
  1119.             if MenuAdded then
  1120.                 DropdownToggle.Position -= UDim2.fromOffset(25,0)
  1121.                 MenuButton.ImageColor3 = Theme.DropdownAccent
  1122.             end
  1123.            
  1124.             local DropdownLibrary = {}
  1125.            
  1126.             function DropdownLibrary:SetText(Value)
  1127.                 DropdownTitle.Text = Value
  1128.             end
  1129.            
  1130.             function DropdownLibrary:GetText()
  1131.                 return DropdownTitle.Text
  1132.             end
  1133.            
  1134.             function DropdownLibrary:SetOptions(NewMenu)
  1135.                 DropdownOptions = NewMenu or {}
  1136.                 NumberOfOptions = #DropdownOptions
  1137.                 DropdownSize = UDim2.fromScale(1,0) + UDim2.fromOffset(0,(NumberOfOptions*20) + ((NumberOfOptions - 1) * 5))
  1138.                
  1139.                 if DropdownContent then
  1140.                     DropdownContent:Destroy()
  1141.                 end
  1142.                
  1143.                 TweenService:Create(Dropdown, TweenInfo.new(0.15), {Size = DropToggle and (DropdownSize + UDim2.fromOffset(0,35)) or (UDim2.fromScale(1,0) + UDim2.fromOffset(0,30))}):Play()
  1144.                
  1145.                 DropdownContent = Objects.new("Frame")
  1146.                 DropdownContent.Name = "Content"
  1147.                 DropdownContent.Size = DropToggle and DropdownSize or UDim2.fromScale(1,0)
  1148.                 DropdownContent.Position = UDim2.fromOffset(0,35)
  1149.                 DropdownContent.ClipsDescendants = true
  1150.                 DropdownContent.Parent = Dropdown
  1151.                
  1152.                 local DropdownList = Objects.new("UIListLayout")
  1153.                 DropdownList.SortOrder = Enum.SortOrder.LayoutOrder
  1154.                 DropdownList.Padding = UDim.new(0,5)
  1155.                 DropdownList.Parent = DropdownContent
  1156.                
  1157.                 table.foreach(DropdownOptions, function(_, Value)
  1158.                     local NewButton = CreateNewButton({
  1159.                         Text = Value,
  1160.                         Callback = function() end
  1161.                     }, DropdownContent)
  1162.                    
  1163.                     NewButton.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(0,20)
  1164.                     NewButton.MouseButton1Down:Connect(function()
  1165.                         DropdownCallback(Value)
  1166.                         DropdownTitle.Text = DropdownText..": "..Value
  1167.                     end)
  1168.                 end)
  1169.             end
  1170.            
  1171.             function DropdownLibrary:GetOptions()
  1172.                 return DropdownOptions
  1173.             end
  1174.            
  1175.             return DropdownLibrary
  1176.         end
  1177.        
  1178.         function OptionLibrary.ChipSet(ChipSetConfig)
  1179.             local ChipSetText = ChipSetConfig.Text or "nil chipset"
  1180.             local ChipSetCallback = ChipSetConfig.Callback or function() print("nil chipset") end
  1181.             local ChipSetOptions = ChipSetConfig.Options or {}
  1182.            
  1183.             local TotalOptions = 0
  1184.            
  1185.             table.foreach(ChipSetOptions, function()
  1186.                 TotalOptions += 1
  1187.             end)
  1188.            
  1189.             if TotalOptions > 0 then
  1190.                 local Size = UDim2.fromScale(1,0) + UDim2.fromOffset(0,(TotalOptions*30)+((TotalOptions+1)*5))
  1191.                
  1192.                 local ChipSet = Objects.new("Round")
  1193.                 ChipSet.Name = "ChipSet"
  1194.                 ChipSet.Size = Size
  1195.                 ChipSet.ImageColor3 = Theme.ChipSet
  1196.                 ChipSet.ImageTransparency = 1
  1197.                 ChipSet.Parent = PageContentFrame
  1198.                
  1199.                 local ChipList = Objects.new("UIListLayout")
  1200.                 ChipList.SortOrder = Enum.SortOrder.LayoutOrder
  1201.                 ChipList.Padding = UDim.new(0,5)
  1202.                 ChipList.Parent = ChipSet
  1203.                
  1204.                 local ChipPadding = Objects.new("UIPadding")
  1205.                 ChipPadding.PaddingBottom = UDim.new(0,5)
  1206.                 ChipPadding.PaddingTop = UDim.new(0,5)
  1207.                 ChipPadding.PaddingRight= UDim.new(0,5)
  1208.                 ChipPadding.PaddingLeft = UDim.new(0,5)
  1209.                 ChipPadding.Parent = ChipSet
  1210.                
  1211.                 local BuildTable = {}
  1212.                
  1213.                 table.foreach(ChipSetOptions, function(Key, Value)
  1214.                     if typeof(Value) == "table" then
  1215.                         BuildTable[Key] = Value.Enabled
  1216.                     else
  1217.                         BuildTable[Key] = Value
  1218.                     end
  1219.                 end)
  1220.                
  1221.                 ChipSetCallback(BuildTable)
  1222.                
  1223.                 TweenService:Create(ChipSet, TweenInfo.new(0.5), {ImageTransparency = 0.9}):Play()
  1224.                
  1225.                 table.foreach(ChipSetOptions, function(Key, Value)
  1226.                     local ChipItem = Objects.new("SmoothButton")
  1227.                     ChipItem.Name = "ChipItem"
  1228.                     ChipItem.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(0,30)
  1229.                     ChipItem.ImageColor3 = BuildTable[Key] and Theme.ChipSet or Theme.ChipSetAccent
  1230.                     ChipItem.ImageTransparency = 1
  1231.                     ChipItem.Parent = ChipSet
  1232.                    
  1233.                     local ChipShadow = Objects.new("Shadow")
  1234.                     ChipShadow.ImageColor3 = BuildTable[Key] and Theme.ChipSet or Theme.ChipSetAccent
  1235.                     ChipShadow.ImageTransparency = 1
  1236.                     ChipShadow.Parent = ChipItem
  1237.                    
  1238.                     local Tick = Objects.new("Round")
  1239.                     Tick.ScaleType = Enum.ScaleType.Stretch
  1240.                     Tick.Image = "http://www.roblox.com/asset/?id=5554953789"
  1241.                     Tick.ImageColor3 = Theme.ChipSetAccent
  1242.                     Tick.ImageTransparency = 1
  1243.                     Tick.Size = UDim2.fromScale(1,1) - UDim2.fromOffset(10,10)
  1244.                     Tick.SizeConstraint = Enum.SizeConstraint.RelativeYY
  1245.                     Tick.Position = UDim2.fromOffset(5,5)
  1246.                     Tick.Parent = ChipItem
  1247.                    
  1248.                     local ChipLabel = Objects.new("Label")
  1249.                     ChipLabel.Size = BuildTable[Key] and (UDim2.fromScale(1,1) - UDim2.fromOffset(30)) or (UDim2.fromScale(1,1) - UDim2.fromOffset(5))
  1250.                     ChipLabel.Position = BuildTable[Key] and UDim2.fromOffset(30) or UDim2.fromOffset(5)
  1251.                     ChipLabel.Text = Key
  1252.                     ChipLabel.Font = Enum.Font.Gotham
  1253.                     ChipLabel.TextSize = 12
  1254.                     ChipLabel.TextColor3 = BuildTable[Key] and Theme.ChipSetAccent or Theme.ChipSet
  1255.                     ChipLabel.TextTransparency = 1
  1256.                     ChipLabel.Parent = ChipItem
  1257.                    
  1258.                     TweenService:Create(ChipItem, TweenInfo.new(0.5), {ImageTransparency = 0}):Play()
  1259.                     TweenService:Create(ChipShadow, TweenInfo.new(0.5), {ImageTransparency = 0.2}):Play()
  1260.                     TweenService:Create(Tick, TweenInfo.new(0.5), {ImageTransparency = BuildTable[Key] and 0 or 1}):Play()
  1261.                     TweenService:Create(ChipLabel, TweenInfo.new(0.5), {TextTransparency = 0}):Play()
  1262.                    
  1263.                     local ChipMenu
  1264.                    
  1265.                     if typeof(Value) == "table" then
  1266.                         local Menu = Value.Menu or {}
  1267.                        
  1268.                         local MenuAdded, MenuButton = TryAddMenu(ChipItem, Menu, {})
  1269.                        
  1270.                         MenuButton.ImageColor3 = BuildTable[Key] and Theme.ChipSetAccent or Theme.ChipSet
  1271.                        
  1272.                         ChipMenu = MenuButton
  1273.                     end
  1274.                    
  1275.                     ChipItem.MouseButton1Down:Connect(function()
  1276.                         BuildTable[Key] = not BuildTable[Key]
  1277.                         local Enabled = BuildTable[Key]
  1278.                         TweenService:Create(ChipItem, TweenInfo.new(0.15), {ImageColor3 = Enabled and Theme.ChipSet or Theme.ChipSetAccent}):Play()
  1279.                         TweenService:Create(ChipShadow, TweenInfo.new(0.15), {ImageColor3 = Enabled and Theme.ChipSet or Theme.ChipSetAccent}):Play()
  1280.                         TweenService:Create(Tick, TweenInfo.new(0.15), {ImageTransparency = Enabled and 0 or 1}):Play()
  1281.                         TweenService:Create(ChipLabel, TweenInfo.new(0.15), {TextColor3 = Enabled and Theme.ChipSetAccent or Theme.ChipSet, Position = Enabled and UDim2.fromOffset(30) or UDim2.fromOffset(5), Size = Enabled and (UDim2.fromScale(1,1) - UDim2.fromOffset(30)) or (UDim2.fromScale(1,1) - UDim2.fromOffset(5))}):Play()
  1282.                         if ChipMenu then
  1283.                             TweenService:Create(ChipMenu, TweenInfo.new(0.15), {ImageColor3 = Enabled and Theme.ChipSetAccent or Theme.ChipSet}):Play()
  1284.                         end
  1285.                         ChipSetCallback(BuildTable)
  1286.                     end)
  1287.                 end)
  1288.                
  1289.                 local ChipSetLibrary = {}
  1290.                
  1291.                 function ChipSetLibrary:SetOptions(NewMenu)
  1292.                     ChipSetOptions = NewMenu or {}
  1293.                    
  1294.                     TotalOptions = 0
  1295.            
  1296.                     table.foreach(ChipSetOptions, function()
  1297.                         TotalOptions += 1
  1298.                     end)
  1299.                    
  1300.                     for _, Element in next, ChipSet:GetChildren() do
  1301.                         Element:Destroy()
  1302.                     end
  1303.                    
  1304.                     Size = UDim2.fromScale(1,0) + UDim2.fromOffset(0,(TotalOptions*30)+((TotalOptions+1)*5))
  1305.                    
  1306.                     TweenService:Create(ChipSet, TweenInfo.new(0.15), {Size = Size}):Play()
  1307.                    
  1308.                     local ChipList = Objects.new("UIListLayout")
  1309.                     ChipList.SortOrder = Enum.SortOrder.LayoutOrder
  1310.                     ChipList.Padding = UDim.new(0,5)
  1311.                     ChipList.Parent = ChipSet
  1312.                    
  1313.                     local ChipPadding = Objects.new("UIPadding")
  1314.                     ChipPadding.PaddingBottom = UDim.new(0,5)
  1315.                     ChipPadding.PaddingTop = UDim.new(0,5)
  1316.                     ChipPadding.PaddingRight= UDim.new(0,5)
  1317.                     ChipPadding.PaddingLeft = UDim.new(0,5)
  1318.                     ChipPadding.Parent = ChipSet
  1319.                    
  1320.                     local BuildTable = {}
  1321.                    
  1322.                     table.foreach(ChipSetOptions, function(Key, Value)
  1323.                         if typeof(Value) == "table" then
  1324.                             BuildTable[Key] = Value.Enabled
  1325.                         else
  1326.                             BuildTable[Key] = Value
  1327.                         end
  1328.                     end)
  1329.                    
  1330.                     ChipSetCallback(BuildTable)
  1331.                    
  1332.                     TweenService:Create(ChipSet, TweenInfo.new(0.5), {ImageTransparency = 0.9}):Play()
  1333.                    
  1334.                     table.foreach(ChipSetOptions, function(Key, Value)
  1335.                         local ChipItem = Objects.new("SmoothButton")
  1336.                         ChipItem.Name = "ChipItem"
  1337.                         ChipItem.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(0,30)
  1338.                         ChipItem.ImageColor3 = BuildTable[Key] and Theme.ChipSet or Theme.ChipSetAccent
  1339.                         ChipItem.ImageTransparency = 1
  1340.                         ChipItem.Parent = ChipSet
  1341.                        
  1342.                         local ChipShadow = Objects.new("Shadow")
  1343.                         ChipShadow.ImageColor3 = BuildTable[Key] and Theme.ChipSet or Theme.ChipSetAccent
  1344.                         ChipShadow.ImageTransparency = 1
  1345.                         ChipShadow.Parent = ChipItem
  1346.                        
  1347.                         local Tick = Objects.new("Round")
  1348.                         Tick.ScaleType = Enum.ScaleType.Stretch
  1349.                         Tick.Image = "http://www.roblox.com/asset/?id=5554953789"
  1350.                         Tick.ImageColor3 = Theme.ChipSetAccent
  1351.                         Tick.ImageTransparency = 1
  1352.                         Tick.Size = UDim2.fromScale(1,1) - UDim2.fromOffset(10,10)
  1353.                         Tick.SizeConstraint = Enum.SizeConstraint.RelativeYY
  1354.                         Tick.Position = UDim2.fromOffset(5,5)
  1355.                         Tick.Parent = ChipItem
  1356.                        
  1357.                         local ChipLabel = Objects.new("Label")
  1358.                         ChipLabel.Size = BuildTable[Key] and (UDim2.fromScale(1,1) - UDim2.fromOffset(30)) or (UDim2.fromScale(1,1) - UDim2.fromOffset(5))
  1359.                         ChipLabel.Position = BuildTable[Key] and UDim2.fromOffset(30) or UDim2.fromOffset(5)
  1360.                         ChipLabel.Text = Key
  1361.                         ChipLabel.Font = Enum.Font.Gotham
  1362.                         ChipLabel.TextSize = 12
  1363.                         ChipLabel.TextColor3 = BuildTable[Key] and Theme.ChipSetAccent or Theme.ChipSet
  1364.                         ChipLabel.TextTransparency = 1
  1365.                         ChipLabel.Parent = ChipItem
  1366.                        
  1367.                         TweenService:Create(ChipItem, TweenInfo.new(0.5), {ImageTransparency = 0}):Play()
  1368.                         TweenService:Create(ChipShadow, TweenInfo.new(0.5), {ImageTransparency = 0.2}):Play()
  1369.                         TweenService:Create(Tick, TweenInfo.new(0.5), {ImageTransparency = BuildTable[Key] and 0 or 1}):Play()
  1370.                         TweenService:Create(ChipLabel, TweenInfo.new(0.5), {TextTransparency = 0}):Play()
  1371.                        
  1372.                         local ChipMenu
  1373.                        
  1374.                         if typeof(Value) == "table" then
  1375.                             local Menu = Value.Menu or {}
  1376.                            
  1377.                             local MenuAdded, MenuButton = TryAddMenu(ChipItem, Menu, {})
  1378.                            
  1379.                             MenuButton.ImageColor3 = BuildTable[Key] and Theme.ChipSetAccent or Theme.ChipSet
  1380.                            
  1381.                             ChipMenu = MenuButton
  1382.                         end
  1383.                        
  1384.                         ChipItem.MouseButton1Down:Connect(function()
  1385.                             BuildTable[Key] = not BuildTable[Key]
  1386.                             local Enabled = BuildTable[Key]
  1387.                             TweenService:Create(ChipItem, TweenInfo.new(0.15), {ImageColor3 = Enabled and Theme.ChipSet or Theme.ChipSetAccent}):Play()
  1388.                             TweenService:Create(ChipShadow, TweenInfo.new(0.15), {ImageColor3 = Enabled and Theme.ChipSet or Theme.ChipSetAccent}):Play()
  1389.                             TweenService:Create(Tick, TweenInfo.new(0.15), {ImageTransparency = Enabled and 0 or 1}):Play()
  1390.                             TweenService:Create(ChipLabel, TweenInfo.new(0.15), {TextColor3 = Enabled and Theme.ChipSetAccent or Theme.ChipSet, Position = Enabled and UDim2.fromOffset(30) or UDim2.fromOffset(5), Size = Enabled and (UDim2.fromScale(1,1) - UDim2.fromOffset(30)) or (UDim2.fromScale(1,1) - UDim2.fromOffset(5))}):Play()
  1391.                             if ChipMenu then
  1392.                                 TweenService:Create(ChipMenu, TweenInfo.new(0.15), {ImageColor3 = Enabled and Theme.ChipSetAccent or Theme.ChipSet}):Play()
  1393.                             end
  1394.                             ChipSetCallback(BuildTable)
  1395.                         end)
  1396.                     end)
  1397.                 end
  1398.                
  1399.                 function ChipSetLibrary:GetOptions()
  1400.                     return ChipSetOptions
  1401.                 end
  1402.                
  1403.                 return ChipSetLibrary
  1404.             end
  1405.         end
  1406.        
  1407.         function OptionLibrary.DataTable(DataTableConfig)
  1408.             local DataTableText = DataTableConfig.Text or "nil chipset"
  1409.             local DataTableCallback = DataTableConfig.Callback or function() print("nil chipset") end
  1410.             local DataTableOptions = DataTableConfig.Options or {}
  1411.            
  1412.             local TotalOptions = 0
  1413.            
  1414.             table.foreach(DataTableOptions, function()
  1415.                 TotalOptions += 1
  1416.             end)
  1417.            
  1418.             if TotalOptions > 0 then
  1419.                
  1420.                 local Size = UDim2.fromScale(1,0) + UDim2.fromOffset(0,(TotalOptions*30)+((TotalOptions+1)*5))
  1421.                
  1422.                 local DataTable = Objects.new("Round")
  1423.                 DataTable.Name = "DataTable"
  1424.                 DataTable.Size = Size
  1425.                 DataTable.ImageColor3 = Theme.DataTable
  1426.                 DataTable.ImageTransparency = 1
  1427.                 DataTable.Parent = PageContentFrame
  1428.                
  1429.                 local DataShadow = Objects.new("Shadow")
  1430.                 DataShadow.ImageColor3 = Theme.DataTable
  1431.                 DataShadow.ImageTransparency = 1
  1432.                 DataShadow.Parent = DataTable
  1433.                
  1434.                 local DataContainer = Objects.new("Frame")
  1435.                 DataContainer.Name = "Container"
  1436.                 DataContainer.Parent = DataTable
  1437.                
  1438.                 local DataList = Objects.new("UIListLayout")
  1439.                 DataList.SortOrder = Enum.SortOrder.LayoutOrder
  1440.                 DataList.Padding = UDim.new(0,5)
  1441.                 DataList.Parent = DataContainer
  1442.                
  1443.                 local DataPadding = Objects.new("UIPadding")
  1444.                 DataPadding.PaddingBottom = UDim.new(0,5)
  1445.                 DataPadding.PaddingTop = UDim.new(0,5)
  1446.                 DataPadding.PaddingRight= UDim.new(0,5)
  1447.                 DataPadding.PaddingLeft = UDim.new(0,5)
  1448.                 DataPadding.Parent = DataContainer
  1449.                
  1450.                 local BuildTable = {}
  1451.                
  1452.                 table.foreach(DataTableOptions, function(Key, Value)
  1453.                     if typeof(Value) == "table" then
  1454.                         BuildTable[Key] = Value.Enabled
  1455.                     else
  1456.                         BuildTable[Key] = Value
  1457.                     end
  1458.                 end)
  1459.                
  1460.                 DataTableCallback(BuildTable)
  1461.                
  1462.                 TweenService:Create(DataTable, TweenInfo.new(0.5), {ImageTransparency = 0.9}):Play()
  1463.                 TweenService:Create(DataShadow, TweenInfo.new(0.5), {ImageTransparency = 0.8}):Play()
  1464.                
  1465.                 table.foreach(DataTableOptions, function(Key, Value)
  1466.                     local DataItem = Objects.new("SmoothButton")
  1467.                     DataItem.Name = "DataItem"
  1468.                     DataItem.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(0,30)
  1469.                     DataItem.ImageColor3 = BuildTable[Key] and Theme.DataTable or Theme.DataTableAccent
  1470.                     DataItem.ImageTransparency = 1
  1471.                     DataItem.Parent = DataContainer
  1472.                    
  1473.                     local DataTracker = Objects.new("Round")
  1474.                     DataTracker.Name = "Tracker"
  1475.                     DataTracker.Size = UDim2.fromOffset(24,24)
  1476.                     DataTracker.Position = UDim2.fromScale(0,0.5) + UDim2.fromOffset(3,-12)
  1477.                     DataTracker.ImageColor3 = Theme.DataTable
  1478.                     DataTracker.ImageTransparency = 1
  1479.                     DataTracker.Parent = DataItem
  1480.                    
  1481.                     local Tick = Objects.new("Round")
  1482.                     Tick.Name = "Tick"
  1483.                     Tick.ScaleType = Enum.ScaleType.Stretch
  1484.                     Tick.Image = "http://www.roblox.com/asset/?id=5554953789"
  1485.                     Tick.ImageColor3 = Theme.DataTableAccent
  1486.                     Tick.ImageTransparency = 1
  1487.                     Tick.Size = UDim2.fromScale(1,1) - UDim2.fromOffset(4,4)
  1488.                     Tick.SizeConstraint = Enum.SizeConstraint.RelativeYY
  1489.                     Tick.Position = UDim2.fromOffset(2,2)
  1490.                     Tick.Parent = DataTracker
  1491.                    
  1492.                     local DataLabel = Objects.new("Label")
  1493.                     DataLabel.Name = "Value"
  1494.                     DataLabel.Size = (UDim2.fromScale(1,1) - UDim2.fromOffset(30))
  1495.                     DataLabel.Position = UDim2.fromOffset(30) or UDim2.fromOffset(5)
  1496.                     DataLabel.Text = Key
  1497.                     DataLabel.Font = Enum.Font.Gotham
  1498.                     DataLabel.TextSize = 14
  1499.                     DataLabel.TextColor3 = Theme.DataTable
  1500.                     DataLabel.TextTransparency = 1
  1501.                     DataLabel.Parent = DataItem
  1502.                    
  1503.                     TweenService:Create(DataItem, TweenInfo.new(0.5), {ImageTransparency = BuildTable[Key] and 0.8 or 0}):Play()
  1504.                     TweenService:Create(DataTracker, TweenInfo.new(0.5), {ImageTransparency = BuildTable[Key] and 0 or 0.8}):Play()
  1505.                     TweenService:Create(Tick, TweenInfo.new(0.5), {ImageTransparency = BuildTable[Key] and 0 or 0.7}):Play()
  1506.                     TweenService:Create(DataLabel, TweenInfo.new(0.5), {TextTransparency = 0}):Play()
  1507.                    
  1508.                     local DataMenu
  1509.                    
  1510.                     if typeof(Value) == "table" then
  1511.                         local Menu = Value.Menu or {}
  1512.                        
  1513.                         local MenuAdded, MenuButton = TryAddMenu(DataItem, Menu, {})
  1514.                        
  1515.                         MenuButton.ImageColor3 = Theme.DataTable
  1516.                        
  1517.                         DataMenu = MenuButton
  1518.                     end
  1519.                    
  1520.                     DataItem.MouseButton1Down:Connect(function()
  1521.                         BuildTable[Key] = not BuildTable[Key]
  1522.                         local Enabled = BuildTable[Key]
  1523.                         TweenService:Create(DataItem, TweenInfo.new(0.15), {ImageTransparency = Enabled and 0.8 or 0, ImageColor3 = Enabled and Theme.DataTable or Theme.DataTableAccent}):Play()
  1524.                         TweenService:Create(Tick, TweenInfo.new(0.15), {ImageTransparency = Enabled and 0 or 0.7}):Play()
  1525.                         TweenService:Create(DataTracker, TweenInfo.new(0.15), {ImageTransparency = Enabled and 0 or 0.8}):Play()
  1526.                         DataTableCallback(BuildTable)
  1527.                     end)
  1528.                 end)
  1529.                
  1530.                 local DataTableLibrary = {}
  1531.                
  1532.                 function DataTableLibrary:SetOptions(NewMenu)
  1533.                     if DataContainer then
  1534.                         DataContainer:Destroy()
  1535.                     end
  1536.                    
  1537.                     DataTableOptions = NewMenu or {}
  1538.            
  1539.                     TotalOptions = 0
  1540.                    
  1541.                     table.foreach(DataTableOptions, function()
  1542.                         TotalOptions += 1
  1543.                     end)
  1544.                    
  1545.                     Size = UDim2.fromScale(1,0) + UDim2.fromOffset(0,(TotalOptions*30)+((TotalOptions+1)*5))
  1546.                    
  1547.                     DataTable.Size = Size
  1548.                    
  1549.                     DataContainer = Objects.new("Frame")
  1550.                     DataContainer.Name = "Container"
  1551.                     DataContainer.Parent = DataTable
  1552.                    
  1553.                     local DataList = Objects.new("UIListLayout")
  1554.                     DataList.SortOrder = Enum.SortOrder.LayoutOrder
  1555.                     DataList.Padding = UDim.new(0,5)
  1556.                     DataList.Parent = DataContainer
  1557.                    
  1558.                     local DataPadding = Objects.new("UIPadding")
  1559.                     DataPadding.PaddingBottom = UDim.new(0,5)
  1560.                     DataPadding.PaddingTop = UDim.new(0,5)
  1561.                     DataPadding.PaddingRight= UDim.new(0,5)
  1562.                     DataPadding.PaddingLeft = UDim.new(0,5)
  1563.                     DataPadding.Parent = DataContainer
  1564.                    
  1565.                     local BuildTable = {}
  1566.                    
  1567.                     table.foreach(DataTableOptions, function(Key, Value)
  1568.                         if typeof(Value) == "table" then
  1569.                             BuildTable[Key] = Value.Enabled
  1570.                         else
  1571.                             BuildTable[Key] = Value
  1572.                         end
  1573.                     end)
  1574.                    
  1575.                     DataTableCallback(BuildTable)
  1576.                    
  1577.                     TweenService:Create(DataTable, TweenInfo.new(0.5), {ImageTransparency = 0.9}):Play()
  1578.                     TweenService:Create(DataShadow, TweenInfo.new(0.5), {ImageTransparency = 0.8}):Play()
  1579.                    
  1580.                     table.foreach(DataTableOptions, function(Key, Value)
  1581.                         local DataItem = Objects.new("SmoothButton")
  1582.                         DataItem.Name = "DataItem"
  1583.                         DataItem.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(0,30)
  1584.                         DataItem.ImageColor3 = BuildTable[Key] and Theme.DataTable or Theme.DataTableAccent
  1585.                         DataItem.ImageTransparency = 1
  1586.                         DataItem.Parent = DataContainer
  1587.                        
  1588.                         local DataTracker = Objects.new("Round")
  1589.                         DataTracker.Name = "Tracker"
  1590.                         DataTracker.Size = UDim2.fromOffset(24,24)
  1591.                         DataTracker.Position = UDim2.fromScale(0,0.5) + UDim2.fromOffset(3,-12)
  1592.                         DataTracker.ImageColor3 = Theme.DataTable
  1593.                         DataTracker.ImageTransparency = 1
  1594.                         DataTracker.Parent = DataItem
  1595.                        
  1596.                         local Tick = Objects.new("Round")
  1597.                         Tick.Name = "Tick"
  1598.                         Tick.ScaleType = Enum.ScaleType.Stretch
  1599.                         Tick.Image = "http://www.roblox.com/asset/?id=5554953789"
  1600.                         Tick.ImageColor3 = Theme.DataTableAccent
  1601.                         Tick.ImageTransparency = 1
  1602.                         Tick.Size = UDim2.fromScale(1,1) - UDim2.fromOffset(4,4)
  1603.                         Tick.SizeConstraint = Enum.SizeConstraint.RelativeYY
  1604.                         Tick.Position = UDim2.fromOffset(2,2)
  1605.                         Tick.Parent = DataTracker
  1606.                        
  1607.                         local DataLabel = Objects.new("Label")
  1608.                         DataLabel.Name = "Value"
  1609.                         DataLabel.Size = (UDim2.fromScale(1,1) - UDim2.fromOffset(30))
  1610.                         DataLabel.Position = UDim2.fromOffset(30) or UDim2.fromOffset(5)
  1611.                         DataLabel.Text = Key
  1612.                         DataLabel.Font = Enum.Font.Gotham
  1613.                         DataLabel.TextSize = 14
  1614.                         DataLabel.TextColor3 = Theme.DataTable
  1615.                         DataLabel.TextTransparency = 1
  1616.                         DataLabel.Parent = DataItem
  1617.                        
  1618.                         TweenService:Create(DataItem, TweenInfo.new(0.5), {ImageTransparency = BuildTable[Key] and 0.8 or 0}):Play()
  1619.                         TweenService:Create(DataTracker, TweenInfo.new(0.5), {ImageTransparency = BuildTable[Key] and 0 or 0.8}):Play()
  1620.                         TweenService:Create(Tick, TweenInfo.new(0.5), {ImageTransparency = BuildTable[Key] and 0 or 0.7}):Play()
  1621.                         TweenService:Create(DataLabel, TweenInfo.new(0.5), {TextTransparency = 0}):Play()
  1622.                        
  1623.                         local DataMenu
  1624.                        
  1625.                         if typeof(Value) == "table" then
  1626.                             local Menu = Value.Menu or {}
  1627.                            
  1628.                             local MenuAdded, MenuButton = TryAddMenu(DataItem, Menu, {})
  1629.                            
  1630.                             MenuButton.ImageColor3 = Theme.DataTable
  1631.                            
  1632.                             DataMenu = MenuButton
  1633.                         end
  1634.                        
  1635.                         DataItem.MouseButton1Down:Connect(function()
  1636.                             BuildTable[Key] = not BuildTable[Key]
  1637.                             local Enabled = BuildTable[Key]
  1638.                             TweenService:Create(DataItem, TweenInfo.new(0.15), {ImageTransparency = Enabled and 0.8 or 0, ImageColor3 = Enabled and Theme.DataTable or Theme.DataTableAccent}):Play()
  1639.                             TweenService:Create(Tick, TweenInfo.new(0.15), {ImageTransparency = Enabled and 0 or 0.7}):Play()
  1640.                             TweenService:Create(DataTracker, TweenInfo.new(0.15), {ImageTransparency = Enabled and 0 or 0.8}):Play()
  1641.                             DataTableCallback(BuildTable)
  1642.                         end)
  1643.                     end)
  1644.                 end
  1645.                
  1646.                 function DataTableLibrary:GetOptions()
  1647.                     return DataTableOptions
  1648.                 end
  1649.                
  1650.                 return DataTableLibrary
  1651.             end
  1652.         end
  1653.        
  1654.         function OptionLibrary.ColorPicker(ColorPickerConfig)
  1655.             local ColorPickerText = ColorPickerConfig.Text or "nil color picker"
  1656.             local ColorPickerCallback = ColorPickerConfig.Callback or function() print("nil color picker") end
  1657.             local ColorPickerDefault = ColorPickerConfig.Default or Color3.fromRGB(255,255,255)
  1658.             local ColorPickerMenu = ColorPickerConfig.Menu or {}
  1659.             local ColorPickerToggle = false
  1660.            
  1661.             local H, S, V = Objects.new("NumberValue"), Objects.new("NumberValue"), Objects.new("NumberValue")
  1662.            
  1663.             H.Value, S.Value, V.Value = Color3.toHSV(ColorPickerDefault)
  1664.            
  1665.             local ColorPicker = Objects.new("SmoothButton")
  1666.             ColorPicker.Name = "ColorPicker"
  1667.             ColorPicker.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(0,40)
  1668.             ColorPicker.ImageColor3 = Theme.ColorPicker
  1669.             ColorPicker.ImageTransparency = 1
  1670.             ColorPicker.ClipsDescendants = true
  1671.             ColorPicker.Parent = PageContentFrame
  1672.            
  1673.             ColorPicker.MouseButton1Down:Connect(function()
  1674.                 ColorPickerToggle = not ColorPickerToggle
  1675.                 TweenService:Create(ColorPicker, TweenInfo.new(0.15), {Size = UDim2.fromScale(1,0) + (ColorPickerToggle and UDim2.fromOffset(0,115) or UDim2.fromOffset(0,40))}):Play()
  1676.             end)
  1677.            
  1678.             local ColorBar = Objects.new("Round")
  1679.             ColorBar.Name = "TitleBar"
  1680.             ColorBar.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(-10,30)
  1681.             ColorBar.Position = UDim2.fromOffset(5,5)
  1682.             ColorBar.ImageColor3 = Theme.ColorPickerAccent
  1683.             ColorBar.ImageTransparency = 1
  1684.             ColorBar.Parent = ColorPicker
  1685.            
  1686.             local ColorShadow = Objects.new("Shadow")
  1687.             ColorShadow.ImageColor3 = Theme.ColorPickerAccent
  1688.             ColorShadow.ImageTransparency = 1
  1689.             ColorShadow.Parent = ColorBar
  1690.            
  1691.             local ColorLabel = Objects.new("Label")
  1692.             ColorLabel.Name = "Title"
  1693.             ColorLabel.Font = Enum.Font.GothamSemibold
  1694.             ColorLabel.TextColor3 = Theme.ColorPickerAccent
  1695.             ColorLabel.TextSize = 14
  1696.             ColorLabel.Text = ColorPickerText
  1697.             ColorLabel.TextTransparency = 1
  1698.             ColorLabel.Parent = ColorBar
  1699.            
  1700.             local ColorTracker = Objects.new("Round")
  1701.             ColorTracker.Name = "Tracker"
  1702.             ColorTracker.Size = UDim2.fromOffset(50,20)
  1703.             ColorTracker.Position = UDim2.fromScale(1,0) + UDim2.fromOffset(-55,5)
  1704.             ColorTracker.ImageColor3 = ColorPickerDefault
  1705.             ColorTracker.ImageTransparency = 1
  1706.             ColorTracker.Parent = ColorBar
  1707.            
  1708.             local TrackerShadow = Objects.new("Shadow")
  1709.             TrackerShadow.ImageColor3 = ColorTracker.ImageColor3
  1710.             TrackerShadow.ImageTransparency = 1
  1711.             TrackerShadow.Parent = ColorTracker
  1712.            
  1713.             ColorTracker:GetPropertyChangedSignal("ImageColor3"):Connect(function()
  1714.                 TrackerShadow.ImageColor3 = ColorTracker.ImageColor3
  1715.             end)
  1716.            
  1717.             local Hue = Objects.new("Round")
  1718.             Hue.Name = "Container"
  1719.             Hue.Position = UDim2.fromOffset(5,40)
  1720.             Hue.Size = UDim2.fromOffset(25,20)
  1721.             Hue.ImageColor3 = Theme.ColorPickerAccent
  1722.             Hue.ImageTransparency = 0.8
  1723.             Hue.Parent = ColorPicker
  1724.            
  1725.             local Saturation = Hue:Clone()
  1726.             Saturation.Position += UDim2.fromOffset(0,25)
  1727.             Saturation.Parent = ColorPicker
  1728.            
  1729.             local Value = Saturation:Clone()
  1730.             Value.Position += UDim2.fromOffset(0,25)
  1731.             Value.Parent = ColorPicker
  1732.            
  1733.             local HueLabel = Objects.new("Label")
  1734.             HueLabel.Name = "Label"
  1735.             HueLabel.TextXAlignment = Enum.TextXAlignment.Center
  1736.             HueLabel.Position = UDim2.fromScale(0,0)
  1737.             HueLabel.Size = UDim2.fromScale(1,1)
  1738.             HueLabel.Text = "H"
  1739.             HueLabel.TextColor3 = Theme.ColorPickerAccent
  1740.             HueLabel.TextSize = 12
  1741.             HueLabel.Font = Enum.Font.GothamBold
  1742.             HueLabel.TextTransparency = 1
  1743.             HueLabel.Parent = Hue
  1744.            
  1745.             local SaturationLabel = HueLabel:Clone()
  1746.             SaturationLabel.Text = "S"
  1747.             SaturationLabel.Parent = Saturation
  1748.            
  1749.             local ValueLabel = HueLabel:Clone()
  1750.             ValueLabel.Text = "V"
  1751.             ValueLabel.Parent = Value
  1752.            
  1753.             local function CSK(T,C)
  1754.                 return ColorSequenceKeypoint.new(T,C)
  1755.             end
  1756.            
  1757.             local RainbowGradient = Objects.new("UIGradient")
  1758.             RainbowGradient.Color = ColorSequence.new({
  1759.                 CSK(0, Color3.fromRGB(255,0,0)),
  1760.                 CSK(0.157, Color3.fromRGB(255,0,255)),
  1761.                 CSK(0.323, Color3.fromRGB(0,0,255)),
  1762.                 CSK(0.488, Color3.fromRGB(0,255,255)),
  1763.                 CSK(0.66, Color3.fromRGB(0,255,0)),
  1764.                 CSK(0.817, Color3.fromRGB(255,255,0)),
  1765.                 CSK(1, Color3.fromRGB(255,0,0))
  1766.             })
  1767.            
  1768.             local BlackWhiteGradient = Objects.new("UIGradient")
  1769.             BlackWhiteGradient.Color = ColorSequence.new(
  1770.                 Color3.new(1,1,1),
  1771.                 Color3.new(0,0,0)
  1772.             )
  1773.            
  1774.             local SaturationGradient = Objects.new("UIGradient")
  1775.             SaturationGradient.Color = ColorSequence.new(
  1776.                 Color3.fromHSV(H.Value,1,V.Value),
  1777.                 Color3.new(0,0,0):Lerp(Color3.fromRGB(255,255,255), V.Value)
  1778.             )
  1779.            
  1780.             local HueTracker = Objects.new("SmoothButton")
  1781.             HueTracker.Name = "Tracker"
  1782.             HueTracker.ImageColor3 = Color3.fromRGB(255,255,255)
  1783.             HueTracker.ImageTransparency = 1
  1784.             HueTracker.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(-40,20)
  1785.             HueTracker.Position = UDim2.fromOffset(35,40)
  1786.             HueTracker.Parent = ColorPicker
  1787.            
  1788.             local SaturationTracker = HueTracker:Clone()
  1789.             SaturationTracker.Position += UDim2.fromOffset(0,25)
  1790.             SaturationTracker.Parent = ColorPicker
  1791.            
  1792.             local ValueTracker = SaturationTracker:Clone()
  1793.             ValueTracker.Position += UDim2.fromOffset(0,25)
  1794.             ValueTracker.Parent = ColorPicker
  1795.            
  1796.             local HueShadow = Objects.new("Shadow")
  1797.             HueShadow.ImageColor3 = Color3.fromRGB(255,255,255)
  1798.             HueShadow.ImageTransparency = 1
  1799.             HueShadow.Parent = HueTracker
  1800.            
  1801.             local SaturationShadow = HueShadow:Clone()
  1802.             SaturationShadow.Parent = SaturationTracker
  1803.            
  1804.             local ValueShadow = HueShadow:Clone()
  1805.             ValueShadow.Parent = ValueTracker
  1806.            
  1807.             local HueGrad = RainbowGradient:Clone()
  1808.             HueGrad.Parent = HueTracker
  1809.             local HueShadowGrad = RainbowGradient:Clone()
  1810.             HueShadowGrad.Parent = HueShadow
  1811.            
  1812.             local ValueGrad = BlackWhiteGradient:Clone()
  1813.             ValueGrad.Parent = ValueTracker
  1814.             local ValueShadowGrad = BlackWhiteGradient:Clone()
  1815.             ValueShadowGrad.Parent = ValueShadow
  1816.            
  1817.             local SaturationGrad = SaturationGradient:Clone()
  1818.             SaturationGrad.Parent = SaturationTracker
  1819.             local SaturationShadowGrad = SaturationGradient:Clone()
  1820.             SaturationShadowGrad.Parent = SaturationShadow
  1821.            
  1822.             TweenService:Create(ColorPicker, TweenInfo.new(0.5), {ImageTransparency = 0.5}):Play()
  1823.             TweenService:Create(ColorBar, TweenInfo.new(0.5), {ImageTransparency = 0.8}):Play()
  1824.             TweenService:Create(ColorShadow, TweenInfo.new(0.5), {ImageTransparency = 0.5}):Play()
  1825.             TweenService:Create(ColorLabel, TweenInfo.new(0.5), {TextTransparency = 0}):Play()
  1826.             TweenService:Create(HueLabel, TweenInfo.new(0.5), {TextTransparency = 0}):Play()
  1827.             TweenService:Create(SaturationLabel, TweenInfo.new(0.5), {TextTransparency = 0}):Play()
  1828.             TweenService:Create(ValueLabel, TweenInfo.new(0.5), {TextTransparency = 0}):Play()
  1829.             TweenService:Create(ColorTracker, TweenInfo.new(0.5), {ImageTransparency = 0}):Play()
  1830.             TweenService:Create(TrackerShadow, TweenInfo.new(0.5), {ImageTransparency = 0.2}):Play()
  1831.             TweenService:Create(HueTracker, TweenInfo.new(0.5), {ImageTransparency = 0}):Play()
  1832.             TweenService:Create(ValueTracker, TweenInfo.new(0.5), {ImageTransparency = 0}):Play()
  1833.             TweenService:Create(SaturationTracker, TweenInfo.new(0.5), {ImageTransparency = 0}):Play()
  1834.             TweenService:Create(HueShadow, TweenInfo.new(0.5), {ImageTransparency = 0}):Play()
  1835.             TweenService:Create(SaturationShadow, TweenInfo.new(0.5), {ImageTransparency = 0}):Play()
  1836.             TweenService:Create(ValueShadow, TweenInfo.new(0.5), {ImageTransparency = 0}):Play()
  1837.            
  1838.             H:GetPropertyChangedSignal("Value"):Connect(function()
  1839.                 ColorTracker.ImageColor3 = Color3.fromHSV(H.Value,S.Value,V.Value)
  1840.                 SaturationGrad.Color = ColorSequence.new(
  1841.                     Color3.fromHSV(H.Value,1,V.Value),
  1842.                     Color3.fromRGB(0,0,0):Lerp(Color3.fromRGB(255,255,255),V.Value)
  1843.                 )
  1844.                 SaturationShadowGrad.Color = ColorSequence.new(
  1845.                     Color3.fromHSV(H.Value,1,V.Value),
  1846.                     Color3.fromRGB(0,0,0):Lerp(Color3.fromRGB(255,255,255),V.Value)
  1847.                 )
  1848.             end)
  1849.            
  1850.             S:GetPropertyChangedSignal("Value"):Connect(function()
  1851.                 ColorTracker.ImageColor3 = Color3.fromHSV(H.Value,S.Value,V.Value)
  1852.                 SaturationGrad.Color = ColorSequence.new(
  1853.                     Color3.fromHSV(H.Value,1,V.Value),
  1854.                     Color3.fromRGB(0,0,0):Lerp(Color3.fromRGB(255,255,255),V.Value)
  1855.                 )
  1856.                 SaturationShadowGrad.Color = ColorSequence.new(
  1857.                     Color3.fromHSV(H.Value,1,V.Value),
  1858.                     Color3.fromRGB(0,0,0):Lerp(Color3.fromRGB(255,255,255),V.Value)
  1859.                 )
  1860.             end)
  1861.            
  1862.             V:GetPropertyChangedSignal("Value"):Connect(function()
  1863.                 ColorTracker.ImageColor3 = Color3.fromHSV(H.Value,S.Value,V.Value)
  1864.                 SaturationGrad.Color = ColorSequence.new(
  1865.                     Color3.fromHSV(H.Value,1,V.Value),
  1866.                     Color3.fromRGB(0,0,0):Lerp(Color3.fromRGB(255,255,255),V.Value)
  1867.                 )
  1868.                 SaturationShadowGrad.Color = ColorSequence.new(
  1869.                     Color3.fromHSV(H.Value,1,V.Value),
  1870.                     Color3.fromRGB(0,0,0):Lerp(Color3.fromRGB(255,255,255),V.Value)
  1871.                 )
  1872.             end)
  1873.            
  1874.             HueTracker.MouseButton1Down:Connect(function()
  1875.                 H.Value = 1 - GetXY(HueTracker)
  1876.                 local MouseMove, MouseKill
  1877.                 MouseMove = Mouse.Move:Connect(function()
  1878.                     H.Value = 1 - GetXY(HueTracker)
  1879.                 end)
  1880.                 MouseKill = InputService.InputEnded:Connect(function(UserInput)
  1881.                     if UserInput.UserInputType == Enum.UserInputType.MouseButton1 then
  1882.                         MouseMove:Disconnect()
  1883.                         MouseKill:Disconnect()
  1884.                     end
  1885.                 end)
  1886.             end)
  1887.            
  1888.             ValueTracker.MouseButton1Down:Connect(function()
  1889.                 V.Value = 1 - GetXY(HueTracker)
  1890.                 local MouseMove, MouseKill
  1891.                 MouseMove = Mouse.Move:Connect(function()
  1892.                     V.Value = 1 - GetXY(HueTracker)
  1893.                 end)
  1894.                 MouseKill = InputService.InputEnded:Connect(function(UserInput)
  1895.                     if UserInput.UserInputType == Enum.UserInputType.MouseButton1 then
  1896.                         MouseMove:Disconnect()
  1897.                         MouseKill:Disconnect()
  1898.                     end
  1899.                 end)
  1900.             end)
  1901.            
  1902.             SaturationTracker.MouseButton1Down:Connect(function()
  1903.                 S.Value = 1 - GetXY(HueTracker)
  1904.                 local MouseMove, MouseKill
  1905.                 MouseMove = Mouse.Move:Connect(function()
  1906.                     S.Value = 1 - GetXY(HueTracker)
  1907.                 end)
  1908.                 MouseKill = InputService.InputEnded:Connect(function(UserInput)
  1909.                     if UserInput.UserInputType == Enum.UserInputType.MouseButton1 then
  1910.                         MouseMove:Disconnect()
  1911.                         MouseKill:Disconnect()
  1912.                     end
  1913.                 end)
  1914.             end)
  1915.            
  1916.             local MenuAdded, MenuButton = TryAddMenu(ColorLabel, ColorPickerMenu, {})
  1917.            
  1918.             if MenuAdded then
  1919.                 ColorTracker.Position -= UDim2.fromOffset(25,0)
  1920.                 MenuButton.ImageColor3 = Theme.ColorPickerAccent
  1921.             end
  1922.            
  1923.             local ColorPickerLibrary = {}
  1924.            
  1925.             function ColorPickerLibrary:SetText(Value)
  1926.                 ColorLabel.Text = Value
  1927.             end
  1928.            
  1929.             function ColorPickerLibrary:GetText()
  1930.                 return ColorLabel.Text
  1931.             end
  1932.            
  1933.             function ColorPickerLibrary:SetColor(Value)
  1934.                 H.Value, S.Value, V.Value = Color3.toHSV(Value)
  1935.             end
  1936.            
  1937.             function ColorPickerLibrary:GetColor()
  1938.                 return ColorTracker.ImageColor3
  1939.             end
  1940.            
  1941.             return ColorPickerLibrary
  1942.         end
  1943.        
  1944.         function OptionLibrary.Toggle(ToggleConfig)
  1945.             local ToggleText = ToggleConfig.Text or "nil toggle"
  1946.             local ToggleCallback = ToggleConfig.Callback or function() print("nil toggle") end
  1947.             local ToggleDefault = ToggleConfig.Enabled or false
  1948.             local Menu = ToggleConfig.Menu or {}
  1949.            
  1950.             local Toggle = Objects.new("SmoothButton")
  1951.             Toggle.Name = "Toggle"
  1952.             Toggle.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(0,30)
  1953.             Toggle.ImageColor3 = Theme.Toggle
  1954.             Toggle.ImageTransparency = 1
  1955.             Toggle.Parent = PageContentFrame
  1956.            
  1957.             local ToggleTracker = Objects.new("Round")
  1958.             ToggleTracker.Name = "Tracker"
  1959.             ToggleTracker.Image = "rbxassetid://3570695787"
  1960.             ToggleTracker.SliceCenter = Rect.new(100,100,100,100)
  1961.             ToggleTracker.SliceScale = 1
  1962.             ToggleTracker.Size = UDim2.fromOffset(26,12)
  1963.             ToggleTracker.Position = UDim2.fromScale(1,0.5) - UDim2.fromOffset(41,6)
  1964.             ToggleTracker.ImageColor3 = Theme.Toggle
  1965.             ToggleTracker.ImageTransparency = 1
  1966.             ToggleTracker.Parent = Toggle
  1967.            
  1968.             local Dot = Objects.new("Circle")
  1969.             Dot.Name = "Dot"
  1970.             Dot.Size = UDim2.fromOffset(16,16)
  1971.             Dot.Position = UDim2.fromScale(0,0.5) - UDim2.fromOffset(8,8)
  1972.             Dot.ImageColor3 = Theme.ToggleAccent
  1973.             Dot.ImageTransparency = 1
  1974.             Dot.Parent = ToggleTracker
  1975.            
  1976.             local DotShadow = Objects.new("Round")
  1977.             DotShadow.Name = "Shadow"
  1978.             DotShadow.Image = "http://www.roblox.com/asset/?id=5554831957"
  1979.             DotShadow.ScaleType = Enum.ScaleType.Stretch
  1980.             DotShadow.Size = UDim2.fromOffset(31,31)
  1981.             DotShadow.Position = UDim2.fromOffset(-8,-8)
  1982.             DotShadow.ImageColor3 = Theme.Toggle
  1983.             DotShadow.ImageTransparency = 1
  1984.             DotShadow.Parent = Dot
  1985.            
  1986.             local ToggleLabel = Objects.new("Label")
  1987.             ToggleLabel.Font = Enum.Font.GothamSemibold
  1988.             ToggleLabel.TextSize = 14
  1989.             ToggleLabel.Text = ToggleText
  1990.             ToggleLabel.TextColor3 = Theme.Toggle
  1991.             ToggleLabel.TextTransparency = 1
  1992.             ToggleLabel.ClipsDescendants = true
  1993.             ToggleLabel.Parent = Toggle
  1994.            
  1995.             TweenService:Create(Toggle, TweenInfo.new(0.5), {ImageTransparency = 0.8}):Play()
  1996.             TweenService:Create(ToggleTracker, TweenInfo.new(0.5), {ImageTransparency = 0.5}):Play()
  1997.             TweenService:Create(Dot, TweenInfo.new(0.5), {ImageTransparency = 0}):Play()
  1998.             TweenService:Create(DotShadow, TweenInfo.new(0.5), {ImageTransparency = 0.5}):Play()
  1999.             TweenService:Create(ToggleLabel, TweenInfo.new(0.5), {TextTransparency = 0}):Play()
  2000.            
  2001.             TweenService:Create(Dot, TweenInfo.new(0.15), {Position = (ToggleDefault and UDim2.fromScale(1,0.5) or UDim2.fromScale(0,0.5)) - UDim2.fromOffset(8,8), ImageColor3 = ToggleDefault and Theme.Toggle or Theme.ToggleAccent}):Play()
  2002.             ToggleCallback(ToggleDefault)
  2003.            
  2004.             Toggle.MouseButton1Down:Connect(function()
  2005.                 ToggleDefault = not ToggleDefault
  2006.                 TweenService:Create(Dot, TweenInfo.new(0.15), {Position = (ToggleDefault and UDim2.fromScale(1,0.5) or UDim2.fromScale(0,0.5)) - UDim2.fromOffset(8,8), ImageColor3 = ToggleDefault and Theme.Toggle or Theme.ToggleAccent}):Play()
  2007.                 ToggleCallback(ToggleDefault)
  2008.                 CircleAnim(ToggleLabel, Theme.ToggleAccent, Theme.Toggle)
  2009.             end)
  2010.            
  2011.             local MenuAdded, MenuButton = TryAddMenu(Toggle, Menu, {})
  2012.            
  2013.             if MenuAdded then
  2014.                 ToggleTracker.Position -= UDim2.fromOffset(15,0)
  2015.                 MenuButton.ImageColor3 = Theme.Toggle
  2016.             end
  2017.            
  2018.             local ToggleLibrary = {}
  2019.            
  2020.             function ToggleLibrary:SetText(Value)
  2021.                 ToggleLabel.Text = Value
  2022.             end
  2023.            
  2024.             function ToggleLibrary:GetText()
  2025.                 return ToggleLabel.Text
  2026.             end
  2027.            
  2028.             function ToggleLibrary:SetState(Value)
  2029.                 ToggleDefault = Value
  2030.                 TweenService:Create(Dot, TweenInfo.new(0.15), {Position = (ToggleDefault and UDim2.fromScale(1,0.5) or UDim2.fromScale(0,0.5)) - UDim2.fromOffset(8,8), ImageColor3 = ToggleDefault and Theme.Toggle or Theme.ToggleAccent}):Play()
  2031.                 ToggleCallback(ToggleDefault)
  2032.             end
  2033.            
  2034.             function ToggleLibrary:GetState()
  2035.                 return ToggleDefault
  2036.             end
  2037.            
  2038.             return ToggleLibrary
  2039.         end
  2040.        
  2041.         function OptionLibrary.TextField(TextFieldConfig)
  2042.             local TextFieldText = TextFieldConfig.Text or "nil text field"
  2043.             local TextFieldCallback = TextFieldConfig.Callback or function() print("nil text field") end
  2044.             local Menu = TextFieldConfig.Menu or {}
  2045.            
  2046.             local TextField = Objects.new("Round")
  2047.             TextField.Name = "TextField"
  2048.             TextField.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(0,30)
  2049.             TextField.ImageColor3 = Theme.TextField
  2050.             TextField.ImageTransparency = 1
  2051.             TextField.Parent = PageContentFrame
  2052.            
  2053.             local TextEffect = Objects.new("Frame")
  2054.             TextEffect.Name = "Effect"
  2055.             TextEffect.BackgroundTransparency = 1
  2056.             TextEffect.BackgroundColor3 = Theme.TextField
  2057.             TextEffect.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(0,2)
  2058.             TextEffect.Position = UDim2.fromScale(0,1) - UDim2.fromOffset(0,2)
  2059.             TextEffect.Parent = TextField
  2060.            
  2061.             local TextShadow = Objects.new("Shadow")
  2062.             TextShadow.ImageColor3 = Theme.TextField
  2063.             TextShadow.ImageTransparency = 1
  2064.             TextShadow.Parent = TextField
  2065.            
  2066.             local TextInput = Objects.new("Box")
  2067.             TextInput.Name = "Value"
  2068.             TextInput.PlaceholderText = TextFieldText
  2069.             TextInput.PlaceholderColor3 = Theme.TextFieldAccent
  2070.             TextInput.TextColor3 = Theme.TextFieldAccent
  2071.             TextInput.Text = ""
  2072.             TextInput.Font = Enum.Font.GothamSemibold
  2073.             TextInput.TextSize = 14
  2074.             TextInput.TextTransparency = 1
  2075.             TextInput.Parent = TextField
  2076.            
  2077.             TweenService:Create(TextField, TweenInfo.new(0.5), {ImageTransparency = 0.8}):Play()
  2078.             TweenService:Create(TextEffect, TweenInfo.new(0.5), {BackgroundTransparency = 0.2}):Play()
  2079.             TweenService:Create(TextShadow, TweenInfo.new(0.5), {ImageTransparency = 0.7}):Play()
  2080.             TweenService:Create(TextInput, TweenInfo.new(0.5), {TextTransparency = 0.5}):Play()
  2081.            
  2082.             TextInput.Focused:Connect(function()
  2083.                 TweenService:Create(TextField, TweenInfo.new(0.5), {ImageTransparency = 0.7}):Play()
  2084.                 TweenService:Create(TextInput, TweenInfo.new(0.5), {TextTransparency = 0}):Play()
  2085.             end)
  2086.            
  2087.             TextInput.FocusLost:Connect(function()
  2088.                 TweenService:Create(TextField, TweenInfo.new(0.5), {ImageTransparency = 0.8}):Play()
  2089.                 TweenService:Create(TextInput, TweenInfo.new(0.5), {TextTransparency = 0.5}):Play()
  2090.                 TextFieldCallback(TextInput.Text)
  2091.             end)
  2092.            
  2093.             local MenuAdded, MenuBar = TryAddMenu(TextField, Menu, {
  2094.                 SetText = function(Value)
  2095.                     TextInput.Text = Value
  2096.                     TextFieldCallback(TextInput.Text)
  2097.                 end
  2098.             })
  2099.            
  2100.             if MenuAdded then
  2101.                 MenuBar.ImageColor3 = Theme.TextFieldAccent
  2102.             end
  2103.            
  2104.             local TextFieldLibrary = {}
  2105.            
  2106.             function TextFieldLibrary:SetText(Value)
  2107.                 TextInput.Text = Value
  2108.             end
  2109.            
  2110.             function TextFieldLibrary:GetText()
  2111.                 return TextInput.Text
  2112.             end
  2113.            
  2114.             return TextFieldLibrary
  2115.         end
  2116.        
  2117.         function OptionLibrary.Slider(SliderConfig)
  2118.             local SliderText = SliderConfig.Text or "nil slider"
  2119.             local SliderCallback = SliderConfig.Callback or function() print("nil slider") end
  2120.             local SliderMin = SliderConfig.Min or 0
  2121.             local SliderMax = SliderConfig.Max or 100
  2122.             local Menu = SliderConfig.Menu or {}
  2123.            
  2124.             if SliderMin > SliderMax then
  2125.                 local ValueBefore = SliderMin
  2126.                 SliderMin, SliderMax = SliderMax, ValueBefore
  2127.             end
  2128.            
  2129.             local SliderDef = math.clamp(SliderConfig.Def, SliderMin, SliderMax) or math.clamp(50, SliderMin, SliderMax)
  2130.             local DefaultScale =  (SliderDef - SliderMin) / (SliderMax - SliderMin)
  2131.            
  2132.             local Slider = Objects.new("Round")
  2133.             Slider.Name = "Slider"
  2134.             Slider.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(0,35)
  2135.             Slider.ImageColor3 = Theme.Slider
  2136.             Slider.ImageTransparency = 1
  2137.             Slider.Parent = PageContentFrame
  2138.            
  2139.             local SliderShadow = Objects.new("Shadow")
  2140.             SliderShadow.ImageColor3 = Theme.Slider
  2141.             SliderShadow.ImageTransparency = 1
  2142.             SliderShadow.Parent = Slider
  2143.            
  2144.             local SliderTitle = Objects.new("Label")
  2145.             SliderTitle.TextColor3 = Theme.SliderAccent
  2146.             SliderTitle.Text = SliderText
  2147.             SliderTitle.TextSize = 14
  2148.             SliderTitle.Font = Enum.Font.GothamSemibold
  2149.             SliderTitle.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(-5,25)
  2150.             SliderTitle.TextTransparency = 1
  2151.             SliderTitle.Parent = Slider
  2152.            
  2153.             local SliderValue = Objects.new("Label")
  2154.             SliderValue.Text = tostring(SliderDef)
  2155.             SliderValue.TextColor3 = Theme.SliderAccent
  2156.             SliderValue.TextTransparency = 1
  2157.             SliderValue.TextSize = 14
  2158.             SliderValue.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(-5,25)
  2159.             SliderValue.Position = UDim2.fromScale(0,0)
  2160.             SliderValue.TextXAlignment = Enum.TextXAlignment.Right
  2161.             SliderValue.Font = Enum.Font.GothamSemibold
  2162.             SliderValue.Parent = Slider
  2163.            
  2164.             local SliderTracker = Objects.new("Frame")
  2165.             SliderTracker.BackgroundColor3 = Theme.SliderAccent
  2166.             SliderTracker.BackgroundTransparency = 1
  2167.             SliderTracker.Size = UDim2.fromScale(1,0) + UDim2.fromOffset(-20,3)
  2168.             SliderTracker.Position = UDim2.fromScale(0,1) + UDim2.fromOffset(10,-10)
  2169.             SliderTracker.Parent = Slider
  2170.            
  2171.             local SliderFill = SliderTracker:Clone()
  2172.             SliderFill.BackgroundTransparency = 1
  2173.             SliderFill.Position = UDim2.fromScale(0,0)
  2174.             SliderFill.Size = UDim2.fromScale(DefaultScale,1)
  2175.             SliderFill.Parent = SliderTracker
  2176.            
  2177.             local MinSize = 10
  2178.             local MaxSize = 36
  2179.            
  2180.             local SizeFromScale = (MinSize +  (MaxSize - MinSize)) * DefaultScale
  2181.             SizeFromScale -= (SizeFromScale % 2)
  2182.            
  2183.             local SliderDot = Objects.new("CircleButton")
  2184.             SliderDot.Size = UDim2.fromOffset(10,10)
  2185.             SliderDot.Position = UDim2.fromScale(DefaultScale,0.5) - UDim2.fromOffset(5,5)
  2186.             SliderDot.ImageColor3 = Theme.SliderAccent
  2187.             SliderDot.ImageTransparency = 1
  2188.             SliderDot.ZIndex = 50
  2189.             SliderDot.Parent = SliderTracker
  2190.            
  2191.             local SliderFadedDot = Objects.new("Circle")
  2192.             SliderFadedDot.Size = UDim2.fromOffset(SizeFromScale,SizeFromScale)
  2193.             SliderFadedDot.Position = UDim2.fromScale(0.5,0.5) - UDim2.fromOffset(SizeFromScale/2,SizeFromScale/2)
  2194.             SliderFadedDot.ImageColor3 = Theme.SliderAccent
  2195.             SliderFadedDot.ImageTransparency = 1
  2196.             SliderFadedDot.ZIndex = 50
  2197.             SliderFadedDot.Parent = SliderDot
  2198.            
  2199.             TweenService:Create(Slider, TweenInfo.new(0.5), {ImageTransparency = 0}):Play()
  2200.             TweenService:Create(SliderShadow, TweenInfo.new(0.5), {ImageTransparency = 0}):Play()
  2201.             TweenService:Create(SliderTitle, TweenInfo.new(0.5), {TextTransparency = 0}):Play()
  2202.             TweenService:Create(SliderValue, TweenInfo.new(0.5), {TextTransparency = 0}):Play()
  2203.             TweenService:Create(SliderTracker, TweenInfo.new(0.5), {BackgroundTransparency = 0.5}):Play()
  2204.             TweenService:Create(SliderFill, TweenInfo.new(0.5), {BackgroundTransparency = 0}):Play()
  2205.             TweenService:Create(SliderDot, TweenInfo.new(0.5), {ImageTransparency = 0}):Play()
  2206.            
  2207.             SliderDot.MouseButton1Down:Connect(function()
  2208.                 TweenService:Create(SliderFadedDot, TweenInfo.new(0.15), {ImageTransparency = 0.8}):Play()
  2209.                 local MouseMove, MouseKill
  2210.                 MouseMove = Mouse.Move:Connect(function()
  2211.                     local Px = GetXY(SliderTracker)
  2212.                     local SizeFromScale = (MinSize +  (MaxSize - MinSize)) * Px
  2213.                     local Value = math.floor(SliderMin + ((SliderMax - SliderMin) * Px))
  2214.                     SizeFromScale -= (SizeFromScale % 2)
  2215.                     TweenService:Create(SliderDot, TweenInfo.new(0.15), {Position = UDim2.fromScale(Px,0.5) - UDim2.fromOffset(5,5)}):Play()
  2216.                     TweenService:Create(SliderFill, TweenInfo.new(0.15), {Size = UDim2.fromScale(Px, 1)}):Play()
  2217.                     SliderFadedDot.Size = UDim2.fromOffset(SizeFromScale,SizeFromScale)
  2218.                     SliderFadedDot.Position = UDim2.fromScale(DefaultScale,0.5) - UDim2.fromOffset(SizeFromScale/2,SizeFromScale/2)
  2219.                     SliderValue.Text = tostring(Value)
  2220.                     SliderCallback(Value)
  2221.                 end)
  2222.                 MouseKill = InputService.InputEnded:Connect(function(UserInput)
  2223.                     if UserInput.UserInputType == Enum.UserInputType.MouseButton1 then
  2224.                         TweenService:Create(SliderFadedDot, TweenInfo.new(0.15), {ImageTransparency = 1}):Play()
  2225.                         MouseMove:Disconnect()
  2226.                         MouseKill:Disconnect()
  2227.                     end
  2228.                 end)
  2229.             end)
  2230.            
  2231.             local MenuAdded, MenuButton = TryAddMenu(Slider, Menu, {})
  2232.            
  2233.             if MenuAdded then
  2234.                 SliderValue.Position -= UDim2.fromOffset(25,0)
  2235.                 SliderTracker.Size -= UDim2.fromOffset(20,0)
  2236.                 MenuButton.ImageColor3 = Theme.SliderAccent
  2237.             end
  2238.            
  2239.             local SliderLibrary = {}
  2240.            
  2241.             function SliderLibrary:SetText(Value)
  2242.                 SliderTitle.Text = Value
  2243.             end
  2244.            
  2245.             function SliderLibrary:GetText()
  2246.                 return SliderTitle.Text
  2247.             end
  2248.            
  2249.             function SliderLibrary:SetMin(Value)
  2250.                 SliderMin = Value
  2251.                 local SliderDef = math.clamp(SliderConfig.Def, SliderMin, SliderMax) or math.clamp(50, SliderMin, SliderMax)
  2252.                 local DefaultScale =  (SliderDef - SliderMin) / (SliderMax - SliderMin)
  2253.                 local SizeFromScale = (MinSize +  (MaxSize - MinSize)) * DefaultScale
  2254.                 SizeFromScale -= (SizeFromScale % 2)
  2255.                 SliderDot.Position = UDim2.fromScale(DefaultScale,0.5) - UDim2.fromOffset(SizeFromScale/2,SizeFromScale/2)
  2256.             end
  2257.            
  2258.             function SliderLibrary:SetMax(Value)
  2259.                 SliderMax = Value
  2260.                 local SliderDef = math.clamp(SliderConfig.Def, SliderMin, SliderMax) or math.clamp(50, SliderMin, SliderMax)
  2261.                 local DefaultScale =  (SliderDef - SliderMin) / (SliderMax - SliderMin)
  2262.                 local SizeFromScale = (MinSize +  (MaxSize - MinSize)) * DefaultScale
  2263.                 SizeFromScale -= (SizeFromScale % 2)
  2264.                 SliderDot.Position = UDim2.fromScale(DefaultScale,0.5) - UDim2.fromOffset(SizeFromScale/2,SizeFromScale/2)
  2265.             end
  2266.            
  2267.             function SliderLibrary:GetMin()
  2268.                 return SliderMin
  2269.             end
  2270.            
  2271.             function SliderLibrary:GetMax()
  2272.                 return SliderMax
  2273.             end
  2274.            
  2275.             return SliderLibrary
  2276.         end
  2277.        
  2278.         return OptionLibrary
  2279.     end
  2280.    
  2281.     return TabLibrary
  2282. end
  2283.  
  2284. return Material
  2285.  
Add Comment
Please, Sign In to add comment