Advertisement
twospacedgod

Finity Library | Edit for script

Jul 4th, 2022 (edited)
854
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 52.76 KB | None
  1. --[[
  2.      ______ _____ _   _ _____ _________     __
  3.     |  ____|_   _| \ | |_   _|__   __\ \   / /
  4.     | |__    | | |  \| | | |    | |   \ \_/ /
  5.     |  __|   | | | . ` | | |    | |    \   /  
  6.     | |     _| |_| |\  |_| |_   | |     | |  
  7.     |_|    |_____|_| \_|_____|  |_|     |_|  
  8.    
  9.     Source:
  10.         https://d3to-finity.000webhostapp.com/files/source-0.1.2.txt
  11.     Version:
  12.      0.1.5
  13.     Date:
  14.         April 21th, 2020
  15.     Author:
  16.         detourious @ v3rmillion.netf
  17.                    
  18. --]]
  19.  
  20.  
  21. local finity = {}
  22. finity.gs = {}
  23.  
  24. finity.theme = { -- light
  25.     main_container = Color3.fromRGB(249, 249, 255),
  26.     separator_color = Color3.fromRGB(223, 219, 228),
  27.  
  28.     text_color = Color3.fromRGB(96, 96, 96),
  29.  
  30.     category_button_background = Color3.fromRGB(223, 219, 228),
  31.     category_button_border = Color3.fromRGB(200, 196, 204),
  32.  
  33.     checkbox_checked = Color3.fromRGB(114, 214, 112),
  34.     checkbox_outer = Color3.fromRGB(198, 189, 202),
  35.     checkbox_inner = Color3.fromRGB(249, 239, 255),
  36.  
  37.     slider_color = Color3.fromRGB(114, 214, 112),
  38.     slider_color_sliding = Color3.fromRGB(114, 214, 112),
  39.     slider_background = Color3.fromRGB(198, 188, 202),
  40.     slider_text = Color3.fromRGB(112, 112, 112),
  41.  
  42.     textbox_background = Color3.fromRGB(198, 189, 202),
  43.     textbox_background_hover = Color3.fromRGB(215, 206, 227),
  44.     textbox_text = Color3.fromRGB(112, 112, 112),
  45.     textbox_text_hover = Color3.fromRGB(50, 50, 50),
  46.     textbox_placeholder = Color3.fromRGB(178, 178, 178),
  47.  
  48.     dropdown_background = Color3.fromRGB(198, 189, 202),
  49.     dropdown_text = Color3.fromRGB(112, 112, 112),
  50.     dropdown_text_hover = Color3.fromRGB(50, 50, 50),
  51.     dropdown_scrollbar_color = Color3.fromRGB(198, 189, 202),
  52.    
  53.     button_background = Color3.fromRGB(198, 189, 202),
  54.     button_background_hover = Color3.fromRGB(215, 206, 227),
  55.     button_background_down = Color3.fromRGB(178, 169, 182),
  56.    
  57.     scrollbar_color = Color3.fromRGB(198, 189, 202),
  58. }
  59.  
  60. finity.dark_theme = { -- dark
  61.     main_container = Color3.fromRGB(32, 32, 33),
  62.     separator_color = Color3.fromRGB(63, 63, 65),
  63.  
  64.     text_color = Color3.fromRGB(206, 206, 206),
  65.  
  66.     category_button_background = Color3.fromRGB(63, 62, 65),
  67.     category_button_border = Color3.fromRGB(72, 71, 74),
  68.  
  69.     checkbox_checked = Color3.fromRGB(132, 255, 130),
  70.     checkbox_outer = Color3.fromRGB(84, 81, 86),
  71.     checkbox_inner = Color3.fromRGB(132, 132, 136),
  72.  
  73.     slider_color = Color3.fromRGB(177, 177, 177),
  74.     slider_color_sliding = Color3.fromRGB(132, 255, 130),
  75.     slider_background = Color3.fromRGB(88, 84, 90),
  76.     slider_text = Color3.fromRGB(177, 177, 177),
  77.  
  78.     textbox_background = Color3.fromRGB(103, 103, 106),
  79.     textbox_background_hover = Color3.fromRGB(137, 137, 141),
  80.     textbox_text = Color3.fromRGB(195, 195, 195),
  81.     textbox_text_hover = Color3.fromRGB(232, 232, 232),
  82.     textbox_placeholder = Color3.fromRGB(135, 135, 138),
  83.  
  84.     dropdown_background = Color3.fromRGB(88, 88, 91),
  85.     dropdown_text = Color3.fromRGB(195, 195, 195),
  86.     dropdown_text_hover = Color3.fromRGB(232, 232, 232),
  87.     dropdown_scrollbar_color = Color3.fromRGB(118, 118, 121),
  88.    
  89.     button_background = Color3.fromRGB(103, 103, 106),
  90.     button_background_hover = Color3.fromRGB(137, 137, 141),
  91.     button_background_down = Color3.fromRGB(70, 70, 81),
  92.    
  93.     scrollbar_color = Color3.fromRGB(118, 118, 121),
  94. }
  95.  
  96. setmetatable(finity.gs, {
  97.     __index = function(_, service)
  98.         return game:GetService(service)
  99.     end,
  100.     __newindex = function(t, i)
  101.         t[i] = nil
  102.         return
  103.     end
  104. })
  105.  
  106.  
  107. local mouse = finity.gs["Players"].LocalPlayer:GetMouse()
  108.  
  109. function finity:Create(class, properties)
  110.     local object = Instance.new(class)
  111.  
  112.     for prop, val in next, properties do
  113.         if object[prop] and prop ~= "Parent" then
  114.             object[prop] = val
  115.         end
  116.     end
  117.  
  118.     return object
  119. end
  120.  
  121. function finity:addShadow(object, transparency)
  122.     local shadow = self:Create("ImageLabel", {
  123.         Name = "Shadow",
  124.         AnchorPoint = Vector2.new(0.5, 0.5),
  125.         BackgroundTransparency = 1,
  126.         Position = UDim2.new(0.5, 0, 0.5, 4),
  127.         Size = UDim2.new(1, 6, 1, 6),
  128.         Image = "rbxassetid://1316045217",
  129.         ImageTransparency = transparency and true or 0.5,
  130.         ImageColor3 = Color3.fromRGB(35, 35, 35),
  131.         ScaleType = Enum.ScaleType.Slice,
  132.         SliceCenter = Rect.new(10, 10, 118, 118)
  133.     })
  134.  
  135.     shadow.Parent = object
  136. end
  137.  
  138. function finity.new(isdark, gprojectName, thinProject)
  139.     local finityObject = {}
  140.     local self2 = finityObject
  141.     local self = finity
  142.  
  143.     if not finity.gs["RunService"]:IsStudio() and self.gs["CoreGui"]:FindFirstChild("FinityUI") then
  144.         warn("finity:", "instance already exists in coregui!")
  145.        
  146.         return
  147.     end
  148.  
  149.     local theme = finity.theme
  150.     local projectName = false
  151.     local thinMenu = false
  152.    
  153.     if isdark == true then theme = finity.dark_theme end
  154.     if gprojectName then projectName = gprojectName end
  155.     if thinProject then thinMenu = thinProject end
  156.    
  157.     local toggled = true
  158.     local typing = false
  159.     local firstCategory = true
  160.     local savedposition = UDim2.new(0.5, 0, 0.5, 0)
  161.    
  162.  
  163.     local finityData
  164.     finityData = {
  165.         UpConnection = nil,
  166.         ToggleKey = Enum.KeyCode.Home,
  167.     }
  168.  
  169.     self2.ChangeToggleKey = function(NewKey)
  170.         finityData.ToggleKey = NewKey
  171.        
  172.         if not projectName then
  173.             self2.tip.Text = "Press '".. string.sub(tostring(NewKey), 14) .."' to hide this menu"
  174.         end
  175.        
  176.         if finityData.UpConnection then
  177.             finityData.UpConnection:Disconnect()
  178.         end
  179.  
  180.         finityData.UpConnection = finity.gs["UserInputService"].InputEnded:Connect(function(Input)
  181.             if Input.KeyCode == finityData.ToggleKey and not typing then
  182.                 toggled = not toggled
  183.  
  184.                 pcall(function() self2.modal.Modal = toggled end)
  185.  
  186.                 if toggled then
  187.                     pcall(self2.container.TweenPosition, self2.container, savedposition, "Out", "Sine", 0.5, true)
  188.                 else
  189.                     savedposition = self2.container.Position;
  190.                     pcall(self2.container.TweenPosition, self2.container, UDim2.new(savedposition.Width.Scale, savedposition.Width.Offset, 1.5, 0), "Out", "Sine", 0.5, true)
  191.                 end
  192.             end
  193.         end)
  194.     end
  195.    
  196.     self2.ChangeBackgroundImage = function(ImageID, Transparency)
  197.         self2.container.Image = ImageID
  198.        
  199.         if Transparency then
  200.             self2.container.ImageTransparency = Transparency
  201.         else
  202.             self2.container.ImageTransparency = 0.8
  203.         end
  204.     end
  205.  
  206.     finityData.UpConnection = finity.gs["UserInputService"].InputEnded:Connect(function(Input)
  207.         if Input.KeyCode == finityData.ToggleKey and not typing then
  208.             toggled = not toggled
  209.  
  210.             if toggled then
  211.                 self2.container:TweenPosition(UDim2.new(0.5, 0, 0.5, 0), "Out", "Sine", 0.5, true)
  212.             else
  213.                 self2.container:TweenPosition(UDim2.new(0.5, 0, 1.5, 0), "Out", "Sine", 0.5, true)
  214.             end
  215.         end
  216.     end)
  217.  
  218.     self2.userinterface = self:Create("ScreenGui", {
  219.         Name = "FinityUI",
  220.         ZIndexBehavior = Enum.ZIndexBehavior.Global,
  221.         ResetOnSpawn = false,
  222.     })
  223.  
  224.     self2.container = self:Create("ImageLabel", {
  225.         Draggable = true,
  226.         Active = true,
  227.         Name = "Container",
  228.         AnchorPoint = Vector2.new(0.5, 0.5),
  229.         BackgroundTransparency = 0,
  230.         BackgroundColor3 = theme.main_container,
  231.         BorderSizePixel = 0,
  232.         Position = UDim2.new(0.5, 0, 0.5, 0),
  233.         Size = UDim2.new(0, 800, 0, 500),
  234.         ZIndex = 2,
  235.         ImageTransparency = 1
  236.     })
  237.    
  238.     self2.modal = self:Create("TextButton", {
  239.         Text = "";
  240.         Transparency = 1;
  241.         Modal = true;
  242.     }) self2.modal.Parent = self2.userinterface;
  243.    
  244.     if thinProject and typeof(thinProject) == "UDim2" then
  245.         self2.container.Size = thinProject
  246.     end
  247.  
  248.     self2.container.Draggable = true
  249.     self2.container.Active = true
  250.  
  251.     self2.sidebar = self:Create("Frame", {
  252.         Name = "Sidebar",
  253.         BackgroundColor3 = Color3.new(0.976471, 0.937255, 1),
  254.         BackgroundTransparency = 1,
  255.         BorderColor3 = Color3.new(0.745098, 0.713726, 0.760784),
  256.         Size = UDim2.new(0, 120, 1, -30),
  257.         Position = UDim2.new(0, 0, 0, 30),
  258.         ZIndex = 2,
  259.     })
  260.  
  261.     self2.categories = self:Create("Frame", {
  262.         Name = "Categories",
  263.         BackgroundColor3 = Color3.new(0.976471, 0.937255, 1),
  264.         ClipsDescendants = true,
  265.         BackgroundTransparency = 1,
  266.         BorderColor3 = Color3.new(0.745098, 0.713726, 0.760784),
  267.         Size = UDim2.new(1, -120, 1, -30),
  268.         AnchorPoint = Vector2.new(1, 0),
  269.         Position = UDim2.new(1, 0, 0, 30),
  270.         ZIndex = 2,
  271.     })
  272.     self2.categories.ClipsDescendants = true
  273.  
  274.     self2.topbar = self:Create("Frame", {
  275.         Name = "Topbar",
  276.         ZIndex = 2,
  277.         Size = UDim2.new(1,0,0,30),
  278.         BackgroundTransparency = 2
  279.     })
  280.  
  281.     self2.tip = self:Create("TextLabel", {
  282.         Name = "TopbarTip",
  283.         ZIndex = 2,
  284.         Size = UDim2.new(1, -30, 0, 30),
  285.         Position = UDim2.new(0, 30, 0, 0),
  286.         Text = "Press '".. string.sub(tostring(self.ToggleKey), 14) .."' to hide this menu",
  287.         Font = Enum.Font.GothamSemibold,
  288.         TextSize = 13,
  289.         TextXAlignment = Enum.TextXAlignment.Left,
  290.         BackgroundTransparency = 1,
  291.         TextColor3 = theme.text_color,
  292.     })
  293.    
  294.     if projectName then
  295.         self2.tip.Text = projectName
  296.     else
  297.         self2.tip.Text = "Press '".. string.sub(tostring(self.ToggleKey), 14) .."' to hide this menu"
  298.     end
  299.    
  300.     function finity.settitle(text)
  301.         self2.tip.Text = tostring(text)
  302.     end
  303.  
  304.     local separator = self:Create("Frame", {
  305.         Name = "Separator",
  306.         BackgroundColor3 = theme.separator_color,
  307.         BorderSizePixel = 0,
  308.         Position = UDim2.new(0, 118, 0, 30),
  309.         Size = UDim2.new(0, 1, 1, -30),
  310.         ZIndex = 6,
  311.     })
  312.     separator.Parent = self2.container
  313.     separator = nil
  314.  
  315.     local separator = self:Create("Frame", {
  316.         Name = "Separator",
  317.         BackgroundColor3 = theme.separator_color,
  318.         BorderSizePixel = 0,
  319.         Position = UDim2.new(0, 0, 0, 30),
  320.         Size = UDim2.new(1, 0, 0, 1),
  321.         ZIndex = 6,
  322.     })
  323.     separator.Parent = self2.container
  324.     separator = nil
  325.  
  326.     local uipagelayout = self:Create("UIPageLayout", {
  327.         Padding = UDim.new(0, 10),
  328.         FillDirection = Enum.FillDirection.Vertical,
  329.         TweenTime = 0.7,
  330.         EasingStyle = Enum.EasingStyle.Quad,
  331.         EasingDirection = Enum.EasingDirection.InOut,
  332.         SortOrder = Enum.SortOrder.LayoutOrder,
  333.     })
  334.     uipagelayout.Parent = self2.categories
  335.     uipagelayout = nil
  336.  
  337.     local uipadding = self:Create("UIPadding", {
  338.         PaddingTop = UDim.new(0, 3),
  339.         PaddingLeft = UDim.new(0, 2)
  340.     })
  341.     uipadding.Parent = self2.sidebar
  342.     uipadding = nil
  343.  
  344.     local uilistlayout = self:Create("UIListLayout", {
  345.         SortOrder = Enum.SortOrder.LayoutOrder
  346.     })
  347.     uilistlayout.Parent = self2.sidebar
  348.     uilistlayout = nil
  349.  
  350.     function self2:Category(name)
  351.         local category = {}
  352.        
  353.         category.button = finity:Create("TextButton", {
  354.             Name = name,
  355.             BackgroundColor3 = theme.category_button_background,
  356.             BackgroundTransparency = 1,
  357.             BorderMode = Enum.BorderMode.Inset,
  358.             BorderColor3 = theme.category_button_border,
  359.             Size = UDim2.new(1, -4, 0, 25),
  360.             ZIndex = 2,
  361.             AutoButtonColor = false,
  362.             Font = Enum.Font.GothamSemibold,
  363.             Text = name,
  364.             TextColor3 = theme.text_color,
  365.             TextSize = 14
  366.         })
  367.  
  368.         category.container = finity:Create("ScrollingFrame", {
  369.             Name = name,
  370.             BackgroundTransparency = 1,
  371.             ScrollBarThickness = 4,
  372.             BorderSizePixel = 0,
  373.             Size = UDim2.new(1, 0, 1, 0),
  374.             ZIndex = 2,
  375.             CanvasSize = UDim2.new(0, 0, 0, 0),
  376.             ScrollBarImageColor3 = theme.scrollbar_color or Color3.fromRGB(118, 118, 121),
  377.             BottomImage = "rbxassetid://967852042",
  378.             MidImage = "rbxassetid://967852042",
  379.             TopImage = "rbxassetid://967852042",
  380.             ScrollBarImageTransparency = 1 --
  381.         })
  382.  
  383.         category.hider = finity:Create("Frame", {
  384.             Name = "Hider",
  385.             BackgroundTransparency = 0, --
  386.             BorderSizePixel = 0,
  387.             BackgroundColor3 = theme.main_container,
  388.             Size = UDim2.new(1, 0, 1, 0),
  389.             ZIndex = 5
  390.         })
  391.  
  392.         category.L = finity:Create("Frame", {
  393.             Name = "L",
  394.             BackgroundColor3 = Color3.new(1, 1, 1),
  395.             BackgroundTransparency = 1,
  396.             Position = UDim2.new(0, 10, 0, 3),
  397.             Size = UDim2.new(0.5, -20, 1, -3),
  398.             ZIndex = 2
  399.         })
  400.        
  401.         if not thinProject then
  402.             category.R = finity:Create("Frame", {
  403.                 Name = "R",
  404.                 AnchorPoint = Vector2.new(1, 0),
  405.                 BackgroundColor3 = Color3.new(1, 1, 1),
  406.                 BackgroundTransparency = 1,
  407.                 Position = UDim2.new(1, -10, 0, 3),
  408.                 Size = UDim2.new(0.5, -20, 1, -3),
  409.                 ZIndex = 2
  410.             })
  411.         end
  412.        
  413.         if thinProject then
  414.             category.L.Size = UDim2.new(1, -20, 1, -3)
  415.         end
  416.        
  417.         if firstCategory then
  418.             finity.gs["TweenService"]:Create(category.hider, TweenInfo.new(0.3), {BackgroundTransparency = 1}):Play()
  419.             finity.gs["TweenService"]:Create(category.container, TweenInfo.new(0.3), {ScrollBarImageTransparency = 0}):Play()
  420.         end
  421.        
  422.         do
  423.             local uilistlayout = finity:Create("UIListLayout", {
  424.                 SortOrder = Enum.SortOrder.LayoutOrder
  425.             })
  426.    
  427.             local uilistlayout2 = finity:Create("UIListLayout", {
  428.                 SortOrder = Enum.SortOrder.LayoutOrder
  429.             })
  430.            
  431.             local function computeSizeChange()
  432.                 local largestListSize = 0
  433.                
  434.                 largestListSize = uilistlayout.AbsoluteContentSize.Y
  435.                
  436.                 if uilistlayout2.AbsoluteContentSize.Y > largestListSize then
  437.                     largestListSize = largestListSize
  438.                 end
  439.                
  440.                 category.container.CanvasSize = UDim2.new(0, 0, 0, largestListSize + 5)
  441.             end
  442.            
  443.             uilistlayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(computeSizeChange)
  444.             uilistlayout2:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(computeSizeChange)
  445.            
  446.             uilistlayout.Parent = category.L
  447.             uilistlayout2.Parent = category.R
  448.         end
  449.        
  450.         category.button.MouseEnter:Connect(function()
  451.             finity.gs["TweenService"]:Create(category.button, TweenInfo.new(0.2), {BackgroundTransparency = 0.5}):Play()
  452.         end)
  453.         category.button.MouseLeave:Connect(function()
  454.             finity.gs["TweenService"]:Create(category.button, TweenInfo.new(0.2), {BackgroundTransparency = 1}):Play()
  455.         end)
  456.         category.button.MouseButton1Down:Connect(function()
  457.             for _, categoryf in next, self2.userinterface["Container"]["Categories"]:GetChildren() do
  458.                 if categoryf:IsA("ScrollingFrame") then
  459.                     if categoryf ~= category.container then
  460.                         finity.gs["TweenService"]:Create(categoryf.Hider, TweenInfo.new(0.3), {BackgroundTransparency = 0}):Play()
  461.                         finity.gs["TweenService"]:Create(categoryf, TweenInfo.new(0.3), {ScrollBarImageTransparency = 1}):Play()
  462.                     end
  463.                 end
  464.             end
  465.  
  466.             finity.gs["TweenService"]:Create(category.button, TweenInfo.new(0.2), {BackgroundTransparency = 0.2}):Play()
  467.             finity.gs["TweenService"]:Create(category.hider, TweenInfo.new(0.3), {BackgroundTransparency = 1}):Play()
  468.             finity.gs["TweenService"]:Create(category.container, TweenInfo.new(0.3), {ScrollBarImageTransparency = 0}):Play()
  469.  
  470.             self2.categories["UIPageLayout"]:JumpTo(category.container)
  471.         end)
  472.         category.button.MouseButton1Up:Connect(function()
  473.             finity.gs["TweenService"]:Create(category.button, TweenInfo.new(0.2), {BackgroundTransparency = 1}):Play()
  474.         end)
  475.  
  476.         category.container.Parent = self2.categories
  477.         category.button.Parent = self2.sidebar
  478.        
  479.         if not thinProject then
  480.             category.R.Parent = category.container
  481.         end
  482.        
  483.         category.L.Parent = category.container
  484.         category.hider.Parent = category.container
  485.  
  486.         local function calculateSector()
  487.             if thinProject then
  488.                 return "L"
  489.             end
  490.            
  491.             local R = #category.R:GetChildren() - 1
  492.             local L = #category.L:GetChildren() - 1
  493.  
  494.             if L > R then
  495.                 return "R"
  496.             else
  497.                 return "L"
  498.             end
  499.         end
  500.  
  501.         function category:Sector(name)
  502.             local sector = {}
  503.  
  504.             sector.frame = finity:Create("Frame", {
  505.                 Name = name,
  506.                 BackgroundColor3 = Color3.new(1, 1, 1),
  507.                 BackgroundTransparency = 1,
  508.                 Size = UDim2.new(1, 0, 0, 25),
  509.                 ZIndex = 2
  510.             })
  511.  
  512.             sector.container = finity:Create("Frame", {
  513.                 Name = "Container",
  514.                 BackgroundColor3 = Color3.new(1, 1, 1),
  515.                 BackgroundTransparency = 1,
  516.                 Position = UDim2.new(0, 0, 0, 22),
  517.                 Size = UDim2.new(1, -5, 1, -30),
  518.                 ZIndex = 2
  519.             })
  520.  
  521.             sector.title = finity:Create("TextLabel", {
  522.                 Name = "Title",
  523.                 Text = name,
  524.                 BackgroundColor3 = Color3.new(1, 1, 1),
  525.                 BackgroundTransparency = 1,
  526.                 Size = UDim2.new(1, -5, 0, 25),
  527.                 ZIndex = 2,
  528.                 Font = Enum.Font.GothamSemibold,
  529.                 TextColor3 = theme.text_color,
  530.                 TextSize = 14,
  531.                 TextXAlignment = Enum.TextXAlignment.Left,
  532.             })
  533.  
  534.             local uilistlayout = finity:Create("UIListLayout", {
  535.                 SortOrder = Enum.SortOrder.LayoutOrder
  536.             })
  537.  
  538.             uilistlayout.Changed:Connect(function()
  539.                 pcall(function()
  540.                     sector.frame.Size = UDim2.new(1, 0, 0, sector.container["UIListLayout"].AbsoluteContentSize.Y + 25)
  541.                     sector.container.Size = UDim2.new(1, 0, 0, sector.container["UIListLayout"].AbsoluteContentSize.Y)
  542.                 end)
  543.             end)
  544.             uilistlayout.Parent = sector.container
  545.             uilistlayout = nil
  546.  
  547.             function sector:Cheat(kind, name, callback, data)
  548.                 local cheat = {}
  549.                 cheat.value = nil
  550.  
  551.                 cheat.frame = finity:Create("Frame", {
  552.                     Name = name,
  553.                     BackgroundColor3 = Color3.new(1, 1, 1),
  554.                     BackgroundTransparency = 1,
  555.                     Size = UDim2.new(1, 0, 0, 25),
  556.                     ZIndex = 2,
  557.                 })
  558.  
  559.                 cheat.label = finity:Create("TextLabel", {
  560.                     Name = "Title",
  561.                     BackgroundColor3 = Color3.new(1, 1, 1),
  562.                     BackgroundTransparency = 1,
  563.                     Size = UDim2.new(1, 0, 1, 0),
  564.                     ZIndex = 2,
  565.                     Font = Enum.Font.Gotham,
  566.                     TextColor3 = theme.text_color,
  567.                     TextSize = 13,
  568.                     Text = name,
  569.                     TextXAlignment = Enum.TextXAlignment.Left
  570.                 })
  571.  
  572.                 cheat.container = finity:Create("Frame", {
  573.                     Name = "Container",
  574.                     AnchorPoint = Vector2.new(1, 0.5),
  575.                     BackgroundColor3 = Color3.new(1, 1, 1),
  576.                     BackgroundTransparency = 1,
  577.                     Position = UDim2.new(1, 0, 0.5, 0),
  578.                     Size = UDim2.new(0, 150, 0, 22),
  579.                     ZIndex = 2,
  580.                 })
  581.                
  582.                 if kind then
  583.                     if string.lower(kind) == "checkbox" or string.lower(kind) == "toggle" then
  584.                         if data then
  585.                             if data.enabled then
  586.                                 cheat.value = true
  587.                             end
  588.                         end
  589.  
  590.                         cheat.checkbox = finity:Create("Frame", {
  591.                             Name = "Checkbox",
  592.                             AnchorPoint = Vector2.new(1, 0),
  593.                             BackgroundColor3 = Color3.new(1, 1, 1),
  594.                             BackgroundTransparency = 1,
  595.                             Position = UDim2.new(1, 0, 0, 0),
  596.                             Size = UDim2.new(0, 25, 0, 25),
  597.                             ZIndex = 2,
  598.                         })
  599.  
  600.                         cheat.outerbox = finity:Create("ImageLabel", {
  601.                             Name = "Outer",
  602.                             AnchorPoint = Vector2.new(1, 0.5),
  603.                             BackgroundColor3 = Color3.new(1, 1, 1),
  604.                             BackgroundTransparency = 1,
  605.                             Position = UDim2.new(1, 0, 0.5, 0),
  606.                             Size = UDim2.new(0, 20, 0, 20),
  607.                             ZIndex = 2,
  608.                             Image = "rbxassetid://3570695787",
  609.                             ImageColor3 = theme.checkbox_outer,
  610.                             ScaleType = Enum.ScaleType.Slice,
  611.                             SliceCenter = Rect.new(100, 100, 100, 100),
  612.                             SliceScale = 0.06,
  613.                         })
  614.  
  615.                         cheat.checkboxbutton = finity:Create("ImageButton", {
  616.                             AnchorPoint = Vector2.new(0.5, 0.5),
  617.                             Name = "CheckboxButton",
  618.                             BackgroundColor3 = Color3.new(1, 1, 1),
  619.                             BackgroundTransparency = 1,
  620.                             Position = UDim2.new(0.5, 0, 0.5, 0),
  621.                             Size = UDim2.new(0, 14, 0, 14),
  622.                             ZIndex = 2,
  623.                             Image = "rbxassetid://3570695787",
  624.                             ImageColor3 = theme.checkbox_inner,
  625.                             ScaleType = Enum.ScaleType.Slice,
  626.                             SliceCenter = Rect.new(100, 100, 100, 100),
  627.                             SliceScale = 0.04
  628.                         })
  629.  
  630.                         if data then
  631.                             if data.enabled then
  632.                                 finity.gs["TweenService"]:Create(cheat.outerbox, TweenInfo.new(0.2), {ImageColor3 = theme.checkbox_checked}):Play()
  633.                                 finity.gs["TweenService"]:Create(cheat.checkboxbutton, TweenInfo.new(0.2), {ImageColor3 = theme.checkbox_checked}):Play()
  634.                             end
  635.                         end
  636.  
  637.                         cheat.checkboxbutton.MouseEnter:Connect(function()
  638.                             local lightertheme = Color3.fromRGB((theme.checkbox_outer.R * 255) + 20, (theme.checkbox_outer.G * 255) + 20, (theme.checkbox_outer.B * 255) + 20)
  639.                             finity.gs["TweenService"]:Create(cheat.outerbox, TweenInfo.new(0.2), {ImageColor3 = lightertheme}):Play()
  640.                         end)
  641.                         cheat.checkboxbutton.MouseLeave:Connect(function()
  642.                             if not cheat.value then
  643.                                 finity.gs["TweenService"]:Create(cheat.outerbox, TweenInfo.new(0.2), {ImageColor3 = theme.checkbox_outer}):Play()
  644.                             else
  645.                                 finity.gs["TweenService"]:Create(cheat.outerbox, TweenInfo.new(0.2), {ImageColor3 = theme.checkbox_checked}):Play()
  646.                             end
  647.                         end)
  648.                         cheat.checkboxbutton.MouseButton1Down:Connect(function()
  649.                             if cheat.value then
  650.                                 finity.gs["TweenService"]:Create(cheat.checkboxbutton, TweenInfo.new(0.2), {ImageColor3 = theme.checkbox_outer}):Play()
  651.                             else
  652.                                 finity.gs["TweenService"]:Create(cheat.checkboxbutton, TweenInfo.new(0.2), {ImageColor3 = theme.checkbox_checked}):Play()
  653.                             end
  654.                         end)
  655.                         cheat.checkboxbutton.MouseButton1Up:Connect(function()
  656.                             cheat.value = not cheat.value
  657.  
  658.                             if callback then
  659.                                 local s, e = pcall(function()
  660.                                     callback(cheat.value)
  661.                                 end)
  662.  
  663.                                 if not s then warn("error: ".. e) end
  664.                             end
  665.  
  666.                             if cheat.value then
  667.                                 finity.gs["TweenService"]:Create(cheat.outerbox, TweenInfo.new(0.2), {ImageColor3 = theme.checkbox_checked}):Play()
  668.                             else
  669.                                 finity.gs["TweenService"]:Create(cheat.outerbox, TweenInfo.new(0.2), {ImageColor3 = theme.checkbox_outer}):Play()
  670.                                 finity.gs["TweenService"]:Create(cheat.checkboxbutton, TweenInfo.new(0.2), {ImageColor3 = theme.checkbox_inner}):Play()
  671.                             end
  672.                         end)
  673.  
  674.                         cheat.checkboxbutton.Parent = cheat.outerbox
  675.                         cheat.outerbox.Parent = cheat.container
  676.                     elseif string.lower(kind) == "color" or string.lower(kind) == "colorpicker" then
  677.                         cheat.value = Color3.new(1, 1, 1);
  678.  
  679.                         if data then
  680.                             if data.color then
  681.                                 cheat.value = data.color
  682.                             end
  683.                         end
  684.                        
  685.                         local hsvimage = "rbxassetid://4613607014"
  686.                         local lumienceimage = "rbxassetid://4613627894"
  687.                        
  688.                         cheat.hsvbar = finity:Create("ImageButton", {
  689.                             AnchorPoint = Vector2.new(0.5, 0.5),
  690.                             Name = "HSVBar",
  691.                             BackgroundColor3 = Color3.new(1, 1, 1),
  692.                             BackgroundTransparency = 1,
  693.                             Position = UDim2.new(0.5, 0, 0.5, 0),
  694.                             Size = UDim2.new(1, 0, 0, 6),
  695.                             ZIndex = 2,
  696.                             Image = hsvimage
  697.                         })
  698.  
  699.                         cheat.arrowpreview = finity:Create("ImageLabel", {
  700.                             Name = "ArrowPreview",
  701.                             BackgroundColor3 = Color3.new(1, 1, 1),
  702.                             BackgroundTransparency = 1,
  703.                             ImageTransparency = 0.25,
  704.                             Position = UDim2.new(0.5, 0, 0.5, -6),
  705.                             Size = UDim2.new(0, 6, 0, 6),
  706.                             ZIndex = 3,
  707.                             Image = "rbxassetid://2500573769",
  708.                             Rotation = -90
  709.                         })
  710.                        
  711.                         cheat.hsvbar.MouseButton1Down:Connect(function()
  712.                             local rs = finity.gs["RunService"]
  713.                             local uis = finity.gs["UserInputService"]local last = cheat.value;
  714.  
  715.                             cheat.hsvbar.Image = hsvimage
  716.  
  717.                             while uis:IsMouseButtonPressed'MouseButton1' do
  718.                                 local mouseloc = uis:GetMouseLocation()
  719.                                 local sx = cheat.arrowpreview.AbsoluteSize.X / 2;
  720.                                 local offset = (mouseloc.x - cheat.hsvbar.AbsolutePosition.X) - sx
  721.                                 local scale = offset / cheat.hsvbar.AbsoluteSize.X
  722.                                 local position = math.clamp(offset, -sx, cheat.hsvbar.AbsoluteSize.X - sx) / cheat.hsvbar.AbsoluteSize.X
  723.  
  724.                                 finity.gs["TweenService"]:Create(cheat.arrowpreview, TweenInfo.new(0.1), {Position = UDim2.new(position, 0, 0.5, -6)}):Play()
  725.                                
  726.                                 cheat.value = Color3.fromHSV(math.clamp(scale, 0, 1), 1, 1)
  727.  
  728.                                 if cheat.value ~= last then
  729.                                     last = cheat.value
  730.                                    
  731.                                     if callback then
  732.                                         local s, e = pcall(function()
  733.                                             callback(cheat.value)
  734.                                         end)
  735.        
  736.                                         if not s then warn("error: ".. e) end
  737.                                     end
  738.                                 end
  739.  
  740.                                 rs.RenderStepped:wait()
  741.                             end
  742.                         end)
  743.                         cheat.hsvbar.MouseButton2Down:Connect(function()
  744.                             local rs = finity.gs["RunService"]
  745.                             local uis = finity.gs["UserInputService"]
  746.                             local last = cheat.value;
  747.  
  748.                             cheat.hsvbar.Image = lumienceimage
  749.  
  750.                             while uis:IsMouseButtonPressed'MouseButton2' do
  751.                                 local mouseloc = uis:GetMouseLocation()
  752.                                 local sx = cheat.arrowpreview.AbsoluteSize.X / 2
  753.                                 local offset = (mouseloc.x - cheat.hsvbar.AbsolutePosition.X) - sx
  754.                                 local scale = offset / cheat.hsvbar.AbsoluteSize.X
  755.                                 local position = math.clamp(offset, -sx, cheat.hsvbar.AbsoluteSize.X - sx) / cheat.hsvbar.AbsoluteSize.X
  756.  
  757.                                 finity.gs["TweenService"]:Create(cheat.arrowpreview, TweenInfo.new(0.1), {Position = UDim2.new(position, 0, 0.5, -6)}):Play()
  758.                                
  759.                                 cheat.value = Color3.fromHSV(1, 0, 1 - math.clamp(scale, 0, 1))
  760.  
  761.                                 if cheat.value ~= last then
  762.                                     last = cheat.value
  763.  
  764.                                     if callback then
  765.                                         local s, e = pcall(function()
  766.                                             callback(cheat.value)
  767.                                         end)
  768.        
  769.                                         if not s then warn("error: ".. e) end
  770.                                     end
  771.                                 end
  772.  
  773.                                 rs.RenderStepped:wait()
  774.                             end
  775.                         end)
  776.  
  777.                         function cheat:SetValue(value)
  778.                             cheat.value = value
  779.                             if cheat.value then
  780.                                 finity.gs["TweenService"]:Create(cheat.outerbox, TweenInfo.new(0.2), {ImageColor3 = theme.checkbox_checked}):Play()
  781.                                 finity.gs["TweenService"]:Create(cheat.checkboxbutton, TweenInfo.new(0.2), {ImageColor3 = theme.checkbox_checked}):Play()
  782.                             else
  783.                                 finity.gs["TweenService"]:Create(cheat.outerbox, TweenInfo.new(0.2), {ImageColor3 = theme.checkbox_outer}):Play()
  784.                                 finity.gs["TweenService"]:Create(cheat.checkboxbutton, TweenInfo.new(0.2), {ImageColor3 = theme.checkbox_inner}):Play()
  785.                             end
  786.                             if callback then
  787.                                 local s, e = pcall(function()
  788.                                     callback(cheat.value)
  789.                                 end)
  790.                                 if not s then
  791.                                     warn("error: "..e)
  792.                                 end
  793.                             end
  794.                         end
  795.  
  796.                         cheat.hsvbar.Parent = cheat.container
  797.                         cheat.arrowpreview.Parent = cheat.hsvbar
  798.                     elseif string.lower(kind) == "dropdown" then
  799.                         if data then
  800.                             if data.default then
  801.                                 cheat.value = data.default
  802.                             elseif data.options then
  803.                                 cheat.value = data.options[1]
  804.                             else
  805.                                 cheat.value = "None"
  806.                             end
  807.                         end
  808.                        
  809.                         local options
  810.                        
  811.                         if data and data.options then
  812.                             options = data.options
  813.                         end
  814.  
  815.                         cheat.dropped = false
  816.  
  817.                         cheat.dropdown = finity:Create("ImageButton", {
  818.                             Name = "Dropdown",
  819.                             BackgroundColor3 = Color3.new(1, 1, 1),
  820.                             BackgroundTransparency = 1,
  821.                             Size = UDim2.new(1, 0, 1, 0),
  822.                             ZIndex = 2,
  823.                             Image = "rbxassetid://3570695787",
  824.                             ImageColor3 = theme.dropdown_background,
  825.                             ImageTransparency = 0.5,
  826.                             ScaleType = Enum.ScaleType.Slice,
  827.                             SliceCenter = Rect.new(100, 100, 100, 100),
  828.                             SliceScale = 0.02
  829.                         })
  830.  
  831.                         cheat.selected = finity:Create("TextLabel", {
  832.                             Name = "Selected",
  833.                             BackgroundColor3 = Color3.new(1, 1, 1),
  834.                             BackgroundTransparency = 1,
  835.                             Position = UDim2.new(0, 10, 0, 0),
  836.                             Size = UDim2.new(1, -35, 1, 0),
  837.                             ZIndex = 2,
  838.                             Font = Enum.Font.Gotham,
  839.                             Text = tostring(cheat.value),
  840.                             TextColor3 = theme.dropdown_text,
  841.                             TextSize = 13,
  842.                             TextXAlignment = Enum.TextXAlignment.Left
  843.                         })
  844.  
  845.                         cheat.list = finity:Create("ScrollingFrame", {
  846.                             Name = "List",
  847.                             BackgroundColor3 = theme.dropdown_background,
  848.                             BackgroundTransparency = 0.5,
  849.                             BorderSizePixel = 0,
  850.                             Position = UDim2.new(0, 0, 1, 0),
  851.                             Size = UDim2.new(1, 0, 0, 100),
  852.                             ZIndex = 3,
  853.                             BottomImage = "rbxassetid://967852042",
  854.                             MidImage = "rbxassetid://967852042",
  855.                             TopImage = "rbxassetid://967852042",
  856.                             ScrollBarThickness = 4,
  857.                             VerticalScrollBarInset = Enum.ScrollBarInset.None,
  858.                             ScrollBarImageColor3 = theme.dropdown_scrollbar_color
  859.                         })
  860.  
  861.                         local uilistlayout = finity:Create("UIListLayout", {
  862.                             SortOrder = Enum.SortOrder.LayoutOrder,
  863.                             Padding = UDim.new(0, 2)
  864.                         })
  865.                         uilistlayout.Parent = cheat.list
  866.                         uilistlayout = nil
  867.                         local uipadding = finity:Create("UIPadding", {
  868.                             PaddingLeft = UDim.new(0, 2)
  869.                         })
  870.                         uipadding.Parent = cheat.list
  871.                         uipadding = nil
  872.                        
  873.                         local function refreshOptions()
  874.                             if cheat.dropped then
  875.                                 cheat.fadelist()
  876.                             end
  877.                            
  878.                             for _, child in next, cheat.list:GetChildren() do
  879.                                 if child:IsA("TextButton") then
  880.                                     child:Destroy()
  881.                                 end
  882.                             end
  883.                            
  884.                             for i, value in next, options do
  885.                                 if string.match(tostring(i), "%a") then
  886.                                     print("UI: " .. i, value)
  887.                                     local button = finity:Create("TextButton", {
  888.                                         BackgroundColor3 = Color3.new(1, 1, 1),
  889.                                         BackgroundTransparency = 1,
  890.                                         Size = UDim2.new(1, 0, 0, 20),
  891.                                         ZIndex = 3,
  892.                                         Font = Enum.Font.Gotham,
  893.                                         Text = options[i],
  894.                                         TextColor3 = theme.dropdown_text,
  895.                                         TextSize = 13
  896.                                     })
  897.                                 end
  898.    
  899.                                 button.Parent = cheat.list
  900.    
  901.                                 button.MouseEnter:Connect(function()
  902.                                     finity.gs["TweenService"]:Create(button, TweenInfo.new(0.1), {TextColor3 = theme.dropdown_text_hover}):Play()
  903.                                 end)
  904.                                 button.MouseLeave:Connect(function()
  905.                                     finity.gs["TweenService"]:Create(button, TweenInfo.new(0.1), {TextColor3 = theme.dropdown_text}):Play()
  906.                                 end)
  907.                                 button.MouseButton1Click:Connect(function()
  908.                                     if cheat.dropped then
  909.                                         cheat.value = value
  910.                                         cheat.selected.Text = value
  911.    
  912.                                         cheat.fadelist()
  913.                                        
  914.                                         if callback then
  915.                                             local s, e = pcall(function()
  916.                                                 callback(cheat.value)
  917.                                             end)
  918.    
  919.                                             if not s then warn("error: ".. e) end
  920.                                         end
  921.                                     end
  922.                                 end)
  923.                                
  924.                                
  925.                                 finity.gs["TweenService"]:Create(button, TweenInfo.new(0), {TextTransparency = 1}):Play()
  926.                             end
  927.                            
  928.                             finity.gs["TweenService"]:Create(cheat.list, TweenInfo.new(0), {Size = UDim2.new(1, 0, 0, 0), Position = UDim2.new(0, 0, 1, 0), CanvasSize = UDim2.new(0, 0, 0, cheat.list["UIListLayout"].AbsoluteContentSize.Y), ScrollBarImageTransparency = 1, BackgroundTransparency = 1}):Play()
  929.                         end
  930.                        
  931.                        
  932.                         function cheat.fadelist()
  933.                             cheat.dropped = not cheat.dropped
  934.  
  935.                             if cheat.dropped then
  936.                                 for _, button in next, cheat.list:GetChildren() do
  937.                                     if button:IsA("TextButton") then
  938.                                         finity.gs["TweenService"]:Create(button, TweenInfo.new(0.2), {TextTransparency = 0}):Play()
  939.                                     end
  940.                                 end
  941.  
  942.                                 finity.gs["TweenService"]:Create(cheat.list, TweenInfo.new(0.2), {Size = UDim2.new(1, 0, 0, math.clamp(cheat.list["UIListLayout"].AbsoluteContentSize.Y, 0, 150)), Position = UDim2.new(0, 0, 1, 0), ScrollBarImageTransparency = 0, BackgroundTransparency = 0.5}):Play()
  943.                             else
  944.                                 for _, button in next, cheat.list:GetChildren() do
  945.                                     if button:IsA("TextButton") then
  946.                                         finity.gs["TweenService"]:Create(button, TweenInfo.new(0.2), {TextTransparency = 1}):Play()
  947.                                     end
  948.                                 end
  949.  
  950.                                 finity.gs["TweenService"]:Create(cheat.list, TweenInfo.new(0.2), {Size = UDim2.new(1, 0, 0, 0), Position = UDim2.new(0, 0, 1, 0), ScrollBarImageTransparency = 1, BackgroundTransparency = 1}):Play()
  951.                             end
  952.                         end
  953.  
  954.                         cheat.dropdown.MouseEnter:Connect(function()
  955.                             finity.gs["TweenService"]:Create(cheat.selected, TweenInfo.new(0.1), {TextColor3 = theme.dropdown_text_hover}):Play()
  956.                         end)
  957.                         cheat.dropdown.MouseLeave:Connect(function()
  958.                             finity.gs["TweenService"]:Create(cheat.selected, TweenInfo.new(0.1), {TextColor3 = theme.dropdown_text}):Play()
  959.                         end)
  960.                         cheat.dropdown.MouseButton1Click:Connect(function()
  961.                             cheat.fadelist()
  962.                         end)
  963.  
  964.                         refreshOptions()
  965.                        
  966.                         function cheat:RemoveOption(value)
  967.                             local removed = false
  968.                             for index, option in next, options do
  969.                                 if option == value then
  970.                                     table.remove(options, index)
  971.                                     removed = true
  972.                                     break
  973.                                 end
  974.                             end
  975.                            
  976.                             if removed then
  977.                                 refreshOptions()
  978.                             end
  979.                            
  980.                             return removed
  981.                         end
  982.                        
  983.                         function cheat:AddOption(value)
  984.                             table.insert(options, value)
  985.                            
  986.                             refreshOptions()
  987.                         end
  988.                        
  989.                         function cheat:SetValue(value)
  990.                             cheat.selected.Text = value
  991.                             cheat.value = value
  992.                            
  993.                             if cheat.dropped then
  994.                                 cheat.fadelist()
  995.                             end
  996.                            
  997.                             if callback then
  998.                                 local s, e = pcall(function()
  999.                                     callback(cheat.value)
  1000.                                 end)
  1001.  
  1002.                                 if not s then warn("error: ".. e) end
  1003.                             end
  1004.                         end
  1005.  
  1006.                         cheat.selected.Parent = cheat.dropdown
  1007.                         cheat.dropdown.Parent = cheat.container
  1008.                         cheat.list.Parent = cheat.container
  1009.                     elseif string.lower(kind) == "textbox" then
  1010.                         local placeholdertext = data and data.placeholder
  1011.  
  1012.                         cheat.background = finity:Create("ImageLabel", {
  1013.                             Name = "Background",
  1014.                             BackgroundColor3 = Color3.new(1, 1, 1),
  1015.                             BackgroundTransparency = 1,
  1016.                             Size = UDim2.new(1, 0, 1, 0),
  1017.                             ZIndex = 2,
  1018.                             Image = "rbxassetid://3570695787",
  1019.                             ImageColor3 = theme.textbox_background,
  1020.                             ImageTransparency = 0.5,
  1021.                             ScaleType = Enum.ScaleType.Slice,
  1022.                             SliceCenter = Rect.new(100, 100, 100, 100),
  1023.                             SliceScale = 0.02
  1024.                         })
  1025.  
  1026.                         cheat.textbox = finity:Create("TextBox", {
  1027.                             Name = "Textbox",
  1028.                             BackgroundColor3 = Color3.new(1, 1, 1),
  1029.                             BackgroundTransparency = 1,
  1030.                             Position = UDim2.new(0, 0, 0, 0),
  1031.                             Size = UDim2.new(1, 0, 1, 0),
  1032.                             ZIndex = 2,
  1033.                             Font = Enum.Font.Gotham,
  1034.                             Text = "",
  1035.                             TextColor3 = theme.textbox_text,
  1036.                             PlaceholderText = placeholdertext or "Value",
  1037.                             TextSize = 13,
  1038.                             TextXAlignment = Enum.TextXAlignment.Center,
  1039.                             ClearTextOnFocus = false
  1040.                         })
  1041.  
  1042.                         cheat.background.MouseEnter:Connect(function()
  1043.                             finity.gs["TweenService"]:Create(cheat.textbox, TweenInfo.new(0.1), {TextColor3 = theme.textbox_text_hover}):Play()
  1044.                         end)
  1045.                         cheat.background.MouseLeave:Connect(function()
  1046.                             finity.gs["TweenService"]:Create(cheat.textbox, TweenInfo.new(0.1), {TextColor3 = theme.textbox_text}):Play()
  1047.                         end)
  1048.                         cheat.textbox.Focused:Connect(function()
  1049.                             typing = true
  1050.  
  1051.                             finity.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.textbox_background_hover}):Play()
  1052.                         end)
  1053.                         cheat.textbox.FocusLost:Connect(function()
  1054.                             typing = false
  1055.  
  1056.                             finity.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.textbox_background}):Play()
  1057.                             finity.gs["TweenService"]:Create(cheat.textbox, TweenInfo.new(0.1), {TextColor3 = theme.textbox_text}):Play()
  1058.  
  1059.                             cheat.value = cheat.textbox.Text
  1060.  
  1061.                             if callback then
  1062.                                 local s, e = pcall(function()
  1063.                                     callback(cheat.value)
  1064.                                 end)
  1065.  
  1066.                                 if not s then warn("error: "..e) end
  1067.                             end
  1068.                         end)
  1069.                         function cheat:SetValue(value)
  1070.                             cheat.value = tostring(value)
  1071.                             cheat.textbox.Text = tostring(val)
  1072.                         end
  1073.  
  1074.                         cheat.background.Parent = cheat.container
  1075.                         cheat.textbox.Parent = cheat.container
  1076.                     elseif string.lower(kind) == "slider" then
  1077.                         cheat.value = 0
  1078.  
  1079.                         local suffix = data.suffix or ""
  1080.                         local minimum = data.min or 0
  1081.                         local maximum = data.max or 1
  1082.                         local default = data.default
  1083.                         local precise = data.precise
  1084.                        
  1085.                         local moveconnection
  1086.                         local releaseconnection
  1087.  
  1088.                         cheat.sliderbar = finity:Create("ImageButton", {
  1089.                             Name = "Sliderbar",
  1090.                             AnchorPoint = Vector2.new(1, 0.5),
  1091.                             BackgroundColor3 = Color3.new(1, 1, 1),
  1092.                             BackgroundTransparency = 1,
  1093.                             Position = UDim2.new(1, 0, 0.5, 0),
  1094.                             Size = UDim2.new(1, 0, 0, 6),
  1095.                             ZIndex = 2,
  1096.                             Image = "rbxassetid://3570695787",
  1097.                             ImageColor3 = theme.slider_background,
  1098.                             ImageTransparency = 0.5,
  1099.                             ScaleType = Enum.ScaleType.Slice,
  1100.                             SliceCenter = Rect.new(100, 100, 100, 100),
  1101.                             SliceScale = 0.02,
  1102.                         })
  1103.  
  1104.                         cheat.numbervalue = finity:Create("TextLabel", {
  1105.                             Name = "Value",
  1106.                             AnchorPoint = Vector2.new(0, 0.5),
  1107.                             BackgroundColor3 = Color3.new(1, 1, 1),
  1108.                             BackgroundTransparency = 1,
  1109.                             Position = UDim2.new(0.5, 5, 0.5, 0),
  1110.                             Size = UDim2.new(1, 0, 0, 13),
  1111.                             ZIndex = 2,
  1112.                             Font = Enum.Font.Gotham,
  1113.                             TextXAlignment = Enum.TextXAlignment.Left,
  1114.                             Text = "",
  1115.                             TextTransparency = 1,
  1116.                             TextColor3 = theme.slider_text,
  1117.                             TextSize = 13,
  1118.                         })
  1119.  
  1120.                         cheat.visiframe = finity:Create("ImageLabel", {
  1121.                             Name = "Frame",
  1122.                             BackgroundColor3 = Color3.new(1, 1, 1),
  1123.                             BackgroundTransparency = 1,
  1124.                             Size = UDim2.new(0.5, 0, 1, 0),
  1125.                             ZIndex = 2,
  1126.                             Image = "rbxassetid://3570695787",
  1127.                             ImageColor3 = theme.slider_color,
  1128.                             ScaleType = Enum.ScaleType.Slice,
  1129.                             SliceCenter = Rect.new(100, 100, 100, 100),
  1130.                             SliceScale = 0.02
  1131.                         })
  1132.  
  1133.                         if data.default then
  1134.                             local size = math.clamp(data.default - cheat.sliderbar.AbsolutePosition.X, 0, 150)
  1135.                             local percent = size / 150
  1136.                             local perc = default/maximum
  1137.                             cheat.value = math.floor((minimum + (maximum - minimum) * percent) * 100) / 100
  1138.                             finity.gs["TweenService"]:Create(cheat.visiframe, TweenInfo.new(0.1), {
  1139.                                 Size = UDim2.new(perc, 0, 1, 0),
  1140.                             }):Play()
  1141.                             if callback then
  1142.                                 local s, e = pcall(function()
  1143.                                     callback(cheat.value)
  1144.                                 end)
  1145.  
  1146.                                 if not s then warn("error: ".. e) end
  1147.                             end
  1148.                         end
  1149.  
  1150.                         function cheat:SetValue(value)
  1151.                             local size = math.clamp(value - cheat.sliderbar.AbsolutePosition.X, 0, 150)
  1152.                             local percent = size / 150
  1153.                             local perc = default/maximum
  1154.                             cheat.value = math.floor((minimum + (maximum - minimum) * percent) * 100) / 100
  1155.                             finity.gs["TweenService"]:Create(cheat.visiframe, TweenInfo.new(0.1), {
  1156.                                 Size = UDim2.new(perc, 0, 1, 0),
  1157.                             }):Play()
  1158.                             if callback then
  1159.                                 local s, e = pcall(function()
  1160.                                     callback(cheat.value)
  1161.                                 end)
  1162.  
  1163.                                 if not s then warn("error: ".. e) end
  1164.                             end
  1165.                         end
  1166.  
  1167.                         cheat.sliderbar.MouseButton1Down:Connect(function()
  1168.                             local size = math.clamp(mouse.X - cheat.sliderbar.AbsolutePosition.X, 0, 150)
  1169.                             local percent = size / 150
  1170.  
  1171.                             cheat.value = math.floor((minimum + (maximum - minimum) * percent) * 100) / 100
  1172.                             if precise then
  1173.                                 cheat.numbervalue.Text = math.ceil(tostring(cheat.value)) .. suffix
  1174.                             else
  1175.                                 cheat.numbervalue.Text = tostring(cheat.value) .. suffix
  1176.                             end
  1177.  
  1178.                             if callback then
  1179.                                 local s, e = pcall(function()
  1180.                                     if data.precise then
  1181.                                         callback(cheat.value)
  1182.                                     else
  1183.                                         callback(math.ceil(cheat.value))
  1184.                                     end
  1185.                                 end)
  1186.  
  1187.                                 if not s then warn("error: ".. e) end
  1188.                             end
  1189.  
  1190.                             finity.gs["TweenService"]:Create(cheat.visiframe, TweenInfo.new(0.1), {
  1191.                                 Size = UDim2.new(size / 150, 0, 1, 0),
  1192.                                 ImageColor3 = theme.slider_color_sliding
  1193.                             }):Play()
  1194.  
  1195.                             finity.gs["TweenService"]:Create(cheat.numbervalue, TweenInfo.new(0.1), {
  1196.                                 Position = UDim2.new(size / 150, 5, 0.5, 0),
  1197.                                 TextTransparency = 0
  1198.                             }):Play()
  1199.  
  1200.                             moveconnection = mouse.Move:Connect(function()
  1201.                                 local size = math.clamp(mouse.X - cheat.sliderbar.AbsolutePosition.X, 0, 150)
  1202.                                 local percent = size / 150
  1203.  
  1204.                                 cheat.value = math.floor((minimum + (maximum - minimum) * percent) * 100) / 100
  1205.                                 if precise then
  1206.                                     cheat.numbervalue.Text = math.ceil(tostring(cheat.value)) .. suffix
  1207.                                 else
  1208.                                     cheat.numbervalue.Text = tostring(cheat.value) .. suffix
  1209.                                 end
  1210.  
  1211.                                 if callback then
  1212.                                     local s, e = pcall(function()
  1213.                                         if data.precise then
  1214.                                             callback(cheat.value)
  1215.                                         else
  1216.                                             callback(math.ceil(cheat.value))
  1217.                                         end
  1218.                                     end)
  1219.  
  1220.                                     if not s then warn("error: ".. e) end
  1221.                                 end
  1222.  
  1223.                                 finity.gs["TweenService"]:Create(cheat.visiframe, TweenInfo.new(0.1), {
  1224.                                     Size = UDim2.new(size / 150, 0, 1, 0),
  1225.                                 ImageColor3 = theme.slider_color_sliding
  1226.                                 }):Play()
  1227.                                
  1228.                                 local Position = UDim2.new(size / 150, 5, 0.5, 0);
  1229.  
  1230.                                 if Position.Width.Scale >= 0.6 then
  1231.                                     Position = UDim2.new(1, -cheat.numbervalue.TextBounds.X, 0.5, 10);
  1232.                                 end
  1233.  
  1234.                                 finity.gs["TweenService"]:Create(cheat.numbervalue, TweenInfo.new(0.1), {
  1235.                                     Position = Position,
  1236.                                     TextTransparency = 0
  1237.                                 }):Play()
  1238.                             end)
  1239.  
  1240.                             releaseconnection = finity.gs["UserInputService"].InputEnded:Connect(function(Mouse)
  1241.                                 if Mouse.UserInputType == Enum.UserInputType.MouseButton1 then
  1242.  
  1243.                                     finity.gs["TweenService"]:Create(cheat.visiframe, TweenInfo.new(0.1), {
  1244.                                         ImageColor3 = theme.slider_color
  1245.                                     }):Play()
  1246.  
  1247.                                     finity.gs["TweenService"]:Create(cheat.numbervalue, TweenInfo.new(0.1), {
  1248.                                         TextTransparency = 1
  1249.                                     }):Play()
  1250.  
  1251.                                     moveconnection:Disconnect()
  1252.                                     moveconnection = nil
  1253.                                     releaseconnection:Disconnect()
  1254.                                     releaseconnection = nil
  1255.                                 end
  1256.                             end)
  1257.                         end)
  1258.  
  1259.                         cheat.visiframe.Parent = cheat.sliderbar
  1260.                         cheat.numbervalue.Parent = cheat.sliderbar
  1261.                         cheat.sliderbar.Parent = cheat.container
  1262.                     elseif string.lower(kind) == "button" then
  1263.                         local button_text = data and data.text
  1264.  
  1265.                         cheat.background = finity:Create("ImageLabel", {
  1266.                             Name = "Background",
  1267.                             BackgroundColor3 = Color3.new(1, 1, 1),
  1268.                             BackgroundTransparency = 1,
  1269.                             Size = UDim2.new(1, 0, 1, 0),
  1270.                             ZIndex = 2,
  1271.                             Image = "rbxassetid://3570695787",
  1272.                             ImageColor3 = theme.button_background,
  1273.                             ImageTransparency = 0.5,
  1274.                             ScaleType = Enum.ScaleType.Slice,
  1275.                             SliceCenter = Rect.new(100, 100, 100, 100),
  1276.                             SliceScale = 0.02
  1277.                         })
  1278.  
  1279.                         cheat.button = finity:Create("TextButton", {
  1280.                             Name = "Button",
  1281.                             BackgroundColor3 = Color3.new(1, 1, 1),
  1282.                             BackgroundTransparency = 1,
  1283.                             Position = UDim2.new(0, 0, 0, 0),
  1284.                             Size = UDim2.new(1, 0, 1, 0),
  1285.                             ZIndex = 2,
  1286.                             Font = Enum.Font.Gotham,
  1287.                             Text = button_text or "Button",
  1288.                             TextColor3 = theme.textbox_text,
  1289.                             TextSize = 13,
  1290.                             TextXAlignment = Enum.TextXAlignment.Center
  1291.                         })
  1292.  
  1293.                         cheat.button.MouseEnter:Connect(function()
  1294.                             finity.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.button_background_hover}):Play()
  1295.                         end)
  1296.                         cheat.button.MouseLeave:Connect(function()
  1297.                             finity.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.button_background}):Play()
  1298.                         end)
  1299.                         cheat.button.MouseButton1Down:Connect(function()
  1300.                             finity.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.button_background_down}):Play()
  1301.                         end)
  1302.                         cheat.button.MouseButton1Up:Connect(function()
  1303.                             finity.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.button_background}):Play()
  1304.                            
  1305.                             if callback then
  1306.                                 local s, e = pcall(function()
  1307.                                     callback()
  1308.                                 end)
  1309.  
  1310.                                 if not s then warn("error: ".. e) end
  1311.                             end
  1312.                         end)
  1313.                        
  1314.                         function cheat:Fire()
  1315.                             if callback then
  1316.                                 local s, e = pcall(function()
  1317.                                     callback()
  1318.                                 end)
  1319.  
  1320.                                 if not s then warn("error: ".. e) end
  1321.                             end
  1322.                         end
  1323.  
  1324.                         cheat.background.Parent = cheat.container
  1325.                         cheat.button.Parent = cheat.container
  1326.                    
  1327.                     elseif string.lower(kind) == "keybind" or string.lower(kind) == "bind" then
  1328.                         local callback_bind = data and data.bind
  1329.                         local connection
  1330.                         cheat.holding = false
  1331.                        
  1332.                         cheat.background = finity:Create("ImageLabel", {
  1333.                             Name = "Background",
  1334.                             BackgroundColor3 = Color3.new(1, 1, 1),
  1335.                             BackgroundTransparency = 1,
  1336.                             Size = UDim2.new(1, 0, 1, 0),
  1337.                             ZIndex = 2,
  1338.                             Image = "rbxassetid://3570695787",
  1339.                             ImageColor3 = theme.button_background,
  1340.                             ImageTransparency = 0.5,
  1341.                             ScaleType = Enum.ScaleType.Slice,
  1342.                             SliceCenter = Rect.new(100, 100, 100, 100),
  1343.                             SliceScale = 0.02
  1344.                         })
  1345.  
  1346.                         cheat.button = finity:Create("TextButton", {
  1347.                             Name = "Button",
  1348.                             BackgroundColor3 = Color3.new(1, 1, 1),
  1349.                             BackgroundTransparency = 1,
  1350.                             Position = UDim2.new(0, 0, 0, 0),
  1351.                             Size = UDim2.new(1, 0, 1, 0),
  1352.                             ZIndex = 2,
  1353.                             Font = Enum.Font.Gotham,
  1354.                             Text = "Click to Bind",
  1355.                             TextColor3 = theme.textbox_text,
  1356.                             TextSize = 13,
  1357.                             TextXAlignment = Enum.TextXAlignment.Center
  1358.                         })
  1359.  
  1360.                         cheat.button.MouseEnter:Connect(function()
  1361.                             finity.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.button_background_hover}):Play()
  1362.                         end)
  1363.                         cheat.button.MouseLeave:Connect(function()
  1364.                             finity.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.button_background}):Play()
  1365.                         end)
  1366.                         cheat.button.MouseButton1Down:Connect(function()
  1367.                             finity.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.button_background_down}):Play()
  1368.                         end)
  1369.                         cheat.button.MouseButton2Down:Connect(function()
  1370.                             finity.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.button_background_down}):Play()
  1371.                         end)
  1372.                         cheat.button.MouseButton1Up:Connect(function()
  1373.                             finity.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.button_background}):Play()
  1374.                             cheat.button.Text = "Press key..."
  1375.                            
  1376.                             if connection then
  1377.                                 connection:Disconnect()
  1378.                                 connection = nil
  1379.                             end
  1380.                             cheat.holding = false
  1381.  
  1382.                             connection = finity.gs["UserInputService"].InputBegan:Connect(function(Input)
  1383.                                 if Input.UserInputType.Name == "Keyboard" and Input.KeyCode ~= finityData.ToggleKey and Input.KeyCode ~= Enum.KeyCode.Backspace then
  1384.                                     cheat.button.Text = "Bound to " .. tostring(Input.KeyCode.Name)
  1385.                                    
  1386.                                     if connection then
  1387.                                         connection:Disconnect()
  1388.                                         connection = nil
  1389.                                     end
  1390.                                    
  1391.                                     delay(0, function()
  1392.                                         callback_bind = Input.KeyCode
  1393.                                         cheat.value = Input.KeyCode
  1394.  
  1395.                                         if callback then
  1396.                                             local s, e = pcall(function()
  1397.                                                 callback(Input.KeyCode)
  1398.                                             end)
  1399.            
  1400.                                             if not s then warn("error: ".. e) end
  1401.                                         end
  1402.                                     end)
  1403.                                 elseif Input.KeyCode == Enum.KeyCode.Backspace then
  1404.                                     callback_bind = nil
  1405.                                     cheat.button.Text = "Click to Bind"
  1406.                                     cheat.value = nil
  1407.                                     cheat.holding = false
  1408.                                     delay(0, function()
  1409.                                         if callback then
  1410.                                             local s, e = pcall(function()
  1411.                                                 callback()
  1412.                                             end)
  1413.            
  1414.                                             if not s then warn("error: ".. e) end
  1415.                                         end
  1416.                                     end)
  1417.  
  1418.                                     connection:Disconnect()
  1419.                                     connection = nil
  1420.                                 elseif Input.KeyCode == finityData.ToggleKey then
  1421.                                     cheat.button.Text = "Invalid Key";
  1422.                                     cheat.value = nil
  1423.                                 end
  1424.                             end)
  1425.                         end)
  1426.                        
  1427.                         cheat.button.MouseButton2Up:Connect(function()
  1428.                             finity.gs["TweenService"]:Create(cheat.background, TweenInfo.new(0.2), {ImageColor3 = theme.button_background}):Play()
  1429.                             cheat.value = nil
  1430.                             callback_bind = nil
  1431.                             cheat.button.Text = "Click to Bind"
  1432.                             cheat.holding = false
  1433.  
  1434.                             delay(0, function()
  1435.                                 if callback then
  1436.                                     local s, e = pcall(function()
  1437.                                         callback()
  1438.                                     end)
  1439.    
  1440.                                     if not s then warn("error: ".. e) end
  1441.                                 end
  1442.                             end)
  1443.                            
  1444.                             if connection then
  1445.                                 connection:Disconnect()
  1446.                                 connection = nil
  1447.                             end
  1448.                         end)
  1449.                        
  1450.                         function cheat:SetValue(value)
  1451.                             cheat.value = tostring(value)
  1452.                             cheat.button.Text = "Bound to " .. tostring(value)
  1453.                         end
  1454.                        
  1455.                         finity.gs["UserInputService"].InputBegan:Connect(function(Input, Process)
  1456.                             if callback_bind and Input.KeyCode == callback_bind and not Process then
  1457.                                 cheat.holding = true
  1458.                                 if callback then
  1459.                                     local s, e = pcall(function()
  1460.                                         callback(Input.KeyCode)
  1461.                                     end)
  1462.    
  1463.                                     if not s then warn("error: ".. e) end
  1464.                                 end
  1465.                             end
  1466.                         end)
  1467.                         finity.gs["UserInputService"].InputBegan:Connect(function(Input, Process)
  1468.                             if callback_bind and Input.KeyCode == callback_bind and not Process then
  1469.                                 cheat.holding = true
  1470.                             end
  1471.                         end)
  1472.                        
  1473.                         if callback_bind then
  1474.                             cheat.button.Text = "Bound to " .. tostring(callback_bind.Name)
  1475.                         end
  1476.  
  1477.                         cheat.background.Parent = cheat.container
  1478.                         cheat.button.Parent = cheat.container
  1479.                     end
  1480.                 end
  1481.  
  1482.                 cheat.frame.Parent = sector.container
  1483.                 cheat.label.Parent = cheat.frame
  1484.                 cheat.container.Parent = cheat.frame
  1485.  
  1486.                 return cheat
  1487.             end
  1488.  
  1489.             sector.frame.Parent = category[calculateSector()]
  1490.             sector.container.Parent = sector.frame
  1491.             sector.title.Parent = sector.frame
  1492.  
  1493.             return sector
  1494.         end
  1495.        
  1496.         firstCategory = false
  1497.        
  1498.         return category
  1499.     end
  1500.  
  1501.     self:addShadow(self2.container, 0)
  1502.  
  1503.     self2.categories.ClipsDescendants = true
  1504.    
  1505.     if not finity.gs["RunService"]:IsStudio() then
  1506.         self2.userinterface.Parent = self.gs["CoreGui"]
  1507.     else
  1508.         self2.userinterface.Parent = self.gs["Players"].LocalPlayer:WaitForChild("PlayerGui")
  1509.     end
  1510.    
  1511.     self2.container.Parent = self2.userinterface
  1512.     self2.categories.Parent = self2.container
  1513.     self2.sidebar.Parent = self2.container
  1514.     self2.topbar.Parent = self2.container
  1515.     self2.tip.Parent = self2.topbar
  1516.  
  1517.     return self2, finityData
  1518. end
  1519.  
  1520. return finity
Advertisement
RAW Paste Data Copied
Advertisement