Advertisement
vxste

a

Apr 29th, 2024 (edited)
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 132.22 KB | None | 0 0
  1. _G.JxereasExistingHooks = _G.JxereasExistingHooks or {}
  2. if not _G.JxereasExistingHooks.GuiDetectionBypass then
  3. local CoreGui = game.CoreGui
  4. local ContentProvider = game.ContentProvider
  5. local RobloxGuis = {"RobloxGui", "TeleportGui", "RobloxPromptGui", "RobloxLoadingGui", "PlayerList", "RobloxNetworkPauseNotification", "PurchasePrompt", "HeadsetDisconnectedDialog", "ThemeProvider", "DevConsoleMaster"}
  6.  
  7. local function FilterTable(tbl)
  8. local context = syn_context_get()
  9. syn_context_set(7)
  10. local new = {}
  11. for i,v in ipairs(tbl) do --roblox iterates the array part
  12. if typeof(v) ~= "Instance" then
  13. table.insert(new, v)
  14. else
  15. if v == CoreGui or v == game then
  16. --insert only the default roblox guis
  17. for i,v in pairs(RobloxGuis) do
  18. local gui = CoreGui:FindFirstChild(v)
  19. if gui then
  20. table.insert(new, gui)
  21. end
  22. end
  23.  
  24. if v == game then
  25. for i,v in pairs(game:GetChildren()) do
  26. if v ~= CoreGui then
  27. table.insert(new, v)
  28. end
  29. end
  30. end
  31. else
  32. if not CoreGui:IsAncestorOf(v) then
  33. table.insert(new, v)
  34. else
  35. --don't insert it if it's a descendant of a different gui than default roblox guis
  36. for j,k in pairs(RobloxGuis) do
  37. local gui = CoreGui:FindFirstChild(k)
  38. if gui then
  39. if v == gui or gui:IsAncestorOf(v) then
  40. table.insert(new, v)
  41. break
  42. end
  43. end
  44. end
  45. end
  46. end
  47. end
  48. end
  49. syn_context_set(context)
  50. return new
  51. end
  52.  
  53. local old
  54. old = hookfunc(ContentProvider.PreloadAsync, function(self, tbl, cb)
  55. if self ~= ContentProvider or type(tbl) ~= "table" or type(cb) ~= "function" then --note: callback can be nil but in that case it's useless anyways
  56. return old(self, tbl, cb)
  57. end
  58.  
  59. --check for any errors that I might've missed (such as table being {[2] = "something"} which causes "Unable to cast to Array")
  60. local err
  61. task.spawn(function() --TIL pcalling a C yield function inside a C yield function is a bad idea ("cannot resume non-suspended coroutine")
  62. local s,e = pcall(old, self, tbl)
  63. if not s and e then
  64. err = e
  65. end
  66. end)
  67.  
  68. if err then
  69. return old(self, tbl) --don't pass the callback, just in case
  70. end
  71.  
  72. tbl = FilterTable(tbl)
  73. return old(self, tbl, cb)
  74. end)
  75.  
  76. local old
  77. old = hookmetamethod(game, "__namecall", function(self, ...)
  78. local method = getnamecallmethod()
  79. if self == ContentProvider and (method == "PreloadAsync" or method == "preloadAsync") then
  80. local args = {...}
  81. if type(args[1]) ~= "table" or type(args[2]) ~= "function" then
  82. return old(self, ...)
  83. end
  84.  
  85. local err
  86. task.spawn(function()
  87. setnamecallmethod(method) --different thread, different namecall method
  88. local s,e = pcall(old, self, args[1])
  89. if not s and e then
  90. err = e
  91. end
  92. end)
  93.  
  94. if err then
  95. return old(self, args[1])
  96. end
  97.  
  98. args[1] = FilterTable(args[1])
  99. setnamecallmethod(method)
  100. return old(self, args[1], args[2])
  101. end
  102. return old(self, ...)
  103. end)
  104.  
  105. _G.JxereasExistingHooks.GuiDetectionBypass = true
  106. end
  107.  
  108. local Players = game:GetService('Players');
  109. local GuiService = game:GetService('GuiService');
  110. local UserInputService = game:GetService('UserInputService');
  111. local TextService = game:GetService('TextService');
  112. local TweenService = game:GetService('TweenService');
  113. local player = Players.LocalPlayer
  114.  
  115. for _, connection in pairs(getconnections(player.Idled)) do
  116. if connection.Enabled then
  117. connection:Disable()
  118. end
  119. end
  120.  
  121.  
  122.  
  123. local mouse = player:GetMouse()
  124. local viewPortSize = workspace.CurrentCamera.ViewportSize
  125.  
  126. local originalElements = {}
  127. -- Add Tween Dictonary with format Tweens.ElementType.TweenName to ignore repetitive variables
  128.  
  129. local Library = {}
  130. local elementHandler = {}
  131. local windowHandler = {}
  132. local tabHandler = {}
  133. local sectionHandler = {}
  134. local titleHandler = {}
  135. local labelHandler = {}
  136. local toggleHandler = {}
  137. local buttonHandler = {}
  138. local dropdownHandler = {}
  139. local sliderHandler = {}
  140. local searchBarHandler = {}
  141. local keybindHandler = {}
  142. local textBoxHandler = {}
  143. local colorWheelHandler = {}
  144.  
  145. elementHandler.__index = elementHandler
  146. windowHandler.__index = function(_, i) return rawget(windowHandler, i) or rawget(elementHandler, i) end
  147. tabHandler.__index = function(_, i ) return rawget(tabHandler, i) or rawget(elementHandler, i) end
  148. sectionHandler.__index = function(_, i) return rawget(sectionHandler, i) or rawget(elementHandler, i) end
  149. titleHandler.__index = function(_, i) return rawget(titleHandler, i) or rawget(elementHandler, i) end
  150. labelHandler.__index = function(_, i) return rawget(labelHandler, i) or rawget(elementHandler, i) end
  151. toggleHandler.__index = function(_, i) return rawget(toggleHandler, i) or rawget(elementHandler, i) end
  152. buttonHandler.__index = function(_, i) return rawget(buttonHandler, i) or rawget(elementHandler, i) end
  153. dropdownHandler.__index = function(_, i) return rawget(dropdownHandler, i) or rawget(elementHandler, i) end
  154. sliderHandler.__index = function(_, i) return rawget(sliderHandler, i) or rawget(elementHandler, i) end
  155. searchBarHandler.__index = function(_, i) return rawget(searchBarHandler, i) or rawget(elementHandler, i) end
  156. keybindHandler.__index = function(_, i) return rawget(keybindHandler, i) or rawget(elementHandler, i) end
  157. textBoxHandler.__index = function(_, i) return rawget(textBoxHandler, i) or rawget(elementHandler, i) end
  158. colorWheelHandler.__index = function(_, i) return rawget(colorWheelHandler, i) or rawget(elementHandler, i) end
  159.  
  160. local function animateText(textInstance, animationSpeed, text, placeholderText, fillPlaceHolder, emptyPlaceHolderText)
  161. if emptyPlaceHolderText then
  162. for i = #textInstance.PlaceholderText, 0, -1 do
  163. textInstance.PlaceholderText = textInstance.PlaceholderText:sub(1,i)
  164. task.wait(animationSpeed)
  165. end
  166. else
  167. for i = #textInstance.Text, 0, -1 do
  168. textInstance.Text = textInstance.Text:sub(1,i)
  169. task.wait(animationSpeed)
  170. end
  171. end
  172.  
  173. if fillPlaceHolder then
  174. for i = 1, #placeholderText do
  175. textInstance.PlaceholderText = placeholderText:sub(1, i)
  176. task.wait(animationSpeed)
  177. end
  178. else
  179. for i = 1, #text do
  180. textInstance.Text = text:sub(1, i)
  181. task.wait(animationSpeed)
  182. end
  183. end
  184. end
  185.  
  186. local function toPolar(vector)
  187. return vector.Magnitude, math.atan2(vector.Y, vector.X)
  188. end
  189.  
  190. local function toCartesian(radius, theta)
  191. return math.cos(theta) * radius, math.sin(theta) * radius
  192. end
  193.  
  194. local function createOriginialElements()
  195. local function createWindow()
  196. local screenGui = Instance.new("ScreenGui")
  197. local background = Instance.new("Frame")
  198. local backgroundAspectRatioConstraint = Instance.new("UIAspectRatioConstraint")
  199. local pagesFolder = Instance.new("Folder")
  200. local heading = Instance.new("TextButton")
  201. local headingUICorner = Instance.new("UICorner")
  202. local buttonHolder = Instance.new("Frame")
  203. local buttonHolderList = Instance.new("UIListLayout")
  204. local buttonHolderPadding = Instance.new("UIPadding")
  205. local plus = Instance.new("ImageButton")
  206. local plusAspect = Instance.new("UIAspectRatioConstraint")
  207. local minus = Instance.new("ImageButton")
  208. local minusAspect = Instance.new("UIAspectRatioConstraint")
  209. local close = Instance.new("ImageButton")
  210. local closeAspect = Instance.new("UIAspectRatioConstraint")
  211. local headingCornerHiding = Instance.new("Frame")
  212. local headingSeperator = Instance.new("Frame")
  213. local title = Instance.new("TextLabel")
  214. local titleUIPadding = Instance.new("UIPadding")
  215. local holder = Instance.new("Frame")
  216. local backgroundUICorner = Instance.new("UICorner")
  217. local tabs = Instance.new("ScrollingFrame")
  218. local tabsUIListLayout = Instance.new("UIListLayout")
  219. local pageLogo = Instance.new("ImageLabel")
  220.  
  221. screenGui.Name = "Cerberus"
  222. screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
  223. screenGui.IgnoreGuiInset = true
  224.  
  225. background.Name = "Background"
  226. background.Parent = screenGui
  227. background.AnchorPoint = Vector2.new(0.5, 0.5)
  228. background.BackgroundColor3 = Color3.fromRGB(24, 25, 32)
  229. background.BorderSizePixel = 0
  230. background.ClipsDescendants = true
  231. background.Position = UDim2.new(0.5, 0, 0.5, 0)
  232. background.Size = UDim2.new(0.5, 0, 0.600000024, 0)
  233.  
  234. backgroundAspectRatioConstraint.Name = "BackgroundUIAspectRatioConstraint"
  235. backgroundAspectRatioConstraint.Parent = background
  236. backgroundAspectRatioConstraint.AspectRatio = 1.531
  237.  
  238. backgroundUICorner.Name = "BackgroundUICorner"
  239. backgroundUICorner.Parent = background
  240.  
  241. pagesFolder.Name = "Pages"
  242. pagesFolder.Parent = background
  243.  
  244. heading.Name = "Heading"
  245. heading.Parent = background
  246. heading.BackgroundColor3 = Color3.fromRGB(40, 41, 52)
  247. heading.BorderSizePixel = 0
  248. heading.Size = UDim2.new(1, 0, 0.0500000007, 0)
  249. heading.AutoButtonColor = false
  250. heading.Font = Enum.Font.SourceSans
  251. heading.Text = ""
  252. heading.TextColor3 = Color3.fromRGB(0, 0, 0)
  253. heading.TextSize = 14.000
  254.  
  255. headingUICorner.Name = "HeadingUICorner"
  256. headingUICorner.Parent = heading
  257.  
  258. buttonHolder.Name = "ButtonHolder"
  259. buttonHolder.Parent = heading
  260. buttonHolder.AnchorPoint = Vector2.new(1, 0)
  261. buttonHolder.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  262. buttonHolder.BackgroundTransparency = 1.000
  263. buttonHolder.BorderSizePixel = 0
  264. buttonHolder.Position = UDim2.new(1, 0, 0, 0)
  265. buttonHolder.Size = UDim2.new(0.300000012, 0, 1, 0)
  266.  
  267. buttonHolderList.Name = "ButtonHolderList"
  268. buttonHolderList.Parent = buttonHolder
  269. buttonHolderList.FillDirection = Enum.FillDirection.Horizontal
  270. buttonHolderList.HorizontalAlignment = Enum.HorizontalAlignment.Right
  271. buttonHolderList.SortOrder = Enum.SortOrder.LayoutOrder
  272. buttonHolderList.VerticalAlignment = Enum.VerticalAlignment.Center
  273. buttonHolderList.Padding = UDim.new(0, 6)
  274.  
  275. buttonHolderPadding.Name = "ButtonHolderPadding"
  276. buttonHolderPadding.Parent = buttonHolder
  277. buttonHolderPadding.PaddingRight = UDim.new(0, 6)
  278.  
  279. plus.Name = "Plus"
  280. plus.Parent = buttonHolder
  281. plus.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  282. plus.BackgroundTransparency = 1.000
  283. plus.BorderSizePixel = 0
  284. plus.Size = UDim2.new(1, 0, 0.5, 0)
  285. plus.AutoButtonColor = false
  286. plus.Rotation = 180
  287. plus.Image = "http://www.roblox.com/asset/?id=11520007725"
  288. plus.ImageColor3 = Color3.fromRGB(180, 180, 180)
  289. plus.Visible = false
  290. plus.ImageTransparency = 1.000
  291.  
  292. plusAspect.Name = "PlusAspect"
  293. plusAspect.Parent = plus
  294.  
  295. minus.Name = "Minus"
  296. minus.Parent = buttonHolder
  297. minus.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  298. minus.BackgroundTransparency = 1.000
  299. minus.BorderSizePixel = 0
  300. minus.Size = UDim2.new(1, 0, .5, 0)
  301. minus.AutoButtonColor = false
  302. minus.Image = "rbxassetid://11520996670"
  303. minus.ImageColor3 = Color3.fromRGB(250, 250, 250)
  304.  
  305. minusAspect.Name = "MinusAspect"
  306. minusAspect.Parent = minus
  307.  
  308. close.Name = "Close"
  309. close.Parent = buttonHolder
  310. close.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  311. close.BackgroundTransparency = 1.000
  312. close.BorderSizePixel = 0
  313. close.Size = UDim2.new(1, 0, 0.5, 0)
  314. close.AutoButtonColor = false
  315. close.Image = "rbxassetid://11520882762"
  316. close.ImageRectOffset = Vector2.new(48, 0)
  317. close.ImageRectSize = Vector2.new(20, 20)
  318.  
  319. closeAspect.Name = "CloseAspect"
  320. closeAspect.Parent = close
  321.  
  322. headingCornerHiding.Name = "HeadingCornerHiding"
  323. headingCornerHiding.Parent = heading
  324. headingCornerHiding.AnchorPoint = Vector2.new(0, 1)
  325. headingCornerHiding.BackgroundColor3 = Color3.fromRGB(40, 41, 52)
  326. headingCornerHiding.BorderSizePixel = 0
  327. headingCornerHiding.Position = UDim2.new(0, 0, 1, 0)
  328. headingCornerHiding.Size = UDim2.new(1, 0, 0.25, 0)
  329.  
  330. headingSeperator.Name = "HeadingSeperator"
  331. headingSeperator.Parent = heading
  332. headingSeperator.AnchorPoint = Vector2.new(0, 1)
  333. headingSeperator.BackgroundColor3 = Color3.fromRGB(131, 39, 45)
  334. headingSeperator.BorderSizePixel = 0
  335. headingSeperator.Position = UDim2.new(0, 0, 1, 0)
  336. headingSeperator.Size = UDim2.new(1, 0, 0.100000001, 0)
  337.  
  338. title.Name = "Title"
  339. title.Parent = heading
  340. title.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  341. title.BackgroundTransparency = 1.000
  342. title.Size = UDim2.new(0.25, 0, 0.899999976, 0)
  343. title.Font = Enum.Font.GothamBold
  344. title.LineHeight = 0.800
  345. title.Text = "Cerberus"
  346. title.TextColor3 = Color3.fromRGB(255, 255, 255)
  347. title.TextSize = 14.000
  348. title.TextXAlignment = Enum.TextXAlignment.Left
  349.  
  350. titleUIPadding.Name = "TitleUIPadding"
  351. titleUIPadding.Parent = title
  352. titleUIPadding.PaddingLeft = UDim.new(0, 5)
  353.  
  354. holder.Name = "Holder"
  355. holder.Parent = background
  356. holder.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  357. holder.BackgroundTransparency = 1.000
  358. holder.BorderSizePixel = 0
  359. holder.Position = UDim2.new(0, 0, 0.0500000007, 0)
  360. holder.Size = UDim2.new(1, 0, 0.949999988, 0)
  361.  
  362. tabs.Name = "Tabs"
  363. tabs.Parent = holder
  364. tabs.Active = true
  365. tabs.AnchorPoint = Vector2.new(0, 1)
  366. tabs.BackgroundColor3 = Color3.fromRGB(31, 31, 43)
  367. tabs.BorderSizePixel = 0
  368. tabs.Position = UDim2.new(0, 5, 1, -5)
  369. tabs.Size = UDim2.new(0.225, 0, 1, -15)
  370. tabs.ScrollBarThickness = 0
  371.  
  372. tabsUIListLayout.Name = "TabsUIListLayout"
  373. tabsUIListLayout.Parent = tabs
  374. tabsUIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  375. tabsUIListLayout.Padding = UDim.new(0, 5)
  376.  
  377. pageLogo.Name = "PageLogo"
  378. pageLogo.AnchorPoint = Vector2.new(1, 1)
  379. pageLogo.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  380. pageLogo.BackgroundTransparency = 1.000
  381. pageLogo.BorderSizePixel = 0
  382. pageLogo.Position = UDim2.new(1, -10, 1, -5)
  383. pageLogo.Size = UDim2.new(0.774999976, -25, 1, -15)
  384. pageLogo.ZIndex = 0
  385. pageLogo.Image = "rbxassetid://11435586663"
  386. pageLogo.ImageColor3 = Color3.fromRGB(109, 110, 119)
  387. pageLogo.ImageTransparency = 1
  388. pageLogo.Parent = holder
  389.  
  390. return screenGui
  391. end
  392.  
  393. local function createTab()
  394. local tab = Instance.new("TextButton")
  395. local tabText = Instance.new("TextLabel")
  396. local tabTextUIPadding = Instance.new("UIPadding")
  397. local tabImage = Instance.new("ImageLabel")
  398. local tabAspectRatioConstraint = Instance.new("UIAspectRatioConstraint")
  399. local tabSeperator = Instance.new("Frame")
  400. local tabSeperatorUICorner = Instance.new("UICorner")
  401.  
  402. tab.Name = "Tab"
  403. tab.BackgroundColor3 = Color3.fromRGB(37, 37, 51)
  404. tab.BackgroundTransparency = 1.000
  405. tab.BorderSizePixel = 0
  406. tab.Size = UDim2.new(1, 0, 0, 27.5)
  407. tab.AutoButtonColor = false
  408. tab.Font = Enum.Font.SourceSans
  409. tab.Text = ""
  410. tab.TextColor3 = Color3.fromRGB(109, 110, 119)
  411. tab.TextSize = 18.000
  412. tab.TextXAlignment = Enum.TextXAlignment.Left
  413.  
  414. tabText.Name = "TabText"
  415. tabText.Parent = tab
  416. tabText.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  417. tabText.BackgroundTransparency = 1.000
  418. tabText.Position = UDim2.new(0.0350000001, 30, 0, 0)
  419. tabText.Size = UDim2.new(0.964999974, -30, 1, 0)
  420. tabText.Font = Enum.Font.SourceSans
  421. tabText.Text = "N/A"
  422. tabText.TextColor3 = Color3.fromRGB(109, 110, 119)
  423. tabText.TextSize = 18.000
  424. tabText.TextXAlignment = Enum.TextXAlignment.Left
  425. tabText.ClipsDescendants = true
  426.  
  427. tabTextUIPadding.Parent = tabText
  428. tabTextUIPadding.PaddingLeft = UDim.new(0, 3)
  429.  
  430. tabImage.Name = "TabImage"
  431. tabImage.Parent = tab
  432. tabImage.AnchorPoint = Vector2.new(0, 0.5)
  433. tabImage.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  434. tabImage.BackgroundTransparency = 1.000
  435. tabImage.BorderSizePixel = 0
  436. tabImage.Position = UDim2.new(0.0350000001, 5, 0.5, 0)
  437. tabImage.Size = UDim2.new(0.800000012, 0, 0.800000012, 0)
  438. tabImage.Image = "rbxassetid://10746039695"
  439.  
  440. tabAspectRatioConstraint.Parent = tabImage
  441.  
  442. tabSeperator.Name = "TabSeperator"
  443. tabSeperator.Parent = tab
  444. tabSeperator.BackgroundColor3 = Color3.fromRGB(255, 6, 4)
  445. tabSeperator.BackgroundTransparency = 0
  446. tabSeperator.BorderColor3 = Color3.fromRGB(27, 42, 53)
  447. tabSeperator.BorderSizePixel = 0
  448. tabSeperator.Size = UDim2.new(0, 0, 1, 0)
  449.  
  450. tabSeperatorUICorner.CornerRadius = UDim.new(0, 2)
  451. tabSeperatorUICorner.Name = "TabSeperatorUICorner"
  452. tabSeperatorUICorner.Parent = tabSeperator
  453.  
  454. return tab
  455. end
  456.  
  457. local function createPage()
  458. local page = Instance.new("Frame")
  459. local leftScrollingFrame = Instance.new("ScrollingFrame")
  460. local leftScrollingFrameList = Instance.new("UIListLayout")
  461. local rightScrollingFrame = Instance.new("ScrollingFrame")
  462. local rightScrollingFrameList = Instance.new("UIListLayout")
  463.  
  464. page.Name = "Page"
  465. page.AnchorPoint = Vector2.new(1, 1)
  466. page.BackgroundColor3 = Color3.fromRGB(31, 31, 43)
  467. page.BackgroundTransparency = 1.000
  468. page.BorderSizePixel = 0
  469. page.Position = UDim2.new(1, -10, 1, -5)
  470. page.Visible = false
  471. page.Size = UDim2.new(.775,-25,0,0)
  472.  
  473. leftScrollingFrame.Name = "LeftScrollingFrame"
  474. leftScrollingFrame.Active = true
  475. leftScrollingFrame.BackgroundColor3 = Color3.fromRGB(31, 31, 43)
  476. leftScrollingFrame.BackgroundTransparency = 1.000
  477. leftScrollingFrame.Size = UDim2.new(0.5, -5, 1, 0)
  478. leftScrollingFrame.ScrollBarThickness = 0
  479. leftScrollingFrame.CanvasSize = UDim2.fromScale(0,0)
  480. leftScrollingFrame.Parent = page
  481.  
  482. leftScrollingFrameList.Name = "LeftScrollingFrameList"
  483. leftScrollingFrameList.Padding = UDim.new(0,7)
  484. leftScrollingFrameList.HorizontalAlignment = Enum.HorizontalAlignment.Center
  485. leftScrollingFrameList.Parent = leftScrollingFrame
  486.  
  487. rightScrollingFrame.Name = "RightScrollingFrame"
  488. rightScrollingFrame.Active = true
  489. rightScrollingFrame.AnchorPoint = Vector2.new(1, 0)
  490. rightScrollingFrame.BackgroundColor3 = Color3.fromRGB(31, 31, 43)
  491. rightScrollingFrame.BackgroundTransparency = 1.000
  492. rightScrollingFrame.Position = UDim2.new(1, 0, 0, 0)
  493. rightScrollingFrame.Size = UDim2.new(0.5, -5, 1, 0)
  494. rightScrollingFrame.CanvasSize = UDim2.fromScale(0,0)
  495. rightScrollingFrame.ScrollBarThickness = 0
  496. rightScrollingFrame.Parent = page
  497.  
  498. rightScrollingFrameList.Name = "RightScrollingFrameList"
  499. rightScrollingFrameList.Padding = UDim.new(0,7)
  500. rightScrollingFrameList.HorizontalAlignment = Enum.HorizontalAlignment.Center
  501. rightScrollingFrameList.Parent = rightScrollingFrame
  502.  
  503. return page
  504. end
  505.  
  506. local function createSection()
  507. local section = Instance.new("Frame")
  508. local heading = Instance.new("Frame")
  509. local headingSeperator = Instance.new("Frame")
  510. local title = Instance.new("TextLabel")
  511. local titleUIPadding = Instance.new("UIPadding")
  512. local resizeButton = Instance.new("ImageButton")
  513. local resizeButtonAspect = Instance.new("UIAspectRatioConstraint")
  514. local elementHolder = Instance.new("Frame")
  515. local elementHolderList = Instance.new("UIListLayout")
  516. local elementHolderPadding = Instance.new("UIPadding")
  517.  
  518. section.Name = "Section"
  519. section.BackgroundColor3 = Color3.fromRGB(31, 31, 43)
  520. section.BorderSizePixel = 0
  521. section.Size = UDim2.new(1, 0, 0, 200)
  522. section.ClipsDescendants = true
  523.  
  524. heading.Name = "Heading"
  525. heading.Parent = section
  526. heading.BackgroundColor3 = Color3.fromRGB(40, 41, 52)
  527. heading.BorderSizePixel = 0
  528. heading.Size = UDim2.new(1, 0, 0, 22)
  529.  
  530. headingSeperator.Name = "HeadingSeperator"
  531. headingSeperator.Parent = heading
  532. headingSeperator.AnchorPoint = Vector2.new(0, 1)
  533. headingSeperator.BackgroundColor3 = Color3.fromRGB(163, 33, 38)
  534. headingSeperator.BorderSizePixel = 0
  535. headingSeperator.Position = UDim2.new(0, 0, 1, 0)
  536. headingSeperator.Size = UDim2.new(1, 0, 0, 2)
  537.  
  538. title.Name = "Title"
  539. title.Parent = heading
  540. title.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  541. title.BackgroundTransparency = 1.000
  542. title.Size = UDim2.new(1, -20, 0, 20)
  543. title.Font = Enum.Font.GothamMedium
  544. title.Text = "N/A"
  545. title.TextColor3 = Color3.fromRGB(255, 255, 255)
  546. title.TextSize = 14.000
  547. title.TextXAlignment = Enum.TextXAlignment.Left
  548. title.ClipsDescendants = true
  549.  
  550. titleUIPadding.Name = "TitleUIPadding"
  551. titleUIPadding.Parent = title
  552. titleUIPadding.PaddingLeft = UDim.new(0, 5)
  553.  
  554. resizeButton.Name = "ResizeButton"
  555. resizeButton.Parent = heading
  556. resizeButton.AnchorPoint = Vector2.new(1, 0.5)
  557. resizeButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  558. resizeButton.BackgroundTransparency = 1.000
  559. resizeButton.BorderSizePixel = 0
  560. resizeButton.Position = UDim2.new(1, -5, 0.5, 0)
  561. resizeButton.Size = UDim2.fromScale(.75, .75)
  562. resizeButton.Image = "rbxassetid://11269835227"
  563.  
  564. resizeButtonAspect.Parent = resizeButton
  565.  
  566. elementHolder.Name = "ElementHolder"
  567. elementHolder.Parent = section
  568. elementHolder.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  569. elementHolder.BackgroundTransparency = 1.000
  570. elementHolder.BorderSizePixel = 0
  571. elementHolder.Position = UDim2.new(0, 0, 0, 22)
  572. elementHolder.Size = UDim2.new(1, 0, 0, 178)
  573. elementHolder.ClipsDescendants = true
  574.  
  575. elementHolderList.Name = "ElementHolderList"
  576. elementHolderList.Parent = elementHolder
  577. elementHolderList.SortOrder = Enum.SortOrder.LayoutOrder
  578. elementHolderList.Padding = UDim.new(0, 5)
  579.  
  580. elementHolderPadding.Name = "ElementHolderPadding"
  581. elementHolderPadding.Parent = elementHolder
  582. elementHolderPadding.PaddingBottom = UDim.new(0, 4)
  583. elementHolderPadding.PaddingLeft = UDim.new(0, 5)
  584. elementHolderPadding.PaddingRight = UDim.new(0, 5)
  585. elementHolderPadding.PaddingTop = UDim.new(0, 4)
  586.  
  587. return section
  588. end
  589.  
  590. local function createTitle()
  591. local title = Instance.new("Frame")
  592. local titleText = Instance.new("TextLabel")
  593. local design = Instance.new("Frame")
  594. local designGradient = Instance.new("UIGradient")
  595.  
  596. title.Name = "Title"
  597. title.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  598. title.BackgroundTransparency = 1.000
  599. title.BorderSizePixel = 0
  600. title.Size = UDim2.new(1, 0, 0, 14)
  601.  
  602. titleText.Name = "TitleText"
  603. titleText.Parent = title
  604. titleText.AnchorPoint = Vector2.new(0.5, 0)
  605. titleText.BackgroundColor3 = Color3.fromRGB(31, 31, 43)
  606. titleText.BorderSizePixel = 0
  607. titleText.Position = UDim2.new(0.5, 0, 0, 0)
  608. titleText.Size = UDim2.new(0.200000003, 0, 1, 0)
  609. titleText.ZIndex = 2
  610. titleText.Font = Enum.Font.GothamMedium
  611. titleText.TextColor3 = Color3.fromRGB(255, 255, 255)
  612. titleText.Text = "N/A"
  613. titleText.TextSize = 14.000
  614.  
  615. design.Name = "Design"
  616. design.Parent = title
  617. design.AnchorPoint = Vector2.new(0, 0.5)
  618. design.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  619. design.BorderSizePixel = 0
  620. design.Position = UDim2.new(0, 0, 0.5, 0)
  621. design.Size = UDim2.new(1, 0, 0.25, 0)
  622.  
  623. designGradient.Color = ColorSequence.new{ColorSequenceKeypoint.new(0.00, Color3.fromRGB(31, 31, 43)), ColorSequenceKeypoint.new(0.50, Color3.fromRGB(163, 33, 38)), ColorSequenceKeypoint.new(1.00, Color3.fromRGB(31, 31, 43))}
  624. designGradient.Name = "DesignGradient"
  625. designGradient.Parent = design
  626.  
  627. return title
  628. end
  629.  
  630. local function createLabel()
  631. local label = Instance.new("Frame")
  632. local labelPadding = Instance.new("UIPadding")
  633. local labelBackground = Instance.new("Frame")
  634. local labelText = Instance.new("TextLabel")
  635. local labelTextPadding = Instance.new("UIPadding")
  636. local labelBackgroundPadding = Instance.new("UIPadding")
  637.  
  638. label.Name = "Label"
  639. label.BackgroundColor3 = Color3.fromRGB(59, 59, 71)
  640. label.BorderSizePixel = 0
  641. label.Size = UDim2.new(1, 0, 0, 18)
  642.  
  643. labelPadding.Name = "LabelPadding"
  644. labelPadding.Parent = label
  645. labelPadding.PaddingBottom = UDim.new(0, 1)
  646. labelPadding.PaddingLeft = UDim.new(0, 1)
  647. labelPadding.PaddingRight = UDim.new(0, 1)
  648. labelPadding.PaddingTop = UDim.new(0, 1)
  649.  
  650. labelBackground.Name = "LabelBackground"
  651. labelBackground.Parent = label
  652. labelBackground.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  653. labelBackground.BorderSizePixel = 0
  654. labelBackground.Size = UDim2.new(1, 0, 1, 0)
  655.  
  656. labelText.Name = "LabelText"
  657. labelText.Parent = labelBackground
  658. labelText.AnchorPoint = Vector2.new(0.5, 0)
  659. labelText.BackgroundColor3 = Color3.fromRGB(31, 31, 43)
  660. labelText.BorderSizePixel = 0
  661. labelText.Position = UDim2.new(0.5, 0, 0, 0)
  662. labelText.Size = UDim2.new(1, 0, 1, 0)
  663. labelText.ZIndex = 2
  664. labelText.Font = Enum.Font.GothamMedium
  665. labelText.TextColor3 = Color3.fromRGB(255, 255, 255)
  666. labelText.TextSize = 14.000
  667. labelText.TextWrapped = true
  668. labelText.TextXAlignment = Enum.TextXAlignment.Left
  669. labelText.TextYAlignment = Enum.TextYAlignment.Top
  670.  
  671. labelTextPadding.Name = "LabelTextPadding"
  672. labelTextPadding.Parent = labelText
  673. labelTextPadding.PaddingLeft = UDim.new(0, 4)
  674. labelTextPadding.PaddingRight = UDim.new(0, 4)
  675. labelTextPadding.PaddingBottom = UDim.new(0, 2)
  676. labelTextPadding.PaddingTop = UDim.new(0, 2)
  677.  
  678. labelBackgroundPadding.Name = "LabelBackgroundPadding"
  679. labelBackgroundPadding.Parent = labelBackground
  680. labelBackgroundPadding.PaddingBottom = UDim.new(0, 1)
  681. labelBackgroundPadding.PaddingLeft = UDim.new(0, 1)
  682. labelBackgroundPadding.PaddingRight = UDim.new(0, 1)
  683. labelBackgroundPadding.PaddingTop = UDim.new(0, 1)
  684.  
  685. return label
  686. end
  687.  
  688. local function createToggle()
  689. local toggle = Instance.new("TextButton")
  690. local toggleText = Instance.new("TextLabel")
  691. local boxBackground = Instance.new("Frame")
  692. local boxAspect = Instance.new("UIAspectRatioConstraint")
  693. local boxPadding = Instance.new("UIPadding")
  694. local innerBox = Instance.new("Frame")
  695. local innerBoxPadding = Instance.new("UIPadding")
  696. local centerBox = Instance.new("Frame")
  697. local toggleImage = Instance.new("ImageLabel")
  698. local toggleImageCorner = Instance.new("UICorner")
  699.  
  700. toggle.Name = "ToggleElement"
  701. toggle.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  702. toggle.BackgroundTransparency = 1.000
  703. toggle.BorderSizePixel = 0
  704. toggle.Size = UDim2.new(1, 0, 0, 14)
  705. toggle.AutoButtonColor = false
  706. toggle.Font = Enum.Font.SourceSans
  707. toggle.Text = ""
  708. toggle.TextColor3 = Color3.fromRGB(0, 0, 0)
  709. toggle.TextSize = 14.000
  710.  
  711. toggleText.Name = "ToggleText"
  712. toggleText.Parent = toggle
  713. toggleText.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  714. toggleText.BackgroundTransparency = 1.000
  715. toggleText.Position = UDim2.new(0, 18, 0, 0)
  716. toggleText.Size = UDim2.new(1, -18, 1, 0)
  717. toggleText.Font = Enum.Font.Gotham
  718. toggleText.Text = "N/A"
  719. toggleText.TextColor3 = Color3.fromRGB(255, 255, 255)
  720. toggleText.TextSize = 14.000
  721. toggleText.TextXAlignment = Enum.TextXAlignment.Left
  722.  
  723. boxBackground.Name = "BoxBackground"
  724. boxBackground.Parent = toggle
  725. boxBackground.BackgroundColor3 = Color3.fromRGB(59, 59, 71)
  726. boxBackground.BorderSizePixel = 0
  727. boxBackground.Size = UDim2.new(1, 0, 1, 0)
  728.  
  729. boxAspect.Name = "BoxAspect"
  730. boxAspect.Parent = boxBackground
  731.  
  732. boxPadding.Name = "BoxPadding"
  733. boxPadding.Parent = boxBackground
  734. boxPadding.PaddingBottom = UDim.new(0, 1)
  735. boxPadding.PaddingLeft = UDim.new(0, 1)
  736. boxPadding.PaddingRight = UDim.new(0, 1)
  737. boxPadding.PaddingTop = UDim.new(0, 1)
  738.  
  739. innerBox.Name = "InnerBox"
  740. innerBox.Parent = boxBackground
  741. innerBox.AnchorPoint = Vector2.new(0.5, 0.5)
  742. innerBox.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  743. innerBox.BorderSizePixel = 0
  744. innerBox.Position = UDim2.new(0.5, 0, 0.5, 0)
  745. innerBox.Size = UDim2.new(1, 0, 1, 0)
  746.  
  747. innerBoxPadding.Name = "InnerBoxPadding"
  748. innerBoxPadding.Parent = innerBox
  749. innerBoxPadding.PaddingBottom = UDim.new(0, 1)
  750. innerBoxPadding.PaddingLeft = UDim.new(0, 1)
  751. innerBoxPadding.PaddingRight = UDim.new(0, 1)
  752. innerBoxPadding.PaddingTop = UDim.new(0, 1)
  753.  
  754. centerBox.Name = "CenterBox"
  755. centerBox.Parent = innerBox
  756. centerBox.AnchorPoint = Vector2.new(0.5, 0.5)
  757. centerBox.BackgroundColor3 = Color3.fromRGB(31, 31, 43)
  758. centerBox.BorderSizePixel = 0
  759. centerBox.Position = UDim2.new(0.5, 0, 0.5, 0)
  760. centerBox.Size = UDim2.new(1, 0, 1, 0)
  761.  
  762. toggleImage.Name = "ToggleImage"
  763. toggleImage.Parent = centerBox
  764. toggleImage.AnchorPoint = Vector2.new(0.5, 0.5)
  765. toggleImage.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
  766. toggleImage.BackgroundTransparency = 0
  767. toggleImage.BorderSizePixel = 0
  768. toggleImage.Position = UDim2.new(0.5, 0, 0.5, 0)
  769. toggleImage.Image = "rbxassetid://11444348176"
  770. toggleImage.ImageColor3 = Color3.fromRGB(31, 31, 43)
  771.  
  772. toggleImageCorner.Name = "ToggleImageCorner"
  773. toggleImageCorner.CornerRadius = UDim.new(.5,0)
  774. toggleImageCorner.Parent = toggleImage
  775.  
  776. return toggle
  777. end
  778.  
  779. local function createButton()
  780. local button = Instance.new("TextButton")
  781. local buttonText = Instance.new("TextLabel")
  782. local circleBackground = Instance.new("Frame")
  783. local circleAspect = Instance.new("UIAspectRatioConstraint")
  784. local circlePadding = Instance.new("UIPadding")
  785. local circleCorner = Instance.new("UICorner")
  786. local innerCircle = Instance.new("Frame")
  787. local innerCircleCorner = Instance.new("UICorner")
  788. local innerCirclePadding = Instance.new("UIPadding")
  789. local centerCircle = Instance.new("Frame")
  790. local centerCircleCorner = Instance.new("UICorner")
  791. local centerCirclePadding = Instance.new("UIPadding")
  792. local buttonCircle = Instance.new("Frame")
  793. local buttonCircleCorner = Instance.new("UICorner")
  794.  
  795. button.Name = "Button"
  796. button.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  797. button.BackgroundTransparency = 1.000
  798. button.BorderSizePixel = 0
  799. button.Size = UDim2.new(1, 0, 0, 14)
  800. button.AutoButtonColor = false
  801. button.Font = Enum.Font.SourceSans
  802. button.Text = ""
  803. button.TextColor3 = Color3.fromRGB(0, 0, 0)
  804. button.TextSize = 14.000
  805.  
  806. buttonText.Name = "ButtonText"
  807. buttonText.Parent = button
  808. buttonText.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  809. buttonText.BackgroundTransparency = 1.000
  810. buttonText.Position = UDim2.new(0, 18, 0, 0)
  811. buttonText.Size = UDim2.new(1, -18, 1, 0)
  812. buttonText.Font = Enum.Font.Gotham
  813. buttonText.Text = "Button"
  814. buttonText.TextColor3 = Color3.fromRGB(255, 255, 255)
  815. buttonText.TextSize = 14.000
  816. buttonText.TextXAlignment = Enum.TextXAlignment.Left
  817.  
  818. circleBackground.Name = "CircleBackground"
  819. circleBackground.Parent = button
  820. circleBackground.BackgroundColor3 = Color3.fromRGB(59, 59, 71)
  821. circleBackground.BorderSizePixel = 0
  822. circleBackground.Size = UDim2.new(1, 0, 1, 0)
  823.  
  824. circleAspect.Name = "CircleAspect"
  825. circleAspect.Parent = circleBackground
  826.  
  827. circlePadding.Name = "CirclePadding"
  828. circlePadding.Parent = circleBackground
  829. circlePadding.PaddingBottom = UDim.new(0, 1)
  830. circlePadding.PaddingLeft = UDim.new(0, 1)
  831. circlePadding.PaddingRight = UDim.new(0, 1)
  832. circlePadding.PaddingTop = UDim.new(0, 1)
  833.  
  834. circleCorner.CornerRadius = UDim.new(0.5, 0)
  835. circleCorner.Name = "CircleCorner"
  836. circleCorner.Parent = circleBackground
  837.  
  838. innerCircle.Name = "InnerCircle"
  839. innerCircle.Parent = circleBackground
  840. innerCircle.AnchorPoint = Vector2.new(0.5, 0.5)
  841. innerCircle.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  842. innerCircle.BorderSizePixel = 0
  843. innerCircle.Position = UDim2.new(0.5, 0, 0.5, 0)
  844. innerCircle.Size = UDim2.new(1, 0, 1, 0)
  845.  
  846. innerCircleCorner.CornerRadius = UDim.new(0.5, 0)
  847. innerCircleCorner.Name = "InnerCircleCorner"
  848. innerCircleCorner.Parent = innerCircle
  849.  
  850. innerCirclePadding.Name = "InnerCirclePadding"
  851. innerCirclePadding.Parent = innerCircle
  852. innerCirclePadding.PaddingBottom = UDim.new(0, 1)
  853. innerCirclePadding.PaddingLeft = UDim.new(0, 1)
  854. innerCirclePadding.PaddingRight = UDim.new(0, 1)
  855. innerCirclePadding.PaddingTop = UDim.new(0, 1)
  856.  
  857. centerCircle.Name = "CenterCircle"
  858. centerCircle.Parent = innerCircle
  859. centerCircle.AnchorPoint = Vector2.new(0.5, 0.5)
  860. centerCircle.BackgroundColor3 = Color3.fromRGB(31, 31, 43)
  861. centerCircle.BorderSizePixel = 0
  862. centerCircle.Position = UDim2.new(0.5, 0, 0.5, 0)
  863. centerCircle.Size = UDim2.new(1, 0, 1, 0)
  864.  
  865. centerCircleCorner.CornerRadius = UDim.new(0.5, 0)
  866. centerCircleCorner.Name = "CenterCircleCorner"
  867. centerCircleCorner.Parent = centerCircle
  868.  
  869. centerCirclePadding.Name = "CenterCirclePadding"
  870. centerCirclePadding.Parent = innerCircle
  871. centerCirclePadding.PaddingBottom = UDim.new(0, 1)
  872. centerCirclePadding.PaddingLeft = UDim.new(0, 1)
  873. centerCirclePadding.PaddingRight = UDim.new(0, 1)
  874. centerCirclePadding.PaddingTop = UDim.new(0, 1)
  875.  
  876. buttonCircle.Name = "ButtonCircle"
  877. buttonCircle.Parent = centerCircle
  878. buttonCircle.AnchorPoint = Vector2.new(.5,.5)
  879. buttonCircle.BorderSizePixel = 0
  880. buttonCircle.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
  881. buttonCircle.Size = UDim2.new(0, 0, 0, 0)
  882. buttonCircle.Position = UDim2.fromScale(.5,.5)
  883.  
  884. buttonCircleCorner.CornerRadius = UDim.new(0.5, 0)
  885. buttonCircleCorner.Name = "ButtonCircleCorner"
  886. buttonCircleCorner.Parent = buttonCircle
  887.  
  888. return button
  889. end
  890.  
  891. local function createDropdown()
  892. local dropdown = Instance.new("Frame")
  893. local dropdownButton = Instance.new("TextButton")
  894. local buttonBackground = Instance.new("Frame")
  895. local dropdownText = Instance.new("TextLabel")
  896. local dropdownTextPadding = Instance.new("UIPadding")
  897. local buttonBackgroundPadding = Instance.new("UIPadding")
  898. local dropdownImage = Instance.new("ImageLabel")
  899. local imageAspect = Instance.new("UIAspectRatioConstraint")
  900. local buttonInnerBackground = Instance.new("Frame")
  901. local dropdownButtonPadding = Instance.new("UIPadding")
  902. local elementHolder = Instance.new("ScrollingFrame")
  903. local elementHolderBackground = Instance.new("Frame")
  904. local elementHolderInnerBackground = Instance.new("Frame")
  905. local elementHolderInnerBackgroundList = Instance.new("UIListLayout")
  906. local elementHolderInnerBackgroundPadding = Instance.new("UIPadding")
  907. local elementHolderBackgroundPadding = Instance.new("UIPadding")
  908. local elementHolderPadding = Instance.new("UIPadding")
  909.  
  910. dropdown.Name = "Dropdown"
  911. dropdown.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  912. dropdown.BackgroundTransparency = 1.000
  913. dropdown.BorderSizePixel = 0
  914. dropdown.ClipsDescendants = true
  915. dropdown.Size = UDim2.new(1, 0, 0, 18)
  916.  
  917. dropdownButton.Name = "DropdownButton"
  918. dropdownButton.Parent = dropdown
  919. dropdownButton.BackgroundColor3 = Color3.fromRGB(59, 59, 71)
  920. dropdownButton.BorderSizePixel = 0
  921. dropdownButton.Size = UDim2.new(1, 0, 0, 18)
  922. dropdownButton.AutoButtonColor = false
  923. dropdownButton.Font = Enum.Font.SourceSans
  924. dropdownButton.Text = ""
  925. dropdownButton.TextColor3 = Color3.fromRGB(0, 0, 0)
  926. dropdownButton.TextSize = 14.000
  927.  
  928. buttonBackground.Name = "ButtonBackground"
  929. buttonBackground.Parent = dropdownButton
  930. buttonBackground.AnchorPoint = Vector2.new(0.5, 0.5)
  931. buttonBackground.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  932. buttonBackground.BorderSizePixel = 0
  933. buttonBackground.Position = UDim2.new(0.5, 0, 0.5, 0)
  934. buttonBackground.Size = UDim2.new(1, 0, 1, 0)
  935.  
  936. dropdownText.Name = "DropdownText"
  937. dropdownText.Parent = buttonBackground
  938. dropdownText.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  939. dropdownText.BackgroundTransparency = 1.000
  940. dropdownText.BorderSizePixel = 0
  941. dropdownText.ClipsDescendants = true
  942. dropdownText.Size = UDim2.new(1, -17, 1, 0)
  943. dropdownText.Font = Enum.Font.Gotham
  944. dropdownText.Text = "N/A"
  945. dropdownText.TextColor3 = Color3.fromRGB(255, 255, 255)
  946. dropdownText.TextScaled = false
  947. dropdownText.TextSize = 14.000
  948. dropdownText.TextWrapped = true
  949. dropdownText.TextXAlignment = Enum.TextXAlignment.Left
  950.  
  951. dropdownTextPadding.Name = "DropdownTextPadding"
  952. dropdownTextPadding.Parent = dropdownText
  953. dropdownTextPadding.PaddingLeft = UDim.new(0, 4)
  954.  
  955. buttonBackgroundPadding.Name = "ButtonBackgroundPadding"
  956. buttonBackgroundPadding.Parent = buttonBackground
  957. buttonBackgroundPadding.PaddingBottom = UDim.new(0, 1)
  958. buttonBackgroundPadding.PaddingLeft = UDim.new(0, 1)
  959. buttonBackgroundPadding.PaddingRight = UDim.new(0, 1)
  960. buttonBackgroundPadding.PaddingTop = UDim.new(0, 1)
  961.  
  962. dropdownImage.Name = "DropdownImage"
  963. dropdownImage.Parent = buttonBackground
  964. dropdownImage.AnchorPoint = Vector2.new(1, 0)
  965. dropdownImage.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  966. dropdownImage.BackgroundTransparency = 1.000
  967. dropdownImage.BorderSizePixel = 0
  968. dropdownImage.Position = UDim2.new(1, -3, 0, 0)
  969. dropdownImage.Rotation = 180.000
  970. dropdownImage.Size = UDim2.new(1, 0, 1, 0)
  971. dropdownImage.Image = "rbxassetid://11269835227"
  972.  
  973. imageAspect.Name = "ImageAspect"
  974. imageAspect.Parent = dropdownImage
  975.  
  976. buttonInnerBackground.Name = "ButtonInnerBackground"
  977. buttonInnerBackground.Parent = buttonBackground
  978. buttonInnerBackground.BackgroundColor3 = Color3.fromRGB(31, 31, 43)
  979. buttonInnerBackground.BorderSizePixel = 0
  980. buttonInnerBackground.Size = UDim2.new(1, 0, 1, 0)
  981. buttonInnerBackground.ZIndex = 0
  982.  
  983. dropdownButtonPadding.Name = "DropdownButtonPadding"
  984. dropdownButtonPadding.Parent = dropdownButton
  985. dropdownButtonPadding.PaddingBottom = UDim.new(0, 1)
  986. dropdownButtonPadding.PaddingLeft = UDim.new(0, 1)
  987. dropdownButtonPadding.PaddingRight = UDim.new(0, 1)
  988. dropdownButtonPadding.PaddingTop = UDim.new(0, 1)
  989.  
  990. elementHolder.Name = "ElementHolder"
  991. elementHolder.Parent = dropdown
  992. elementHolder.Active = true
  993. elementHolder.BackgroundColor3 = Color3.fromRGB(59, 59, 71)
  994. elementHolder.BorderSizePixel = 0
  995. elementHolder.Position = UDim2.new(0, 0, 0, 18)
  996. elementHolder.Size = UDim2.new(0.925000012, 0, 0, 0)
  997. elementHolder.CanvasSize = UDim2.new(0, 0, 0, 0)
  998. elementHolder.ScrollBarThickness = 0
  999.  
  1000. elementHolderBackground.Name = "ElementHolderBackground"
  1001. elementHolderBackground.Parent = elementHolder
  1002. elementHolderBackground.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  1003. elementHolderBackground.BorderSizePixel = 0
  1004. elementHolderBackground.Size = UDim2.new(1, 0, 1, 0)
  1005.  
  1006. elementHolderInnerBackground.Name = "ElementHolderInnerBackground"
  1007. elementHolderInnerBackground.Parent = elementHolderBackground
  1008. elementHolderInnerBackground.BackgroundColor3 = Color3.fromRGB(31, 31, 43)
  1009. elementHolderInnerBackground.BorderSizePixel = 0
  1010. elementHolderInnerBackground.Size = UDim2.new(1, 0, 1, 0)
  1011.  
  1012. elementHolderInnerBackgroundList.Name = "ElementHolderInnerBackgroundList"
  1013. elementHolderInnerBackgroundList.Parent = elementHolderInnerBackground
  1014. elementHolderInnerBackgroundList.SortOrder = Enum.SortOrder.LayoutOrder
  1015. elementHolderInnerBackgroundList.Padding = UDim.new(0, 5)
  1016.  
  1017. elementHolderInnerBackgroundPadding.Name = "ElementHolderInnerBackgroundPadding"
  1018. elementHolderInnerBackgroundPadding.Parent = elementHolderInnerBackground
  1019. elementHolderInnerBackgroundPadding.PaddingBottom = UDim.new(0, 4)
  1020. elementHolderInnerBackgroundPadding.PaddingLeft = UDim.new(0, 5)
  1021. elementHolderInnerBackgroundPadding.PaddingRight = UDim.new(0, 5)
  1022. elementHolderInnerBackgroundPadding.PaddingTop = UDim.new(0, 4)
  1023.  
  1024. elementHolderBackgroundPadding.Name = "ElementHolderBackgroundPadding"
  1025. elementHolderBackgroundPadding.Parent = elementHolderBackground
  1026. elementHolderBackgroundPadding.PaddingBottom = UDim.new(0, 1)
  1027. elementHolderBackgroundPadding.PaddingLeft = UDim.new(0, 1)
  1028. elementHolderBackgroundPadding.PaddingRight = UDim.new(0, 1)
  1029. elementHolderBackgroundPadding.PaddingTop = UDim.new(0, 1)
  1030.  
  1031. elementHolderPadding.Name = "ElementHolderPadding"
  1032. elementHolderPadding.Parent = elementHolder
  1033. elementHolderPadding.PaddingBottom = UDim.new(0, 1)
  1034. elementHolderPadding.PaddingLeft = UDim.new(0, 1)
  1035. elementHolderPadding.PaddingRight = UDim.new(0, 1)
  1036.  
  1037. return dropdown
  1038. end
  1039.  
  1040. local function createSlider()
  1041. local sliderElement = Instance.new("Frame")
  1042. local textGrouping = Instance.new("Frame")
  1043. local numberText = Instance.new("TextBox")
  1044. local sliderText = Instance.new("TextLabel")
  1045. local sliderElementList = Instance.new("UIListLayout")
  1046. local sliderBackground = Instance.new("TextButton")
  1047. local sliderInnerBackground = Instance.new("Frame")
  1048. local sliderInnerBackgroundPadding = Instance.new("UIPadding")
  1049. local emptySliderBackground = Instance.new("Frame")
  1050. local slider = Instance.new("Frame")
  1051. local sliderBackgroundPadding = Instance.new("UIPadding")
  1052.  
  1053. sliderElement.Name = "Slider"
  1054. sliderElement.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1055. sliderElement.BackgroundTransparency = 1.000
  1056. sliderElement.BorderSizePixel = 0
  1057. sliderElement.Size = UDim2.new(1, 0, 0, 32)
  1058.  
  1059. textGrouping.Name = "TextGrouping"
  1060. textGrouping.Parent = sliderElement
  1061. textGrouping.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1062. textGrouping.BackgroundTransparency = 1.000
  1063. textGrouping.BorderSizePixel = 0
  1064. textGrouping.Size = UDim2.new(1, 0, 0, 14)
  1065.  
  1066. numberText.Name = "NumberText"
  1067. numberText.Parent = textGrouping
  1068. numberText.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1069. numberText.BackgroundTransparency = 1.000
  1070. numberText.BorderSizePixel = 0
  1071. numberText.AnchorPoint = Vector2.new(1,0)
  1072. numberText.Position = UDim2.new(1, 0, 0, 0)
  1073. numberText.Size = UDim2.new(0.5, 0, 1, 0)
  1074. numberText.Font = Enum.Font.Gotham
  1075. numberText.PlaceholderColor3 = Color3.fromRGB(139, 141, 147)
  1076. numberText.PlaceholderText = ""
  1077. numberText.Text = "0"
  1078. numberText.TextColor3 = Color3.fromRGB(139, 141, 147)
  1079. numberText.TextSize = 14.000
  1080. numberText.TextXAlignment = Enum.TextXAlignment.Right
  1081. numberText.ClipsDescendants = true
  1082.  
  1083. sliderText.Name = "SliderText"
  1084. sliderText.Parent = textGrouping
  1085. sliderText.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1086. sliderText.BackgroundTransparency = 1.000
  1087. sliderText.Size = UDim2.new(0.5, 0, 1, 0)
  1088. sliderText.BorderSizePixel = 0
  1089. sliderText.Font = Enum.Font.Gotham
  1090. sliderText.Text = "N/A"
  1091. sliderText.TextColor3 = Color3.fromRGB(255, 255, 255)
  1092. sliderText.TextSize = 14.000
  1093. sliderText.ClipsDescendants = true
  1094. sliderText.TextXAlignment = Enum.TextXAlignment.Left
  1095.  
  1096. sliderElementList.Name = "SliderElementList"
  1097. sliderElementList.Parent = sliderElement
  1098. sliderElementList.SortOrder = Enum.SortOrder.LayoutOrder
  1099. sliderElementList.Padding = UDim.new(0, 4)
  1100.  
  1101. sliderBackground.Name = "SliderBackground"
  1102. sliderBackground.Parent = sliderElement
  1103. sliderBackground.AnchorPoint = Vector2.new(0, 1)
  1104. sliderBackground.BackgroundColor3 = Color3.fromRGB(59, 59, 71)
  1105. sliderBackground.BorderSizePixel = 0
  1106. sliderBackground.Position = UDim2.new(0, 0, 1, 0)
  1107. sliderBackground.Size = UDim2.new(1, 0, 0.5, -2)
  1108. sliderBackground.AutoButtonColor = false
  1109. sliderBackground.Font = Enum.Font.SourceSans
  1110. sliderBackground.Text = ""
  1111. sliderBackground.TextColor3 = Color3.fromRGB(0, 0, 0)
  1112. sliderBackground.TextSize = 14.000
  1113.  
  1114. sliderInnerBackground.Name = "SliderInnerBackground"
  1115. sliderInnerBackground.Parent = sliderBackground
  1116. sliderInnerBackground.AnchorPoint = Vector2.new(0.5, 0.5)
  1117. sliderInnerBackground.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  1118. sliderInnerBackground.BorderSizePixel = 0
  1119. sliderInnerBackground.Position = UDim2.new(0.5, 0, 0.5, 0)
  1120. sliderInnerBackground.Size = UDim2.new(1, 0, 1, 0)
  1121.  
  1122. sliderInnerBackgroundPadding.Name = "SliderInnerBackgroundPadding"
  1123. sliderInnerBackgroundPadding.Parent = sliderInnerBackground
  1124. sliderInnerBackgroundPadding.PaddingBottom = UDim.new(0, 1)
  1125. sliderInnerBackgroundPadding.PaddingLeft = UDim.new(0, 1)
  1126. sliderInnerBackgroundPadding.PaddingRight = UDim.new(0, 1)
  1127. sliderInnerBackgroundPadding.PaddingTop = UDim.new(0, 1)
  1128.  
  1129. emptySliderBackground.Name = "EmptySliderBackground"
  1130. emptySliderBackground.Parent = sliderInnerBackground
  1131. emptySliderBackground.BackgroundColor3 = Color3.fromRGB(31, 31, 43)
  1132. emptySliderBackground.BorderSizePixel = 0
  1133. emptySliderBackground.Size = UDim2.new(1, 0, 1, 0)
  1134. emptySliderBackground.ZIndex = 0
  1135.  
  1136. slider.Name = "Slider"
  1137. slider.Parent = sliderInnerBackground
  1138. slider.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
  1139. slider.BorderSizePixel = 0
  1140. slider.Size = UDim2.new(0, 2, 1, 0)
  1141.  
  1142. sliderBackgroundPadding.Name = "SliderBackgroundPadding"
  1143. sliderBackgroundPadding.Parent = sliderBackground
  1144. sliderBackgroundPadding.PaddingBottom = UDim.new(0, 1)
  1145. sliderBackgroundPadding.PaddingLeft = UDim.new(0, 1)
  1146. sliderBackgroundPadding.PaddingRight = UDim.new(0, 1)
  1147. sliderBackgroundPadding.PaddingTop = UDim.new(0, 1)
  1148.  
  1149. return sliderElement
  1150. end
  1151.  
  1152. local function createSearchBar()
  1153. local searchBar = Instance.new("Frame")
  1154. local searchBarFrame = Instance.new("Frame")
  1155. local buttonBackgroundPadding = Instance.new("Frame")
  1156. local buttonBackgroundPadding_2 = Instance.new("UIPadding")
  1157. local searchBox = Instance.new("TextBox")
  1158. local searchBoxPadding = Instance.new("UIPadding")
  1159. local searchBoxBackground = Instance.new("Frame")
  1160. local searchImage = Instance.new("ImageLabel")
  1161. local searchImageAspect = Instance.new("UIAspectRatioConstraint")
  1162. local searchButtonPadding = Instance.new("UIPadding")
  1163. local elementHolder = Instance.new("ScrollingFrame")
  1164. local elementHolderBackground = Instance.new("Frame")
  1165. local elementHolderInnerBackground = Instance.new("Frame")
  1166. local elementHolderInnerBackgroundList = Instance.new("UIListLayout")
  1167. local elementHolderInnerBackgroundPadding = Instance.new("UIPadding")
  1168. local elementHolderBackgroundPadding = Instance.new("UIPadding")
  1169. local elementHolderPadding = Instance.new("UIPadding")
  1170.  
  1171. searchBar.Name = "SearchBar"
  1172. searchBar.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1173. searchBar.BackgroundTransparency = 1.000
  1174. searchBar.BorderSizePixel = 0
  1175. searchBar.ClipsDescendants = true
  1176. searchBar.Size = UDim2.new(1, 0, 0, 18)
  1177.  
  1178. searchBarFrame.Name = "SearchBarFrame"
  1179. searchBarFrame.Parent = searchBar
  1180. searchBarFrame.BackgroundColor3 = Color3.fromRGB(59, 59, 71)
  1181. searchBarFrame.BorderSizePixel = 0
  1182. searchBarFrame.Size = UDim2.new(1, 0, 0, 18)
  1183.  
  1184. buttonBackgroundPadding.Name = "ButtonBackgroundPadding"
  1185. buttonBackgroundPadding.Parent = searchBarFrame
  1186. buttonBackgroundPadding.AnchorPoint = Vector2.new(0.5, 0.5)
  1187. buttonBackgroundPadding.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  1188. buttonBackgroundPadding.BorderSizePixel = 0
  1189. buttonBackgroundPadding.Position = UDim2.new(0.5, 0, 0.5, 0)
  1190. buttonBackgroundPadding.Size = UDim2.new(1, 0, 1, 0)
  1191.  
  1192. buttonBackgroundPadding_2.Name = "ButtonBackgroundPadding"
  1193. buttonBackgroundPadding_2.Parent = buttonBackgroundPadding
  1194. buttonBackgroundPadding_2.PaddingBottom = UDim.new(0, 1)
  1195. buttonBackgroundPadding_2.PaddingLeft = UDim.new(0, 1)
  1196. buttonBackgroundPadding_2.PaddingRight = UDim.new(0, 1)
  1197. buttonBackgroundPadding_2.PaddingTop = UDim.new(0, 1)
  1198.  
  1199. searchBox.Name = "SearchBox"
  1200. searchBox.Parent = buttonBackgroundPadding
  1201. searchBox.Active = false
  1202. searchBox.BackgroundColor3 = Color3.fromRGB(31, 31, 43)
  1203. searchBox.BackgroundTransparency = 1
  1204. searchBox.BorderSizePixel = 0
  1205. searchBox.Size = UDim2.new(1, 0, 1, 0)
  1206. searchBox.Font = Enum.Font.Gotham
  1207. searchBox.PlaceholderColor3 = Color3.fromRGB(139, 141, 147)
  1208. searchBox.PlaceholderText = "N/A"
  1209. searchBox.Text = ""
  1210. searchBox.TextColor3 = Color3.fromRGB(139, 141, 147)
  1211. searchBox.TextSize = 14.000
  1212. searchBox.TextXAlignment = Enum.TextXAlignment.Left
  1213.  
  1214. searchBoxPadding.Name = "SearchBoxPadding"
  1215. searchBoxPadding.Parent = searchBox
  1216. searchBoxPadding.PaddingLeft = UDim.new(0, 4)
  1217.  
  1218. searchBoxBackground.Name = "SearchBoxBackground"
  1219. searchBoxBackground.Parent = buttonBackgroundPadding
  1220. searchBoxBackground.BackgroundColor3 = Color3.fromRGB(31, 31, 43)
  1221. searchBoxBackground.BorderSizePixel = 0
  1222. searchBoxBackground.Size = UDim2.new(1, 0, 1, 0)
  1223. searchBoxBackground.ZIndex = 0
  1224.  
  1225. searchImage.Name = "SearchImage"
  1226. searchImage.Parent = buttonBackgroundPadding
  1227. searchImage.AnchorPoint = Vector2.new(1, 0.5)
  1228. searchImage.BackgroundColor3 = Color3.fromRGB(31, 31, 43)
  1229. searchImage.BackgroundTransparency = 1
  1230. searchImage.BorderSizePixel = 0
  1231. searchImage.Position = UDim2.new(1, 0, 0.5, 0)
  1232. searchImage.Size = UDim2.new(0.899999976, 0, 0.899999976, 0)
  1233. searchImage.Image = "rbxassetid://11454041890"
  1234.  
  1235. searchImageAspect.Name = "SearchImageAspect"
  1236. searchImageAspect.Parent = searchImage
  1237.  
  1238. searchButtonPadding.Name = "SearchButtonPadding"
  1239. searchButtonPadding.Parent = searchBarFrame
  1240. searchButtonPadding.PaddingBottom = UDim.new(0, 1)
  1241. searchButtonPadding.PaddingLeft = UDim.new(0, 1)
  1242. searchButtonPadding.PaddingRight = UDim.new(0, 1)
  1243. searchButtonPadding.PaddingTop = UDim.new(0, 1)
  1244.  
  1245. elementHolder.Name = "ElementHolder"
  1246. elementHolder.Parent = searchBar
  1247. elementHolder.Active = true
  1248. elementHolder.BackgroundColor3 = Color3.fromRGB(59, 59, 71)
  1249. elementHolder.BorderSizePixel = 0
  1250. elementHolder.Position = UDim2.new(0, 0, 0, 18)
  1251. elementHolder.Size = UDim2.new(0.925000012, 0, 0, 0)
  1252. elementHolder.CanvasSize = UDim2.new(0, 0, 0, 0)
  1253. elementHolder.ScrollBarThickness = 0
  1254.  
  1255. elementHolderBackground.Name = "ElementHolderBackground"
  1256. elementHolderBackground.Parent = elementHolder
  1257. elementHolderBackground.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  1258. elementHolderBackground.BorderSizePixel = 0
  1259. elementHolderBackground.Size = UDim2.new(1, 0, 1, 0)
  1260.  
  1261. elementHolderInnerBackground.Name = "ElementHolderInnerBackground"
  1262. elementHolderInnerBackground.Parent = elementHolderBackground
  1263. elementHolderInnerBackground.BackgroundColor3 = Color3.fromRGB(31, 31, 43)
  1264. elementHolderInnerBackground.BorderSizePixel = 0
  1265. elementHolderInnerBackground.Visible = false
  1266. elementHolderInnerBackground.Size = UDim2.new(1, 0, 1, 0)
  1267.  
  1268. elementHolderInnerBackgroundList.Name = "ElementHolderInnerBackgroundList"
  1269. elementHolderInnerBackgroundList.Parent = elementHolderInnerBackground
  1270. elementHolderInnerBackgroundList.SortOrder = Enum.SortOrder.LayoutOrder
  1271. elementHolderInnerBackgroundList.Padding = UDim.new(0, 5)
  1272.  
  1273. elementHolderInnerBackgroundPadding.Name = "ElementHolderInnerBackgroundPadding"
  1274. elementHolderInnerBackgroundPadding.Parent = elementHolderInnerBackground
  1275. elementHolderInnerBackgroundPadding.PaddingBottom = UDim.new(0, 4)
  1276. elementHolderInnerBackgroundPadding.PaddingLeft = UDim.new(0, 5)
  1277. elementHolderInnerBackgroundPadding.PaddingRight = UDim.new(0, 5)
  1278. elementHolderInnerBackgroundPadding.PaddingTop = UDim.new(0, 4)
  1279.  
  1280. elementHolderBackgroundPadding.Name = "ElementHolderBackgroundPadding"
  1281. elementHolderBackgroundPadding.Parent = elementHolderBackground
  1282. elementHolderBackgroundPadding.PaddingBottom = UDim.new(0, 1)
  1283. elementHolderBackgroundPadding.PaddingLeft = UDim.new(0, 1)
  1284. elementHolderBackgroundPadding.PaddingRight = UDim.new(0, 1)
  1285. elementHolderBackgroundPadding.PaddingTop = UDim.new(0, 1)
  1286.  
  1287. elementHolderPadding.Name = "ElementHolderPadding"
  1288. elementHolderPadding.Parent = elementHolder
  1289. elementHolderPadding.PaddingBottom = UDim.new(0, 1)
  1290. elementHolderPadding.PaddingLeft = UDim.new(0, 1)
  1291. elementHolderPadding.PaddingRight = UDim.new(0, 1)
  1292.  
  1293. return searchBar
  1294. end
  1295.  
  1296. local function createKeybind()
  1297. local keybind = Instance.new("TextButton")
  1298. local keybindText = Instance.new("TextLabel")
  1299. local boxBackground = Instance.new("Frame")
  1300. local boxAspect = Instance.new("UIAspectRatioConstraint")
  1301. local boxPadding = Instance.new("UIPadding")
  1302. local innerBox = Instance.new("Frame")
  1303. local boxPadding_2 = Instance.new("UIPadding")
  1304. local keyText = Instance.new("TextLabel")
  1305.  
  1306. keybind.Name = "Keybind"
  1307. keybind.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1308. keybind.BackgroundTransparency = 1.000
  1309. keybind.BorderSizePixel = 0
  1310. keybind.Size = UDim2.new(1, 0, 0, 18)
  1311. keybind.AutoButtonColor = false
  1312. keybind.Font = Enum.Font.SourceSans
  1313. keybind.Text = ""
  1314. keybind.TextColor3 = Color3.fromRGB(0, 0, 0)
  1315. keybind.TextSize = 14.000
  1316.  
  1317. keybindText.Name = "KeybindText"
  1318. keybindText.Parent = keybind
  1319. keybindText.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1320. keybindText.BackgroundTransparency = 1.000
  1321. keybindText.Size = UDim2.new(1, -18, 1, 0)
  1322. keybindText.Font = Enum.Font.Gotham
  1323. keybindText.Text = "N/A"
  1324. keybindText.TextColor3 = Color3.fromRGB(255, 255, 255)
  1325. keybindText.TextSize = 14.000
  1326. keybindText.ClipsDescendants = true
  1327. keybindText.TextXAlignment = Enum.TextXAlignment.Left
  1328.  
  1329. boxBackground.Name = "BoxBackground"
  1330. boxBackground.Parent = keybind
  1331. boxBackground.AnchorPoint = Vector2.new(1, 0)
  1332. boxBackground.BackgroundColor3 = Color3.fromRGB(59, 59, 71)
  1333. boxBackground.BorderSizePixel = 0
  1334. boxBackground.Position = UDim2.new(1, 0, 0, 0)
  1335. boxBackground.Size = UDim2.new(1, 0, 1, 0)
  1336.  
  1337. boxAspect.Name = "BoxAspect"
  1338. boxAspect.Parent = boxBackground
  1339.  
  1340. boxPadding.Name = "BoxPadding"
  1341. boxPadding.Parent = boxBackground
  1342. boxPadding.PaddingBottom = UDim.new(0, 1)
  1343. boxPadding.PaddingLeft = UDim.new(0, 1)
  1344. boxPadding.PaddingRight = UDim.new(0, 1)
  1345. boxPadding.PaddingTop = UDim.new(0, 1)
  1346.  
  1347. innerBox.Name = "InnerBox"
  1348. innerBox.Parent = boxBackground
  1349. innerBox.AnchorPoint = Vector2.new(0.5, 0.5)
  1350. innerBox.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  1351. innerBox.BorderSizePixel = 0
  1352. innerBox.Position = UDim2.new(0.5, 0, 0.5, 0)
  1353. innerBox.Size = UDim2.new(1, 0, 1, 0)
  1354.  
  1355. boxPadding_2.Name = "BoxPadding"
  1356. boxPadding_2.Parent = innerBox
  1357. boxPadding_2.PaddingBottom = UDim.new(0, 1)
  1358. boxPadding_2.PaddingLeft = UDim.new(0, 1)
  1359. boxPadding_2.PaddingRight = UDim.new(0, 1)
  1360. boxPadding_2.PaddingTop = UDim.new(0, 1)
  1361.  
  1362. keyText.Parent = innerBox
  1363. keyText.Name = "KeyText"
  1364. keyText.BackgroundColor3 = Color3.fromRGB(31, 31, 43)
  1365. keyText.BorderSizePixel = 0
  1366. keyText.Size = UDim2.new(1, 0, 1, 0)
  1367. keyText.Font = Enum.Font.Gotham
  1368. keyText.Text = "N/A"
  1369. keyText.TextColor3 = Color3.fromRGB(139, 141, 147)
  1370. keyText.TextSize = 14.000
  1371.  
  1372. return keybind
  1373. end
  1374.  
  1375. local function createTextBox()
  1376. local textBox = Instance.new("TextButton")
  1377. local textBoxNameText = Instance.new("TextLabel")
  1378. local boxBackground = Instance.new("Frame")
  1379. local boxPadding = Instance.new("UIPadding")
  1380. local innerBox = Instance.new("Frame")
  1381. local boxPadding_2 = Instance.new("UIPadding")
  1382. local textBoxText = Instance.new("TextBox")
  1383.  
  1384. textBox.Name = "TextBox"
  1385. textBox.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1386. textBox.BackgroundTransparency = 1.000
  1387. textBox.BorderSizePixel = 0
  1388. textBox.Size = UDim2.new(1, 0, 0, 18)
  1389. textBox.AutoButtonColor = false
  1390. textBox.Font = Enum.Font.SourceSans
  1391. textBox.Text = ""
  1392. textBox.TextColor3 = Color3.fromRGB(0, 0, 0)
  1393. textBox.TextSize = 14.000
  1394.  
  1395. textBoxNameText.Name = "TextBoxNameText"
  1396. textBoxNameText.Parent = textBox
  1397. textBoxNameText.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1398. textBoxNameText.BackgroundTransparency = 1.000
  1399. textBoxNameText.Size = UDim2.new(1, -18, 1, 0)
  1400. textBoxNameText.Font = Enum.Font.Gotham
  1401. textBoxNameText.Text = "Textbox"
  1402. textBoxNameText.ClipsDescendants = true
  1403. textBoxNameText.TextColor3 = Color3.fromRGB(255, 255, 255)
  1404. textBoxNameText.TextSize = 14.000
  1405. textBoxNameText.TextXAlignment = Enum.TextXAlignment.Left
  1406.  
  1407. boxBackground.Name = "BoxBackground"
  1408. boxBackground.Parent = textBox
  1409. boxBackground.AnchorPoint = Vector2.new(1, 0)
  1410. boxBackground.BackgroundColor3 = Color3.fromRGB(59, 59, 71)
  1411. boxBackground.BorderSizePixel = 0
  1412. boxBackground.Position = UDim2.new(1, 0, 0, 0)
  1413. boxBackground.Size = UDim2.new(0.400000006, 0, 1, 0)
  1414.  
  1415. boxPadding.Name = "BoxPadding"
  1416. boxPadding.Parent = boxBackground
  1417. boxPadding.PaddingBottom = UDim.new(0, 1)
  1418. boxPadding.PaddingLeft = UDim.new(0, 1)
  1419. boxPadding.PaddingRight = UDim.new(0, 1)
  1420. boxPadding.PaddingTop = UDim.new(0, 1)
  1421.  
  1422. innerBox.Name = "InnerBox"
  1423. innerBox.Parent = boxBackground
  1424. innerBox.AnchorPoint = Vector2.new(0.5, 0.5)
  1425. innerBox.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  1426. innerBox.BorderSizePixel = 0
  1427. innerBox.Position = UDim2.new(0.5, 0, 0.5, 0)
  1428. innerBox.Size = UDim2.new(1, 0, 1, 0)
  1429.  
  1430. boxPadding_2.Name = "BoxPadding"
  1431. boxPadding_2.Parent = innerBox
  1432. boxPadding_2.PaddingBottom = UDim.new(0, 1)
  1433. boxPadding_2.PaddingLeft = UDim.new(0, 1)
  1434. boxPadding_2.PaddingRight = UDim.new(0, 1)
  1435. boxPadding_2.PaddingTop = UDim.new(0, 1)
  1436.  
  1437. textBoxText.Name = "TextBoxText"
  1438. textBoxText.Parent = innerBox
  1439. textBoxText.BackgroundColor3 = Color3.fromRGB(31, 31, 43)
  1440. textBoxText.BorderSizePixel = 0
  1441. textBoxText.ClipsDescendants = true
  1442. textBoxText.Size = UDim2.new(1, 0, 1, 0)
  1443. textBoxText.Font = Enum.Font.Gotham
  1444. textBoxText.PlaceholderColor3 = Color3.fromRGB(139, 141, 147)
  1445. textBoxText.PlaceholderText = "Type here..."
  1446. textBoxText.Text = ""
  1447. textBoxText.TextXAlignment = Enum.TextXAlignment.Left
  1448. textBoxText.TextColor3 = Color3.fromRGB(139, 141, 147)
  1449. textBoxText.TextSize = 14.000
  1450.  
  1451. return textBox
  1452. end
  1453.  
  1454. local function createColorWheel()
  1455. local colorWheel = Instance.new("Frame")
  1456. local heading = Instance.new("TextButton")
  1457. local colorWheelName = Instance.new("TextLabel")
  1458. local boxBackground = Instance.new("Frame")
  1459. local boxBackgroundPadding = Instance.new("UIPadding")
  1460. local innerBox = Instance.new("Frame")
  1461. local innerBoxPadding = Instance.new("UIPadding")
  1462. local innerBoxCorner = Instance.new("UICorner")
  1463. local centerBox = Instance.new("Frame")
  1464. local centerBoxPadding = Instance.new("UIPadding")
  1465. local centerBoxCorner = Instance.new("UICorner")
  1466. local wheelImage = Instance.new("ImageLabel")
  1467. local wheelImageAspect = Instance.new("UIAspectRatioConstraint")
  1468. local dropdownImage = Instance.new("ImageLabel")
  1469. local dropdownButtonAspect = Instance.new("UIAspectRatioConstraint")
  1470. local boxBackgroundCorner = Instance.new("UICorner")
  1471. local wheelHolder = Instance.new("Frame")
  1472. local valueHolder = Instance.new("Frame")
  1473. local colorInputHolder = Instance.new("Frame")
  1474. local colorInputHolderList = Instance.new("UIListLayout")
  1475. local red = Instance.new("Frame")
  1476. local colorText = Instance.new("TextLabel")
  1477. local boxBackground_2 = Instance.new("Frame")
  1478. local boxPadding = Instance.new("UIPadding")
  1479. local innerBox_2 = Instance.new("Frame")
  1480. local boxPadding_2 = Instance.new("UIPadding")
  1481. local colorValue = Instance.new("TextBox")
  1482. local green = Instance.new("Frame")
  1483. local colorText_2 = Instance.new("TextLabel")
  1484. local boxBackground_3 = Instance.new("Frame")
  1485. local boxPadding_3 = Instance.new("UIPadding")
  1486. local innerBox_3 = Instance.new("Frame")
  1487. local boxPadding_4 = Instance.new("UIPadding")
  1488. local colorValue_2 = Instance.new("TextBox")
  1489. local blue = Instance.new("Frame")
  1490. local colorText_3 = Instance.new("TextLabel")
  1491. local boxBackground_4 = Instance.new("Frame")
  1492. local boxPadding_5 = Instance.new("UIPadding")
  1493. local innerBox_4 = Instance.new("Frame")
  1494. local boxPadding_6 = Instance.new("UIPadding")
  1495. local colorValue_3 = Instance.new("TextBox")
  1496. local colorSample = Instance.new("Frame")
  1497. local colorSampleCorner = Instance.new("UICorner")
  1498. local valueSlider = Instance.new("TextButton")
  1499. local valueSliderCorner = Instance.new("UICorner")
  1500. local valueSliderGradient = Instance.new("UIGradient")
  1501. local sliderBar = Instance.new("Frame")
  1502. local sliderBarCorner = Instance.new("UICorner")
  1503. local wheel = Instance.new("ImageButton")
  1504. local wheelAspect = Instance.new("UIAspectRatioConstraint")
  1505. local selector = Instance.new("ImageLabel")
  1506. local selectorAspect = Instance.new("UIAspectRatioConstraint")
  1507.  
  1508. colorWheel.Name = "ColorWheel"
  1509. colorWheel.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1510. colorWheel.BackgroundTransparency = 1.000
  1511. colorWheel.BorderSizePixel = 0
  1512. colorWheel.ClipsDescendants = true
  1513. colorWheel.Size = UDim2.new(1, 0, 0, 18)
  1514.  
  1515. heading.Name = "Heading"
  1516. heading.Parent = colorWheel
  1517. heading.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1518. heading.BackgroundTransparency = 1.000
  1519. heading.BorderSizePixel = 0
  1520. heading.Size = UDim2.new(1, 0, 0, 18)
  1521. heading.Font = Enum.Font.SourceSans
  1522. heading.Text = ""
  1523. heading.TextColor3 = Color3.fromRGB(0, 0, 0)
  1524. heading.TextSize = 14.000
  1525.  
  1526. colorWheelName.Name = "ColorWheelName"
  1527. colorWheelName.Parent = heading
  1528. colorWheelName.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1529. colorWheelName.BackgroundTransparency = 1.000
  1530. colorWheelName.BorderSizePixel = 0
  1531. colorWheelName.Size = UDim2.new(1, 0, 1, 0)
  1532. colorWheelName.Font = Enum.Font.Gotham
  1533. colorWheelName.Text = "ColorWheel"
  1534. colorWheelName.ClipsDescendants = true
  1535. colorWheelName.TextColor3 = Color3.fromRGB(255, 255, 255)
  1536. colorWheelName.TextSize = 14.000
  1537. colorWheelName.TextXAlignment = Enum.TextXAlignment.Left
  1538.  
  1539. boxBackground.Name = "BoxBackground"
  1540. boxBackground.Parent = heading
  1541. boxBackground.AnchorPoint = Vector2.new(1, 0)
  1542. boxBackground.BackgroundColor3 = Color3.fromRGB(59, 59, 71)
  1543. boxBackground.BorderSizePixel = 0
  1544. boxBackground.Position = UDim2.new(1, 0, 0, 0)
  1545. boxBackground.Size = UDim2.new(0.174999997, 0, 1, 0)
  1546.  
  1547. boxBackgroundPadding.Name = "BoxBackgroundPadding"
  1548. boxBackgroundPadding.Parent = boxBackground
  1549. boxBackgroundPadding.PaddingBottom = UDim.new(0, 1)
  1550. boxBackgroundPadding.PaddingLeft = UDim.new(0, 1)
  1551. boxBackgroundPadding.PaddingRight = UDim.new(0, 1)
  1552. boxBackgroundPadding.PaddingTop = UDim.new(0, 1)
  1553.  
  1554. innerBox.Name = "InnerBox"
  1555. innerBox.Parent = boxBackground
  1556. innerBox.AnchorPoint = Vector2.new(1, 0)
  1557. innerBox.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  1558. innerBox.BorderSizePixel = 0
  1559. innerBox.Position = UDim2.new(1, 0, 0, 0)
  1560. innerBox.Size = UDim2.new(1, 0, 1, 0)
  1561.  
  1562. innerBoxPadding.Name = "InnerBoxPadding"
  1563. innerBoxPadding.Parent = innerBox
  1564. innerBoxPadding.PaddingBottom = UDim.new(0, 1)
  1565. innerBoxPadding.PaddingLeft = UDim.new(0, 1)
  1566. innerBoxPadding.PaddingRight = UDim.new(0, 1)
  1567. innerBoxPadding.PaddingTop = UDim.new(0, 1)
  1568.  
  1569. innerBoxCorner.Name = "InnerBoxCorner"
  1570. innerBoxCorner.Parent = innerBox
  1571.  
  1572. centerBox.Name = "CenterBox"
  1573. centerBox.Parent = innerBox
  1574. centerBox.AnchorPoint = Vector2.new(1, 0)
  1575. centerBox.BackgroundColor3 = Color3.fromRGB(31, 31, 43)
  1576. centerBox.BorderSizePixel = 0
  1577. centerBox.Position = UDim2.new(1, 0, 0, 0)
  1578. centerBox.Size = UDim2.new(1, 0, 1, 0)
  1579.  
  1580. centerBoxPadding.Name = "CenterBoxPadding"
  1581. centerBoxPadding.Parent = centerBox
  1582. centerBoxPadding.PaddingBottom = UDim.new(0, 1)
  1583. centerBoxPadding.PaddingLeft = UDim.new(0, 3)
  1584. centerBoxPadding.PaddingRight = UDim.new(0, 1)
  1585. centerBoxPadding.PaddingTop = UDim.new(0, 1)
  1586.  
  1587. centerBoxCorner.Name = "CenterBoxCorner"
  1588. centerBoxCorner.Parent = centerBox
  1589.  
  1590. wheelImage.Name = "WheelImage"
  1591. wheelImage.Parent = centerBox
  1592. wheelImage.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1593. wheelImage.BackgroundTransparency = 1.000
  1594. wheelImage.Size = UDim2.new(1, 0, 1, 0)
  1595. wheelImage.Image = "rbxassetid://11515288750"
  1596.  
  1597. wheelImageAspect.Name = "WheelImageAspect"
  1598. wheelImageAspect.Parent = wheelImage
  1599.  
  1600. dropdownImage.Name = "DropdownImage"
  1601. dropdownImage.Parent = centerBox
  1602. dropdownImage.AnchorPoint = Vector2.new(1, 0)
  1603. dropdownImage.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1604. dropdownImage.BackgroundTransparency = 1.000
  1605. dropdownImage.BorderSizePixel = 0
  1606. dropdownImage.Rotation = 180
  1607. dropdownImage.Position = UDim2.new(1, 0, 0, 0)
  1608. dropdownImage.Size = UDim2.new(1, 0, 1, 0)
  1609. dropdownImage.Image = "rbxassetid://11269835227"
  1610.  
  1611. dropdownButtonAspect.Name = "DropdownButtonAspect"
  1612. dropdownButtonAspect.Parent = dropdownImage
  1613.  
  1614. boxBackgroundCorner.Name = "BoxBackgroundCorner"
  1615. boxBackgroundCorner.Parent = boxBackground
  1616.  
  1617. wheelHolder.Name = "WheelHolder"
  1618. wheelHolder.Parent = colorWheel
  1619. wheelHolder.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1620. wheelHolder.BackgroundTransparency = 1.000
  1621. wheelHolder.BorderSizePixel = 0
  1622. wheelHolder.Position = UDim2.new(0, 0, 0, 22)
  1623. wheelHolder.Size = UDim2.new(1, 0, 0, 98)
  1624.  
  1625. valueHolder.Name = "ValueHolder"
  1626. valueHolder.Parent = wheelHolder
  1627. valueHolder.AnchorPoint = Vector2.new(1, 0)
  1628. valueHolder.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1629. valueHolder.BackgroundTransparency = 1.000
  1630. valueHolder.BorderSizePixel = 0
  1631. valueHolder.Position = UDim2.new(1, 0, 0, 0)
  1632. valueHolder.Size = UDim2.new(0.899999976, -102, 1, 0)
  1633.  
  1634. colorInputHolder.Name = "ColorInputHolder"
  1635. colorInputHolder.Parent = valueHolder
  1636. colorInputHolder.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1637. colorInputHolder.BackgroundTransparency = 1.000
  1638. colorInputHolder.BorderSizePixel = 0
  1639. colorInputHolder.Size = UDim2.new(1, 0, 1, -36)
  1640.  
  1641. colorInputHolderList.Name = "ColorInputHolderList"
  1642. colorInputHolderList.Parent = colorInputHolder
  1643. colorInputHolderList.SortOrder = Enum.SortOrder.LayoutOrder
  1644. colorInputHolderList.Padding = UDim.new(0, 4)
  1645.  
  1646. red.Name = "Red"
  1647. red.Parent = colorInputHolder
  1648. red.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1649. red.BackgroundTransparency = 1.000
  1650. red.BorderSizePixel = 0
  1651. red.ClipsDescendants = true
  1652. red.Size = UDim2.new(1, 0, 0, 18)
  1653.  
  1654. colorText.Name = "ColorText"
  1655. colorText.Parent = red
  1656. colorText.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1657. colorText.BackgroundTransparency = 1.000
  1658. colorText.BorderSizePixel = 0
  1659. colorText.Size = UDim2.new(0.670000017, 0, 1, 0)
  1660. colorText.Font = Enum.Font.Gotham
  1661. colorText.Text = "Red:"
  1662. colorText.TextColor3 = Color3.fromRGB(255, 255, 255)
  1663. colorText.TextSize = 14.000
  1664. colorText.TextXAlignment = Enum.TextXAlignment.Right
  1665.  
  1666. boxBackground_2.Name = "BoxBackground"
  1667. boxBackground_2.Parent = red
  1668. boxBackground_2.AnchorPoint = Vector2.new(1, 0)
  1669. boxBackground_2.BackgroundColor3 = Color3.fromRGB(59, 59, 71)
  1670. boxBackground_2.BorderSizePixel = 0
  1671. boxBackground_2.Position = UDim2.new(1, 0, 0, 0)
  1672. boxBackground_2.Size = UDim2.new(0.300000012, 0, 1, 0)
  1673.  
  1674. boxPadding.Name = "BoxPadding"
  1675. boxPadding.Parent = boxBackground_2
  1676. boxPadding.PaddingBottom = UDim.new(0, 1)
  1677. boxPadding.PaddingLeft = UDim.new(0, 1)
  1678. boxPadding.PaddingRight = UDim.new(0, 1)
  1679. boxPadding.PaddingTop = UDim.new(0, 1)
  1680.  
  1681. innerBox_2.Name = "InnerBox"
  1682. innerBox_2.Parent = boxBackground_2
  1683. innerBox_2.AnchorPoint = Vector2.new(0.5, 0.5)
  1684. innerBox_2.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  1685. innerBox_2.BorderSizePixel = 0
  1686. innerBox_2.Position = UDim2.new(0.5, 0, 0.5, 0)
  1687. innerBox_2.Size = UDim2.new(1, 0, 1, 0)
  1688.  
  1689. boxPadding_2.Name = "BoxPadding"
  1690. boxPadding_2.Parent = innerBox_2
  1691. boxPadding_2.PaddingBottom = UDim.new(0, 1)
  1692. boxPadding_2.PaddingLeft = UDim.new(0, 1)
  1693. boxPadding_2.PaddingRight = UDim.new(0, 1)
  1694. boxPadding_2.PaddingTop = UDim.new(0, 1)
  1695.  
  1696. colorValue.Name = "ColorValue"
  1697. colorValue.Parent = innerBox_2
  1698. colorValue.BackgroundColor3 = Color3.fromRGB(31, 31, 43)
  1699. colorValue.BorderSizePixel = 0
  1700. colorValue.ClipsDescendants = true
  1701. colorValue.Size = UDim2.new(1, 0, 1, 0)
  1702. colorValue.Font = Enum.Font.Gotham
  1703. colorValue.PlaceholderColor3 = Color3.fromRGB(139, 141, 147)
  1704. colorValue.Text = "255"
  1705. colorValue.TextColor3 = Color3.fromRGB(139, 141, 147)
  1706. colorValue.TextSize = 14.000
  1707.  
  1708. green.Name = "Green"
  1709. green.Parent = colorInputHolder
  1710. green.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1711. green.BackgroundTransparency = 1.000
  1712. green.BorderSizePixel = 0
  1713. green.Size = UDim2.new(1, 0, 0, 18)
  1714.  
  1715. colorText_2.Name = "ColorText"
  1716. colorText_2.Parent = green
  1717. colorText_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1718. colorText_2.BackgroundTransparency = 1.000
  1719. colorText_2.BorderSizePixel = 0
  1720. colorText_2.Size = UDim2.new(0.699999988, 0, 1, 0)
  1721. colorText_2.Font = Enum.Font.Gotham
  1722. colorText_2.Text = "Green:"
  1723. green.ClipsDescendants = true
  1724. colorText_2.TextColor3 = Color3.fromRGB(255, 255, 255)
  1725. colorText_2.TextSize = 14.000
  1726. colorText_2.TextXAlignment = Enum.TextXAlignment.Right
  1727.  
  1728. boxBackground_3.Name = "BoxBackground"
  1729. boxBackground_3.Parent = green
  1730. boxBackground_3.AnchorPoint = Vector2.new(1, 0)
  1731. boxBackground_3.BackgroundColor3 = Color3.fromRGB(59, 59, 71)
  1732. boxBackground_3.BorderSizePixel = 0
  1733. boxBackground_3.Position = UDim2.new(1, 0, 0, 0)
  1734. boxBackground_3.Size = UDim2.new(0.300000012, 0, 1, 0)
  1735.  
  1736. boxPadding_3.Name = "BoxPadding"
  1737. boxPadding_3.Parent = boxBackground_3
  1738. boxPadding_3.PaddingBottom = UDim.new(0, 1)
  1739. boxPadding_3.PaddingLeft = UDim.new(0, 1)
  1740. boxPadding_3.PaddingRight = UDim.new(0, 1)
  1741. boxPadding_3.PaddingTop = UDim.new(0, 1)
  1742.  
  1743. innerBox_3.Name = "InnerBox"
  1744. innerBox_3.Parent = boxBackground_3
  1745. innerBox_3.AnchorPoint = Vector2.new(0.5, 0.5)
  1746. innerBox_3.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  1747. innerBox_3.BorderSizePixel = 0
  1748. innerBox_3.Position = UDim2.new(0.5, 0, 0.5, 0)
  1749. innerBox_3.Size = UDim2.new(1, 0, 1, 0)
  1750.  
  1751. boxPadding_4.Name = "BoxPadding"
  1752. boxPadding_4.Parent = innerBox_3
  1753. boxPadding_4.PaddingBottom = UDim.new(0, 1)
  1754. boxPadding_4.PaddingLeft = UDim.new(0, 1)
  1755. boxPadding_4.PaddingRight = UDim.new(0, 1)
  1756. boxPadding_4.PaddingTop = UDim.new(0, 1)
  1757.  
  1758. colorValue_2.Name = "ColorValue"
  1759. colorValue_2.Parent = innerBox_3
  1760. colorValue_2.BackgroundColor3 = Color3.fromRGB(31, 31, 43)
  1761. colorValue_2.BorderSizePixel = 0
  1762. colorValue_2.ClipsDescendants = true
  1763. colorValue_2.Size = UDim2.new(1, 0, 1, 0)
  1764. colorValue_2.Font = Enum.Font.Gotham
  1765. colorValue_2.PlaceholderColor3 = Color3.fromRGB(139, 141, 147)
  1766. colorValue_2.Text = "255"
  1767. colorValue_2.TextColor3 = Color3.fromRGB(139, 141, 147)
  1768. colorValue_2.TextSize = 14.000
  1769.  
  1770. blue.Name = "Blue"
  1771. blue.Parent = colorInputHolder
  1772. blue.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1773. blue.BackgroundTransparency = 1.000
  1774. blue.ClipsDescendants = true
  1775. blue.BorderSizePixel = 0
  1776. blue.Size = UDim2.new(1, 0, 0, 18)
  1777.  
  1778. colorText_3.Name = "ColorText"
  1779. colorText_3.Parent = blue
  1780. colorText_3.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1781. colorText_3.BackgroundTransparency = 1.000
  1782. colorText_3.BorderSizePixel = 0
  1783. colorText_3.Size = UDim2.new(0.670000017, 0, 1, 0)
  1784. colorText_3.Font = Enum.Font.Gotham
  1785. colorText_3.Text = "Blue:"
  1786. colorText_3.TextColor3 = Color3.fromRGB(255, 255, 255)
  1787. colorText_3.TextSize = 14.000
  1788. colorText_3.TextXAlignment = Enum.TextXAlignment.Right
  1789.  
  1790. boxBackground_4.Name = "BoxBackground"
  1791. boxBackground_4.Parent = blue
  1792. boxBackground_4.AnchorPoint = Vector2.new(1, 0)
  1793. boxBackground_4.BackgroundColor3 = Color3.fromRGB(59, 59, 71)
  1794. boxBackground_4.BorderSizePixel = 0
  1795. boxBackground_4.Position = UDim2.new(1, 0, 0, 0)
  1796. boxBackground_4.Size = UDim2.new(0.300000012, 0, 1, 0)
  1797.  
  1798. boxPadding_5.Name = "BoxPadding"
  1799. boxPadding_5.Parent = boxBackground_4
  1800. boxPadding_5.PaddingBottom = UDim.new(0, 1)
  1801. boxPadding_5.PaddingLeft = UDim.new(0, 1)
  1802. boxPadding_5.PaddingRight = UDim.new(0, 1)
  1803. boxPadding_5.PaddingTop = UDim.new(0, 1)
  1804.  
  1805. innerBox_4.Name = "InnerBox"
  1806. innerBox_4.Parent = boxBackground_4
  1807. innerBox_4.AnchorPoint = Vector2.new(0.5, 0.5)
  1808. innerBox_4.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  1809. innerBox_4.BorderSizePixel = 0
  1810. innerBox_4.Position = UDim2.new(0.5, 0, 0.5, 0)
  1811. innerBox_4.Size = UDim2.new(1, 0, 1, 0)
  1812.  
  1813. boxPadding_6.Name = "BoxPadding"
  1814. boxPadding_6.Parent = innerBox_4
  1815. boxPadding_6.PaddingBottom = UDim.new(0, 1)
  1816. boxPadding_6.PaddingLeft = UDim.new(0, 1)
  1817. boxPadding_6.PaddingRight = UDim.new(0, 1)
  1818. boxPadding_6.PaddingTop = UDim.new(0, 1)
  1819.  
  1820. colorValue_3.Name = "ColorValue"
  1821. colorValue_3.Parent = innerBox_4
  1822. colorValue_3.BackgroundColor3 = Color3.fromRGB(31, 31, 43)
  1823. colorValue_3.BorderSizePixel = 0
  1824. colorValue_3.ClipsDescendants = true
  1825. colorValue_3.Size = UDim2.new(1, 0, 1, 0)
  1826. colorValue_3.Font = Enum.Font.Gotham
  1827. colorValue_3.PlaceholderColor3 = Color3.fromRGB(139, 141, 147)
  1828. colorValue_3.Text = "255"
  1829. colorValue_3.TextColor3 = Color3.fromRGB(139, 141, 147)
  1830. colorValue_3.TextSize = 14.000
  1831.  
  1832. colorSample.Name = "ColorSample"
  1833. colorSample.Parent = valueHolder
  1834. colorSample.AnchorPoint = Vector2.new(0, 1)
  1835. colorSample.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1836. colorSample.BorderSizePixel = 0
  1837. colorSample.Position = UDim2.new(0, 0, 1, -18)
  1838. colorSample.Size = UDim2.new(1, 0, 0, 14)
  1839.  
  1840. colorSampleCorner.CornerRadius = UDim.new(0.25, 0)
  1841. colorSampleCorner.Name = "ColorSampleCorner"
  1842. colorSampleCorner.Parent = colorSample
  1843.  
  1844. valueSlider.Name = "ValueSlider"
  1845. valueSlider.Parent = valueHolder
  1846. valueSlider.AnchorPoint = Vector2.new(0, 1)
  1847. valueSlider.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1848. valueSlider.BorderSizePixel = 0
  1849. valueSlider.Position = UDim2.new(0, 0, 1, 0)
  1850. valueSlider.Size = UDim2.new(1, 0, 0, 14)
  1851. valueSlider.AutoButtonColor = false
  1852. valueSlider.Font = Enum.Font.SourceSans
  1853. valueSlider.Text = ""
  1854. valueSlider.TextColor3 = Color3.fromRGB(0, 0, 0)
  1855. valueSlider.TextSize = 14.000
  1856.  
  1857. valueSliderCorner.CornerRadius = UDim.new(0.25, 0)
  1858. valueSliderCorner.Name = "ValueSliderCorner"
  1859. valueSliderCorner.Parent = valueSlider
  1860.  
  1861. valueSliderGradient.Color = ColorSequence.new{ColorSequenceKeypoint.new(0.00, Color3.fromRGB(0, 0, 0)), ColorSequenceKeypoint.new(1.00, Color3.fromRGB(255, 255, 255))}
  1862. valueSliderGradient.Name = "ValueSliderGradient"
  1863. valueSliderGradient.Parent = valueSlider
  1864.  
  1865. sliderBar.Name = "SliderBar"
  1866. sliderBar.Parent = valueSlider
  1867. sliderBar.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
  1868. sliderBar.BorderSizePixel = 0
  1869. sliderBar.Size = UDim2.new(0, 3, 1, 0)
  1870.  
  1871. sliderBarCorner.CornerRadius = UDim.new(0.25, 0)
  1872. sliderBarCorner.Name = "SliderBarCorner"
  1873. sliderBarCorner.Parent = sliderBar
  1874.  
  1875. wheel.Name = "Wheel"
  1876. wheel.Parent = wheelHolder
  1877. wheel.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1878. wheel.BackgroundTransparency = 1.000
  1879. wheel.BorderSizePixel = 0
  1880. wheel.Size = UDim2.new(1, 0, 1, 0)
  1881. wheel.AutoButtonColor = false
  1882. wheel.Image = "rbxassetid://11515288750"
  1883.  
  1884. wheelAspect.Name = "WheelAspect"
  1885. wheelAspect.Parent = wheel
  1886.  
  1887. selector.Name = "Selector"
  1888. selector.Parent = wheel
  1889. selector.AnchorPoint = Vector2.new(0.5, 0.5)
  1890. selector.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1891. selector.BackgroundTransparency = 1.000
  1892. selector.BorderSizePixel = 0
  1893. selector.Position = UDim2.new(0.5, 0, 0.5, 0)
  1894. selector.Size = UDim2.new(0.125, 0, 0.125, 0)
  1895. selector.Image = "rbxassetid://11515686713"
  1896.  
  1897. selectorAspect.Name = "SelectorAspect"
  1898. selectorAspect.Parent = selector
  1899.  
  1900. return colorWheel
  1901. end
  1902.  
  1903. originalElements.Window = createWindow()
  1904. originalElements.Tab = createTab()
  1905. originalElements.Page = createPage()
  1906. originalElements.Section = createSection()
  1907. originalElements.Title = createTitle()
  1908. originalElements.Label = createLabel()
  1909. originalElements.Toggle = createToggle()
  1910. originalElements.Button = createButton()
  1911. originalElements.Dropdown = createDropdown()
  1912. originalElements.Slider = createSlider()
  1913. originalElements.SearchBar = createSearchBar()
  1914. originalElements.Keybind = createKeybind()
  1915. originalElements.TextBox = createTextBox()
  1916. originalElements.ColorWheel = createColorWheel()
  1917. end
  1918.  
  1919. function elementHandler:Remove()
  1920. self.GuiToRemove:Destroy()
  1921. end
  1922.  
  1923. --Add zindex var to determine which window goes over which
  1924. --Add var to only have one window open at a time allowed
  1925. function Library.new(windowName, constrainToScreen)
  1926. local window = setmetatable({}, windowHandler) -- remove elementhandler from window hanlers index?
  1927. local windowInstance = originalElements.Window:Clone()
  1928. local startDragMousePos
  1929. local startDragWindowPos
  1930. local originialWindowSize
  1931. local minimizedLongBarOriginialSize
  1932. local minimizedShortBarOriginialSize
  1933.  
  1934. local background = windowInstance.Background
  1935. local heading = background.Heading
  1936. local buttonHolder = heading.ButtonHolder
  1937. local holder = background.Holder
  1938.  
  1939. local function updateWindowPos()
  1940. local deltaPos = Vector2.new(mouse.X, mouse.Y) - startDragMousePos
  1941. local windowPos = background.Position
  1942.  
  1943. if window.isConstraintedToScreenBoundaries then
  1944. local backgroundAbsPos = background.AbsolutePosition
  1945. local backgroundAbsSize = background.AbsoluteSize
  1946.  
  1947. background.Position = UDim2.new(0,math.clamp(startDragWindowPos.X + deltaPos.X, 0 + backgroundAbsSize.X / 2, viewPortSize.X - backgroundAbsSize.X / 2), windowPos.Y.Scale, math.clamp(startDragWindowPos.Y + deltaPos.Y, 0 + backgroundAbsSize.Y / 2,viewPortSize.Y - backgroundAbsSize.Y / 2))
  1948. else
  1949. background.Position = UDim2.new(0, startDragWindowPos.X + deltaPos.X, 0, startDragWindowPos.Y + deltaPos.Y)
  1950. end
  1951. end
  1952.  
  1953. local function onHeadingMouseDown()
  1954. local mouseMovedConnection = mouse.Move:Connect(updateWindowPos)
  1955. local inputEndedConnection
  1956.  
  1957. startDragMousePos = Vector2.new(mouse.X, mouse.Y)
  1958. startDragWindowPos = Vector2.new(background.Position.X.Offset, background.Position.Y.Offset)
  1959. updateWindowPos()
  1960.  
  1961. inputEndedConnection = UserInputService.InputEnded:Connect(function(input)
  1962. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  1963. mouseMovedConnection:Disconnect()
  1964. inputEndedConnection:Disconnect()
  1965. end
  1966. end)
  1967. end
  1968.  
  1969. local function closeWindow()
  1970. local closeWindowTween = TweenService:Create(windowInstance.Background, TweenInfo.new(.15, Enum.EasingStyle.Back, Enum.EasingDirection.In), {Size = UDim2.new(0,0,0,0)})
  1971. closeWindowTween.Completed:Connect(function()
  1972. task.wait()
  1973. windowInstance:Destroy() -- add cool tween cause cool
  1974. window = nil
  1975. end)
  1976. closeWindowTween:Play()
  1977. end
  1978.  
  1979. local function minimizeWindow()
  1980. window.IsMinimized = true
  1981. local backgroundAbsPos = background.AbsolutePosition
  1982. local backgroundAbsSize = background.AbsoluteSize
  1983. local minimizeWindowUpTween = TweenService:Create(background, TweenInfo.new(.2, Enum.EasingStyle.Linear), {Size = UDim2.new(0,minimizedLongBarOriginialSize.X,0, minimizedLongBarOriginialSize.Y), Position = UDim2.new(0,backgroundAbsPos.X + minimizedLongBarOriginialSize.X / 2,0, backgroundAbsPos.Y + minimizedLongBarOriginialSize.Y / 2 + 36)})
  1984. local minimizeMinusImageTween = TweenService:Create(buttonHolder.Minus, TweenInfo.new(.2, Enum.EasingStyle.Linear), {Rotation = 180, ImageTransparency = 1})
  1985. local minimizePlusImageTween = TweenService:Create(buttonHolder.Plus, TweenInfo.new(.2, Enum.EasingStyle.Linear), {Rotation = 0, ImageTransparency = 0})
  1986.  
  1987. minimizeWindowUpTween.Completed:Connect(function()
  1988. task.wait(.1)
  1989. if minimizeWindowUpTween.PlaybackState == Enum.PlaybackState.Completed then
  1990. local minimizeWindowLeftTween = TweenService:Create(background, TweenInfo.new(.2, Enum.EasingStyle.Linear), {Size = UDim2.new(0, minimizedShortBarOriginialSize.X,0,minimizedShortBarOriginialSize.Y), Position = UDim2.new(0,background.AbsolutePosition.X + minimizedShortBarOriginialSize.X / 2,0, background.AbsolutePosition.Y + minimizedShortBarOriginialSize.Y / 2 + 36)})
  1991. minimizeWindowLeftTween:Play()
  1992. end
  1993. end)
  1994.  
  1995. minimizeMinusImageTween.Completed:Connect(function(playbackState)
  1996. if playbackState == Enum.PlaybackState.Completed then
  1997. buttonHolder.Minus.Visible = false
  1998. buttonHolder.Plus.Visible = true
  1999. minimizePlusImageTween:Play()
  2000. end
  2001. end)
  2002.  
  2003. minimizeWindowUpTween:Play()
  2004. minimizeMinusImageTween:Play()
  2005. end
  2006.  
  2007. local function maximizeWindow()
  2008. window.IsMinimized = false
  2009. local backgroundAbsPos = background.AbsolutePosition
  2010. local backgroundAbsSize = background.AbsoluteSize
  2011. local maximizeWindowRightTween = TweenService:Create(background, TweenInfo.new(.2, Enum.EasingStyle.Linear), {Size = UDim2.new(0,minimizedLongBarOriginialSize.X,0,minimizedLongBarOriginialSize.Y), Position = UDim2.new(0, backgroundAbsPos.X + minimizedLongBarOriginialSize.X / 2,0,backgroundAbsPos.Y + minimizedLongBarOriginialSize.Y / 2 + 36)})
  2012. local maximizePlusImageTween = TweenService:Create(buttonHolder.Plus, TweenInfo.new(.2, Enum.EasingStyle.Linear), {Rotation = 180, ImageTransparency = 1})
  2013. local maximizeMinusImageTween = TweenService:Create(buttonHolder.Minus, TweenInfo.new(.2, Enum.EasingStyle.Linear), {Rotation = 0, ImageTransparency = 0})
  2014.  
  2015. maximizeWindowRightTween.Completed:Connect(function()
  2016. task.wait(.1)
  2017. if maximizeWindowRightTween.PlaybackState == Enum.PlaybackState.Completed then
  2018. local maximizeWindowDownTween = TweenService:Create(background, TweenInfo.new(.2, Enum.EasingStyle.Linear), {Size = UDim2.new(0, originialWindowSize.X, 0, originialWindowSize.Y), Position = UDim2.new(0,backgroundAbsPos.X + originialWindowSize.X / 2,0,backgroundAbsPos.Y + originialWindowSize.Y / 2 + 36)})
  2019. buttonHolder.Plus.Visible = false
  2020. buttonHolder.Minus.Visible = true
  2021. maximizeWindowDownTween:Play()
  2022. maximizeMinusImageTween:Play()
  2023. end
  2024. end)
  2025.  
  2026. maximizeWindowRightTween:Play()
  2027. maximizePlusImageTween:Play()
  2028. end
  2029.  
  2030. if constrainToScreen == nil then
  2031. constrainToScreen = true
  2032. end
  2033.  
  2034. window.Type = "Window"
  2035. window.Instance = windowInstance
  2036. window.GuiToRemove = windowInstance
  2037. window.isConstraintedToScreenBoundaries = constrainToScreen
  2038. window.IsMinimized = false
  2039. window.IsHidden = false
  2040. window.TabInfo = {}
  2041.  
  2042. heading.MouseButton1Down:Connect(onHeadingMouseDown)
  2043. buttonHolder.Close.MouseButton1Click:Connect(closeWindow)
  2044. buttonHolder.Plus.MouseButton1Click:Connect(maximizeWindow)
  2045. buttonHolder.Minus.MouseButton1Click:Connect(minimizeWindow)
  2046.  
  2047. holder.Tabs.TabsUIListLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
  2048. holder.Tabs.CanvasSize = UDim2.fromOffset(0,holder.Tabs.TabsUIListLayout.AbsoluteContentSize.Y + holder.Tabs.TabsUIListLayout.Padding.Offset)
  2049. end)
  2050.  
  2051. heading.Title.Text = windowName or "Cerberus"
  2052. windowInstance.Parent = game:GetService("CoreGui") -- Change to core later on and add detection bypass
  2053. background.Size = UDim2.new(0,background.AbsoluteSize.X,0,background.AbsoluteSize.Y)
  2054. background.Position = UDim2.new(0, background.AbsolutePosition.X + background.AbsoluteSize.X / 2, 0, background.AbsolutePosition.Y + background.AbsoluteSize.Y / 2 + 36)
  2055. background.BackgroundUIAspectRatioConstraint:Destroy()
  2056. holder.Size = UDim2.new(0,holder.AbsoluteSize.X,0,holder.AbsoluteSize.Y)
  2057. holder.Position = UDim2.new(0,0,0,heading.AbsoluteSize.Y)
  2058. heading.Size = UDim2.new(1,0,0,heading.AbsoluteSize.Y)
  2059. buttonHolder.Size = UDim2.new(0,buttonHolder.ButtonHolderList.AbsoluteContentSize.X + buttonHolder.ButtonHolderPadding.PaddingRight.Offset,.9,0)
  2060. heading.Title.Size = UDim2.new(1,-(buttonHolder.ButtonHolderList.AbsoluteContentSize.X + buttonHolder.ButtonHolderPadding.PaddingRight.Offset + 4),.9,0)
  2061. minimizedLongBarOriginialSize = Vector2.new(heading.AbsoluteSize.X, heading.AbsoluteSize.Y)
  2062. minimizedShortBarOriginialSize = Vector2.new(heading.AbsoluteSize.X / 6 * 2, heading.AbsoluteSize.Y)
  2063. originialWindowSize = background.AbsoluteSize
  2064.  
  2065. return window
  2066. end
  2067.  
  2068. function windowHandler:LockScreenBoundaries(constrainWindowToScreenBoundaries)
  2069. self.isConstraintedToScreenBoundaries = constrainWindowToScreenBoundaries
  2070. end
  2071.  
  2072. function windowHandler:Tab(tabName, tabImage)
  2073. local tab = setmetatable({}, tabHandler)
  2074. local tabInstance = originalElements.Tab:Clone()
  2075. local pageInstance = originalElements.Page:Clone()
  2076.  
  2077. local tabOpenTween = TweenService:Create(tabInstance, TweenInfo.new(.25, Enum.EasingStyle.Linear), {BackgroundTransparency = .25})
  2078. local tabCloseTween = TweenService:Create(tabInstance, TweenInfo.new(.25, Enum.EasingStyle.Linear), {BackgroundTransparency = 1})
  2079. local tabSeperatorOpenTween = TweenService:Create(tabInstance.TabSeperator, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.fromScale(.035,1)})
  2080. local tabSeperatorCloseTween = TweenService:Create(tabInstance.TabSeperator, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.fromScale(0,1)})
  2081. local pageOpenTween = TweenService:Create(pageInstance, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.new(0.774999976, -25, 1, -15)})
  2082. local pageCloseTween = TweenService:Create(pageInstance, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.new(.775,-25,0,0)})
  2083. local logoShowTween = TweenService:Create(self.Instance.Background.Holder.PageLogo, TweenInfo.new(.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {ImageTransparency = .65})
  2084. local logoHideTween = TweenService:Create(self.Instance.Background.Holder.PageLogo, TweenInfo.new(.5, Enum.EasingStyle.Linear, Enum.EasingDirection.Out), {ImageTransparency = 1})
  2085.  
  2086. local function isTabFirstTab()
  2087. local amountOfTabs = 0
  2088. for _, foundTab in ipairs(self.Instance.Background.Holder.Tabs:GetChildren()) do
  2089. if foundTab:IsA("TextButton") then
  2090. amountOfTabs = amountOfTabs + 1
  2091. end
  2092. end
  2093.  
  2094. if amountOfTabs == 1 then
  2095. return true
  2096. end
  2097.  
  2098. return false
  2099. end
  2100.  
  2101. local function onMouseEnter()
  2102. if not pageInstance.Visible then
  2103. tabOpenTween:Play()
  2104. end
  2105. end
  2106.  
  2107. local function onMouseLeave()
  2108. if not pageInstance.Visible then
  2109. tabCloseTween:Play()
  2110. end
  2111. end
  2112.  
  2113. local function onMouseClick()
  2114. local selfInfo = self.TabInfo[tabInstance]
  2115.  
  2116. local function openTab()
  2117. local isATabOpen = false
  2118.  
  2119. for foundTabInstance, tabInfo in pairs(self.TabInfo) do
  2120. if foundTabInstance ~= tabInstance then
  2121. if tabInfo.isOpen then
  2122. local foundPageCloseTween = TweenService:Create(tabInfo.Page, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.new(.775,-25,0,0)})
  2123. local foundTabCloseTween = TweenService:Create(foundTabInstance, TweenInfo.new(.25, Enum.EasingStyle.Linear), {BackgroundTransparency = 1})
  2124. local foundTabSeperatorCloseTween = TweenService:Create(foundTabInstance.TabSeperator, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.fromScale(0,1)})
  2125.  
  2126. isATabOpen = true
  2127. tabInfo.isOpen = false
  2128.  
  2129. foundPageCloseTween.Completed:Connect(function()
  2130. task.wait(.15)
  2131. if selfInfo.isQueued and foundPageCloseTween.PlaybackState == Enum.PlaybackState.Completed then
  2132. selfInfo.isOpen = true
  2133. pageInstance.Visible = true
  2134. tabInfo.Page.Visible = false
  2135. tabOpenTween:Play()
  2136. tabSeperatorOpenTween:Play()
  2137. pageOpenTween:Play()
  2138. end
  2139. end)
  2140.  
  2141. pageOpenTween.Completed:Connect(function()
  2142. if pageOpenTween.PlaybackState == Enum.PlaybackState.Completed then
  2143. logoHideTween:Play()
  2144. end
  2145. end)
  2146.  
  2147. selfInfo.isQueued = true
  2148. foundPageCloseTween:Play()
  2149. foundTabCloseTween:Play()
  2150. foundTabSeperatorCloseTween:Play()
  2151. logoShowTween:Play()
  2152. elseif tabInfo.isQueued then
  2153. tabInfo.isQueued = false
  2154. end
  2155. end
  2156. end
  2157.  
  2158. if not isATabOpen then
  2159. selfInfo.isOpen = true
  2160. pageInstance.Visible = true
  2161. pageOpenTween:Play()
  2162. tabOpenTween:Play()
  2163. tabSeperatorOpenTween:Play()
  2164. logoHideTween:Play()
  2165. end
  2166. end
  2167.  
  2168. local function closeTab()
  2169. selfInfo.isOpen = false
  2170. tabCloseTween:Play()
  2171. tabSeperatorCloseTween:Play()
  2172. pageCloseTween:Play()
  2173. logoShowTween:Play()
  2174. end
  2175.  
  2176. if selfInfo.isOpen then
  2177. closeTab()
  2178. else
  2179. openTab()
  2180. end
  2181. end
  2182.  
  2183. tab.Type = "Tab"
  2184. tab.IdentifierText = tabName or "N/A"
  2185. tab.TabToRemove = tabInstance
  2186. tab.PageToRemove = pageInstance
  2187. tab.ElementToParentChildren = pageInstance
  2188.  
  2189. tabInstance.TabText.Text = tabName or "N/A"
  2190. tabInstance.TabImage.Image = tabImage or "rbxassetid://11436779516" -- Add n/a found image here later on
  2191.  
  2192. tabInstance.MouseEnter:Connect(onMouseEnter)
  2193. tabInstance.MouseLeave:Connect(onMouseLeave)
  2194. tabInstance.MouseButton1Click:Connect(onMouseClick)
  2195.  
  2196. self.TabInfo[tabInstance] = {Page = pageInstance, isOpen = false, isQueued = false}
  2197. tabInstance.Parent = self.Instance.Background.Holder.Tabs
  2198. tabInstance.TabText.Position = UDim2.new(0.035, 8 + tabInstance.TabImage.AbsoluteSize.X, 0, 0)
  2199. tabInstance.TabText.Size = UDim2.new(0.965, -(8 + tabInstance.TabImage.AbsoluteSize.X + 8), 1, 0)
  2200. pageInstance.Parent = self.Instance.Background.Holder
  2201.  
  2202. if isTabFirstTab() then
  2203. tabInstance.TabSeperator.Size = UDim2.fromScale(.035,1)
  2204. tabInstance.BackgroundTransparency = .25
  2205. pageInstance.Visible = true
  2206. pageInstance.Size = UDim2.new(0.774999976, -25, 1, -15)
  2207. self.TabInfo[tabInstance].isOpen = true
  2208. end
  2209.  
  2210. pageCloseTween.Completed:Connect(function()
  2211. if pageCloseTween.PlaybackState == Enum.PlaybackState.Completed then
  2212. pageInstance.Visible = false
  2213. end
  2214. end)
  2215.  
  2216. for _, scrollingFrame in ipairs(pageInstance:GetChildren()) do
  2217. local list = scrollingFrame:FindFirstChildWhichIsA("UIListLayout")
  2218. list:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
  2219. scrollingFrame.CanvasSize = UDim2.fromOffset(0,list.AbsoluteContentSize.Y + list.Padding.Offset)
  2220. end)
  2221. end
  2222.  
  2223. return tab
  2224. end
  2225.  
  2226. function tabHandler:Remove()
  2227. self.TabToRemove:Destroy()
  2228. self.PageToRemove:Destroy()
  2229. end
  2230.  
  2231. function tabHandler:Section(sectionTitle) -- Add option to make on left or right after
  2232. local section = setmetatable({}, sectionHandler)
  2233. local sectionInstance = originalElements.Section:Clone()
  2234. local isMaximized = true
  2235. local resizeButtonMinimizeTween = TweenService:Create(sectionInstance.Heading.ResizeButton, TweenInfo.new(.15, Enum.EasingStyle.Linear), {Rotation = 180})
  2236. local resizeButtonMaximizeTween = TweenService:Create(sectionInstance.Heading.ResizeButton, TweenInfo.new(.15, Enum.EasingStyle.Linear), {Rotation = 0})
  2237. local sectionInstanceMinimizeTween = TweenService:Create(sectionInstance, TweenInfo.new(.15, Enum.EasingStyle.Linear), {Size = UDim2.new(1,0,0,sectionInstance.Heading.Size.Y.Offset)})
  2238.  
  2239. local function getSectionNeededYOffsetSize()
  2240. local minimumSize = 200
  2241. return math.max(minimumSize, sectionInstance.Heading.Size.Y.Offset + sectionInstance.ElementHolder.ElementHolderList.AbsoluteContentSize.Y + sectionInstance.ElementHolder.ElementHolderPadding.PaddingBottom.Offset + sectionInstance.ElementHolder.ElementHolderPadding.PaddingTop.Offset)
  2242. end
  2243.  
  2244. local function getShorterScrollingFrame()
  2245. local pageScrollingFrame
  2246. local pageScrollingFrameContentSizeY = math.huge
  2247.  
  2248. for _, scrollingFrame in ipairs(self.ElementToParentChildren:GetChildren()) do
  2249. local list = scrollingFrame:FindFirstChildWhichIsA("UIListLayout")
  2250. if pageScrollingFrameContentSizeY > list.AbsoluteContentSize.Y then
  2251. pageScrollingFrame = scrollingFrame
  2252. pageScrollingFrameContentSizeY = list.AbsoluteContentSize.Y
  2253. end
  2254. end
  2255.  
  2256. return pageScrollingFrame
  2257. end
  2258.  
  2259. local function onResizeClick()
  2260. if isMaximized then
  2261. isMaximized = false
  2262. resizeButtonMinimizeTween:Play()
  2263. sectionInstanceMinimizeTween:Play()
  2264. else
  2265. isMaximized = true
  2266. local sectionInstanceMaximizeTween = TweenService:Create(sectionInstance, TweenInfo.new(.15, Enum.EasingStyle.Linear), {Size = UDim2.new(1,0,0,getSectionNeededYOffsetSize())})
  2267. resizeButtonMaximizeTween:Play()
  2268. sectionInstanceMaximizeTween:Play()
  2269. sectionInstanceMaximizeTween:Play()
  2270. end
  2271. end
  2272.  
  2273. section.Type = "Section"
  2274. section.IdentiferText = sectionTitle or "N/A"
  2275. section.Instance = sectionInstance
  2276. section.GuiToRemove = sectionInstance
  2277. section.ElementToParentChildren = sectionInstance.ElementHolder
  2278.  
  2279. sectionInstance.Heading.ResizeButton.MouseButton1Click:Connect(onResizeClick)
  2280.  
  2281. sectionInstance.ElementHolder.ElementHolderList:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
  2282. sectionInstance.Size = UDim2.new(1, 0, 0, getSectionNeededYOffsetSize())
  2283. sectionInstance.ElementHolder.Size = UDim2.new(1,0,0, math.max(200 - sectionInstance.Heading.Size.Y.Offset, sectionInstance.ElementHolder.ElementHolderList.AbsoluteContentSize.Y + sectionInstance.ElementHolder.ElementHolderPadding.PaddingBottom.Offset + sectionInstance.ElementHolder.ElementHolderPadding.PaddingTop.Offset))
  2284. end)
  2285.  
  2286. sectionInstance.Heading.Title.Text = sectionTitle or "N/A"
  2287. sectionInstance.Parent = getShorterScrollingFrame()
  2288. sectionInstance.Heading.Title.Size = UDim2.new(1,-(sectionInstance.Heading.ResizeButton.AbsoluteSize.X + 5 + 3),0,20)
  2289.  
  2290. return section
  2291. end
  2292.  
  2293. function elementHandler:Title(titleName)
  2294. local title = setmetatable({}, titleHandler)
  2295. local titleInstance = originalElements.Title:Clone()
  2296.  
  2297. local textSpaceOffset = Vector2.new(10,0)
  2298. local textParams = Instance.new("GetTextBoundsParams")
  2299. textParams.Text = titleName or "N/A"
  2300. textParams.Font = titleInstance.TitleText.FontFace
  2301. textParams.Size = 14
  2302. textParams.Width = 10000
  2303.  
  2304. local requiredTextSpace = TextService:GetTextBoundsAsync(textParams) + textSpaceOffset
  2305.  
  2306. title.Type = "Title"
  2307. title.IdentifierText = titleName or "N/A"
  2308. title.Instance = titleInstance
  2309. title.GuiToRemove = titleInstance
  2310.  
  2311. if self.Type == "SearchBar" then
  2312. self.ChildedElementsInfo[titleInstance] = title
  2313. end
  2314.  
  2315. titleInstance.TitleText.Text = titleName or "N/A"
  2316. titleInstance.TitleText.Size = UDim2.new(0, requiredTextSpace.X, 1, 0)
  2317.  
  2318. titleInstance.Parent = self.ElementToParentChildren
  2319.  
  2320. return title
  2321. end
  2322.  
  2323. function titleHandler:ChangeText(newText)
  2324. local textSpaceOffset = Vector2.new(10,0)
  2325. local textParams = Instance.new("GetTextBoundsParams")
  2326. textParams.Text = newText or "N/A"
  2327. textParams.Font = self.Instance.TitleText.FontFace
  2328. textParams.Size = 14
  2329. textParams.Width = 10000
  2330.  
  2331. local requiredTextSpace = TextService:GetTextBoundsAsync(textParams) + textSpaceOffset
  2332.  
  2333. self.Instance.TitleText.Text = newText or "N/A"
  2334. self.Instance.TitleText.Size = UDim2.new(0, requiredTextSpace.X, 1, 0)
  2335. end
  2336.  
  2337. function elementHandler:Label(labelInputtedText, textSize, textColor)
  2338. local label = setmetatable({}, labelHandler)
  2339. local labelInstance = originalElements.Label:Clone()
  2340.  
  2341. local textParams = Instance.new("GetTextBoundsParams")
  2342. textParams.Text = labelInputtedText or "N/A"
  2343. textParams.Font = labelInstance.LabelBackground.LabelText.FontFace
  2344. textParams.Size = textSize or 13
  2345.  
  2346. label.Type = "Label"
  2347. label.IdentifierText = labelInputtedText or "N/A"
  2348. label.Instance = labelInstance
  2349. label.GuiToRemove = labelInstance
  2350. label.PlayingAnimations = {}
  2351.  
  2352. if self.Type == "SearchBar" then
  2353. self.ChildedElementsInfo[labelInstance] = label
  2354. end
  2355.  
  2356. labelInstance.LabelBackground.LabelText.Text = labelInputtedText or "N/A"
  2357. labelInstance.LabelBackground.LabelText.TextColor3 = textColor or Color3.fromRGB(255,255,255)
  2358. labelInstance.LabelBackground.LabelText.TextSize = textSize or 13
  2359.  
  2360. labelInstance.Parent = self.ElementToParentChildren
  2361. textParams.Width = labelInstance.LabelBackground.LabelText.AbsoluteSize.X - labelInstance.LabelBackground.LabelText.LabelTextPadding.PaddingLeft.Offset - labelInstance.LabelBackground.LabelText.LabelTextPadding.PaddingRight.Offset
  2362. labelInstance.Size = UDim2.new(1,0,0,TextService:GetTextBoundsAsync(textParams).Y + labelInstance.LabelBackground.LabelText.LabelTextPadding.PaddingTop.Offset + labelInstance.LabelBackground.LabelText.LabelTextPadding.PaddingBottom.Offset + labelInstance.LabelPadding.PaddingTop.Offset + labelInstance.LabelPadding.PaddingBottom.Offset + labelInstance.LabelBackground.LabelBackgroundPadding.PaddingTop.Offset + labelInstance.LabelBackground.LabelBackgroundPadding.PaddingBottom.Offset)
  2363.  
  2364. return label
  2365. end
  2366.  
  2367. function labelHandler:ChangeText(newText, playAnimatio
  2368. )
  2369. local textParams = Instance.new("GetTextBoundsParams") -- Add Tween here for text
  2370. textParams.Text = newText or "N/A"
  2371. textParams.Font = self.Instance.LabelBackground.LabelText.FontFace
  2372. textParams.Size = 13
  2373. textParams.Width = self.Instance.LabelBackground.LabelText.AbsoluteSize.X
  2374.  
  2375. playAnimation = playAnimation or false
  2376.  
  2377. local function closeAllRunningAnimations()
  2378. for i, foundAnimation in pairs(self.PlayingAnimations) do
  2379. coroutine.close(foundAnimation)
  2380. table.remove(self.PlayingAnimations, i)
  2381. end
  2382. end
  2383.  
  2384. if playAnimation then
  2385. closeAllRunningAnimations()
  2386.  
  2387. local animationCoroutine = coroutine.create(function()
  2388. for i = 1, #newText do
  2389. self.Instance.LabelBackground.LabelText.Text = string.sub(newText or "N/A", 1, i)
  2390. task.wait(.01)
  2391. end
  2392. end)
  2393.  
  2394. table.insert(self.PlayingAnimations, animationCoroutine)
  2395. coroutine.resume(animationCoroutine)
  2396. else
  2397. closeAllRunningAnimations()
  2398. self.Instance.LabelBackground.LabelText.Text = newText or "N/A"
  2399. end
  2400. end
  2401.  
  2402. function elementHandler:Toggle(toggleName, callback)
  2403. local toggle = setmetatable({}, toggleHandler)
  2404. local toggleInstance = originalElements.Toggle:Clone()
  2405. local textOffset = 4
  2406.  
  2407. local tweenTime = .275
  2408. local cornerOnTween = TweenService:Create(toggleInstance.BoxBackground.InnerBox.CenterBox.ToggleImage.ToggleImageCorner, TweenInfo.new(tweenTime, Enum.EasingStyle.Exponential, Enum.EasingDirection.In), {CornerRadius = UDim.new(0, 0)})
  2409. local cornerOffTween = TweenService:Create(toggleInstance.BoxBackground.InnerBox.CenterBox.ToggleImage.ToggleImageCorner, TweenInfo.new(tweenTime, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {CornerRadius = UDim.new(.5, 0)})
  2410. local imageRotationOnTween = TweenService:Create(toggleInstance.BoxBackground.InnerBox.CenterBox.ToggleImage, TweenInfo.new(tweenTime, Enum.EasingStyle.Linear), {Rotation = 360})
  2411. local imageRotationOffTween = TweenService:Create(toggleInstance.BoxBackground.InnerBox.CenterBox.ToggleImage, TweenInfo.new(tweenTime, Enum.EasingStyle.Linear), {Rotation = 0})
  2412. local imageSizeOnTween = TweenService:Create(toggleInstance.BoxBackground.InnerBox.CenterBox.ToggleImage, TweenInfo.new(tweenTime, Enum.EasingStyle.Linear), {Size = UDim2.fromScale(1,1)});
  2413. local imageSizeOffTween = TweenService:Create(toggleInstance.BoxBackground.InnerBox.CenterBox.ToggleImage, TweenInfo.new(tweenTime, Enum.EasingStyle.Linear), {Size = UDim2.fromScale(0,0)});
  2414.  
  2415. toggle.Type = "Toggle"
  2416. toggle.IdentifierText = toggleName or "N/A"
  2417. toggle.Instance = toggleInstance
  2418. toggle.GuiToRemove = toggleInstance
  2419. toggle.Enabled = false
  2420.  
  2421. if self.Type == "SearchBar" then
  2422. self.ChildedElementsInfo[toggleInstance] = toggle
  2423. end
  2424.  
  2425. callback = callback or function() end
  2426.  
  2427. local function onToggleClick()
  2428. if toggle.Enabled then
  2429. cornerOffTween:Play()
  2430. imageRotationOffTween:Play()
  2431. imageSizeOffTween:Play()
  2432. else
  2433. cornerOnTween:Play()
  2434. imageRotationOnTween:Play()
  2435. imageSizeOnTween:Play()
  2436. end
  2437.  
  2438. toggle.Enabled = not toggle.Enabled
  2439.  
  2440. callback(toggle.Enabled)
  2441. end
  2442.  
  2443. toggleInstance.MouseButton1Click:Connect(onToggleClick)
  2444.  
  2445. toggleInstance.ToggleText.Text = toggleName or "N/A"
  2446.  
  2447. toggleInstance.Parent = self.ElementToParentChildren
  2448. toggleInstance.ToggleText.Size = UDim2.new(1,-(toggleInstance.BoxBackground.AbsoluteSize.X + textOffset),1,0)
  2449. toggleInstance.Position = UDim2.fromOffset(toggleInstance.BoxBackground.AbsoluteSize.X + textOffset,0)
  2450.  
  2451. return toggle
  2452. end
  2453. -- SET IDENTIFIER IN SELF AND ADD TOGGLES TO EACH IDENTIFIER RADIO GROUP
  2454. function toggleHandler:Set(boo
  2455. , callback) -- Add Callback to self?
  2456. local tweenTime = .275
  2457. local cornerOnTween = TweenService:Create(self.Instance.BoxBackground.InnerBox.CenterBox.ToggleImage.ToggleImageCorner, TweenInfo.new(tweenTime, Enum.EasingStyle.Exponential, Enum.EasingDirection.In), {CornerRadius = UDim.new(0, 0)})
  2458. local cornerOffTween = TweenService:Create(self.Instance.BoxBackground.InnerBox.CenterBox.ToggleImage.ToggleImageCorner, TweenInfo.new(tweenTime, Enum.EasingStyle.Exponential, Enum.EasingDirection.Out), {CornerRadius = UDim.new(.5, 0)})
  2459. local imageRotationOnTween = TweenService:Create(self.Instance.BoxBackground.InnerBox.CenterBox.ToggleImage, TweenInfo.new(tweenTime, Enum.EasingStyle.Linear), {Rotation = 360})
  2460. local imageRotationOffTween = TweenService:Create(self.Instance.BoxBackground.InnerBox.CenterBox.ToggleImage, TweenInfo.new(tweenTime, Enum.EasingStyle.Linear), {Rotation = 0})
  2461. local imageSizeOnTween = TweenService:Create(self.Instance.BoxBackground.InnerBox.CenterBox.ToggleImage, TweenInfo.new(tweenTime, Enum.EasingStyle.Linear), {Size = UDim2.fromScale(1,1)});
  2462. local imageSizeOffTween = TweenService:Create(self.Instance.BoxBackground.InnerBox.CenterBox.ToggleImage, TweenInfo.new(tweenTime, Enum.EasingStyle.Linear), {Size = UDim2.fromScale(0,0)});
  2463.  
  2464. if typeof(bool) ~= "boolean" then error("First argument must be a boolean.") end
  2465.  
  2466. callback = callback or function() end
  2467. self.Enabled = bool
  2468.  
  2469. if self.Enabled then
  2470. cornerOnTween:Play()
  2471. imageRotationOnTween:Play()
  2472. imageSizeOnTween:Play()
  2473. else
  2474. cornerOffTween:Play()
  2475. imageRotationOffTween:Play()
  2476. imageSizeOffTween:Play()
  2477. end
  2478.  
  2479. callback(bool)
  2480. end
  2481.  
  2482. function elementHandler:Button(buttonName, callback -- Add Callback to self?
  2483. local button = setmetatable({}, buttonHandler)
  2484. local buttonInstance = originalElements.Button:Clone()
  2485. local textOffset = 4
  2486.  
  2487. local tweenTime = .25
  2488. local buttonExpandTween = TweenService:Create(buttonInstance.CircleBackground.InnerCircle.CenterCircle.ButtonCircle, TweenInfo.new(tweenTime / 2, Enum.EasingStyle.Linear), {Size = UDim2.fromScale(1,1)})
  2489. local buttonCondenseTween = TweenService:Create(buttonInstance.CircleBackground.InnerCircle.CenterCircle.ButtonCircle, TweenInfo.new(tweenTime / 2, Enum.EasingStyle.Linear), {Size = UDim2.fromScale(0,0)})
  2490.  
  2491. buttonName = buttonName or "N/A"
  2492. callback = callback or function() end
  2493.  
  2494. buttonExpandTween.Completed:Connect(function(playbackState)
  2495. task.wait(.1)
  2496. if playbackState == Enum.PlaybackState.Completed then
  2497. buttonCondenseTween:Play()
  2498. end
  2499. end)
  2500.  
  2501. local function onButtonClick()
  2502. buttonExpandTween:Play()
  2503. callback()
  2504. end
  2505.  
  2506. button.Type = "Button"
  2507. button.IdentifierText = buttonName or "N/A"
  2508. button.Instance = buttonInstance
  2509. button.GuiToRemove = buttonInstance
  2510.  
  2511. if self.Type == "SearchBar" then
  2512. self.ChildedElementsInfo[buttonInstance] = button
  2513. end
  2514.  
  2515. buttonInstance.MouseButton1Click:Connect(onButtonClick)
  2516.  
  2517. buttonInstance.ButtonText.Text = buttonName
  2518.  
  2519. buttonInstance.Parent = self.ElementToParentChildren
  2520. buttonInstance.ButtonText.Size = UDim2.new(1,-(buttonInstance.CircleBackground.AbsoluteSize.X + textOffset),1,0)
  2521. buttonInstance.ButtonText.Position = UDim2.fromOffset(buttonInstance.CircleBackground.AbsoluteSize.X + textOffset,0)
  2522. end
  2523.  
  2524. function elementHandler:Dropdown(dropdownName
  2525. local dropdown = setmetatable({}, dropdownHandler)
  2526. local dropdownInstance = originalElements.Dropdown:Clone()
  2527. local elementHolderInnerBackground = dropdownInstance.ElementHolder.ElementHolderBackground.ElementHolderInnerBackground
  2528. local elementHolderInnerBackgroundPaddings = dropdownInstance.ElementHolder.ElementHolderPadding.PaddingBottom.Offset + dropdownInstance.ElementHolder.ElementHolderPadding.PaddingTop.Offset + dropdownInstance.ElementHolder.ElementHolderBackground.ElementHolderBackgroundPadding.PaddingBottom.Offset + dropdownInstance.ElementHolder.ElementHolderBackground.ElementHolderBackgroundPadding.PaddingTop.Offset + elementHolderInnerBackground.ElementHolderInnerBackgroundPadding.PaddingBottom.Offset + elementHolderInnerBackground.ElementHolderInnerBackgroundPadding.PaddingTop.Offset
  2529.  
  2530. local imageRotationOpenTween = TweenService:Create(dropdownInstance.DropdownButton.ButtonBackground.DropdownImage, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Rotation = 0})
  2531. local imageRotationCloseTween = TweenService:Create(dropdownInstance.DropdownButton.ButtonBackground.DropdownImage, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Rotation = 180})
  2532. local dropdownInstanceCloseTween = TweenService:Create(dropdownInstance, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.new(1,0,0,dropdownInstance.DropdownButton.Size.Y.Offset)})
  2533. local dropdownInstanceOpenTween
  2534.  
  2535. local function onDropdownClicked()
  2536. if dropdown.IsExpanded then
  2537. dropdown.IsExpanded = false
  2538. imageRotationCloseTween:Play()
  2539. dropdownInstanceCloseTween:Play()
  2540. else
  2541. dropdown.IsExpanded = true
  2542. imageRotationOpenTween:Play()
  2543. dropdownInstanceOpenTween:Play()
  2544. end
  2545. end
  2546.  
  2547. dropdown.Type = "Dropdown"
  2548. dropdown.IdentifierText = dropdownName or "N/A"
  2549. dropdown.Instance = dropdownInstance
  2550. dropdown.GuiToRemove = dropdownInstance
  2551. dropdown.ElementToParentChildren = dropdownInstance.ElementHolder.ElementHolderBackground.ElementHolderInnerBackground
  2552. dropdown.IsExpanded = false
  2553.  
  2554. if self.Type == "SearchBar" then
  2555. self.ChildedElementsInfo[dropdownInstance] = dropdown
  2556. end
  2557.  
  2558. dropdownInstance.DropdownButton.MouseButton1Click:Connect(onDropdownClicked)
  2559.  
  2560. elementHolderInnerBackground.ElementHolderInnerBackgroundList:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
  2561. if dropdown.IsExpanded then
  2562. if elementHolderInnerBackground.ElementHolderInnerBackgroundList.AbsoluteContentSize.Y == 0 then
  2563. dropdownInstanceOpenTween = TweenService:Create(dropdownInstance, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.new(1,0,0, dropdownInstance.DropdownButton.AbsoluteSize.Y)})
  2564. else
  2565. local elementHolderTween = TweenService:Create(dropdownInstance.ElementHolder, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.new(.925,0,0,elementHolderInnerBackground.ElementHolderInnerBackgroundList.AbsoluteContentSize.Y + elementHolderInnerBackgroundPaddings)})
  2566. dropdownInstanceOpenTween = TweenService:Create(dropdownInstance, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.new(1,0,0,elementHolderInnerBackground.ElementHolderInnerBackgroundList.AbsoluteContentSize.Y + elementHolderInnerBackgroundPaddings + dropdownInstance.DropdownButton.Size.Y.Offset)})
  2567.  
  2568. elementHolderTween:Play()
  2569. end
  2570. dropdownInstanceOpenTween:Play()
  2571. else
  2572. dropdownInstance.ElementHolder.Size = UDim2.new(.925,0,0,elementHolderInnerBackground.ElementHolderInnerBackgroundList.AbsoluteContentSize.Y + elementHolderInnerBackgroundPaddings)
  2573. if elementHolderInnerBackground.ElementHolderInnerBackgroundList.AbsoluteContentSize.Y == 0 then
  2574. dropdownInstanceOpenTween = TweenService:Create(dropdownInstance, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.new(1,0,0, dropdownInstance.DropdownButton.AbsoluteSize.Y)})
  2575. else
  2576. dropdownInstanceOpenTween = TweenService:Create(dropdownInstance, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.new(1,0,0,elementHolderInnerBackground.ElementHolderInnerBackgroundList.AbsoluteContentSize.Y + elementHolderInnerBackgroundPaddings + dropdownInstance.DropdownButton.Size.Y.Offset)})
  2577. end
  2578. end
  2579. end)
  2580.  
  2581. dropdownInstance.DropdownButton.ButtonBackground.DropdownText.Text = dropdownName or "N/A"
  2582.  
  2583. dropdownInstance.Parent = self.ElementToParentChildren
  2584. dropdownInstanceOpenTween = TweenService:Create(dropdownInstance, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.new(1,0,0, dropdownInstance.DropdownButton.AbsoluteSize.Y + dropdownInstance.ElementHolder.AbsoluteSize.Y)})
  2585. return dropdown
  2586. end
  2587.  
  2588. function dropdownHandler:ChangeText(newText)
  2589. newText = newText or "N/A"
  2590. self.Instance.DropdownButton.ButtonBackground.DropdownText.Text = newText
  2591. self.IdentifierText = newText
  2592. end
  2593.  
  2594. function elementHandler:Slider(sliderName, callback, maximumValue, minimumValue
  2595. local slider = setmetatable({}, sliderHandler) -- MAKE RIGHT CLICK AND BAR GOES TO MID
  2596. local sliderInstance = originalElements.Slider:Clone()
  2597. local isMouseDown = false
  2598. local sliderBar = sliderInstance.SliderBackground.SliderInnerBackground.Slider
  2599. local minimumClosePixelsLeft = 2
  2600. local textPixelOffset = 2
  2601. local absPos
  2602. local absSize
  2603.  
  2604. minimumValue = minimumValue or 0
  2605. maximumValue = maximumValue or 100
  2606.  
  2607. assert(maximumValue > minimumValue, "Maximum must be greater than minimum.")
  2608.  
  2609. local textParams = Instance.new("GetTextBoundsParams")
  2610. textParams.Text = tostring(maximumValue) or "N/A"
  2611. textParams.Font = sliderInstance.TextGrouping.NumberText.FontFace
  2612. textParams.Size = 14
  2613. textParams.Width = 10000
  2614.  
  2615. local requiredNumberTextSpace = TextService:GetTextBoundsAsync(textParams)
  2616. textParams.Text = "ERR"
  2617. local requiredErrorTextSpace = TextService:GetTextBoundsAsync(textParams)
  2618.  
  2619. local maxMinRange = math.abs(minimumValue - maximumValue)
  2620. local sliderValue = minimumValue
  2621.  
  2622. local sliderConnection
  2623. local endInputConnection
  2624.  
  2625. callback = callback or function() end
  2626.  
  2627. local function onMouseDown()
  2628. local function onMouseMoved()
  2629. local absPos = sliderBar.AbsolutePosition
  2630. local absSize = sliderBar.Parent.EmptySliderBackground.AbsoluteSize
  2631.  
  2632. if mouse.X < absPos.X then
  2633. sliderBar.Size = UDim2.new(0,minimumClosePixelsLeft,1,0)
  2634. sliderValue = minimumValue
  2635. elseif mouse.X > absPos.X + absSize.X then
  2636. sliderBar.Size = UDim2.new(1,0,1,0)
  2637. sliderValue = maximumValue
  2638. else
  2639. local percentOfBarFilled = (mouse.X - absPos.X) / absSize.X
  2640. sliderBar.Size = UDim2.new(0,math.max(minimumClosePixelsLeft, mouse.X - absPos.X),1,0)
  2641. sliderValue = minimumValue + (maxMinRange * percentOfBarFilled)
  2642. end
  2643.  
  2644. sliderInstance.TextGrouping.NumberText.Text = math.round(sliderValue)
  2645. callback(sliderValue)
  2646. end
  2647.  
  2648. onMouseMoved()
  2649. sliderConnection = mouse.Move:Connect(onMouseMoved)
  2650.  
  2651. endInputConnection = UserInputService.InputEnded:Connect(function(input, gameProcessedEvent)
  2652. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  2653. sliderConnection:Disconnect()
  2654. endInputConnection:Disconnect()
  2655. end
  2656. end)
  2657. end
  2658.  
  2659. local function onFocusLost(enterPressed)
  2660. if enterPressed then
  2661. local enteredNum = tonumber(sliderInstance.TextGrouping.NumberText.Text)
  2662. if typeof(enteredNum) == "number" and enteredNum >= minimumValue and enteredNum <= maximumValue then
  2663. local absPos = sliderBar.AbsolutePosition
  2664. local absSize = sliderBar.Parent.EmptySliderBackground.AbsoluteSize
  2665. local percentOfBarFilled = enteredNum / absSize.X
  2666. sliderValue = enteredNum
  2667. sliderInstance.TextGrouping.NumberText.Text = math.round(sliderValue)
  2668. sliderBar.Size = UDim2.new((sliderValue - minimumValue) / maxMinRange,0,1,0)
  2669. callback(sliderValue)
  2670. else
  2671. sliderInstance.TextGrouping.NumberText.Text = "ERR"
  2672. task.wait(.5)
  2673. if sliderInstance.TextGrouping.NumberText.Text == "ERR" then
  2674. sliderInstance.TextGrouping.NumberText.Text = math.round(sliderValue)
  2675. end
  2676. end
  2677. else
  2678. sliderInstance.TextGrouping.NumberText.Text = math.round(sliderValue)
  2679. end
  2680. end
  2681.  
  2682. slider.Type = "Slider"
  2683. slider.IdentifierText = sliderName or "N/A"
  2684. slider.Instance = sliderInstance
  2685. slider.GuiToRemove = sliderInstance
  2686.  
  2687. if self.Type == "SearchBar" then
  2688. self.ChildedElementsInfo[sliderInstance] = slider
  2689. end
  2690.  
  2691. sliderInstance.SliderBackground.MouseButton1Down:Connect(onMouseDown)
  2692. sliderInstance.TextGrouping.NumberText.FocusLost:Connect(onFocusLost)
  2693.  
  2694. sliderInstance.TextGrouping.SliderText.Text = sliderName or "N/A"
  2695. sliderInstance.TextGrouping.NumberText.Text = minimumValue
  2696. sliderInstance.TextGrouping.NumberText.Size = UDim2.new(0,math.max(requiredErrorTextSpace.X, requiredNumberTextSpace.X) + textPixelOffset,1,0)
  2697.  
  2698. sliderInstance.Parent = self.ElementToParentChildren
  2699. sliderInstance.TextGrouping.SliderText.Size = UDim2.new(0, sliderInstance.TextGrouping.AbsoluteSize.X - textPixelOffset - requiredNumberTextSpace.X, 1, 0)
  2700. end
  2701.  
  2702. function elementHandler:SearchBar(placeholderText
  2703. local searchBar = setmetatable({}, searchBarHandler)
  2704. local searchBarInstance = originalElements.SearchBar:Clone()
  2705. local searchBox = searchBarInstance.SearchBarFrame.ButtonBackgroundPadding.SearchBox
  2706. local elementHolder = searchBarInstance.ElementHolder
  2707. local elementHolderBackground = elementHolder.ElementHolderBackground
  2708. local elementHolderInnerBackground = elementHolderBackground.ElementHolderInnerBackground
  2709. local elementHolderInnerBackgroundPaddings = elementHolder.ElementHolderPadding.PaddingBottom.Offset + elementHolder.ElementHolderPadding.PaddingTop.Offset + elementHolderBackground.ElementHolderBackgroundPadding.PaddingBottom.Offset + elementHolderBackground.ElementHolderBackgroundPadding.PaddingTop.Offset + elementHolderInnerBackground.ElementHolderInnerBackgroundPadding.PaddingBottom.Offset + elementHolderInnerBackground.ElementHolderInnerBackgroundPadding.PaddingTop.Offset
  2710. local searchBarInstanceCloseTween = TweenService:Create(searchBarInstance, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.new(1,0,0,searchBarInstance.SearchBarFrame.Size.Y.Offset)})
  2711. local searchBarInstanceOpenTween
  2712. local isMouseHoveringOver = false
  2713. local mouseEnterConnection
  2714. local mouseLeftConnection
  2715. local uisFocusLost
  2716. local playingAnimation
  2717. local searchingText
  2718.  
  2719. placeholderText = placeholderText or "N/A"
  2720.  
  2721. local function onTextChanged()
  2722. if searchBar.IsExpanded then
  2723. if searchingText then coroutine.close(searchingText) end
  2724. searchingText = coroutine.create(function()
  2725. for _, foundElement in ipairs(elementHolderInnerBackground:GetChildren()) do
  2726. local foundElementInfo = searchBar.ChildedElementsInfo[foundElement]
  2727. if foundElementInfo ~= nil then
  2728. if foundElementInfo.IdentifierText:lower():find(searchBox.Text:lower(), 1, true) then
  2729. foundElement.Visible = true
  2730. else
  2731. foundElement.Visible = false
  2732. end
  2733. end
  2734. end
  2735. searchingText = nil
  2736. end)
  2737. coroutine.resume(searchingText)
  2738. end
  2739. end
  2740.  
  2741. local function onFocused()
  2742. elementHolderInnerBackground.Visible = true
  2743. searchBar.IsExpanded = true
  2744. onTextChanged()
  2745. isMouseHoveringOver = true
  2746. searchBarInstanceOpenTween:Play()
  2747.  
  2748. if playingAnimation then
  2749. coroutine.close(playingAnimation)
  2750. searchBox.PlaceholderText = placeholderText
  2751. searchBox.Text = ""
  2752. end
  2753.  
  2754. mouseLeftConnection = searchBarInstance.MouseLeave:Connect(function()
  2755. isMouseHoveringOver = false
  2756.  
  2757. if not searchBox:IsFocused() then
  2758. searchBar.IsExpanded = false
  2759. searchBarInstanceCloseTween:Play()
  2760. mouseLeftConnection:Disconnect()
  2761. mouseEnterConnection:Disconnect()
  2762. uisFocusLost:Disconnect()
  2763.  
  2764. searchBarInstanceCloseTween.Completed:Connect(function(playbackState)
  2765. if playbackState == Enum.PlaybackState.Completed then
  2766. elementHolderInnerBackground.Visible = false
  2767. end
  2768. end)
  2769.  
  2770. if playingAnimation then coroutine.close(playingAnimation) end
  2771. playingAnimation = coroutine.create(function()
  2772. searchBox.PlaceholderText = ""
  2773. animateText(searchBox, .025, nil, placeholderText, true)
  2774. playingAnimation = nil
  2775. end)
  2776. coroutine.resume(playingAnimation)
  2777. end
  2778. end)
  2779.  
  2780. mouseEnterConnection = searchBarInstance.MouseEnter:Connect(function()
  2781. isMouseHoveringOver = true
  2782. end)
  2783.  
  2784. uisFocusLost = UserInputService.TextBoxFocusReleased:Connect(function(textBoxReleased)
  2785. if textBoxReleased == searchBox then
  2786. if not isMouseHoveringOver then
  2787. searchBar.IsExpanded = false
  2788. searchBarInstanceCloseTween:Play()
  2789. mouseLeftConnection:Disconnect()
  2790. mouseEnterConnection:Disconnect()
  2791. uisFocusLost:Disconnect()
  2792.  
  2793. searchBarInstanceCloseTween.Completed:Connect(function(playbackState)
  2794. if playbackState == Enum.PlaybackState.Completed then
  2795. elementHolderInnerBackground.Visible = false
  2796. end
  2797. end)
  2798.  
  2799. if playingAnimation then coroutine.close(playingAnimation) end
  2800. playingAnimation = coroutine.create(function()
  2801. searchBox.PlaceholderText = ""
  2802. animateText(searchBox, .025, nil, placeholderText, true)
  2803. playingAnimation = nil
  2804. end)
  2805. coroutine.resume(playingAnimation)
  2806. end
  2807. end
  2808. end)
  2809. end
  2810.  
  2811. searchBar.Type = "SearchBar"
  2812. searchBar.IdentifierText = placeholderText or "N/A"
  2813. searchBar.Instance = searchBarInstance
  2814. searchBar.GuiToRemove = searchBarInstance
  2815. searchBar.ElementToParentChildren = elementHolderInnerBackground
  2816. searchBar.ChildedElementsInfo = {}
  2817. searchBar.IsExpanded = false
  2818.  
  2819. if self.Type == "SearchBar" then
  2820. self.ChildedElementsInfo[searchBarInstance] = searchBar
  2821. end
  2822.  
  2823. searchBox:GetPropertyChangedSignal("Text"):Connect(onTextChanged)
  2824. searchBox.Focused:Connect(onFocused)
  2825.  
  2826. elementHolderInnerBackground.ElementHolderInnerBackgroundList:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
  2827. if searchBar.IsExpanded then
  2828. if elementHolderInnerBackground.ElementHolderInnerBackgroundList.AbsoluteContentSize.Y == 0 then
  2829. searchBarInstanceOpenTween = TweenService:Create(searchBarInstance, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.new(1,0,0,searchBarInstance.SearchBarFrame.Size.Y.Offset)})
  2830. else
  2831. local elementHolderOpenTween = TweenService:Create(elementHolder, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.new(.925,0,0,elementHolderInnerBackground.ElementHolderInnerBackgroundList.AbsoluteContentSize.Y + elementHolderInnerBackgroundPaddings)})
  2832. searchBarInstanceOpenTween = TweenService:Create(searchBarInstance, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.new(1,0,0,elementHolderInnerBackground.ElementHolderInnerBackgroundList.AbsoluteContentSize.Y + elementHolderInnerBackgroundPaddings + searchBarInstance.SearchBarFrame.Size.Y.Offset)})
  2833. elementHolderOpenTween:Play()
  2834. end
  2835.  
  2836. searchBarInstanceOpenTween:Play()
  2837. else
  2838. elementHolder.Size = UDim2.new(.925,0,0,elementHolderInnerBackground.ElementHolderInnerBackgroundList.AbsoluteContentSize.Y + elementHolderInnerBackgroundPaddings)
  2839. if elementHolderInnerBackground.ElementHolderInnerBackgroundList.AbsoluteContentSize.Y == 0 then
  2840. searchBarInstanceOpenTween = TweenService:Create(searchBarInstance, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.new(1,0,0,searchBarInstance.SearchBarFrame.Size.Y.Offset)})
  2841. else
  2842. searchBarInstanceOpenTween = TweenService:Create(searchBarInstance, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.new(1,0,0,elementHolderInnerBackground.ElementHolderInnerBackgroundList.AbsoluteContentSize.Y + elementHolderInnerBackgroundPaddings + searchBarInstance.SearchBarFrame.Size.Y.Offset)})
  2843. end
  2844. end
  2845. end)
  2846.  
  2847. searchBox.PlaceholderText = placeholderText or "N/A"
  2848.  
  2849. searchBarInstance.Parent = self.ElementToParentChildren
  2850. searchBox.Size = UDim2.new(1,-(searchBox.Parent.SearchImage.AbsoluteSize.X + searchBox.Parent.ButtonBackgroundPadding.PaddingRight.Offset),1,0)
  2851. searchBarInstanceOpenTween = TweenService:Create(searchBarInstance, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.new(1,0,0,searchBarInstance.SearchBarFrame.Size.Y.Offset)})
  2852.  
  2853. return searchBar
  2854. end
  2855.  
  2856. --REWORK KEYBIND COMPLETLEY INEFFICENT !!!
  2857. -- ADD RIGHT CLICK TO REMOVE CURRENT KEYBIND TO NOTHING
  2858. function elementHandler:Keybind(keybindName, callback, defaultKey
  2859. local keybind = setmetatable({}, keybindHandler)
  2860. local keybindInstance = originalElements.Keybind:Clone()
  2861. local sideClosedTextPaddingPixels = 1
  2862. local keybindTextPadding = 4
  2863. local isOverriding = false
  2864. local inputBeingProcessed
  2865. local originialOffsetSize
  2866. local textAnimationSpeed = .025
  2867. local textAnimation
  2868.  
  2869. local pressKeyMsg = "Press a key..."
  2870. local textParams = Instance.new("GetTextBoundsParams")
  2871. textParams.Text = pressKeyMsg
  2872. textParams.Width = 10000
  2873. textParams.Font = keybindInstance.BoxBackground.InnerBox.KeyText.FontFace
  2874. textParams.Size = 14
  2875.  
  2876. local requiredInputKeyTextSize = TextService:GetTextBoundsAsync(textParams)
  2877. local requiredInputKeyTextTween = TweenService:Create(keybindInstance.BoxBackground, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.new(0,requiredInputKeyTextSize.X + keybindInstance.BoxBackground.BoxPadding.PaddingLeft.Offset + keybindInstance.BoxBackground.BoxPadding.PaddingRight.Offset + keybindInstance.BoxBackground.InnerBox.BoxPadding.PaddingLeft.Offset + keybindInstance.BoxBackground.InnerBox.BoxPadding.PaddingRight.Offset,1,0)})
  2878.  
  2879. callback = callback or function() end
  2880. keybindName = keybindName or "N/A"
  2881. defaultKey = defaultKey or "F"
  2882.  
  2883. local function getMatchingKeyCodeFromName(name)
  2884. for i, keycode in pairs(Enum.KeyCode:GetEnumItems()) do
  2885. if keycode.Name:lower() == name:lower() then
  2886. return keycode
  2887. end
  2888. end
  2889. end
  2890.  
  2891. local function onKeybindClick()
  2892. local recognizedKey = false
  2893. local input
  2894.  
  2895. requiredInputKeyTextTween:Play()
  2896.  
  2897. repeat
  2898. local gameProcessedEvent
  2899. input, gameProcessedEvent = UserInputService.InputBegan:Wait()
  2900. if input.KeyCode.Name ~= "Unknown" then
  2901. recognizedKey = true
  2902. end
  2903. until recognizedKey
  2904.  
  2905. isOverriding = true
  2906. if textAnimation then
  2907. coroutine.close(textAnimation)
  2908. end
  2909.  
  2910. textAnimation = coroutine.create(function()
  2911. animateText(keybindInstance.BoxBackground.InnerBox.KeyText, textAnimationSpeed, input.KeyCode.Name)
  2912.  
  2913. textParams.Text = input.KeyCode.Name
  2914. local requiredNewTextSpace = TextService:GetTextBoundsAsync(textParams)
  2915. local closeTween = TweenService:Create(keybindInstance.BoxBackground, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.new(0,math.max(originialOffsetSize.X, requiredNewTextSpace.X + keybindInstance.BoxBackground.BoxPadding.PaddingLeft.Offset + keybindInstance.BoxBackground.BoxPadding.PaddingRight.Offset + keybindInstance.BoxBackground.InnerBox.BoxPadding.PaddingLeft.Offset + keybindInstance.BoxBackground.InnerBox.BoxPadding.PaddingRight.Offset + sideClosedTextPaddingPixels),1,0)})
  2916. closeTween:Play()
  2917. isOverriding = false
  2918. end)
  2919.  
  2920. coroutine.resume(textAnimation)
  2921.  
  2922. repeat task.wait() until not inputBeingProcessed
  2923. defaultKey = input.KeyCode
  2924. end
  2925.  
  2926. local function onInputBegan(input, gameProcessedEvent)
  2927. inputBeingProcessed = true
  2928. if gameProcessedEvent then return end
  2929. if input.UserInputType == Enum.UserInputType.Keyboard then
  2930. if input.KeyCode == defaultKey then
  2931. callback()
  2932. end
  2933. end
  2934. inputBeingProcessed = false
  2935. end
  2936. -- for toggle radio buttons do a fn to loop all and toggles in table given and setttoggle fn to false by checking if self.IsToggled
  2937. requiredInputKeyTextTween.Completed:Connect(function(playbackState)
  2938. if playbackState == Enum.PlaybackState.Completed and not isOverriding then -- Animation runs after other override starts due to tween completed after override starts
  2939. if textAnimation then
  2940. coroutine.close(textAnimation)
  2941. end
  2942.  
  2943. textAnimation = coroutine.create(function()
  2944. animateText(keybindInstance.BoxBackground.InnerBox.KeyText, textAnimationSpeed, pressKeyMsg)
  2945. end)
  2946.  
  2947. coroutine.resume(textAnimation)
  2948. end
  2949. end)
  2950.  
  2951. keybind.Type = "Keybind"
  2952. keybind.IdentifierText = keybindName
  2953. keybind.Instance = keybindInstance
  2954. keybind.GuiToRemove = keybindInstance
  2955.  
  2956. UserInputService.InputBegan:Connect(onInputBegan)
  2957. keybindInstance.MouseButton1Click:Connect(onKeybindClick)
  2958.  
  2959. keybindInstance.KeybindText.Text = keybindName
  2960. keybindInstance.BoxBackground.InnerBox.KeyText.Text = defaultKey
  2961.  
  2962. defaultKey = getMatchingKeyCodeFromName(defaultKey)
  2963.  
  2964. keybindInstance.Parent = self.ElementToParentChildren
  2965. originialOffsetSize = keybindInstance.BoxBackground.AbsoluteSize
  2966. keybindInstance.BoxBackground.Size = UDim2.fromOffset(originialOffsetSize.X,originialOffsetSize.Y)
  2967. keybindInstance.BoxBackground.BoxAspect:Destroy()
  2968. keybindInstance.KeybindText.Size = UDim2.new(1,-(originialOffsetSize.X + keybindTextPadding),1,0)
  2969. end
  2970.  
  2971. function elementHandler:TextBox(textBoxName:string, callback
  2972. local textBox = setmetatable({}, textBoxHandler)
  2973. local textBoxInstance = originalElements.TextBox:Clone()
  2974. local placeholderText = "Type here..."
  2975. local sidePlaceholderTextPadding = 2
  2976. local textAnimation
  2977.  
  2978. local boxBackground = textBoxInstance.BoxBackground
  2979. local innerBox = boxBackground.InnerBox
  2980. local textBoxText = innerBox.TextBoxText
  2981.  
  2982. local textParams = Instance.new("GetTextBoundsParams")
  2983. textParams.Text = placeholderText
  2984. textParams.Width = 10000
  2985. textParams.Font = textBoxText.FontFace
  2986. textParams.Size = 14
  2987.  
  2988. local requiredPlaceholderTextSpace = TextService:GetTextBoundsAsync(textParams)
  2989.  
  2990. local function onInstanceClicked()
  2991. textBoxText:CaptureFocus()
  2992. end
  2993.  
  2994. local function onFocusLost(enterPresse
  2995. )
  2996. if enterPressed then callback(textBoxText.Text) end
  2997. if textAnimation then coroutine.close(textAnimation) end
  2998. textAnimation = coroutine.create(function()
  2999. textBoxText.PlaceholderText = ""
  3000. animateText(textBoxText, .025, _, placeholderText, true)
  3001. textAnimation = nil
  3002. end)
  3003. coroutine.resume(textAnimation)
  3004. end
  3005.  
  3006. local function onFocused()
  3007. if textAnimation then
  3008. coroutine.close(textAnimation)
  3009. textBoxText.PlaceholderText = placeholderText
  3010. textBoxText.Text = ""
  3011. end
  3012. end
  3013.  
  3014. local function onTextChanged()
  3015. local boxBackgroundPaddingNeededSize = (sidePlaceholderTextPadding * 2) + boxBackground.BoxPadding.PaddingLeft.Offset + boxBackground.BoxPadding.PaddingRight.Offset + innerBox.BoxPadding.PaddingLeft.Offset + innerBox.BoxPadding.PaddingRight.Offset
  3016. textParams.Text = textBoxText.Text
  3017. local requiredTextSize = TextService:GetTextBoundsAsync(textParams)
  3018. local textChangedTween = TweenService:Create(boxBackground, TweenInfo.new(.1, Enum.EasingStyle.Linear), {Size = UDim2.new(0,math.clamp(boxBackgroundPaddingNeededSize + requiredTextSize.X, boxBackgroundPaddingNeededSize + requiredPlaceholderTextSpace.X, textBoxInstance.AbsoluteSize.X / 8 * 5),1,0)})
  3019. textChangedTween:Play()
  3020. end
  3021.  
  3022. textBoxName = textBoxName or "N/A"
  3023. callback = callback or function() end
  3024.  
  3025. textBox.Type = "TextBox"
  3026. textBox.IdentifierText = textBoxName
  3027. textBox.Instance = textBoxInstance
  3028. textBox.GuiToRemove = textBoxInstance
  3029.  
  3030. textBoxInstance.MouseButton1Click:Connect(onInstanceClicked)
  3031. textBoxText.FocusLost:Connect(onFocusLost)
  3032. textBoxText.Focused:Connect(onFocused)
  3033. textBoxText:GetPropertyChangedSignal("Text"):Connect(onTextChanged)
  3034.  
  3035. textBoxText.PlaceholderText = placeholderText
  3036. textBoxInstance.TextBoxNameText.Text = textBoxName
  3037.  
  3038. textBoxInstance.Parent = self.ElementToParentChildren
  3039. boxBackground.Size = UDim2.new(0,requiredPlaceholderTextSpace.X + (sidePlaceholderTextPadding * 2) + boxBackground.BoxPadding.PaddingLeft.Offset + boxBackground.BoxPadding.PaddingRight.Offset + innerBox.BoxPadding.PaddingLeft.Offset + innerBox.BoxPadding.PaddingRight.Offset,1,0)
  3040. textBoxInstance.TextBoxNameText.Size = UDim2.new(1,-(boxBackground.AbsoluteSize.X + 4),1,0)
  3041.  
  3042. return textBox
  3043. end
  3044.  
  3045. --Fix toggle img it's imported as orange make it white
  3046. function elementHandler:ColorWheel(colorWheelName, callback
  3047. local colorWheel = setmetatable({}, colorWheelHandler)
  3048. local colorWheelInstance = originalElements.ColorWheel:Clone()
  3049.  
  3050. local heading = colorWheelInstance.Heading
  3051. local wheelHolder = colorWheelInstance.WheelHolder
  3052. local valueHolder =wheelHolder.ValueHolder
  3053. local colorInputHolder = valueHolder.ColorInputHolder
  3054. local wheel = wheelHolder.Wheel
  3055. local selector = wheel.Selector
  3056. local slider = valueHolder.ValueSlider
  3057. local sliderBar = slider.SliderBar
  3058. local sliderAbsSize
  3059. local sliderAbsPos
  3060. local wheelRadius
  3061.  
  3062. local dropdownOpenTween = TweenService:Create(colorWheelInstance, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.new(1, 0, 0, heading.AbsoluteSize.Y + wheelHolder.AbsoluteSize.Y + 4)})
  3063. local dropdownCloseTween = TweenService:Create(colorWheelInstance, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Size = UDim2.new(1, 0, 0, heading.AbsoluteSize.Y)})
  3064. local dropdownImageOpenTween = TweenService:Create(heading.BoxBackground.InnerBox.CenterBox.DropdownImage, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Rotation = 0})
  3065. local dropdownImageCloseTween = TweenService:Create(heading.BoxBackground.InnerBox.CenterBox.DropdownImage, TweenInfo.new(.25, Enum.EasingStyle.Linear), {Rotation = 180})
  3066.  
  3067. local textParams = Instance.new("GetTextBoundsParams")
  3068. textParams.Text = "255"
  3069. textParams.Font = heading.ColorWheelName.FontFace
  3070. textParams.Size = 14
  3071. textParams.Width = 10000
  3072.  
  3073. local requiredRgbTextSize = TextService:GetTextBoundsAsync(textParams)
  3074.  
  3075. local hue, saturation, value = 0, 0, 1
  3076.  
  3077. local function updateVisuals()
  3078. local color = Color3.fromHSV(hue, saturation, value)
  3079.  
  3080. valueHolder.ColorSample.BackgroundColor3 = color
  3081. colorInputHolder.Red.BoxBackground.InnerBox.ColorValue.Text = math.round(color.R * 255)
  3082. colorInputHolder.Green.BoxBackground.InnerBox.ColorValue.Text = math.round(color.G * 255)
  3083. colorInputHolder.Blue.BoxBackground.InnerBox.ColorValue.Text = math.round(color.B * 255)
  3084. callback(color)
  3085. end
  3086.  
  3087. local function updateSlider()
  3088. local sliderAbsPos = slider.AbsolutePosition
  3089. local sliderAbsSize = slider.AbsoluteSize
  3090.  
  3091. if mouse.X - sliderAbsPos.X <= 0 then
  3092. sliderBar.Position = UDim2.new(0,0,0,0)
  3093. elseif mouse.X - sliderAbsPos.X >= sliderAbsSize.X - sliderBar.AbsoluteSize.X then
  3094. sliderBar.Position = UDim2.new(1,-(sliderBar.AbsoluteSize.X),0,0)
  3095. else
  3096. sliderBar.Position = UDim2.new(0,mouse.X - sliderAbsPos.X,0,0)
  3097. end
  3098.  
  3099. local clampedMousePos = math.clamp(mouse.X - sliderAbsPos.X, 0, sliderAbsSize.X - sliderBar.AbsoluteSize.X)
  3100. value = clampedMousePos / (sliderAbsSize.X - sliderBar.AbsoluteSize.X)
  3101.  
  3102. updateVisuals()
  3103. end
  3104.  
  3105. local function updateRing()
  3106. local relativeVector = Vector2.new(mouse.X, mouse.Y) - wheel.AbsolutePosition - wheel.AbsoluteSize / 2
  3107. local radius, angle = toPolar(relativeVector * Vector2.new(1,-1))
  3108.  
  3109. if radius > wheelRadius then
  3110. relativeVector = relativeVector.Unit * wheelRadius
  3111. radius = wheelRadius
  3112. end
  3113.  
  3114. selector.Position = UDim2.new(.5, relativeVector.X, .5, relativeVector.Y)
  3115.  
  3116. hue, saturation = (math.deg(angle) + 180) / 360 , radius / wheelRadius
  3117.  
  3118. updateVisuals()
  3119. end
  3120.  
  3121. local function onDropdownClicked()
  3122. if colorWheel.IsExpanded then
  3123. colorWheel.IsExpanded = false
  3124. dropdownCloseTween:Play()
  3125. dropdownImageCloseTween:Play()
  3126. else
  3127. colorWheel.IsExpanded = true
  3128. dropdownOpenTween:Play()
  3129. dropdownImageOpenTween:Play()
  3130. end
  3131. end
  3132.  
  3133. local function onSliderMouseDown()
  3134. local inputEndedConnection
  3135.  
  3136. updateSlider()
  3137.  
  3138. local mouseMovedConnection = mouse.Move:Connect(function()
  3139. updateSlider()
  3140. end)
  3141.  
  3142. inputEndedConnection = UserInputService.InputEnded:Connect(function(input)
  3143. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  3144. inputEndedConnection:Disconnect()
  3145. mouseMovedConnection:Disconnect()
  3146. end
  3147. end)
  3148. end
  3149.  
  3150. local function onWheelMouseDown()
  3151. local inputEndedConnection
  3152.  
  3153. updateRing()
  3154.  
  3155. local mouseMovedConnection = mouse.Move:Connect(function()
  3156. updateRing()
  3157. end)
  3158.  
  3159. inputEndedConnection = UserInputService.InputEnded:Connect(function(input)
  3160. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  3161. inputEndedConnection:Disconnect()
  3162. mouseMovedConnection:Disconnect()
  3163. end
  3164. end)
  3165. end
  3166.  
  3167. local function onColorInputTextChanged(textBox: TextBox)
  3168. local colorValue = tonumber(textBox.Text)
  3169. if textBox.Text:match("%D") or #textBox.Text > 3 then
  3170. textBox.Text = textBox.Text:sub(1, #textBox.Text - 1)
  3171. elseif colorValue and colorValue > 255 then
  3172. textBox.Text = 255
  3173. end
  3174. end
  3175.  
  3176. local function onColorInputTextLostFocus(textBox: TextBox, textBoxColorAssociated)
  3177. local currentColor = Color3.fromHSV(hue, saturation, value)
  3178. local colorTable = {
  3179. Red = {Tag = "R", Color3Value = Color3.fromRGB(tonumber(textBox.Text), currentColor.G * 255, currentColor.B * 255)},
  3180. Green = {Tag = "G", Color3Value = Color3.fromRGB(currentColor.R * 255, tonumber(textBox.Text), currentColor.B * 255)},
  3181. Blue = {Tag = "B", Color3Value = Color3.fromRGB(currentColor.R * 255, currentColor.G * 255, tonumber(textBox.Text))}
  3182. }
  3183.  
  3184. if #textBox.Text == 0 then
  3185. textBox.Text = math.round(currentColor[colorTable[textBoxColorAssociated].Tag] * 255)
  3186. else
  3187. hue, saturation, value = colorTable[textBoxColorAssociated].Color3Value:ToHSV()
  3188.  
  3189. local x, y = toCartesian(saturation, math.rad(hue * 360))
  3190.  
  3191. selector.Position = UDim2.new(.5, -x * wheelRadius, .5, y * wheelRadius)
  3192.  
  3193. updateVisuals()
  3194. end
  3195.  
  3196. end
  3197.  
  3198. colorWheelName = colorWheelName or "N/A"
  3199. callback = callback or function() end
  3200.  
  3201. colorWheel.Type = "ColorWheel"
  3202. colorWheel.IdentifierText = colorWheelName
  3203. colorWheel.IsExpanded = false
  3204. colorWheel.Instance = colorWheelInstance
  3205. colorWheel.GuiToRemove = colorWheelInstance
  3206.  
  3207. heading.MouseButton1Click:Connect(onDropdownClicked)
  3208. slider.MouseButton1Down:Connect(onSliderMouseDown)
  3209. wheel.MouseButton1Down:Connect(onWheelMouseDown)
  3210.  
  3211. heading.ColorWheelName.Text = colorWheelName
  3212.  
  3213. colorWheelInstance.Parent = self.ElementToParentChildren
  3214. heading.ColorWheelName.Size = UDim2.new(1, -(heading.BoxBackground.AbsoluteSize.X + 4),1,0)
  3215. valueHolder.Size = UDim2.new(.9,-(wheel.AbsoluteSize.X + 4),1,0)
  3216. sliderBar.Position = UDim2.new(1,-sliderBar.AbsoluteSize.X,0,0)
  3217.  
  3218. for _, rgbFrame in ipairs(valueHolder.ColorInputHolder:GetChildren()) do
  3219. if rgbFrame:IsA("Frame") then
  3220. local requiredBoxBackgroundXSize = rgbFrame.BoxBackground.BoxPadding.PaddingLeft.Offset + rgbFrame.BoxBackground.BoxPadding.PaddingRight.Offset + rgbFrame.BoxBackground.InnerBox.BoxPadding.PaddingLeft.Offset + rgbFrame.BoxBackground.InnerBox.BoxPadding.PaddingRight.Offset + requiredRgbTextSize.X + 4
  3221. rgbFrame.BoxBackground.Size = UDim2.new(0,requiredBoxBackgroundXSize,1,0)
  3222. rgbFrame.ColorText.Size = UDim2.new(1,-(requiredBoxBackgroundXSize + 2),1,0)
  3223. rgbFrame.BoxBackground.InnerBox.ColorValue:GetPropertyChangedSignal("Text"):Connect(function() onColorInputTextChanged(rgbFrame.BoxBackground.InnerBox.ColorValue) end)
  3224. rgbFrame.BoxBackground.InnerBox.ColorValue.FocusLost:Connect(function() onColorInputTextLostFocus(rgbFrame.BoxBackground.InnerBox.ColorValue, rgbFrame.Name) end)
  3225. end
  3226. end
  3227.  
  3228. wheelRadius = wheel.AbsoluteSize.X / 2
  3229.  
  3230. return colorWheel
  3231. end
  3232.  
  3233. createOriginialElements()
  3234.  
  3235. return Library
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement