1. local function mys_custom_ui(config, tabIconsOrdered)
  2. local _uis = game:GetService("UserInputService")
  3. local _cg = game:GetService("CoreGui")
  4. local _run = game:GetService("RunService")
  5. local TweenService = game:GetService("TweenService")
  6. local Lighting = game:GetService("Lighting")
  7. local Players = game:GetService("Players")
  8. local config = _G.config
  9.  
  10. local _visible = config.startVisible
  11. local oldBlur = Lighting:FindFirstChild("mys_customUIBlur")
  12. if oldBlur then
  13. oldBlur:Destroy()
  14. end
  15. local _blurEffect = Instance.new("BlurEffect")
  16. _blurEffect.Name = "mys_customUIBlur"
  17. _blurEffect.Size = _visible and 24 or 0
  18. _blurEffect.Parent = Lighting
  19. for _, existingUI in ipairs(_cg:GetChildren()) do
  20. if existingUI:IsA("ScreenGui") and existingUI.Name == "mys_custom_ui" then
  21. existingUI:Destroy()
  22. end
  23. end
  24.  
  25. local _coregui = Instance.new("ScreenGui")
  26. _coregui.Name = "mys_custom_ui"
  27. _coregui.DisplayOrder = 9999
  28. _coregui.ResetOnSpawn = false
  29. _coregui.IgnoreGuiInset = true
  30. _coregui.Parent = _cg
  31.  
  32. local _blurFrame = Instance.new("Frame")
  33. _blurFrame.Size = UDim2.new(1, 0, 1, 0)
  34. _blurFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
  35. _blurFrame.BackgroundTransparency = 1
  36. _blurFrame.BorderSizePixel = 0
  37. _blurFrame.ZIndex = 0
  38. _blurFrame.Visible = _visible
  39. _blurFrame.Parent = _coregui
  40.  
  41. local _stars = {}
  42. local _holder = Instance.new("Frame")
  43. _holder.Size = UDim2.new(1, 0, 1, 0)
  44. _holder.BackgroundTransparency = 1
  45. _holder.ClipsDescendants = true
  46. _holder.ZIndex = 0
  47. _holder.Parent = _blurFrame
  48.  
  49. for i = 1, config.MAX_STARS do
  50. local star = Instance.new("Frame")
  51. star.Size = UDim2.new(0, 3, 0, 3)
  52. local x, y = math.random(), math.random()
  53. local direction = Vector2.new(1, 1).Unit * config.STAR_MOVE_SPEED
  54. star.Position = UDim2.new(x, 0, y, 0)
  55. star.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  56. star.BackgroundTransparency = 0
  57. star.BorderSizePixel = 0
  58. star.ZIndex = 1
  59. star.Visible = true
  60. star.Parent = _holder
  61. table.insert(
  62. _stars,
  63. {
  64. frame = star,
  65. pos = Vector2.new(x, y),
  66. direction = direction,
  67. sparkleOffset = math.random() * math.pi * 2
  68. }
  69. )
  70. end
  71.  
  72. _run.RenderStepped:Connect(
  73. function(deltaTime)
  74. for _, star in ipairs(_stars) do
  75. if star.frame.Visible then
  76. star.pos = star.pos + star.direction * deltaTime
  77. if star.pos.X < 0 or star.pos.X > 1 or star.pos.Y < 0 or star.pos.Y > 1 then
  78. star.pos = Vector2.new(math.random(), math.random())
  79. star.direction = Vector2.new(1, 1).Unit * config.STAR_MOVE_SPEED
  80. star.sparkleOffset = math.random() * math.pi * 2
  81. end
  82. local sparkle = math.abs(math.sin(tick() * config.STAR_SPARKLE_SPEED + star.sparkleOffset))
  83. star.frame.BackgroundTransparency = 0.1 + sparkle * 0.7
  84. star.frame.Position = UDim2.new(star.pos.X, 0, star.pos.Y, 0)
  85. end
  86. end
  87. end
  88. )
  89.  
  90. local _uiContainer = Instance.new("Folder")
  91. _uiContainer.Name = "UIContainer"
  92. _uiContainer.Parent = _coregui
  93.  
  94. local _gui = Instance.new("ScreenGui")
  95. _gui.Name = "mys_custom_ui"
  96. _gui.Parent = _uiContainer
  97. _gui.ResetOnSpawn = false
  98. _gui.DisplayOrder = 9999
  99.  
  100. local _mf = Instance.new("Frame")
  101. _mf.Size = config.mainframesize
  102. _mf.Position = config.mainframepos
  103. _mf.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  104. _mf.BorderSizePixel = 0
  105. _mf.Visible = _visible
  106. _mf.BackgroundTransparency = 1
  107. _mf.Parent = _gui
  108.  
  109. local _crnr = Instance.new("UICorner")
  110. _crnr.CornerRadius = UDim.new(0, 6)
  111. _crnr.Parent = _mf
  112.  
  113. local _top = Instance.new("Frame")
  114. _top.Size = UDim2.new(1, 0, 0, 30)
  115. _top.BackgroundTransparency = 1
  116. _top.BorderSizePixel = 0
  117. _top.Parent = _mf
  118.  
  119. local _tbcrnr = Instance.new("UICorner")
  120. _tbcrnr.CornerRadius = UDim.new(0, 12)
  121. _tbcrnr.Parent = _top
  122.  
  123. local _title = Instance.new("TextLabel")
  124. _title.Size = UDim2.new(0, 0, 1, 0)
  125. _title.Position = UDim2.new(0, 10, 0, 0)
  126. _title.BackgroundTransparency = 1
  127. _title.RichText = true
  128. _title.TextTransparency = 1
  129. _title.Font = Enum.Font.GothamBold
  130. _title.TextSize = 18
  131. _title.TextXAlignment = Enum.TextXAlignment.Left
  132. _title.Parent = _top
  133. local function colorToRGB(color)
  134. return math.floor(color.R * 255),
  135. math.floor(color.G * 255),
  136. math.floor(color.B * 255)
  137. end
  138. local r1, g1, b1 = colorToRGB(config.accentcolor)
  139. local r2, g2, b2 = colorToRGB(config.accentcolorSecondary)
  140. _title.Text = string.format(
  141. '<font color="rgb(%d,%d,%d)">%s</font><font color="rgb(%d,%d,%d)">%s</font>',
  142. r1, g1, b1,
  143. config.title or "unknown",
  144. r2, g2, b2,
  145. config.titleExtension or ".client [CANNOT FIND TITLE]"
  146. )
  147.  
  148. local _version = Instance.new("TextLabel")
  149. _version.Size = UDim2.new(0, 0, 1, 0)
  150. _version.Position = config.pos
  151. _version.BackgroundTransparency = 1
  152. _version.Text = config.version
  153. _version.TextColor3 = config.accentcolor
  154. _version.TextTransparency = 1
  155. _version.Font = Enum.Font.GothamBold
  156. _version.TextSize = 14
  157. _version.TextXAlignment = Enum.TextXAlignment.Left
  158. _version.Parent = _top
  159. local connection
  160. connection = _run.Heartbeat:Connect(function()
  161. _version.Position = UDim2.new(0, 550, 0.15, 0)
  162. connection:Disconnect()
  163. end)
  164.  
  165. local _divider = Instance.new("Frame")
  166. _divider.Size = UDim2.new(0.85, 0, 0, 1)
  167. _divider.BackgroundColor3 = Color3.fromRGB(80, 80, 80)
  168. _divider.BackgroundTransparency = 1
  169. _divider.BorderSizePixel = 0
  170. _divider.Parent = _mf
  171.  
  172. task.defer(
  173. function()
  174. local _pw = _mf.AbsoluteSize.X
  175. local _dw = _divider.AbsoluteSize.X
  176. _cx = (_pw - _dw) / 2
  177. _divider.Position = UDim2.new(0, _cx, 0, 35)
  178. end
  179. )
  180.  
  181. local _scrlfrm = Instance.new("ScrollingFrame")
  182. _scrlfrm.Name = "Content"
  183. _scrlfrm.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
  184. _scrlfrm.BorderSizePixel = 0
  185. _scrlfrm.BackgroundTransparency = 1
  186. _scrlfrm.CanvasSize = UDim2.new(0, 0, 0, 0)
  187. _scrlfrm.ScrollBarThickness = 6
  188. _scrlfrm.ScrollBarImageColor3 = Color3.fromRGB(100, 100, 100)
  189. _scrlfrm.Parent = _mf
  190. _scrlfrm.AutomaticCanvasSize = Enum.AutomaticSize.Y
  191. _scrlfrm.ClipsDescendants = true
  192.  
  193. local _scrlcrnr = Instance.new("UICorner")
  194. _scrlcrnr.CornerRadius = UDim.new(0, 8)
  195. _scrlcrnr.Parent = _scrlfrm
  196.  
  197. task.defer(
  198. function()
  199. local _dy = _divider.Position.Y.Offset + _divider.Size.Y.Offset
  200. local _ah = _mf.AbsoluteSize.Y - _dy - 10
  201. _scrlfrm.Position = UDim2.new(0, 10, 0, _dy + 10)
  202. _scrlfrm.Size = UDim2.new(1, -20, 0, _ah)
  203. end
  204. )
  205.  
  206. local _topBar = Instance.new("Frame")
  207. _topBar.Size = UDim2.new(0, 235, 0, 40)
  208. _topBar.Position = UDim2.new(0.5, -150, 0, 20)
  209. _topBar.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
  210. _topBar.BorderSizePixel = 0
  211. _topBar.Visible = _visible
  212. _topBar.BackgroundTransparency = 1
  213. _topBar.Parent = _uiContainer
  214.  
  215. local _strokeBar = Instance.new("UIStroke")
  216. _strokeBar.Color = Color3.fromRGB(100, 100, 100)
  217. _strokeBar.Thickness = 0.6
  218. _strokeBar.Transparency = 1
  219. _strokeBar.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  220. _strokeBar.Parent = _topBar
  221.  
  222. local _topBarCorner = Instance.new("UICorner")
  223. _topBarCorner.CornerRadius = UDim.new(0, 4)
  224. _topBarCorner.Parent = _topBar
  225. local r1, g1, b1 = colorToRGB(config.accentcolor)
  226. local r2, g2, b2 = colorToRGB(config.accentcolorSecondary)
  227. local _watermarktextcfg = string.format(
  228. '<font color="rgb(%d,%d,%d)">%s</font><font color="rgb(%d,%d,%d)">%s</font>',
  229. r1, g1, b1, config.watermark or "unknown",
  230. r2, g2, b2, config.watermarkExtension or ".client"
  231. )
  232. local _watermark = Instance.new("Frame")
  233. _watermark.Size = UDim2.new(0, 93, 0, 40)
  234. _watermark.Position = UDim2.new(0, 1780, 0, 25)
  235. _watermark.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
  236. _watermark.BorderSizePixel = 0
  237. _watermark.BackgroundTransparency = 0
  238. _watermark.Parent = _uiContainer
  239. local _watermarkStroke = Instance.new("UIStroke")
  240. _watermarkStroke.Color = Color3.fromRGB(100, 100, 100)
  241. _watermarkStroke.Thickness = 0.6
  242. _watermarkStroke.Transparency = 1
  243. _watermarkStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  244. _watermarkStroke.Parent = _watermark
  245. local _watermarkCorner = Instance.new("UICorner")
  246. _watermarkCorner.CornerRadius = UDim.new(0, 4)
  247. _watermarkCorner.Parent = _watermark
  248. local _watermarklabel = Instance.new("TextLabel")
  249. _watermarklabel.Size = UDim2.new(0, 0, 1, 0)
  250. _watermarklabel.Text = _watermarktextcfg
  251. _watermarklabel.Position = UDim2.new(0, 10, 0, 0)
  252. _watermarklabel.BackgroundTransparency = 1
  253. _watermarklabel.TextColor3 = Color3.new(1, 1, 1)
  254. _watermarklabel.TextTransparency = 0
  255. _watermarklabel.Font = Enum.Font.GothamBold
  256. _watermarklabel.TextSize = 16
  257. _watermarklabel.TextXAlignment = Enum.TextXAlignment.Left
  258. _watermarklabel.RichText = true
  259. _watermarklabel.Parent = _watermark
  260. local _watermarkDragging = false
  261. local _watermarkDragStart
  262. local _watermarkStartPos
  263. local _watermarkDragInput
  264. local _watermarkTargetPos = _watermark.Position
  265. local _watermarkLerpSpeed = 0.05
  266. _watermark.InputBegan:Connect(function(input)
  267. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  268. _watermarkDragging = true
  269. _watermarkDragStart = input.Position
  270. _watermarkStartPos = _watermark.Position
  271. end
  272. end)
  273. _watermark.InputChanged:Connect(function(input)
  274. if input.UserInputType == Enum.UserInputType.MouseMovement then
  275. _watermarkDragInput = input
  276. end
  277. end)
  278. _watermark.InputEnded:Connect(function(input)
  279. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  280. _watermarkDragging = false
  281. end
  282. end)
  283. _run.RenderStepped:Connect(function()
  284. if _watermarkDragging and _watermarkDragInput then
  285. local delta = _watermarkDragInput.Position - _watermarkDragStart
  286. _watermarkTargetPos = _watermarkStartPos + UDim2.new(0, delta.X, 0, delta.Y)
  287. end
  288. _watermark.Position = _watermark.Position:Lerp(_watermarkTargetPos, _watermarkLerpSpeed)
  289. end)
  290. local exec = "Unknown"
  291. if identifyexecutor then
  292. local name, version = identifyexecutor()
  293. exec = version and (name .. " " .. version) or name
  294. elseif getexecutorname then
  295. exec = getexecutorname()
  296. end
  297. local _executorbox = Instance.new("Frame")
  298. _executorbox.Size = UDim2.new(0, 125, 0, 40)
  299. _executorbox.Position = UDim2.new(0, 430, 0, 20)
  300. _executorbox.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
  301. _executorbox.BorderSizePixel = 0
  302. _executorbox.Visible = _visible
  303. _executorbox.BackgroundTransparency = 1
  304. _executorbox.Parent = _uiContainer
  305. local _executorboxStroke = Instance.new("UIStroke")
  306. _executorboxStroke.Color = Color3.fromRGB(100, 100, 100)
  307. _executorboxStroke.Thickness = 0.6
  308. _executorboxStroke.Transparency = 1
  309. _executorboxStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  310. _executorboxStroke.Parent = _executorbox
  311.  
  312. local _executorboxCorner = Instance.new("UICorner")
  313. _executorboxCorner.CornerRadius = UDim.new(0, 4)
  314. _executorboxCorner.Parent = _executorbox
  315. local _executorboxlabel = Instance.new("TextLabel")
  316. _executorboxlabel.Size = UDim2.new(0, 0, 1, 0)
  317. _executorboxlabel.Text = exec
  318. _executorboxlabel.Position = UDim2.new(0, 10, 0, 0)
  319. _executorboxlabel.BackgroundTransparency = 1
  320. _executorboxlabel.TextColor3 = config.accentcolor
  321. _executorboxlabel.BorderSizePixel = 0
  322. _executorboxlabel.TextTransparency = 0
  323. _executorboxlabel.Font = Enum.Font.GothamBold
  324. _executorboxlabel.TextSize = 16
  325. _executorboxlabel.TextXAlignment = Enum.TextXAlignment.Left
  326. _executorboxlabel.Parent = _executorbox
  327. local _executorboxDragging = false
  328. local _executorboxDragStart
  329. local _executorboxStartPos
  330. local _executorboxDragInput
  331. local _executorboxTargetPos = _executorbox.Position
  332. local _executorboxLerpSpeed = 0.05
  333. _executorbox.InputBegan:Connect(function(input)
  334. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  335. _executorboxDragging = true
  336. _executorboxDragStart = input.Position
  337. _executorboxStartPos = _executorbox.Position
  338. end
  339. end)
  340. _executorbox.InputChanged:Connect(function(input)
  341. if input.UserInputType == Enum.UserInputType.MouseMovement then
  342. _executorboxDragInput = input
  343. end
  344. end)
  345. _executorbox.InputEnded:Connect(function(input)
  346. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  347. _executorboxDragging = false
  348. end
  349. end)
  350. _run.RenderStepped:Connect(function()
  351. if _executorboxDragging and _executorboxDragInput then
  352. local delta = _executorboxDragInput.Position - _executorboxDragStart
  353. _executorboxTargetPos = _executorboxStartPos + UDim2.new(0, delta.X, 0, delta.Y)
  354. end
  355. _executorbox.Position = _executorbox.Position:Lerp(_executorboxTargetPos, _executorboxLerpSpeed)
  356. end)
  357. local _hwidbox = Instance.new("Frame")
  358. _hwidbox.Size = UDim2.new(0, 305, 0, 40)
  359. _hwidbox.Position = UDim2.new(0, 120, 0, 20)
  360. _hwidbox.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
  361. _hwidbox.BorderSizePixel = 0
  362. _hwidbox.Visible = _visible
  363. _hwidbox.BackgroundTransparency = 1
  364. _hwidbox.Parent = _uiContainer
  365. local _hwidboxStroke = Instance.new("UIStroke")
  366. _hwidboxStroke.Color = Color3.fromRGB(100, 100, 100)
  367. _hwidboxStroke.Thickness = 0.6
  368. _hwidboxStroke.Transparency = 1
  369. _hwidboxStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  370. _hwidboxStroke.Parent = _hwidbox
  371.  
  372. local _hwidboxCorner = Instance.new("UICorner")
  373. _hwidboxCorner.CornerRadius = UDim.new(0, 4)
  374. _hwidboxCorner.Parent = _hwidbox
  375. local _hwidboxlabel = Instance.new("TextLabel")
  376. _hwidboxlabel.Size = UDim2.new(0, 0, 1, 0)
  377. _hwidboxlabel.Text = tostring(gethwid())
  378. _hwidboxlabel.Position = UDim2.new(0, 10, 0, 0)
  379. _hwidboxlabel.BackgroundTransparency = 1
  380. _hwidboxlabel.TextColor3 = config.accentcolor
  381. _hwidboxlabel.BorderSizePixel = 0
  382. _hwidboxlabel.TextTransparency = 0
  383. _hwidboxlabel.Font = Enum.Font.GothamBold
  384. _hwidboxlabel.TextSize = 16
  385. _hwidboxlabel.TextXAlignment = Enum.TextXAlignment.Left
  386. _hwidboxlabel.Parent = _hwidbox
  387. local _hwidDragging = false
  388. local _hwidDragStart
  389. local _hwidStartPos
  390. local _hwidDragInput
  391. local _hwidTargetPos = _hwidbox.Position
  392. local _hwidLerpSpeed = 0.05
  393. _hwidbox.InputBegan:Connect(function(input)
  394. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  395. _hwidDragging = true
  396. _hwidDragStart = input.Position
  397. _hwidStartPos = _hwidbox.Position
  398. end
  399. end)
  400. _hwidbox.InputChanged:Connect(function(input)
  401. if input.UserInputType == Enum.UserInputType.MouseMovement then
  402. _hwidDragInput = input
  403. end
  404. end)
  405. _hwidbox.InputEnded:Connect(function(input)
  406. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  407. _hwidDragging = false
  408. end
  409. end)
  410. _run.RenderStepped:Connect(function()
  411. if _hwidDragging and _hwidDragInput then
  412. local delta = _hwidDragInput.Position - _hwidDragStart
  413. _hwidTargetPos = _hwidStartPos + UDim2.new(0, delta.X, 0, delta.Y)
  414. end
  415. _hwidbox.Position = _hwidbox.Position:Lerp(_hwidTargetPos, _hwidLerpSpeed)
  416. end)
  417. local _fpsbox = Instance.new("Frame")
  418. _fpsbox.Size = UDim2.new(0, 45, 0, 40)
  419. _fpsbox.Position = UDim2.new(0, 70, 0, 20)
  420. _fpsbox.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
  421. _fpsbox.BorderSizePixel = 0
  422. _fpsbox.Visible = _visible
  423. _fpsbox.BackgroundTransparency = 1
  424. _fpsbox.Parent = _uiContainer
  425. local _fpsboxStroke = Instance.new("UIStroke")
  426. _fpsboxStroke.Color = Color3.fromRGB(100, 100, 100)
  427. _fpsboxStroke.Thickness = 0.6
  428. _fpsboxStroke.Transparency = 1
  429. _fpsboxStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  430. _fpsboxStroke.Parent = _fpsbox
  431.  
  432. local _fpsboxCorner = Instance.new("UICorner")
  433. _fpsboxCorner.CornerRadius = UDim.new(0, 4)
  434. _fpsboxCorner.Parent = _fpsbox
  435. local _fpslabel = Instance.new("TextLabel")
  436. _fpslabel.Size = UDim2.new(0, 0, 1, 0)
  437. _fpslabel.Position = UDim2.new(0, 10, 0, 0)
  438. _fpslabel.BackgroundTransparency = 1
  439. _fpslabel.TextColor3 = config.accentcolor
  440. _fpslabel.BorderSizePixel = 0
  441. _fpslabel.TextTransparency = 0
  442. _fpslabel.Font = Enum.Font.GothamBold
  443. _fpslabel.TextSize = 16
  444. _fpslabel.TextXAlignment = Enum.TextXAlignment.Left
  445. _fpslabel.Parent = _fpsbox
  446. local updateInterval = 0.1
  447. local accumulatedTime = 0
  448. local _fpsDragging = false
  449. local _fpsDragStart
  450. local _fpsStartPos
  451. local _fpsDragInput
  452. local _fpsTargetPos = _fpsbox.Position
  453. local lerpSpeed = 0.05
  454. _run.RenderStepped:Connect(function(deltaTime)
  455. accumulatedTime = accumulatedTime + deltaTime
  456. if accumulatedTime >= updateInterval then
  457. local fps = 1 / deltaTime
  458. _fpslabel.Text = tostring(math.floor(fps))
  459. accumulatedTime = 0
  460. end
  461. end)
  462. _fpsbox.InputBegan:Connect(function(input)
  463. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  464. _fpsDragging = true
  465. _fpsDragStart = input.Position
  466. _fpsStartPos = _fpsbox.Position
  467. end
  468. end)
  469. _fpsbox.InputChanged:Connect(function(input)
  470. if input.UserInputType == Enum.UserInputType.MouseMovement then
  471. _fpsDragInput = input
  472. end
  473. end)
  474. _fpsbox.InputEnded:Connect(function(input)
  475. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  476. _fpsDragging = false
  477. end
  478. end)
  479. _run.RenderStepped:Connect(function()
  480. if _fpsDragging and _fpsDragInput then
  481. local delta = _fpsDragInput.Position - _fpsDragStart
  482. _fpsTargetPos = _fpsStartPos + UDim2.new(0, delta.X, 0, delta.Y)
  483. end
  484. _fpsbox.Position = _fpsbox.Position:Lerp(_fpsTargetPos, lerpSpeed)
  485. end)
  486. local _leftBar = Instance.new("Frame")
  487. _leftBar.Size = UDim2.new(0, 235, 0, 40)
  488. _leftBar.Position = UDim2.new(0, 20, 0, 20)
  489. _leftBar.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
  490. _leftBar.BorderSizePixel = 0
  491. _leftBar.Visible = _visible
  492. _leftBar.BackgroundTransparency = 1
  493. _leftBar.Parent = _uiContainer
  494.  
  495. local _leftBarStroke = Instance.new("UIStroke")
  496. _leftBarStroke.Color = Color3.fromRGB(100, 100, 100)
  497. _leftBarStroke.Thickness = 0.6
  498. _leftBarStroke.Transparency = 1
  499. _leftBarStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  500. _leftBarStroke.Parent = _leftBar
  501.  
  502. local _leftBarCorner = Instance.new("UICorner")
  503. _leftBarCorner.CornerRadius = UDim.new(0, 4)
  504. _leftBarCorner.Parent = _leftBar
  505.  
  506. local _usernameLabel = Instance.new("TextLabel")
  507. _usernameLabel.Size = UDim2.new(0, 0, 1, 0)
  508. _usernameLabel.Position = UDim2.new(0, 10, 0, 0)
  509. _usernameLabel.BackgroundTransparency = 1
  510. _usernameLabel.Text = Players.LocalPlayer.DisplayName
  511. _usernameLabel.TextColor3 = config.accentcolor
  512. _usernameLabel.BorderSizePixel = 0
  513. _usernameLabel.TextTransparency = 1
  514. _usernameLabel.Font = Enum.Font.GothamBold
  515. _usernameLabel.TextSize = 16
  516. _usernameLabel.TextXAlignment = Enum.TextXAlignment.Left
  517. _usernameLabel.Parent = _leftBar
  518. local baseLeftX = 20
  519. local baseLeftWidth = 235
  520. local offset = _leftBar.Size.X.Offset - baseLeftWidth
  521. local startX = baseLeftX + _leftBar.Size.X.Offset + 10
  522. _fpsbox.Position = UDim2.new(0, startX + offset, 0, 20)
  523. _hwidbox.Position = UDim2.new(0, startX + _fpsbox.Size.X.Offset + 10 + offset, 0, 20)
  524. _executorbox.Position = UDim2.new(0, startX + _fpsbox.Size.X.Offset + _hwidbox.Size.X.Offset + 20 + offset, 0, 20)
  525. local _timebox = Instance.new("Frame")
  526. _timebox.Size = UDim2.new(0, 65, 0, 40)
  527. _timebox.Position = UDim2.new(0, 20, 0, 65)
  528. _timebox.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
  529. _timebox.BorderSizePixel = 0
  530. _timebox.Visible = _visible
  531. _timebox.BackgroundTransparency = 1
  532. _timebox.Parent = _uiContainer
  533. local _timeboxStroke = Instance.new("UIStroke")
  534. _timeboxStroke.Color = Color3.fromRGB(100, 100, 100)
  535. _timeboxStroke.Thickness = 0.6
  536. _timeboxStroke.Transparency = 1
  537. _timeboxStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  538. _timeboxStroke.Parent = _timebox
  539. local _timeboxCorner = Instance.new("UICorner")
  540. _timeboxCorner.CornerRadius = UDim.new(0, 4)
  541. _timeboxCorner.Parent = _timebox
  542. local _timeboxlabel = Instance.new("TextLabel")
  543. _timeboxlabel.Size = UDim2.new(1, -20, 1, 0)
  544. _timeboxlabel.Position = UDim2.new(0, 10, 0, 0)
  545. _timeboxlabel.BackgroundTransparency = 1
  546. _timeboxlabel.TextColor3 = config.accentcolor
  547. _timeboxlabel.TextTransparency = 0
  548. _timeboxlabel.Font = Enum.Font.GothamBold
  549. _timeboxlabel.TextSize = 16
  550. _timeboxlabel.TextXAlignment = Enum.TextXAlignment.Left
  551. _timeboxlabel.Parent = _timebox
  552. local function updateTime()
  553. local currentTime = os.date("*t")
  554. local hour = currentTime.hour
  555. local minute = currentTime.min
  556. local ampm = hour >= 12 and "PM" or "AM"
  557. if hour == 0 then
  558. hour = 12
  559. elseif hour > 12 then
  560. hour = hour - 12
  561. end
  562. _timeboxlabel.BackgroundTransparency = 1
  563. _timeboxlabel.Text = string.format("%d:%02d %s", hour, minute, ampm)
  564. end
  565. updateTime()
  566. task.spawn(function()
  567. while true do
  568. updateTime()
  569. task.wait()
  570. end
  571. end)
  572. local _timeboxDragging = false
  573. local _timeboxDragStart
  574. local _timeboxStartPos
  575. local _timeboxDragInput
  576. local _timeboxTargetPos = _timebox.Position
  577. local _timeboxLerpSpeed = 0.05
  578. _timebox.InputBegan:Connect(function(input)
  579. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  580. _timeboxDragging = true
  581. _timeboxDragStart = input.Position
  582. _timeboxStartPos = _timebox.Position
  583. end
  584. end)
  585. _timebox.InputChanged:Connect(function(input)
  586. if input.UserInputType == Enum.UserInputType.MouseMovement then
  587. _timeboxDragInput = input
  588. end
  589. end)
  590. _timebox.InputEnded:Connect(function(input)
  591. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  592. _timeboxDragging = false
  593. end
  594. end)
  595. _run.RenderStepped:Connect(function()
  596. if _timeboxDragging and _timeboxDragInput then
  597. local delta = _timeboxDragInput.Position - _timeboxDragStart
  598. _timeboxTargetPos = _timeboxStartPos + UDim2.new(0, delta.X, 0, delta.Y)
  599. end
  600. _timebox.Position = _timebox.Position:Lerp(_timeboxTargetPos, _timeboxLerpSpeed)
  601. end)
  602.  
  603. local _iconList = Instance.new("UIListLayout")
  604. _iconList.FillDirection = Enum.FillDirection.Horizontal
  605. _iconList.HorizontalAlignment = Enum.HorizontalAlignment.Center
  606. _iconList.VerticalAlignment = Enum.VerticalAlignment.Center
  607. _iconList.Padding = UDim.new(0, 6)
  608. _iconList.Parent = _topBar
  609.  
  610. local function loadIcons(url)
  611. local success, result = pcall(function()
  612. return game:HttpGet(url, true)
  613. end)
  614. if not success then
  615. return {}
  616. elseif not result then
  617. return {}
  618. end
  619. local chunk, err = loadstring(result)
  620. if not chunk then
  621. return {}
  622. end
  623. local ok, data = pcall(chunk)
  624. if not ok then
  625. return {}
  626. elseif not data then
  627. return {}
  628. end
  629. return data
  630. end
  631.  
  632.  
  633. local function getIcon(name)
  634. if not Icons or not Icons["48px"] then
  635. return nil
  636. end
  637. name = string.match(string.lower(name), "^%s*(.-)%s*$") or ""
  638. local r = Icons["48px"][name]
  639. if not r then
  640. return nil
  641. end
  642. local id, sizeTbl, offsetTbl = r[1], r[2], r[3]
  643. if type(id) ~= "number" or type(sizeTbl) ~= "table" or type(offsetTbl) ~= "table" then
  644. return nil
  645. end
  646. return {
  647. id = id,
  648. imageRectSize = Vector2.new(sizeTbl[1], sizeTbl[2]),
  649. imageRectOffset = Vector2.new(offsetTbl[1], offsetTbl[2])
  650. }
  651. end
  652.  
  653. local function getAssetUri(id)
  654. if type(id) ~= "number" then
  655. return "rbxassetid://0"
  656. end
  657. return "rbxassetid://" .. id
  658. end
  659.  
  660. local originalColor = config.accentcolor
  661. local hoverColor = Color3.new(
  662. math.clamp(originalColor.R + 0.2, 0, 1),
  663. math.clamp(originalColor.G + 0.2, 0, 1),
  664. math.clamp(originalColor.B + 0.2, 0, 1)
  665. )
  666.  
  667. local iconButtons = {}
  668. local tabFrames = {}
  669. local currentTab = nil
  670. local centerPos = UDim2.new(0.5, 0, 0.5, 0)
  671.  
  672. local function createIconButton(iconName, tabName)
  673. local icon = getIcon(iconName)
  674. if not icon then
  675. return nil
  676. end
  677.  
  678. local btn = Instance.new("ImageButton")
  679. btn.Size = UDim2.new(0, 30, 0, 30)
  680. btn.BackgroundTransparency = 1
  681. btn.AutoButtonColor = false
  682. btn.AnchorPoint = Vector2.new(0.5, 0.5)
  683.  
  684. local iconImg = Instance.new("ImageLabel")
  685. iconImg.Size = UDim2.new(0, 20, 0, 20)
  686. iconImg.Position = UDim2.new(0.5, -10, 0.5, -10)
  687. iconImg.BackgroundTransparency = 1
  688. iconImg.Image = getAssetUri(icon.id)
  689. iconImg.ImageRectSize = icon.imageRectSize
  690. iconImg.ImageRectOffset = icon.imageRectOffset
  691. iconImg.ImageColor3 = originalColor
  692. iconImg.ImageTransparency = 1
  693. iconImg.Parent = btn
  694.  
  695. local _bCrnr = Instance.new("UICorner")
  696. _bCrnr.CornerRadius = UDim.new(0, 4)
  697. _bCrnr.Parent = btn
  698.  
  699. local _stroke = Instance.new("UIStroke")
  700. _stroke.Color = Color3.fromRGB(40, 40, 40)
  701. _stroke.Thickness = 1
  702. _stroke.Transparency = 1
  703. _stroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  704. _stroke.Parent = btn
  705.  
  706. local sound = Instance.new("Sound")
  707. sound.SoundId = config.buttonSoundId
  708. sound.Volume = 0.5
  709. sound.Parent = btn
  710.  
  711. btn.MouseEnter:Connect(function()
  712. iconImg.ImageColor3 = hoverColor
  713. end)
  714.  
  715. btn.MouseLeave:Connect(function()
  716. if currentTab ~= btn then
  717. iconImg.ImageColor3 = originalColor
  718. end
  719. end)
  720.  
  721. btn.Parent = _topBar
  722. btn.Position = centerPos
  723.  
  724. local tabFrame = Instance.new("Frame")
  725. tabFrame.Name = tabName
  726. tabFrame.Size = UDim2.new(1, -20, 0, 0)
  727. tabFrame.AutomaticSize = Enum.AutomaticSize.Y
  728. tabFrame.BackgroundTransparency = 1
  729. tabFrame.Visible = false
  730. tabFrame.Parent = _scrlfrm
  731.  
  732. local columns = Instance.new("Frame")
  733. columns.Name = "Columns"
  734. columns.Size = UDim2.new(1, 0, 1, 0)
  735. columns.BackgroundTransparency = 1
  736. columns.Parent = tabFrame
  737.  
  738. local leftColumn = Instance.new("Frame")
  739. leftColumn.Name = "Left"
  740. leftColumn.Size = UDim2.new(0.48, 0, 1, 0)
  741. leftColumn.Position = UDim2.new(0, 0, 0, 0)
  742. leftColumn.BackgroundTransparency = 1
  743. leftColumn.Parent = columns
  744.  
  745. local leftList = Instance.new("UIListLayout")
  746. leftList.SortOrder = Enum.SortOrder.LayoutOrder
  747. leftList.Padding = UDim.new(0, 8)
  748. leftList.Parent = leftColumn
  749.  
  750. local leftPad = Instance.new("UIPadding")
  751. leftPad.PaddingTop = UDim.new(0, 10)
  752. leftPad.PaddingBottom = UDim.new(0, 10)
  753. leftPad.PaddingLeft = UDim.new(0, 10)
  754. leftPad.PaddingRight = UDim.new(0, 10)
  755. leftPad.Parent = leftColumn
  756.  
  757. local rightColumn = Instance.new("Frame")
  758. rightColumn.Name = "Right"
  759. rightColumn.Size = UDim2.new(0.48, 0, 1, 0)
  760. rightColumn.Position = UDim2.new(0.52, 0, 0, 0)
  761. rightColumn.BackgroundTransparency = 1
  762. rightColumn.Parent = columns
  763.  
  764. local rightList = Instance.new("UIListLayout")
  765. rightList.SortOrder = Enum.SortOrder.LayoutOrder
  766. rightList.Padding = UDim.new(0, 8)
  767. rightList.Parent = rightColumn
  768.  
  769. local rightPad = Instance.new("UIPadding")
  770. rightPad.PaddingTop = UDim.new(0, 10)
  771. rightPad.PaddingBottom = UDim.new(0, 10)
  772. rightPad.PaddingLeft = UDim.new(0, 10)
  773. rightPad.PaddingRight = UDim.new(0, 10)
  774. rightPad.Parent = rightColumn
  775.  
  776. table.insert(iconButtons, btn)
  777. table.insert(tabFrames, tabFrame)
  778.  
  779. btn.Activated:Connect(function()
  780. if currentTab ~= btn then
  781. sound:Play()
  782. if currentTab then
  783. local prevIconImg = currentTab:FindFirstChildOfClass("ImageLabel")
  784. if prevIconImg then
  785. prevIconImg.ImageColor3 = originalColor
  786. end
  787. local prevIndex = table.find(iconButtons, currentTab)
  788. if prevIndex then
  789. tabFrames[prevIndex].Visible = false
  790. end
  791. end
  792. currentTab = btn
  793. iconImg.ImageColor3 = hoverColor
  794. local thisIndex = table.find(iconButtons, btn)
  795. if thisIndex then
  796. tabFrames[thisIndex].Visible = true
  797. end
  798. end
  799. end)
  800.  
  801. return btn
  802. end
  803.  
  804. function playAnimations(fadeIn)
  805. if fadeIn then
  806. _blurFrame.BackgroundTransparency = 1
  807. _topBar.BackgroundTransparency = 1
  808. _strokeBar.Transparency = 1
  809. _timebox.BackgroundTransparency = 1
  810. _timeboxStroke.Transparency = 1
  811. _timeboxlabel.TextTransparency = 1
  812. _executorbox.BackgroundTransparency = 1
  813. _executorboxStroke.Transparency = 1
  814. _executorboxlabel.TextTransparency = 1
  815. _hwidbox.BackgroundTransparency = 1
  816. _hwidboxStroke.Transparency = 1
  817. _hwidboxlabel.TextTransparency = 1
  818. _fpsbox.BackgroundTransparency = 1
  819. _fpsboxStroke.Transparency = 1
  820. _fpslabel.TextTransparency = 1
  821. _leftBar.BackgroundTransparency = 1
  822. _leftBarStroke.Transparency = 1
  823. _usernameLabel.TextTransparency = 1
  824. _scrlfrm.BackgroundTransparency = 1
  825. _mf.BackgroundTransparency = 1
  826. _title.TextTransparency = 1
  827. _version.TextTransparency = 1
  828. _divider.BackgroundTransparency = 1
  829. _blurEffect.Size = 0
  830. _iconList.Parent = nil
  831.  
  832. for i, btn in ipairs(iconButtons) do
  833. btn.AnchorPoint = Vector2.new(0.5, 0.5)
  834. btn.Position = centerPos
  835. local iconImg = btn:FindFirstChildOfClass("ImageLabel")
  836. local stroke = btn:FindFirstChildOfClass("UIStroke")
  837. if iconImg then
  838. iconImg.ImageTransparency = 1
  839. end
  840. if stroke then
  841. stroke.Transparency = 1
  842. end
  843. end
  844.  
  845. TweenService:Create(
  846. _blurEffect,
  847. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  848. {Size = 24}
  849. ):Play()
  850.  
  851. TweenService:Create(
  852. _blurFrame,
  853. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  854. {BackgroundTransparency = 0.5}
  855. ):Play()
  856.  
  857. task.wait(0.3)
  858.  
  859. TweenService:Create(
  860. _topBar,
  861. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  862. {BackgroundTransparency = 0}
  863. ):Play()
  864.  
  865. TweenService:Create(
  866. _strokeBar,
  867. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  868. {Transparency = 0}
  869. ):Play()
  870.  
  871. task.wait(0.3)
  872.  
  873. local buttonAnimationTime = 0
  874. for i, btn in ipairs(iconButtons) do
  875. local iconImg = btn:FindFirstChildOfClass("ImageLabel")
  876. local stroke = btn:FindFirstChildOfClass("UIStroke")
  877. local sound = btn:FindFirstChildOfClass("Sound")
  878. local targetPos = UDim2.new(0, 28 + (i - 1) * (30 + 6), 0.5, 0)
  879. local tween = TweenService:Create(
  880. btn,
  881. TweenInfo.new(0.4, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
  882. {Position = targetPos}
  883. )
  884. if iconImg then
  885. TweenService:Create(
  886. iconImg,
  887. TweenInfo.new(0.4, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
  888. {ImageTransparency = 0}
  889. ):Play()
  890. end
  891. if stroke then
  892. TweenService:Create(
  893. stroke,
  894. TweenInfo.new(0.4, Enum.EasingStyle.Quad, Enum.EasingDirection.Out),
  895. {Transparency = 0}
  896. ):Play()
  897. end
  898. if sound then
  899. tween.Completed:Connect(function()
  900. sound:Play()
  901. end)
  902. end
  903. tween:Play()
  904. task.wait(0.1)
  905. buttonAnimationTime = buttonAnimationTime + 0.1
  906. end
  907.  
  908. task.wait(0.2)
  909.  
  910. local mfTween = TweenService:Create(
  911. _mf,
  912. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  913. {BackgroundTransparency = 0}
  914. )
  915.  
  916. mfTween.Completed:Connect(function()
  917. local ti = TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.Out)
  918.  
  919. function fadeInChildren(obj)
  920. if obj:IsA("Frame") or obj:IsA("ScrollingFrame") then
  921. if obj.Name == "Content" then
  922. obj.BackgroundTransparency = 1
  923. return
  924. end
  925.  
  926. if obj.Name == "Content" and obj.Parent.Name ~= "ScrollingFrame" then
  927. obj.BackgroundTransparency = 1
  928. return
  929. end
  930.  
  931. if obj.Name == "Content" then
  932. obj.BackgroundTransparency = 1
  933. return
  934. end
  935.  
  936. if obj.Name == "Left" or obj.Name == "Right" or obj.Name == "Columns" then
  937. obj.BackgroundTransparency = 1
  938. end
  939.  
  940. if obj.BackgroundTransparency == 1 and not obj:GetAttribute("NoFade") then
  941. TweenService:Create(obj, ti, {BackgroundTransparency = 0}):Play()
  942. end
  943. end
  944.  
  945. if obj:IsA("TextLabel") or obj:IsA("TextButton") then
  946. if obj.TextTransparency == 1 and not obj:GetAttribute("NoFade") then
  947. TweenService:Create(obj, ti, {TextTransparency = 0}):Play()
  948. end
  949. end
  950.  
  951. if obj:IsA("ImageLabel") or obj:IsA("ImageButton") then
  952. if obj.ImageTransparency == 1 and not obj:GetAttribute("NoFade") then
  953. TweenService:Create(obj, ti, {ImageTransparency = 0}):Play()
  954. end
  955. end
  956.  
  957. if obj:IsA("UIStroke") then
  958. if obj.Transparency == 1 and not obj:GetAttribute("NoFade") then
  959. TweenService:Create(obj, ti, {Transparency = 0.5}):Play()
  960. end
  961. end
  962.  
  963. for _, child in ipairs(obj:GetChildren()) do
  964. fadeInChildren(child)
  965. end
  966. end
  967.  
  968. fadeInChildren(_scrlfrm)
  969. end)
  970.  
  971. mfTween:Play()
  972.  
  973. local titleTween = TweenService:Create(
  974. _title,
  975. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  976. {TextTransparency = 0}
  977. )
  978. titleTween.Completed:Connect(function()
  979. local nameWidth = _usernameLabel.TextBounds.X
  980. _leftBar.Size = UDim2.new(0, nameWidth + 20, 0, 40)
  981. end)
  982. titleTween.Completed:Connect(function()
  983. local executorWidth = _executorboxlabel.TextBounds.X
  984. _executorbox.Size = UDim2.new(0, executorWidth + 20, 0, 40)
  985. end)
  986. titleTween.Completed:Connect(function()
  987. local executorWidth = _timeboxlabel.TextBounds.X
  988. _timebox.Size = UDim2.new(0, executorWidth + 20, 0, 40)
  989. end)
  990. titleTween:Play()
  991.  
  992. TweenService:Create(
  993. _version,
  994. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  995. {TextTransparency = 0.25}
  996. ):Play()
  997.  
  998. TweenService:Create(
  999. _divider,
  1000. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1001. {BackgroundTransparency = 0}
  1002. ):Play()
  1003.  
  1004. task.wait(buttonAnimationTime)
  1005. TweenService:Create(
  1006. _timebox,
  1007. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1008. {BackgroundTransparency = 0}
  1009. ):Play()
  1010. TweenService:Create(
  1011. _timeboxStroke,
  1012. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1013. {Transparency = 0}
  1014. ):Play()
  1015. TweenService:Create(
  1016. _timeboxlabel,
  1017. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1018. {TextTransparency = 0}
  1019. ):Play()
  1020. TweenService:Create(
  1021. _executorbox,
  1022. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1023. {BackgroundTransparency = 0}
  1024. ):Play()
  1025. TweenService:Create(
  1026. _executorboxStroke,
  1027. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1028. {Transparency = 0}
  1029. ):Play()
  1030. TweenService:Create(
  1031. _executorboxlabel,
  1032. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1033. {BackgroundTransparency = 0}
  1034. ):Play()
  1035. TweenService:Create(
  1036. _hwidbox,
  1037. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1038. {BackgroundTransparency = 0}
  1039. ):Play()
  1040. TweenService:Create(
  1041. _hwidboxStroke,
  1042. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1043. {Transparency = 0}
  1044. ):Play()
  1045. TweenService:Create(
  1046. _hwidboxlabel,
  1047. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1048. {BackgroundTransparency = 0}
  1049. ):Play()
  1050. TweenService:Create(
  1051. _fpsbox,
  1052. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1053. {BackgroundTransparency = 0}
  1054. ):Play()
  1055. TweenService:Create(
  1056. _fpsboxStroke,
  1057. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1058. {Transparency = 0}
  1059. ):Play()
  1060. TweenService:Create(
  1061. _fpslabel,
  1062. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1063. {BackgroundTransparency = 0}
  1064. ):Play()
  1065.  
  1066. TweenService:Create(
  1067. _leftBar,
  1068. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1069. {BackgroundTransparency = 0}
  1070. ):Play()
  1071.  
  1072. TweenService:Create(
  1073. _leftBarStroke,
  1074. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1075. {Transparency = 0}
  1076. ):Play()
  1077.  
  1078. TweenService:Create(
  1079. _usernameLabel,
  1080. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1081. {TextTransparency = 0}
  1082. ):Play()
  1083.  
  1084. task.delay(0.5, function()
  1085. _mf.BackgroundTransparency = 0
  1086. _title.TextTransparency = 0
  1087. _version.TextTransparency = 0.25
  1088. _divider.BackgroundTransparency = 0
  1089. _timebox.BackgroundTransparency = 0
  1090. _timeboxStroke.Transparency = 0
  1091. _timeboxlabel.TextTransparency = 0
  1092. _executorbox.BackgroundTransparency = 0
  1093. _executorboxStroke.Transparency = 0
  1094. _executorboxlabel.TextTransparency = 0
  1095. _hwidbox.BackgroundTransparency = 0
  1096. _hwidboxStroke.Transparency = 0
  1097. _hwidboxlabel.TextTransparency = 0
  1098. _fpsbox.BackgroundTransparency = 0
  1099. _fpsboxStroke.Transparency = 0
  1100. _fpslabel.TextTransparency = 0
  1101. _leftBar.BackgroundTransparency = 0
  1102. _leftBarStroke.Transparency = 0
  1103. _usernameLabel.TextTransparency = 0
  1104. _iconList.Parent = _topBar
  1105. for _, btn in ipairs(iconButtons) do
  1106. btn.Position = UDim2.new(0, 0, 0, 0)
  1107. btn.AnchorPoint = Vector2.new(0, 0)
  1108. end
  1109. end)
  1110. else
  1111. TweenService:Create(
  1112. _blurEffect,
  1113. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1114. {Size = 0}
  1115. ):Play()
  1116.  
  1117. TweenService:Create(
  1118. _blurFrame,
  1119. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1120. {BackgroundTransparency = 1}
  1121. ):Play()
  1122.  
  1123. TweenService:Create(
  1124. _topBar,
  1125. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1126. {BackgroundTransparency = 1}
  1127. ):Play()
  1128.  
  1129. TweenService:Create(
  1130. _strokeBar,
  1131. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1132. {Transparency = 1}
  1133. ):Play()
  1134. TweenService:Create(
  1135. _timebox,
  1136. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1137. {BackgroundTransparency = 1}
  1138. ):Play()
  1139. TweenService:Create(
  1140. _timeboxStroke,
  1141. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1142. {Transparency = 1}
  1143. ):Play()
  1144. TweenService:Create(
  1145. _timeboxlabel,
  1146. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1147. {TextTransparency = 1}
  1148. ):Play()
  1149. TweenService:Create(
  1150. _executorbox,
  1151. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1152. {BackgroundTransparency = 1}
  1153. ):Play()
  1154. TweenService:Create(
  1155. _executorboxStroke,
  1156. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1157. {Transparency = 1}
  1158. ):Play()
  1159. TweenService:Create(
  1160. _executorboxlabel,
  1161. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1162. {BackgroundTransparency = 1}
  1163. ):Play()
  1164. TweenService:Create(
  1165. _hwidbox,
  1166. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1167. {BackgroundTransparency = 1}
  1168. ):Play()
  1169. TweenService:Create(
  1170. _hwidboxStroke,
  1171. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1172. {Transparency = 1}
  1173. ):Play()
  1174. TweenService:Create(
  1175. _hwidboxlabel,
  1176. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1177. {BackgroundTransparency = 1}
  1178. ):Play()
  1179. TweenService:Create(
  1180. _fpsbox,
  1181. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1182. {BackgroundTransparency = 1}
  1183. ):Play()
  1184. TweenService:Create(
  1185. _fpsboxStroke,
  1186. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1187. {Transparency = 1}
  1188. ):Play()
  1189. TweenService:Create(
  1190. _fpslabel,
  1191. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1192. {BackgroundTransparency = 1}
  1193. ):Play()
  1194.  
  1195. TweenService:Create(
  1196. _leftBar,
  1197. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1198. {BackgroundTransparency = 1}
  1199. ):Play()
  1200.  
  1201. TweenService:Create(
  1202. _leftBarStroke,
  1203. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1204. {Transparency = 1}
  1205. ):Play()
  1206.  
  1207. TweenService:Create(
  1208. _usernameLabel,
  1209. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1210. {TextTransparency = 1}
  1211. ):Play()
  1212.  
  1213. TweenService:Create(
  1214. _mf,
  1215. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1216. {BackgroundTransparency = 1}
  1217. ):Play()
  1218.  
  1219. TweenService:Create(
  1220. _title,
  1221. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1222. {TextTransparency = 1}
  1223. ):Play()
  1224.  
  1225. TweenService:Create(
  1226. _version,
  1227. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1228. {TextTransparency = 1}
  1229. ):Play()
  1230.  
  1231. TweenService:Create(
  1232. _divider,
  1233. TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1234. {BackgroundTransparency = 1}
  1235. ):Play()
  1236.  
  1237. for i, btn in ipairs(iconButtons) do
  1238. local iconImg = btn:FindFirstChildOfClass("ImageLabel")
  1239. local stroke = btn:FindFirstChildOfClass("UIStroke")
  1240. if iconImg then
  1241. TweenService:Create(
  1242. iconImg,
  1243. TweenInfo.new(0.4, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1244. {ImageTransparency = 1}
  1245. ):Play()
  1246. end
  1247. if stroke then
  1248. TweenService:Create(
  1249. stroke,
  1250. TweenInfo.new(0.4, Enum.EasingStyle.Quad, Enum.EasingDirection.In),
  1251. {Transparency = 1}
  1252. ):Play()
  1253. end
  1254. end
  1255. end
  1256. end
  1257.  
  1258. for _, tab in ipairs(tabIconsOrdered) do
  1259. createIconButton(tab.icon, tab.name)
  1260. end
  1261.  
  1262. if _visible then
  1263. playAnimations(true)
  1264. if #iconButtons > 0 then
  1265. local btn = iconButtons[1]
  1266. local iconImg = btn:FindFirstChildOfClass("ImageLabel")
  1267. if iconImg then
  1268. iconImg.ImageColor3 = hoverColor
  1269. end
  1270. currentTab = btn
  1271. tabFrames[1].Visible = true
  1272. end
  1273. end
  1274.  
  1275. local _dragging = false
  1276. local _dragInput, _dragStart, _startPos
  1277. local _dragTweenInfo = TweenInfo.new(0.1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
  1278. local _currentTween = nil
  1279. local _leftDragging = false
  1280. local _leftDragInput, _leftDragStart, _leftStartPos
  1281. local _leftCurrentTween = nil
  1282.  
  1283. _top.InputBegan:Connect(function(input)
  1284. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  1285. _dragging = true
  1286. _dragStart = input.Position
  1287. _startPos = _mf.Position
  1288. if _currentTween then
  1289. _currentTween:Cancel()
  1290. _currentTween = nil
  1291. end
  1292. input.Changed:Connect(function()
  1293. if input.UserInputState == Enum.UserInputState.End then
  1294. _dragging = false
  1295. if _currentTween then
  1296. _currentTween:Cancel()
  1297. _currentTween = nil
  1298. end
  1299. end
  1300. end)
  1301. end
  1302. end)
  1303.  
  1304. _top.InputChanged:Connect(function(input)
  1305. if input.UserInputType == Enum.UserInputType.MouseMovement then
  1306. _dragInput = input
  1307. end
  1308. end)
  1309.  
  1310. _leftBar.InputBegan:Connect(function(input)
  1311. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  1312. _leftDragging = true
  1313. _leftDragStart = input.Position
  1314. _leftStartPos = _leftBar.Position
  1315. if _leftCurrentTween then
  1316. _leftCurrentTween:Cancel()
  1317. _leftCurrentTween = nil
  1318. end
  1319. input.Changed:Connect(function()
  1320. if input.UserInputState == Enum.UserInputState.End then
  1321. _leftDragging = false
  1322. if _leftCurrentTween then
  1323. _leftCurrentTween:Cancel()
  1324. _leftCurrentTween = nil
  1325. end
  1326. end
  1327. end)
  1328. end
  1329. end)
  1330.  
  1331. _leftBar.InputChanged:Connect(function(input)
  1332. if input.UserInputType == Enum.UserInputType.MouseMovement then
  1333. _leftDragInput = input
  1334. end
  1335. end)
  1336.  
  1337. _uis.InputChanged:Connect(function(input)
  1338. if input == _dragInput and _dragging then
  1339. local delta = input.Position - _dragStart
  1340. local targetPos = UDim2.new(
  1341. _startPos.X.Scale,
  1342. _startPos.X.Offset + delta.X,
  1343. _startPos.Y.Scale,
  1344. _startPos.Y.Offset + delta.Y
  1345. )
  1346. if _currentTween then
  1347. _currentTween:Cancel()
  1348. end
  1349. _currentTween = TweenService:Create(_mf, _dragTweenInfo, {Position = targetPos})
  1350. _currentTween:Play()
  1351. elseif input == _leftDragInput and _leftDragging then
  1352. local delta = input.Position - _leftDragStart
  1353. local targetPos = UDim2.new(
  1354. _leftStartPos.X.Scale,
  1355. _leftStartPos.X.Offset + delta.X,
  1356. _leftStartPos.Y.Scale,
  1357. _leftStartPos.Y.Offset + delta.Y
  1358. )
  1359. if _leftCurrentTween then
  1360. _leftCurrentTween:Cancel()
  1361. end
  1362. _leftCurrentTween = TweenService:Create(_leftBar, _dragTweenInfo, {Position = targetPos})
  1363. _leftCurrentTween:Play()
  1364. end
  1365. end)
  1366.  
  1367. _uis.InputBegan:Connect(function(input, gpe)
  1368. if gpe then
  1369. return
  1370. end
  1371. if input.KeyCode == Enum.KeyCode.P then
  1372.  
  1373. fadeInChildren(_scrlfrm)
  1374. for _, child in ipairs(obj:GetChildren()) do
  1375. fadeInChildren(child)
  1376. end
  1377.  
  1378. _visible = not _visible
  1379. _scrlfrm.Visible = _visible
  1380. _blurFrame.Visible = _visible
  1381. _topBar.Visible = _visible
  1382. _timebox.Visible = _visible
  1383. _executorbox.Visible = _visible
  1384. _hwidbox.Visible = _visible
  1385. _fpsbox.Visible = _visible
  1386. _leftBar.Visible = _visible
  1387. _mf.Visible = _visible
  1388. playAnimations(_visible)
  1389. end
  1390. end)
  1391.  
  1392. local lib = {}
  1393.  
  1394. local function getTabFrame(tabName)
  1395. for i, tab in ipairs(tabIconsOrdered) do
  1396. if tab.name == tabName then
  1397. return tabFrames[i]
  1398. end
  1399. end
  1400. return nil
  1401. end
  1402.  
  1403. local function fadeInElement(gui)
  1404. local ti = TweenInfo.new(0.5, Enum.EasingStyle.Sine, Enum.EasingDirection.Out)
  1405.  
  1406. local function recurse(obj)
  1407. if obj:IsA("Frame") or obj:IsA("ScrollingFrame") then
  1408. if obj.BackgroundTransparency == 1 and not obj:GetAttribute("NoFade") then
  1409. TweenService:Create(obj, ti, {BackgroundTransparency = 0}):Play()
  1410. end
  1411. end
  1412. if obj:IsA("TextLabel") or obj:IsA("TextButton") then
  1413. if obj.TextTransparency == 1 and not obj:GetAttribute("NoFade") then
  1414. TweenService:Create(obj, ti, {TextTransparency = 0}):Play()
  1415. end
  1416. end
  1417. if obj:IsA("ImageLabel") or obj:IsA("ImageButton") then
  1418. if obj.ImageTransparency == 1 and not obj:GetAttribute("NoFade") then
  1419. TweenService:Create(obj, ti, {ImageTransparency = 0}):Play()
  1420. end
  1421. end
  1422. for _, st in ipairs(obj:GetChildren()) do
  1423. if st:IsA("UIStroke") then
  1424. if st.Transparency == 1 and not st:GetAttribute("NoFade") then
  1425. TweenService:Create(st, ti, {Transparency = 0.5}):Play()
  1426. end
  1427. end
  1428. end
  1429. for _, child in ipairs(obj:GetChildren()) do
  1430. recurse(child)
  1431. end
  1432. end
  1433.  
  1434. recurse(gui)
  1435. end
  1436.  
  1437. local function createSection(tabName, side, sectionTitle, sizeType)
  1438. local tabFrame = getTabFrame(tabName)
  1439. if not tabFrame then return nil end
  1440.  
  1441. local columnName = side == "left" and "Left" or "Right"
  1442. local column = tabFrame.Columns:FindFirstChild(columnName)
  1443. if not column then return nil end
  1444.  
  1445. local sizes = {
  1446. LongBox = {Height = 200, ContentHeight = 170},
  1447. ShortBox = {Height = 100, ContentHeight = 100},
  1448. BigBox = {Height = 300, ContentHeight = 270},
  1449. SmallBox = {Height = 50, ContentHeight = 20}
  1450. }
  1451.  
  1452. local sizeConfig = sizes[sizeType] or {Height = 150, ContentHeight = 120}
  1453.  
  1454. local section = Instance.new("Frame")
  1455. section.Size = UDim2.new(1, 0, 0, sizeConfig.Height)
  1456. section.BackgroundColor3 = Color3.fromRGB(3, 3, 3)
  1457. section.BackgroundTransparency = 1
  1458. section.BorderSizePixel = 0
  1459. section.Parent = column
  1460.  
  1461. local gradient = Instance.new("UIGradient")
  1462. gradient.Color = ColorSequence.new({
  1463. ColorSequenceKeypoint.new(0, Color3.fromRGB(20, 20, 20)),
  1464. ColorSequenceKeypoint.new(1, config.accentcolor:Lerp(Color3.fromRGB(20, 20, 20), 0.7))
  1465. })
  1466. gradient.Rotation = 90
  1467. gradient.Transparency = NumberSequence.new({
  1468. NumberSequenceKeypoint.new(0, 0.8),
  1469. NumberSequenceKeypoint.new(1, 0.8)
  1470. })
  1471. gradient.Parent = section
  1472.  
  1473. local secCorner = Instance.new("UICorner")
  1474. secCorner.CornerRadius = UDim.new(0, 8)
  1475. secCorner.Parent = section
  1476.  
  1477. local secStroke = Instance.new("UIStroke")
  1478. secStroke.Color = config.accentcolor:Lerp(Color3.fromRGB(100, 100, 100), 0.5)
  1479. secStroke.Thickness = 1.5
  1480. secStroke.Transparency = 1
  1481. secStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
  1482. secStroke.Parent = section
  1483.  
  1484. local title = Instance.new("TextLabel")
  1485. title.Size = UDim2.new(1, -10, 0, 20)
  1486. title.Position = UDim2.new(0, 5, 0, 5)
  1487. title.BackgroundTransparency = 1
  1488. title.Text = sectionTitle or ""
  1489. title.TextColor3 = Color3.new(1, 1, 1)
  1490. title.TextTransparency = 1
  1491. title.Font = Enum.Font.GothamBold
  1492. title.TextSize = 14
  1493. title.TextXAlignment = Enum.TextXAlignment.Left
  1494. title.Parent = section
  1495.  
  1496. local contentFrame = Instance.new("Frame")
  1497. contentFrame.Name = "Content"
  1498. contentFrame.Size = UDim2.new(1, -10, 0, sizeConfig.ContentHeight)
  1499. contentFrame.Position = UDim2.new(0, 5, 0, 30)
  1500. contentFrame.BackgroundTransparency = 1
  1501. contentFrame.BorderSizePixel = 0
  1502. contentFrame.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
  1503. contentFrame.Parent = section
  1504. contentFrame:SetAttribute("NoFade", true)
  1505.  
  1506. local contList = Instance.new("UIListLayout")
  1507. contList.SortOrder = Enum.SortOrder.LayoutOrder
  1508. contList.Padding = UDim.new(0, 8)
  1509. contList.Parent = contentFrame
  1510.  
  1511. local contPad = Instance.new("UIPadding")
  1512. contPad.PaddingLeft = UDim.new(0, 5)
  1513. contPad.PaddingRight = UDim.new(0, 5)
  1514. contPad.PaddingTop = UDim.new(0, 5)
  1515. contPad.PaddingBottom = UDim.new(0, 5)
  1516. contPad.Parent = contentFrame
  1517.  
  1518. fadeInElement(section)
  1519.  
  1520. return contentFrame
  1521. end
  1522.  
  1523. function lib:CreateLeftLongBox(tabName, sectionTitle)
  1524. return createSection(tabName, "left", sectionTitle, "LongBox")
  1525. end
  1526.  
  1527. function lib:CreateRightLongBox(tabName, sectionTitle)
  1528. return createSection(tabName, "right", sectionTitle, "LongBox")
  1529. end
  1530.  
  1531. function lib:CreateLeftShortBox(tabName, sectionTitle)
  1532. return createSection(tabName, "left", sectionTitle, "ShortBox")
  1533. end
  1534.  
  1535. function lib:CreateRightShortBox(tabName, sectionTitle)
  1536. return createSection(tabName, "right", sectionTitle, "ShortBox")
  1537. end
  1538.  
  1539. function lib:CreateLeftBigBox(tabName, sectionTitle)
  1540. return createSection(tabName, "left", sectionTitle, "BigBox")
  1541. end
  1542.  
  1543. function lib:CreateRightBigBox(tabName, sectionTitle)
  1544. return createSection(tabName, "right", sectionTitle, "BigBox")
  1545. end
  1546.  
  1547. function lib:CreateLeftSmallBox(tabName, sectionTitle)
  1548. return createSection(tabName, "left", sectionTitle, "SmallBox")
  1549. end
  1550.  
  1551. function lib:CreateRightSmallBox(tabName, sectionTitle)
  1552. return createSection(tabName, "right", sectionTitle, "SmallBox")
  1553. end
  1554.  
  1555. function lib:CreateToggle(parent, toggleText, default, callback)
  1556. local toggleFrame = Instance.new("Frame")
  1557. toggleFrame.Size = UDim2.new(1, -10, 0, 32)
  1558. toggleFrame.BackgroundTransparency = 1
  1559. toggleFrame.Parent = parent
  1560.  
  1561. local gradient = Instance.new("UIGradient")
  1562. gradient.Color = ColorSequence.new({
  1563. ColorSequenceKeypoint.new(0, Color3.fromRGB(20, 20, 20)),
  1564. ColorSequenceKeypoint.new(1, config.accentcolor:Lerp(Color3.fromRGB(20, 20, 20), 0.7))
  1565. })
  1566. gradient.Rotation = 90
  1567. gradient.Parent = toggleFrame
  1568.  
  1569. local togCorner = Instance.new("UICorner")
  1570. togCorner.CornerRadius = UDim.new(0, 8)
  1571. togCorner.Parent = toggleFrame
  1572.  
  1573. local togStroke = Instance.new("UIStroke")
  1574. togStroke.Color = config.accentcolor:Lerp(Color3.fromRGB(80, 80, 80), 0.6)
  1575. togStroke.Thickness = 1
  1576. togStroke.Transparency = 1
  1577. togStroke.Parent = toggleFrame
  1578.  
  1579. local switchBg = Instance.new("Frame")
  1580. switchBg.Size = UDim2.new(0, 46, 0, 24)
  1581. switchBg.Position = UDim2.new(1, -56, 0.5, -12)
  1582. switchBg.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
  1583. switchBg.BorderSizePixel = 0
  1584. switchBg.Parent = toggleFrame
  1585.  
  1586. local switchCorner = Instance.new("UICorner")
  1587. switchCorner.CornerRadius = UDim.new(1, 0)
  1588. switchCorner.Parent = switchBg
  1589.  
  1590. local switchStroke = Instance.new("UIStroke")
  1591. switchStroke.Color = Color3.fromRGB(60, 60, 60)
  1592. switchStroke.Thickness = 1
  1593. switchStroke.Parent = switchBg
  1594.  
  1595. local knob = Instance.new("Frame")
  1596. knob.Size = UDim2.new(0, 20, 0, 20)
  1597. knob.Position = UDim2.new(0, 2, 0.5, -10)
  1598. knob.BackgroundColor3 = Color3.fromRGB(220, 220, 220)
  1599. knob.BorderSizePixel = 0
  1600. knob.Parent = switchBg
  1601.  
  1602. local knobCorner = Instance.new("UICorner")
  1603. knobCorner.CornerRadius = UDim.new(1, 0)
  1604. knobCorner.Parent = knob
  1605.  
  1606. local textLab = Instance.new("TextLabel")
  1607. textLab.Size = UDim2.new(1, -70, 1, 0)
  1608. textLab.Position = UDim2.new(0, 8, 0, 0)
  1609. textLab.BackgroundTransparency = 1
  1610. textLab.Text = toggleText
  1611. textLab.TextColor3 = Color3.new(1, 1, 1)
  1612. textLab.TextTransparency = 1
  1613. textLab.Font = Enum.Font.Gotham
  1614. textLab.TextSize = 14
  1615. textLab.TextXAlignment = Enum.TextXAlignment.Left
  1616. textLab.Parent = toggleFrame
  1617.  
  1618. local button = Instance.new("TextButton")
  1619. button.Size = UDim2.new(1, 0, 1, 0)
  1620. button.BackgroundTransparency = 1
  1621. button.Text = ""
  1622. button.Parent = toggleFrame
  1623.  
  1624. local state = default or false
  1625.  
  1626. local function updateToggle(instant)
  1627. local ti = instant and TweenInfo.new(0) or TweenInfo.new(0.25, Enum.EasingStyle.Quint, Enum.EasingDirection.Out)
  1628.  
  1629. if state then
  1630. TweenService:Create(switchBg, ti, {BackgroundColor3 = config.accentcolor}):Play()
  1631. TweenService:Create(knob, ti, {Position = UDim2.new(1, -22, 0.5, -10)}):Play()
  1632. TweenService:Create(knob, ti, {BackgroundColor3 = Color3.fromRGB(255, 255, 255)}):Play()
  1633. else
  1634. TweenService:Create(switchBg, ti, {BackgroundColor3 = Color3.fromRGB(35, 35, 35)}):Play()
  1635. TweenService:Create(knob, ti, {Position = UDim2.new(0, 2, 0.5, -10)}):Play()
  1636. TweenService:Create(knob, ti, {BackgroundColor3 = Color3.fromRGB(220, 220, 220)}):Play()
  1637. end
  1638.  
  1639. if callback then callback(state) end
  1640. end
  1641.  
  1642. updateToggle(true)
  1643.  
  1644. button.Activated:Connect(function()
  1645. state = not state
  1646. updateToggle()
  1647. end)
  1648.  
  1649. button.MouseEnter:Connect(function()
  1650. TweenService:Create(toggleFrame, TweenInfo.new(0.2), {BackgroundTransparency = 0.85}):Play()
  1651. end)
  1652. button.MouseLeave:Connect(function()
  1653. TweenService:Create(toggleFrame, TweenInfo.new(0.2), {BackgroundTransparency = 1}):Play()
  1654. end)
  1655.  
  1656. fadeInElement(toggleFrame)
  1657. return {
  1658. Element = toggleFrame,
  1659. Set = function(v)
  1660. state = v
  1661. updateToggle()
  1662. end
  1663. }
  1664. end
  1665.  
  1666. function lib:CreateButton(parent, buttonText, callback)
  1667. local buttonFrame = Instance.new("Frame")
  1668. buttonFrame.Size = UDim2.new(1, -10, 0, 32)
  1669. buttonFrame.BackgroundTransparency = 1
  1670. buttonFrame.Parent = parent
  1671.  
  1672. local gradient = Instance.new("UIGradient")
  1673. gradient.Color = ColorSequence.new({
  1674. ColorSequenceKeypoint.new(0, Color3.fromRGB(20, 20, 20)),
  1675. ColorSequenceKeypoint.new(1, config.accentcolor:Lerp(Color3.fromRGB(20, 20, 20), 0.7))
  1676. })
  1677. gradient.Rotation = 90
  1678. gradient.Parent = buttonFrame
  1679.  
  1680. local btnCorner = Instance.new("UICorner")
  1681. btnCorner.CornerRadius = UDim.new(0, 8)
  1682. btnCorner.Parent = buttonFrame
  1683.  
  1684. local btnStroke = Instance.new("UIStroke")
  1685. btnStroke.Color = config.accentcolor:Lerp(Color3.fromRGB(80, 80, 80), 0.6)
  1686. btnStroke.Thickness = 1
  1687. btnStroke.Transparency = 1
  1688. btnStroke.Parent = buttonFrame
  1689.  
  1690. local textLab = Instance.new("TextLabel")
  1691. textLab.Size = UDim2.new(1, -10, 1, 0)
  1692. textLab.Position = UDim2.new(0, 5, 0, 0)
  1693. textLab.BackgroundTransparency = 1
  1694. textLab.Text = buttonText
  1695. textLab.TextColor3 = Color3.new(1, 1, 1)
  1696. textLab.TextTransparency = 1
  1697. textLab.Font = Enum.Font.Gotham
  1698. textLab.TextSize = 14
  1699. textLab.TextXAlignment = Enum.TextXAlignment.Center
  1700. textLab.Parent = buttonFrame
  1701.  
  1702. local button = Instance.new("TextButton")
  1703. button.Size = UDim2.new(1, 0, 1, 0)
  1704. button.BackgroundTransparency = 1
  1705. button.Text = ""
  1706. button.Parent = buttonFrame
  1707.  
  1708. button.MouseEnter:Connect(function()
  1709. TweenService:Create(buttonFrame, TweenInfo.new(0.2), {BackgroundTransparency = 0.85}):Play()
  1710. end)
  1711. button.MouseLeave:Connect(function()
  1712. TweenService:Create(buttonFrame, TweenInfo.new(0.2), {BackgroundTransparency = 1}):Play()
  1713. end)
  1714.  
  1715. button.Activated:Connect(function()
  1716. if callback then
  1717. callback()
  1718. end
  1719. end)
  1720.  
  1721. fadeInElement(buttonFrame)
  1722. return {
  1723. Element = buttonFrame
  1724. }
  1725. end
  1726.  
  1727. function lib:CreateSlider(parent, sliderText, minValue, maxValue, defaultValue, callback)
  1728. local sliderFrame = Instance.new("Frame")
  1729. sliderFrame.Size = UDim2.new(1, -10, 0, 38)
  1730. sliderFrame.BackgroundTransparency = 1
  1731. sliderFrame.Parent = parent
  1732.  
  1733. local gradient = Instance.new("UIGradient")
  1734. gradient.Color = ColorSequence.new({
  1735. ColorSequenceKeypoint.new(0, Color3.fromRGB(20, 20, 20)),
  1736. ColorSequenceKeypoint.new(1, config.accentcolor:Lerp(Color3.fromRGB(20, 20, 20), 0.7))
  1737. })
  1738. gradient.Rotation = 90
  1739. gradient.Parent = sliderFrame
  1740.  
  1741. local sldCorner = Instance.new("UICorner")
  1742. sldCorner.CornerRadius = UDim.new(0, 8)
  1743. sldCorner.Parent = sliderFrame
  1744.  
  1745. local sldStroke = Instance.new("UIStroke")
  1746. sldStroke.Color = config.accentcolor:Lerp(Color3.fromRGB(80, 80, 80), 0.6)
  1747. sldStroke.Thickness = 1
  1748. sldStroke.Transparency = 1
  1749. sldStroke.Parent = sliderFrame
  1750.  
  1751. local textLab = Instance.new("TextLabel")
  1752. textLab.Size = UDim2.new(0.5, 0, 0, 20)
  1753. textLab.Position = UDim2.new(0, 8, 0, 0)
  1754. textLab.BackgroundTransparency = 1
  1755. textLab.Text = sliderText
  1756. textLab.TextColor3 = Color3.new(1, 1, 1)
  1757. textLab.TextTransparency = 1
  1758. textLab.Font = Enum.Font.Gotham
  1759. textLab.TextSize = 14
  1760. textLab.TextXAlignment = Enum.TextXAlignment.Left
  1761. textLab.Parent = sliderFrame
  1762.  
  1763. local valueLab = Instance.new("TextLabel")
  1764. valueLab.Size = UDim2.new(0, 40, 0, 20)
  1765. valueLab.Position = UDim2.new(1, -48, 0, 0)
  1766. valueLab.BackgroundTransparency = 1
  1767. valueLab.Text = tostring(defaultValue or minValue)
  1768. valueLab.TextColor3 = config.accentcolor
  1769. valueLab.TextTransparency = 1
  1770. valueLab.Font = Enum.Font.GothamBold
  1771. valueLab.TextSize = 14
  1772. valueLab.TextXAlignment = Enum.TextXAlignment.Right
  1773. valueLab.Parent = sliderFrame
  1774.  
  1775. local barBg = Instance.new("Frame")
  1776. barBg.Size = UDim2.new(1, -16, 0, 6)
  1777. barBg.Position = UDim2.new(0, 8, 0, 26)
  1778. barBg.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
  1779. barBg.BorderSizePixel = 0
  1780. barBg.Parent = sliderFrame
  1781.  
  1782. local barCorner = Instance.new("UICorner")
  1783. barCorner.CornerRadius = UDim.new(0, 3)
  1784. barCorner.Parent = barBg
  1785.  
  1786. local fillBar = Instance.new("Frame")
  1787. fillBar.Size = UDim2.new(0, 0, 1, 0)
  1788. fillBar.BackgroundColor3 = config.accentcolor
  1789. fillBar.BorderSizePixel = 0
  1790. fillBar.Parent = barBg
  1791.  
  1792. local fillCorner = Instance.new("UICorner")
  1793. fillCorner.CornerRadius = UDim.new(0, 3)
  1794. fillCorner.Parent = fillBar
  1795.  
  1796. local knob = Instance.new("Frame")
  1797. knob.Size = UDim2.new(0, 14, 0, 14)
  1798. knob.Position = UDim2.new(0, 0, 0.5, -7)
  1799. knob.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
  1800. knob.BorderSizePixel = 0
  1801. knob.ZIndex = 2
  1802. knob.Parent = barBg
  1803.  
  1804. local knobCorner = Instance.new("UICorner")
  1805. knobCorner.CornerRadius = UDim.new(1, 0)
  1806. knobCorner.Parent = knob
  1807.  
  1808. local knobStroke = Instance.new("UIStroke")
  1809. knobStroke.Color = config.accentcolor
  1810. knobStroke.Thickness = 2
  1811. knobStroke.Parent = knob
  1812.  
  1813. local button = Instance.new("TextButton")
  1814. button.Size = UDim2.new(1, 0, 1, 0)
  1815. button.BackgroundTransparency = 1
  1816. button.Text = ""
  1817. button.Parent = sliderFrame
  1818.  
  1819. local currentValue = defaultValue or minValue
  1820. local range = maxValue - minValue
  1821.  
  1822. local function updateSlider(value, noCallback)
  1823. currentValue = math.clamp(value, minValue, maxValue)
  1824. local ratio = (currentValue - minValue) / range
  1825.  
  1826. TweenService:Create(fillBar, TweenInfo.new(0.15, Enum.EasingStyle.Sine), {Size = UDim2.new(ratio, 0, 1, 0)}):Play()
  1827. TweenService:Create(knob, TweenInfo.new(0.15, Enum.EasingStyle.Sine), {Position = UDim2.new(ratio, -7, 0.5, -7)}):Play()
  1828.  
  1829. valueLab.Text = tostring(math.floor(currentValue))
  1830. if callback and not noCallback then
  1831. callback(currentValue)
  1832. end
  1833. end
  1834.  
  1835. updateSlider(currentValue, true)
  1836.  
  1837. local dragging = false
  1838. button.InputBegan:Connect(function(input)
  1839. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  1840. dragging = true
  1841. local barPos = barBg.AbsolutePosition.X
  1842. local barWidth = barBg.AbsoluteSize.X
  1843. local ratio = math.clamp((input.Position.X - barPos) / barWidth, 0, 1)
  1844. updateSlider(minValue + ratio * range)
  1845. end
  1846. end)
  1847.  
  1848. button.InputEnded:Connect(function(input)
  1849. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  1850. dragging = false
  1851. end
  1852. end)
  1853.  
  1854. _uis.InputChanged:Connect(function(input)
  1855. if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
  1856. local barPos = barBg.AbsolutePosition.X
  1857. local barWidth = barBg.AbsoluteSize.X
  1858. local ratio = math.clamp((input.Position.X - barPos) / barWidth, 0, 1)
  1859. updateSlider(minValue + ratio * range)
  1860. end
  1861. end)
  1862.  
  1863. fadeInElement(sliderFrame)
  1864.  
  1865. return {
  1866. Element = sliderFrame,
  1867. Set = function(newValue)
  1868. updateSlider(newValue)
  1869. end
  1870. }
  1871. end
  1872.  
  1873. return lib
  1874. end
  1875. return mys_custom_ui