Advertisement
Burkino

UI Lib

Jul 12th, 2020
721
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 67.42 KB | None | 0 0
  1. local ui_options = {
  2. main_color = Color3.fromRGB(41, 74, 122),
  3. min_size = Vector2.new(400, 300),
  4. toggle_key = Enum.KeyCode.RightShift,
  5. can_resize = true,
  6. }
  7.  
  8. do
  9. local imgui = game:GetService("CoreGui"):FindFirstChild("imgui")
  10. if imgui then imgui:Destroy() end
  11. end
  12.  
  13. local imgui = Instance.new("ScreenGui")
  14. local Prefabs = Instance.new("Frame")
  15. local Label = Instance.new("TextLabel")
  16. local Window = Instance.new("ImageLabel")
  17. local Resizer = Instance.new("Frame")
  18. local Bar = Instance.new("Frame")
  19. local Toggle = Instance.new("ImageButton")
  20. local Base = Instance.new("ImageLabel")
  21. local Top = Instance.new("ImageLabel")
  22. local Tabs = Instance.new("Frame")
  23. local Title = Instance.new("TextLabel")
  24. local TabSelection = Instance.new("ImageLabel")
  25. local TabButtons = Instance.new("Frame")
  26. local UIListLayout = Instance.new("UIListLayout")
  27. local Frame = Instance.new("Frame")
  28. local Tab = Instance.new("Frame")
  29. local UIListLayout_2 = Instance.new("UIListLayout")
  30. local TextBox = Instance.new("TextBox")
  31. local TextBox_Roundify_4px = Instance.new("ImageLabel")
  32. local Slider = Instance.new("ImageLabel")
  33. local Title_2 = Instance.new("TextLabel")
  34. local Indicator = Instance.new("ImageLabel")
  35. local Value = Instance.new("TextLabel")
  36. local TextLabel = Instance.new("TextLabel")
  37. local TextLabel_2 = Instance.new("TextLabel")
  38. local Circle = Instance.new("ImageLabel")
  39. local UIListLayout_3 = Instance.new("UIListLayout")
  40. local Dropdown = Instance.new("TextButton")
  41. local Indicator_2 = Instance.new("ImageLabel")
  42. local Box = Instance.new("ImageButton")
  43. local Objects = Instance.new("ScrollingFrame")
  44. local UIListLayout_4 = Instance.new("UIListLayout")
  45. local TextButton_Roundify_4px = Instance.new("ImageLabel")
  46. local TabButton = Instance.new("TextButton")
  47. local TextButton_Roundify_4px_2 = Instance.new("ImageLabel")
  48. local Folder = Instance.new("ImageLabel")
  49. local Button = Instance.new("TextButton")
  50. local TextButton_Roundify_4px_3 = Instance.new("ImageLabel")
  51. local Toggle_2 = Instance.new("ImageLabel")
  52. local Objects_2 = Instance.new("Frame")
  53. local UIListLayout_5 = Instance.new("UIListLayout")
  54. local HorizontalAlignment = Instance.new("Frame")
  55. local UIListLayout_6 = Instance.new("UIListLayout")
  56. local Console = Instance.new("ImageLabel")
  57. local ScrollingFrame = Instance.new("ScrollingFrame")
  58. local Source = Instance.new("TextBox")
  59. local Comments = Instance.new("TextLabel")
  60. local Globals = Instance.new("TextLabel")
  61. local Keywords = Instance.new("TextLabel")
  62. local RemoteHighlight = Instance.new("TextLabel")
  63. local Strings = Instance.new("TextLabel")
  64. local Tokens = Instance.new("TextLabel")
  65. local Numbers = Instance.new("TextLabel")
  66. local Info = Instance.new("TextLabel")
  67. local Lines = Instance.new("TextLabel")
  68. local ColorPicker = Instance.new("ImageLabel")
  69. local Palette = Instance.new("ImageLabel")
  70. local Indicator_3 = Instance.new("ImageLabel")
  71. local Sample = Instance.new("ImageLabel")
  72. local Saturation = Instance.new("ImageLabel")
  73. local Indicator_4 = Instance.new("Frame")
  74. local Switch = Instance.new("TextButton")
  75. local TextButton_Roundify_4px_4 = Instance.new("ImageLabel")
  76. local Title_3 = Instance.new("TextLabel")
  77. local Button_2 = Instance.new("TextButton")
  78. local TextButton_Roundify_4px_5 = Instance.new("ImageLabel")
  79. local DropdownButton = Instance.new("TextButton")
  80. local Keybind = Instance.new("ImageLabel")
  81. local Title_4 = Instance.new("TextLabel")
  82. local Input = Instance.new("TextButton")
  83. local Input_Roundify_4px = Instance.new("ImageLabel")
  84. local Windows = Instance.new("Frame")
  85. local Viewport = Instance.new("ViewportFrame")
  86. local camera = Instance.new("Camera")
  87.  
  88. imgui.Name = "imgui"
  89. imgui.Parent = game:GetService("CoreGui")
  90.  
  91. Prefabs.Name = "Prefabs"
  92. Prefabs.Parent = imgui
  93. Prefabs.BackgroundColor3 = Color3.new(1, 1, 1)
  94. Prefabs.Size = UDim2.new(0, 100, 0, 100)
  95. Prefabs.Visible = false
  96.  
  97. Label.Name = "Label"
  98. Label.Parent = Prefabs
  99. Label.BackgroundColor3 = Color3.new(1, 1, 1)
  100. Label.BackgroundTransparency = 1
  101. Label.Size = UDim2.new(0, 200, 0, 20)
  102. Label.Font = Enum.Font.GothamSemibold
  103. Label.Text = "Hello, world 123"
  104. Label.TextColor3 = Color3.new(1, 1, 1)
  105. Label.TextSize = 14
  106. Label.TextXAlignment = Enum.TextXAlignment.Left
  107.  
  108. Window.Name = "Window"
  109. Window.Parent = Prefabs
  110. Window.Active = true
  111. Window.BackgroundColor3 = Color3.new(1, 1, 1)
  112. Window.BackgroundTransparency = 1
  113. Window.ClipsDescendants = true
  114. Window.Position = UDim2.new(0, 20, 0, 20)
  115. Window.Selectable = true
  116. Window.Size = UDim2.new(0, 200, 0, 200)
  117. Window.Image = "rbxassetid://2851926732"
  118. Window.ImageColor3 = Color3.new(0.0823529, 0.0862745, 0.0901961)
  119. Window.ScaleType = Enum.ScaleType.Slice
  120. Window.SliceCenter = Rect.new(12, 12, 12, 12)
  121.  
  122. Resizer.Name = "Resizer"
  123. Resizer.Parent = Window
  124. Resizer.Active = true
  125. Resizer.BackgroundColor3 = Color3.new(1, 1, 1)
  126. Resizer.BackgroundTransparency = 0.5
  127. Resizer.BorderSizePixel = 0
  128. Resizer.Position = UDim2.new(1, -20, 1, -20)
  129. Resizer.Size = UDim2.new(0, 20, 0, 20)
  130.  
  131. Bar.Name = "Bar"
  132. Bar.Parent = Window
  133. Bar.BackgroundColor3 = Color3.new(0.160784, 0.290196, 0.478431)
  134. Bar.BorderSizePixel = 0
  135. Bar.Position = UDim2.new(0, 0, 0, 5)
  136. Bar.Size = UDim2.new(1, 0, 0, 15)
  137.  
  138. Toggle.Name = "Toggle"
  139. Toggle.Parent = Bar
  140. Toggle.BackgroundColor3 = Color3.new(1, 1, 1)
  141. Toggle.BackgroundTransparency = 1
  142. Toggle.Position = UDim2.new(0, 5, 0, -2)
  143. Toggle.Rotation = 90
  144. Toggle.Size = UDim2.new(0, 20, 0, 20)
  145. Toggle.ZIndex = 2
  146. Toggle.Image = "https://www.roblox.com/Thumbs/Asset.ashx?width=420&height=420&assetId=4731371541"
  147.  
  148. Base.Name = "Base"
  149. Base.Parent = Bar
  150. Base.BackgroundColor3 = Color3.new(0.160784, 0.290196, 0.478431)
  151. Base.BorderSizePixel = 0
  152. Base.Position = UDim2.new(0, 0, 0.800000012, 0)
  153. Base.Size = UDim2.new(1, 0, 0, 10)
  154. Base.Image = "rbxassetid://2851926732"
  155. Base.ImageColor3 = Color3.new(0.160784, 0.290196, 0.478431)
  156. Base.ScaleType = Enum.ScaleType.Slice
  157. Base.SliceCenter = Rect.new(12, 12, 12, 12)
  158.  
  159. Top.Name = "Top"
  160. Top.Parent = Bar
  161. Top.BackgroundColor3 = Color3.new(1, 1, 1)
  162. Top.BackgroundTransparency = 1
  163. Top.Position = UDim2.new(0, 0, 0, -5)
  164. Top.Size = UDim2.new(1, 0, 0, 10)
  165. Top.Image = "rbxassetid://2851926732"
  166. Top.ImageColor3 = Color3.new(0.160784, 0.290196, 0.478431)
  167. Top.ScaleType = Enum.ScaleType.Slice
  168. Top.SliceCenter = Rect.new(12, 12, 12, 12)
  169.  
  170. Tabs.Name = "Tabs"
  171. Tabs.Parent = Window
  172. Tabs.BackgroundColor3 = Color3.new(1, 1, 1)
  173. Tabs.BackgroundTransparency = 1
  174. Tabs.Position = UDim2.new(0, 15, 0, 60)
  175. Tabs.Size = UDim2.new(1, -30, 1, -60)
  176.  
  177. Title.Name = "Title"
  178. Title.Parent = Window
  179. Title.BackgroundColor3 = Color3.new(1, 1, 1)
  180. Title.BackgroundTransparency = 1
  181. Title.Position = UDim2.new(0, 30, 0, 3)
  182. Title.Size = UDim2.new(0, 200, 0, 20)
  183. Title.Font = Enum.Font.GothamBold
  184. Title.Text = "Gamer Time"
  185. Title.TextColor3 = Color3.new(1, 1, 1)
  186. Title.TextSize = 14
  187. Title.TextXAlignment = Enum.TextXAlignment.Left
  188.  
  189. TabSelection.Name = "TabSelection"
  190. TabSelection.Parent = Window
  191. TabSelection.BackgroundColor3 = Color3.new(1, 1, 1)
  192. TabSelection.BackgroundTransparency = 1
  193. TabSelection.Position = UDim2.new(0, 15, 0, 30)
  194. TabSelection.Size = UDim2.new(1, -30, 0, 25)
  195. TabSelection.Visible = false
  196. TabSelection.Image = "rbxassetid://2851929490"
  197. TabSelection.ImageColor3 = Color3.new(0.145098, 0.14902, 0.156863)
  198. TabSelection.ScaleType = Enum.ScaleType.Slice
  199. TabSelection.SliceCenter = Rect.new(4, 4, 4, 4)
  200.  
  201. TabButtons.Name = "TabButtons"
  202. TabButtons.Parent = TabSelection
  203. TabButtons.BackgroundColor3 = Color3.new(1, 1, 1)
  204. TabButtons.BackgroundTransparency = 1
  205. TabButtons.Size = UDim2.new(1, 0, 1, 0)
  206.  
  207. UIListLayout.Parent = TabButtons
  208. UIListLayout.FillDirection = Enum.FillDirection.Horizontal
  209. UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  210. UIListLayout.Padding = UDim.new(0, 2)
  211.  
  212. Frame.Parent = TabSelection
  213. Frame.BackgroundColor3 = Color3.new(0.12549, 0.227451, 0.372549)
  214. Frame.BorderColor3 = Color3.new(0.105882, 0.164706, 0.207843)
  215. Frame.BorderSizePixel = 0
  216. Frame.Position = UDim2.new(0, 0, 1, 0)
  217. Frame.Size = UDim2.new(1, 0, 0, 2)
  218.  
  219. Tab.Name = "Tab"
  220. Tab.Parent = Prefabs
  221. Tab.BackgroundColor3 = Color3.new(1, 1, 1)
  222. Tab.BackgroundTransparency = 1
  223. Tab.Size = UDim2.new(1, 0, 1, 0)
  224. Tab.Visible = false
  225.  
  226. UIListLayout_2.Parent = Tab
  227. UIListLayout_2.SortOrder = Enum.SortOrder.LayoutOrder
  228. UIListLayout_2.Padding = UDim.new(0, 5)
  229.  
  230. TextBox.Parent = Prefabs
  231. TextBox.BackgroundColor3 = Color3.new(1, 1, 1)
  232. TextBox.BackgroundTransparency = 1
  233. TextBox.BorderSizePixel = 0
  234. TextBox.Size = UDim2.new(1, 0, 0, 20)
  235. TextBox.ZIndex = 2
  236. TextBox.Font = Enum.Font.GothamSemibold
  237. TextBox.PlaceholderColor3 = Color3.new(0.698039, 0.698039, 0.698039)
  238. TextBox.PlaceholderText = "Input Text"
  239. TextBox.Text = ""
  240. TextBox.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314)
  241. TextBox.TextSize = 14
  242.  
  243. TextBox_Roundify_4px.Name = "TextBox_Roundify_4px"
  244. TextBox_Roundify_4px.Parent = TextBox
  245. TextBox_Roundify_4px.BackgroundColor3 = Color3.new(1, 1, 1)
  246. TextBox_Roundify_4px.BackgroundTransparency = 1
  247. TextBox_Roundify_4px.Size = UDim2.new(1, 0, 1, 0)
  248. TextBox_Roundify_4px.Image = "rbxassetid://2851929490"
  249. TextBox_Roundify_4px.ImageColor3 = Color3.new(0.203922, 0.207843, 0.219608)
  250. TextBox_Roundify_4px.ScaleType = Enum.ScaleType.Slice
  251. TextBox_Roundify_4px.SliceCenter = Rect.new(4, 4, 4, 4)
  252.  
  253. Slider.Name = "Slider"
  254. Slider.Parent = Prefabs
  255. Slider.BackgroundColor3 = Color3.new(1, 1, 1)
  256. Slider.BackgroundTransparency = 1
  257. Slider.Position = UDim2.new(0, 0, 0.178571433, 0)
  258. Slider.Size = UDim2.new(1, 0, 0, 20)
  259. Slider.Image = "rbxassetid://2851929490"
  260. Slider.ImageColor3 = Color3.new(0.145098, 0.14902, 0.156863)
  261. Slider.ScaleType = Enum.ScaleType.Slice
  262. Slider.SliceCenter = Rect.new(4, 4, 4, 4)
  263.  
  264. Title_2.Name = "Title"
  265. Title_2.Parent = Slider
  266. Title_2.BackgroundColor3 = Color3.new(1, 1, 1)
  267. Title_2.BackgroundTransparency = 1
  268. Title_2.Position = UDim2.new(0.5, 0, 0.5, -10)
  269. Title_2.Size = UDim2.new(0, 0, 0, 20)
  270. Title_2.ZIndex = 2
  271. Title_2.Font = Enum.Font.GothamBold
  272. Title_2.Text = "Slider"
  273. Title_2.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314)
  274. Title_2.TextSize = 14
  275.  
  276. Indicator.Name = "Indicator"
  277. Indicator.Parent = Slider
  278. Indicator.BackgroundColor3 = Color3.new(1, 1, 1)
  279. Indicator.BackgroundTransparency = 1
  280. Indicator.Size = UDim2.new(0, 0, 0, 20)
  281. Indicator.Image = "rbxassetid://2851929490"
  282. Indicator.ImageColor3 = Color3.new(0.254902, 0.262745, 0.278431)
  283. Indicator.ScaleType = Enum.ScaleType.Slice
  284. Indicator.SliceCenter = Rect.new(4, 4, 4, 4)
  285.  
  286. Value.Name = "Value"
  287. Value.Parent = Slider
  288. Value.BackgroundColor3 = Color3.new(1, 1, 1)
  289. Value.BackgroundTransparency = 1
  290. Value.Position = UDim2.new(1, -55, 0.5, -10)
  291. Value.Size = UDim2.new(0, 50, 0, 20)
  292. Value.Font = Enum.Font.GothamBold
  293. Value.Text = "0%"
  294. Value.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314)
  295. Value.TextSize = 14
  296.  
  297. TextLabel.Parent = Slider
  298. TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
  299. TextLabel.BackgroundTransparency = 1
  300. TextLabel.Position = UDim2.new(1, -20, -0.75, 0)
  301. TextLabel.Size = UDim2.new(0, 26, 0, 50)
  302. TextLabel.Font = Enum.Font.GothamBold
  303. TextLabel.Text = "]"
  304. TextLabel.TextColor3 = Color3.new(0.627451, 0.627451, 0.627451)
  305. TextLabel.TextSize = 14
  306.  
  307. TextLabel_2.Parent = Slider
  308. TextLabel_2.BackgroundColor3 = Color3.new(1, 1, 1)
  309. TextLabel_2.BackgroundTransparency = 1
  310. TextLabel_2.Position = UDim2.new(1, -65, -0.75, 0)
  311. TextLabel_2.Size = UDim2.new(0, 26, 0, 50)
  312. TextLabel_2.Font = Enum.Font.GothamBold
  313. TextLabel_2.Text = "["
  314. TextLabel_2.TextColor3 = Color3.new(0.627451, 0.627451, 0.627451)
  315. TextLabel_2.TextSize = 14
  316.  
  317. Circle.Name = "Circle"
  318. Circle.Parent = Prefabs
  319. Circle.BackgroundColor3 = Color3.new(1, 1, 1)
  320. Circle.BackgroundTransparency = 1
  321. Circle.Image = "rbxassetid://266543268"
  322. Circle.ImageTransparency = 0.5
  323.  
  324. UIListLayout_3.Parent = Prefabs
  325. UIListLayout_3.FillDirection = Enum.FillDirection.Horizontal
  326. UIListLayout_3.SortOrder = Enum.SortOrder.LayoutOrder
  327. UIListLayout_3.Padding = UDim.new(0, 20)
  328.  
  329. Dropdown.Name = "Dropdown"
  330. Dropdown.Parent = Prefabs
  331. Dropdown.BackgroundColor3 = Color3.new(1, 1, 1)
  332. Dropdown.BackgroundTransparency = 1
  333. Dropdown.BorderSizePixel = 0
  334. Dropdown.Position = UDim2.new(-0.055555556, 0, 0.0833333284, 0)
  335. Dropdown.Size = UDim2.new(0, 200, 0, 20)
  336. Dropdown.ZIndex = 2
  337. Dropdown.Font = Enum.Font.GothamBold
  338. Dropdown.Text = " Dropdown"
  339. Dropdown.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314)
  340. Dropdown.TextSize = 14
  341. Dropdown.TextXAlignment = Enum.TextXAlignment.Left
  342.  
  343. Indicator_2.Name = "Indicator"
  344. Indicator_2.Parent = Dropdown
  345. Indicator_2.BackgroundColor3 = Color3.new(1, 1, 1)
  346. Indicator_2.BackgroundTransparency = 1
  347. Indicator_2.Position = UDim2.new(0.899999976, -10, 0.100000001, 0)
  348. Indicator_2.Rotation = -90
  349. Indicator_2.Size = UDim2.new(0, 15, 0, 15)
  350. Indicator_2.ZIndex = 2
  351. Indicator_2.Image = "https://www.roblox.com/Thumbs/Asset.ashx?width=420&height=420&assetId=4744658743"
  352.  
  353. Box.Name = "Box"
  354. Box.Parent = Dropdown
  355. Box.BackgroundColor3 = Color3.new(1, 1, 1)
  356. Box.BackgroundTransparency = 1
  357. Box.Position = UDim2.new(0, 0, 0, 25)
  358. Box.Size = UDim2.new(1, 0, 0, 150)
  359. Box.ZIndex = 3
  360. Box.Image = "rbxassetid://2851929490"
  361. Box.ImageColor3 = Color3.new(0.129412, 0.133333, 0.141176)
  362. Box.ScaleType = Enum.ScaleType.Slice
  363. Box.SliceCenter = Rect.new(4, 4, 4, 4)
  364.  
  365. Objects.Name = "Objects"
  366. Objects.Parent = Box
  367. Objects.BackgroundColor3 = Color3.new(1, 1, 1)
  368. Objects.BackgroundTransparency = 1
  369. Objects.BorderSizePixel = 0
  370. Objects.Size = UDim2.new(1, 0, 1, 0)
  371. Objects.ZIndex = 3
  372. Objects.CanvasSize = UDim2.new(0, 0, 0, 0)
  373. Objects.ScrollBarThickness = 8
  374.  
  375. UIListLayout_4.Parent = Objects
  376. UIListLayout_4.SortOrder = Enum.SortOrder.LayoutOrder
  377.  
  378. TextButton_Roundify_4px.Name = "TextButton_Roundify_4px"
  379. TextButton_Roundify_4px.Parent = Dropdown
  380. TextButton_Roundify_4px.BackgroundColor3 = Color3.new(1, 1, 1)
  381. TextButton_Roundify_4px.BackgroundTransparency = 1
  382. TextButton_Roundify_4px.Size = UDim2.new(1, 0, 1, 0)
  383. TextButton_Roundify_4px.Image = "rbxassetid://2851929490"
  384. TextButton_Roundify_4px.ImageColor3 = Color3.new(0.203922, 0.207843, 0.219608)
  385. TextButton_Roundify_4px.ScaleType = Enum.ScaleType.Slice
  386. TextButton_Roundify_4px.SliceCenter = Rect.new(4, 4, 4, 4)
  387.  
  388. TabButton.Name = "TabButton"
  389. TabButton.Parent = Prefabs
  390. TabButton.BackgroundColor3 = Color3.new(0.160784, 0.290196, 0.478431)
  391. TabButton.BackgroundTransparency = 1
  392. TabButton.BorderSizePixel = 0
  393. TabButton.Position = UDim2.new(0.185185179, 0, 0, 0)
  394. TabButton.Size = UDim2.new(0, 71, 0, 20)
  395. TabButton.ZIndex = 2
  396. TabButton.Font = Enum.Font.GothamSemibold
  397. TabButton.Text = "Test tab"
  398. TabButton.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314)
  399. TabButton.TextSize = 14
  400.  
  401. TextButton_Roundify_4px_2.Name = "TextButton_Roundify_4px"
  402. TextButton_Roundify_4px_2.Parent = TabButton
  403. TextButton_Roundify_4px_2.BackgroundColor3 = Color3.new(1, 1, 1)
  404. TextButton_Roundify_4px_2.BackgroundTransparency = 1
  405. TextButton_Roundify_4px_2.Size = UDim2.new(1, 0, 1, 0)
  406. TextButton_Roundify_4px_2.Image = "rbxassetid://2851929490"
  407. TextButton_Roundify_4px_2.ImageColor3 = Color3.new(0.203922, 0.207843, 0.219608)
  408. TextButton_Roundify_4px_2.ScaleType = Enum.ScaleType.Slice
  409. TextButton_Roundify_4px_2.SliceCenter = Rect.new(4, 4, 4, 4)
  410.  
  411. Folder.Name = "Folder"
  412. Folder.Parent = Prefabs
  413. Folder.BackgroundColor3 = Color3.new(1, 1, 1)
  414. Folder.BackgroundTransparency = 1
  415. Folder.Position = UDim2.new(0, 0, 0, 50)
  416. Folder.Size = UDim2.new(1, 0, 0, 20)
  417. Folder.Image = "rbxassetid://2851929490"
  418. Folder.ImageColor3 = Color3.new(0.0823529, 0.0862745, 0.0901961)
  419. Folder.ScaleType = Enum.ScaleType.Slice
  420. Folder.SliceCenter = Rect.new(4, 4, 4, 4)
  421.  
  422. Button.Name = "Button"
  423. Button.Parent = Folder
  424. Button.BackgroundColor3 = Color3.new(0.160784, 0.290196, 0.478431)
  425. Button.BackgroundTransparency = 1
  426. Button.BorderSizePixel = 0
  427. Button.Size = UDim2.new(1, 0, 0, 20)
  428. Button.ZIndex = 2
  429. Button.Font = Enum.Font.GothamSemibold
  430. Button.Text = " Folder"
  431. Button.TextColor3 = Color3.new(1, 1, 1)
  432. Button.TextSize = 14
  433. Button.TextXAlignment = Enum.TextXAlignment.Left
  434.  
  435. TextButton_Roundify_4px_3.Name = "TextButton_Roundify_4px"
  436. TextButton_Roundify_4px_3.Parent = Button
  437. TextButton_Roundify_4px_3.BackgroundColor3 = Color3.new(1, 1, 1)
  438. TextButton_Roundify_4px_3.BackgroundTransparency = 1
  439. TextButton_Roundify_4px_3.Size = UDim2.new(1, 0, 1, 0)
  440. TextButton_Roundify_4px_3.Image = "rbxassetid://2851929490"
  441. TextButton_Roundify_4px_3.ImageColor3 = Color3.new(0.160784, 0.290196, 0.478431)
  442. TextButton_Roundify_4px_3.ScaleType = Enum.ScaleType.Slice
  443. TextButton_Roundify_4px_3.SliceCenter = Rect.new(4, 4, 4, 4)
  444.  
  445. Toggle_2.Name = "Toggle"
  446. Toggle_2.Parent = Button
  447. Toggle_2.BackgroundColor3 = Color3.new(1, 1, 1)
  448. Toggle_2.BackgroundTransparency = 1
  449. Toggle_2.Position = UDim2.new(0, 5, 0, 0)
  450. Toggle_2.Size = UDim2.new(0, 20, 0, 20)
  451. Toggle_2.Image = "https://www.roblox.com/Thumbs/Asset.ashx?width=420&height=420&assetId=4731371541"
  452.  
  453. Objects_2.Name = "Objects"
  454. Objects_2.Parent = Folder
  455. Objects_2.BackgroundColor3 = Color3.new(1, 1, 1)
  456. Objects_2.BackgroundTransparency = 1
  457. Objects_2.Position = UDim2.new(0, 10, 0, 25)
  458. Objects_2.Size = UDim2.new(1, -10, 1, -25)
  459. Objects_2.Visible = false
  460.  
  461. UIListLayout_5.Parent = Objects_2
  462. UIListLayout_5.SortOrder = Enum.SortOrder.LayoutOrder
  463. UIListLayout_5.Padding = UDim.new(0, 5)
  464.  
  465. HorizontalAlignment.Name = "HorizontalAlignment"
  466. HorizontalAlignment.Parent = Prefabs
  467. HorizontalAlignment.BackgroundColor3 = Color3.new(1, 1, 1)
  468. HorizontalAlignment.BackgroundTransparency = 1
  469. HorizontalAlignment.Size = UDim2.new(1, 0, 0, 20)
  470.  
  471. UIListLayout_6.Parent = HorizontalAlignment
  472. UIListLayout_6.FillDirection = Enum.FillDirection.Horizontal
  473. UIListLayout_6.SortOrder = Enum.SortOrder.LayoutOrder
  474. UIListLayout_6.Padding = UDim.new(0, 5)
  475.  
  476. Console.Name = "Console"
  477. Console.Parent = Prefabs
  478. Console.BackgroundColor3 = Color3.new(1, 1, 1)
  479. Console.BackgroundTransparency = 1
  480. Console.Size = UDim2.new(1, 0, 0, 200)
  481. Console.Image = "rbxassetid://2851928141"
  482. Console.ImageColor3 = Color3.new(0.129412, 0.133333, 0.141176)
  483. Console.ScaleType = Enum.ScaleType.Slice
  484. Console.SliceCenter = Rect.new(8, 8, 8, 8)
  485.  
  486. ScrollingFrame.Parent = Console
  487. ScrollingFrame.BackgroundColor3 = Color3.new(1, 1, 1)
  488. ScrollingFrame.BackgroundTransparency = 1
  489. ScrollingFrame.BorderSizePixel = 0
  490. ScrollingFrame.Size = UDim2.new(1, 0, 1, 1)
  491. ScrollingFrame.CanvasSize = UDim2.new(0, 0, 0, 0)
  492. ScrollingFrame.ScrollBarThickness = 4
  493.  
  494. Source.Name = "Source"
  495. Source.Parent = ScrollingFrame
  496. Source.BackgroundColor3 = Color3.new(1, 1, 1)
  497. Source.BackgroundTransparency = 1
  498. Source.Position = UDim2.new(0, 40, 0, 0)
  499. Source.Size = UDim2.new(1, -40, 0, 10000)
  500. Source.ZIndex = 3
  501. Source.ClearTextOnFocus = false
  502. Source.Font = Enum.Font.Code
  503. Source.MultiLine = true
  504. Source.PlaceholderColor3 = Color3.new(0.8, 0.8, 0.8)
  505. Source.Text = ""
  506. Source.TextColor3 = Color3.new(1, 1, 1)
  507. Source.TextSize = 15
  508. Source.TextStrokeColor3 = Color3.new(1, 1, 1)
  509. Source.TextWrapped = true
  510. Source.TextXAlignment = Enum.TextXAlignment.Left
  511. Source.TextYAlignment = Enum.TextYAlignment.Top
  512.  
  513. Comments.Name = "Comments"
  514. Comments.Parent = Source
  515. Comments.BackgroundColor3 = Color3.new(1, 1, 1)
  516. Comments.BackgroundTransparency = 1
  517. Comments.Size = UDim2.new(1, 0, 1, 0)
  518. Comments.ZIndex = 5
  519. Comments.Font = Enum.Font.Code
  520. Comments.Text = ""
  521. Comments.TextColor3 = Color3.new(0.231373, 0.784314, 0.231373)
  522. Comments.TextSize = 15
  523. Comments.TextXAlignment = Enum.TextXAlignment.Left
  524. Comments.TextYAlignment = Enum.TextYAlignment.Top
  525.  
  526. Globals.Name = "Globals"
  527. Globals.Parent = Source
  528. Globals.BackgroundColor3 = Color3.new(1, 1, 1)
  529. Globals.BackgroundTransparency = 1
  530. Globals.Size = UDim2.new(1, 0, 1, 0)
  531. Globals.ZIndex = 5
  532. Globals.Font = Enum.Font.Code
  533. Globals.Text = ""
  534. Globals.TextColor3 = Color3.new(0.517647, 0.839216, 0.968628)
  535. Globals.TextSize = 15
  536. Globals.TextXAlignment = Enum.TextXAlignment.Left
  537. Globals.TextYAlignment = Enum.TextYAlignment.Top
  538.  
  539. Keywords.Name = "Keywords"
  540. Keywords.Parent = Source
  541. Keywords.BackgroundColor3 = Color3.new(1, 1, 1)
  542. Keywords.BackgroundTransparency = 1
  543. Keywords.Size = UDim2.new(1, 0, 1, 0)
  544. Keywords.ZIndex = 5
  545. Keywords.Font = Enum.Font.Code
  546. Keywords.Text = ""
  547. Keywords.TextColor3 = Color3.new(0.972549, 0.427451, 0.486275)
  548. Keywords.TextSize = 15
  549. Keywords.TextXAlignment = Enum.TextXAlignment.Left
  550. Keywords.TextYAlignment = Enum.TextYAlignment.Top
  551.  
  552. RemoteHighlight.Name = "RemoteHighlight"
  553. RemoteHighlight.Parent = Source
  554. RemoteHighlight.BackgroundColor3 = Color3.new(1, 1, 1)
  555. RemoteHighlight.BackgroundTransparency = 1
  556. RemoteHighlight.Size = UDim2.new(1, 0, 1, 0)
  557. RemoteHighlight.ZIndex = 5
  558. RemoteHighlight.Font = Enum.Font.Code
  559. RemoteHighlight.Text = ""
  560. RemoteHighlight.TextColor3 = Color3.new(0, 0.568627, 1)
  561. RemoteHighlight.TextSize = 15
  562. RemoteHighlight.TextXAlignment = Enum.TextXAlignment.Left
  563. RemoteHighlight.TextYAlignment = Enum.TextYAlignment.Top
  564.  
  565. Strings.Name = "Strings"
  566. Strings.Parent = Source
  567. Strings.BackgroundColor3 = Color3.new(1, 1, 1)
  568. Strings.BackgroundTransparency = 1
  569. Strings.Size = UDim2.new(1, 0, 1, 0)
  570. Strings.ZIndex = 5
  571. Strings.Font = Enum.Font.Code
  572. Strings.Text = ""
  573. Strings.TextColor3 = Color3.new(0.678431, 0.945098, 0.584314)
  574. Strings.TextSize = 15
  575. Strings.TextXAlignment = Enum.TextXAlignment.Left
  576. Strings.TextYAlignment = Enum.TextYAlignment.Top
  577.  
  578. Tokens.Name = "Tokens"
  579. Tokens.Parent = Source
  580. Tokens.BackgroundColor3 = Color3.new(1, 1, 1)
  581. Tokens.BackgroundTransparency = 1
  582. Tokens.Size = UDim2.new(1, 0, 1, 0)
  583. Tokens.ZIndex = 5
  584. Tokens.Font = Enum.Font.Code
  585. Tokens.Text = ""
  586. Tokens.TextColor3 = Color3.new(1, 1, 1)
  587. Tokens.TextSize = 15
  588. Tokens.TextXAlignment = Enum.TextXAlignment.Left
  589. Tokens.TextYAlignment = Enum.TextYAlignment.Top
  590.  
  591. Numbers.Name = "Numbers"
  592. Numbers.Parent = Source
  593. Numbers.BackgroundColor3 = Color3.new(1, 1, 1)
  594. Numbers.BackgroundTransparency = 1
  595. Numbers.Size = UDim2.new(1, 0, 1, 0)
  596. Numbers.ZIndex = 4
  597. Numbers.Font = Enum.Font.Code
  598. Numbers.Text = ""
  599. Numbers.TextColor3 = Color3.new(1, 0.776471, 0)
  600. Numbers.TextSize = 15
  601. Numbers.TextXAlignment = Enum.TextXAlignment.Left
  602. Numbers.TextYAlignment = Enum.TextYAlignment.Top
  603.  
  604. Info.Name = "Info"
  605. Info.Parent = Source
  606. Info.BackgroundColor3 = Color3.new(1, 1, 1)
  607. Info.BackgroundTransparency = 1
  608. Info.Size = UDim2.new(1, 0, 1, 0)
  609. Info.ZIndex = 5
  610. Info.Font = Enum.Font.Code
  611. Info.Text = ""
  612. Info.TextColor3 = Color3.new(0, 0.635294, 1)
  613. Info.TextSize = 15
  614. Info.TextXAlignment = Enum.TextXAlignment.Left
  615. Info.TextYAlignment = Enum.TextYAlignment.Top
  616.  
  617. Lines.Name = "Lines"
  618. Lines.Parent = ScrollingFrame
  619. Lines.BackgroundColor3 = Color3.new(1, 1, 1)
  620. Lines.BackgroundTransparency = 1
  621. Lines.BorderSizePixel = 0
  622. Lines.Size = UDim2.new(0, 40, 0, 10000)
  623. Lines.ZIndex = 4
  624. Lines.Font = Enum.Font.Code
  625. Lines.Text = "1\n"
  626. Lines.TextColor3 = Color3.new(1, 1, 1)
  627. Lines.TextSize = 15
  628. Lines.TextWrapped = true
  629. Lines.TextYAlignment = Enum.TextYAlignment.Top
  630.  
  631. ColorPicker.Name = "ColorPicker"
  632. ColorPicker.Parent = Prefabs
  633. ColorPicker.BackgroundColor3 = Color3.new(1, 1, 1)
  634. ColorPicker.BackgroundTransparency = 1
  635. ColorPicker.Size = UDim2.new(0, 180, 0, 110)
  636. ColorPicker.Image = "rbxassetid://2851929490"
  637. ColorPicker.ImageColor3 = Color3.new(0.203922, 0.207843, 0.219608)
  638. ColorPicker.ScaleType = Enum.ScaleType.Slice
  639. ColorPicker.SliceCenter = Rect.new(4, 4, 4, 4)
  640.  
  641. Palette.Name = "Palette"
  642. Palette.Parent = ColorPicker
  643. Palette.BackgroundColor3 = Color3.new(1, 1, 1)
  644. Palette.BackgroundTransparency = 1
  645. Palette.Position = UDim2.new(0.0500000007, 0, 0.0500000007, 0)
  646. Palette.Size = UDim2.new(0, 100, 0, 100)
  647. Palette.Image = "rbxassetid://698052001"
  648. Palette.ScaleType = Enum.ScaleType.Slice
  649. Palette.SliceCenter = Rect.new(4, 4, 4, 4)
  650.  
  651. Indicator_3.Name = "Indicator"
  652. Indicator_3.Parent = Palette
  653. Indicator_3.BackgroundColor3 = Color3.new(1, 1, 1)
  654. Indicator_3.BackgroundTransparency = 1
  655. Indicator_3.Size = UDim2.new(0, 5, 0, 5)
  656. Indicator_3.ZIndex = 2
  657. Indicator_3.Image = "rbxassetid://2851926732"
  658. Indicator_3.ImageColor3 = Color3.new(0, 0, 0)
  659. Indicator_3.ScaleType = Enum.ScaleType.Slice
  660. Indicator_3.SliceCenter = Rect.new(12, 12, 12, 12)
  661.  
  662. Sample.Name = "Sample"
  663. Sample.Parent = ColorPicker
  664. Sample.BackgroundColor3 = Color3.new(1, 1, 1)
  665. Sample.BackgroundTransparency = 1
  666. Sample.Position = UDim2.new(0.800000012, 0, 0.0500000007, 0)
  667. Sample.Size = UDim2.new(0, 25, 0, 25)
  668. Sample.Image = "rbxassetid://2851929490"
  669. Sample.ScaleType = Enum.ScaleType.Slice
  670. Sample.SliceCenter = Rect.new(4, 4, 4, 4)
  671.  
  672. Saturation.Name = "Saturation"
  673. Saturation.Parent = ColorPicker
  674. Saturation.BackgroundColor3 = Color3.new(1, 1, 1)
  675. Saturation.Position = UDim2.new(0.649999976, 0, 0.0500000007, 0)
  676. Saturation.Size = UDim2.new(0, 15, 0, 100)
  677. Saturation.Image = "rbxassetid://3641079629"
  678.  
  679. Indicator_4.Name = "Indicator"
  680. Indicator_4.Parent = Saturation
  681. Indicator_4.BackgroundColor3 = Color3.new(1, 1, 1)
  682. Indicator_4.BorderSizePixel = 0
  683. Indicator_4.Size = UDim2.new(0, 20, 0, 2)
  684. Indicator_4.ZIndex = 2
  685.  
  686. Switch.Name = "Switch"
  687. Switch.Parent = Prefabs
  688. Switch.BackgroundColor3 = Color3.new(1, 1, 1)
  689. Switch.BackgroundTransparency = 1
  690. Switch.BorderSizePixel = 0
  691. Switch.Position = UDim2.new(0.229411766, 0, 0.20714286, 0)
  692. Switch.Size = UDim2.new(0, 20, 0, 20)
  693. Switch.ZIndex = 2
  694. Switch.Font = Enum.Font.SourceSans
  695. Switch.Text = ""
  696. Switch.TextColor3 = Color3.new(1, 1, 1)
  697. Switch.TextSize = 18
  698.  
  699. TextButton_Roundify_4px_4.Name = "TextButton_Roundify_4px"
  700. TextButton_Roundify_4px_4.Parent = Switch
  701. TextButton_Roundify_4px_4.BackgroundColor3 = Color3.new(1, 1, 1)
  702. TextButton_Roundify_4px_4.BackgroundTransparency = 1
  703. TextButton_Roundify_4px_4.Size = UDim2.new(1, 0, 1, 0)
  704. TextButton_Roundify_4px_4.Image = "rbxassetid://2851929490"
  705. TextButton_Roundify_4px_4.ImageColor3 = Color3.new(0.160784, 0.290196, 0.478431)
  706. TextButton_Roundify_4px_4.ImageTransparency = 0.5
  707. TextButton_Roundify_4px_4.ScaleType = Enum.ScaleType.Slice
  708. TextButton_Roundify_4px_4.SliceCenter = Rect.new(4, 4, 4, 4)
  709.  
  710. Title_3.Name = "Title"
  711. Title_3.Parent = Switch
  712. Title_3.BackgroundColor3 = Color3.new(1, 1, 1)
  713. Title_3.BackgroundTransparency = 1
  714. Title_3.Position = UDim2.new(1.20000005, 0, 0, 0)
  715. Title_3.Size = UDim2.new(0, 20, 0, 20)
  716. Title_3.Font = Enum.Font.GothamSemibold
  717. Title_3.Text = "Switch"
  718. Title_3.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314)
  719. Title_3.TextSize = 14
  720. Title_3.TextXAlignment = Enum.TextXAlignment.Left
  721.  
  722. Button_2.Name = "Button"
  723. Button_2.Parent = Prefabs
  724. Button_2.BackgroundColor3 = Color3.new(0.160784, 0.290196, 0.478431)
  725. Button_2.BackgroundTransparency = 1
  726. Button_2.BorderSizePixel = 0
  727. Button_2.Size = UDim2.new(0, 91, 0, 20)
  728. Button_2.ZIndex = 2
  729. Button_2.Font = Enum.Font.GothamSemibold
  730. Button_2.TextColor3 = Color3.new(1, 1, 1)
  731. Button_2.TextSize = 14
  732.  
  733. TextButton_Roundify_4px_5.Name = "TextButton_Roundify_4px"
  734. TextButton_Roundify_4px_5.Parent = Button_2
  735. TextButton_Roundify_4px_5.BackgroundColor3 = Color3.new(1, 1, 1)
  736. TextButton_Roundify_4px_5.BackgroundTransparency = 1
  737. TextButton_Roundify_4px_5.Size = UDim2.new(1, 0, 1, 0)
  738. TextButton_Roundify_4px_5.Image = "rbxassetid://2851929490"
  739. TextButton_Roundify_4px_5.ImageColor3 = Color3.new(0.160784, 0.290196, 0.478431)
  740. TextButton_Roundify_4px_5.ScaleType = Enum.ScaleType.Slice
  741. TextButton_Roundify_4px_5.SliceCenter = Rect.new(4, 4, 4, 4)
  742.  
  743. DropdownButton.Name = "DropdownButton"
  744. DropdownButton.Parent = Prefabs
  745. DropdownButton.BackgroundColor3 = Color3.new(0.129412, 0.133333, 0.141176)
  746. DropdownButton.BorderSizePixel = 0
  747. DropdownButton.Size = UDim2.new(1, 0, 0, 20)
  748. DropdownButton.ZIndex = 3
  749. DropdownButton.Font = Enum.Font.GothamBold
  750. DropdownButton.Text = " Button"
  751. DropdownButton.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314)
  752. DropdownButton.TextSize = 14
  753. DropdownButton.TextXAlignment = Enum.TextXAlignment.Left
  754.  
  755. Keybind.Name = "Keybind"
  756. Keybind.Parent = Prefabs
  757. Keybind.BackgroundColor3 = Color3.new(1, 1, 1)
  758. Keybind.BackgroundTransparency = 1
  759. Keybind.Size = UDim2.new(0, 200, 0, 20)
  760. Keybind.Image = "rbxassetid://2851929490"
  761. Keybind.ImageColor3 = Color3.new(0.203922, 0.207843, 0.219608)
  762. Keybind.ScaleType = Enum.ScaleType.Slice
  763. Keybind.SliceCenter = Rect.new(4, 4, 4, 4)
  764.  
  765. Title_4.Name = "Title"
  766. Title_4.Parent = Keybind
  767. Title_4.BackgroundColor3 = Color3.new(1, 1, 1)
  768. Title_4.BackgroundTransparency = 1
  769. Title_4.Size = UDim2.new(0, 0, 1, 0)
  770. Title_4.Font = Enum.Font.GothamBold
  771. Title_4.Text = "Keybind"
  772. Title_4.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314)
  773. Title_4.TextSize = 14
  774. Title_4.TextXAlignment = Enum.TextXAlignment.Left
  775.  
  776. Input.Name = "Input"
  777. Input.Parent = Keybind
  778. Input.BackgroundColor3 = Color3.new(1, 1, 1)
  779. Input.BackgroundTransparency = 1
  780. Input.BorderSizePixel = 0
  781. Input.Position = UDim2.new(1, -85, 0, 2)
  782. Input.Size = UDim2.new(0, 80, 1, -4)
  783. Input.ZIndex = 2
  784. Input.Font = Enum.Font.GothamSemibold
  785. Input.Text = "RShift"
  786. Input.TextColor3 = Color3.new(0.784314, 0.784314, 0.784314)
  787. Input.TextSize = 12
  788. Input.TextWrapped = true
  789.  
  790. Input_Roundify_4px.Name = "Input_Roundify_4px"
  791. Input_Roundify_4px.Parent = Input
  792. Input_Roundify_4px.BackgroundColor3 = Color3.new(1, 1, 1)
  793. Input_Roundify_4px.BackgroundTransparency = 1
  794. Input_Roundify_4px.Size = UDim2.new(1, 0, 1, 0)
  795. Input_Roundify_4px.Image = "rbxassetid://2851929490"
  796. Input_Roundify_4px.ImageColor3 = Color3.new(0.290196, 0.294118, 0.313726)
  797. Input_Roundify_4px.ScaleType = Enum.ScaleType.Slice
  798. Input_Roundify_4px.SliceCenter = Rect.new(4, 4, 4, 4)
  799.  
  800. Windows.Name = "Windows"
  801. Windows.Parent = imgui
  802. Windows.BackgroundColor3 = Color3.new(1, 1, 1)
  803. Windows.BackgroundTransparency = 1
  804. Windows.Position = UDim2.new(0, 20, 0, 20)
  805. Windows.Size = UDim2.new(1, 20, 1, -20)
  806.  
  807. Viewport.Name = "Viewport"
  808. Viewport.Parent = Prefabs
  809. Viewport.BackgroundTransparency = 0.5
  810. Viewport.BackgroundColor3 = Color3.new(1,1,1)
  811. Viewport.Size = UDim2.new(0, 200, 0, 200)
  812.  
  813. camera.Parent = Viewport
  814. camera.CameraType = Enum.CameraType.Scriptable
  815.  
  816. --[[ Script ]]--
  817. script.Parent = imgui
  818.  
  819. local UIS = game:GetService("UserInputService")
  820. local TweenService = game:GetService("TweenService")
  821. local RS = game:GetService("RunService")
  822. local ps = game:GetService("Players")
  823.  
  824. local p = ps.LocalPlayer
  825. local mouse = p:GetMouse()
  826.  
  827. local Prefabs = script.Parent:WaitForChild("Prefabs")
  828. local Windows = script.Parent:FindFirstChild("Windows")
  829.  
  830. local checks = {
  831. ["binding"] = false,
  832. }
  833.  
  834. UIS.InputBegan:Connect(function(input, gameProcessed)
  835. if input.KeyCode == ((typeof(ui_options.toggle_key) == "EnumItem") and ui_options.toggle_key or Enum.KeyCode.RightShift) then
  836. if script.Parent then
  837. if not checks.binding then
  838. script.Parent.Enabled = not script.Parent.Enabled
  839. end
  840. end
  841. end
  842. end)
  843.  
  844. local function Resize(part, new, _delay)
  845. _delay = _delay or 0.5
  846. local tweenInfo = TweenInfo.new(_delay, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
  847. local tween = TweenService:Create(part, tweenInfo, new)
  848. tween:Play()
  849. end
  850.  
  851. local function rgbtohsv(r, g, b) -- idk who made this function, but thanks
  852. r, g, b = r / 255, g / 255, b / 255
  853. local max, min = math.max(r, g, b), math.min(r, g, b)
  854. local h, s, v
  855. v = max
  856.  
  857. local d = max - min
  858. if max == 0 then
  859. s = 0
  860. else
  861. s = d / max
  862. end
  863.  
  864. if max == min then
  865. h = 0
  866. else
  867. if max == r then
  868. h = (g - b) / d
  869. if g < b then
  870. h = h + 6
  871. end
  872. elseif max == g then
  873. h = (b - r) / d + 2
  874. elseif max == b then
  875. h = (r - g) / d + 4
  876. end
  877. h = h / 6
  878. end
  879.  
  880. return h, s, v
  881. end
  882.  
  883. local function hasprop(object, prop)
  884. local a, b = pcall(function()
  885. return object[tostring(prop)]
  886. end)
  887. if a then
  888. return b
  889. end
  890. end
  891.  
  892. local function gNameLen(obj)
  893. return obj.TextBounds.X + 15
  894. end
  895.  
  896. local function gMouse()
  897. return Vector2.new(UIS:GetMouseLocation().X + 1, UIS:GetMouseLocation().Y - 35)
  898. end
  899.  
  900. local function ripple(button, x, y)
  901. spawn(function()
  902. button.ClipsDescendants = true
  903.  
  904. local circle = Prefabs:FindFirstChild("Circle"):Clone()
  905.  
  906. circle.Parent = button
  907. circle.ZIndex = 1000
  908.  
  909. local new_x = x - circle.AbsolutePosition.X
  910. local new_y = y - circle.AbsolutePosition.Y
  911. circle.Position = UDim2.new(0, new_x, 0, new_y)
  912.  
  913. local size = 0
  914. if button.AbsoluteSize.X > button.AbsoluteSize.Y then
  915. size = button.AbsoluteSize.X * 1.5
  916. elseif button.AbsoluteSize.X < button.AbsoluteSize.Y then
  917. size = button.AbsoluteSize.Y * 1.5
  918. elseif button.AbsoluteSize.X == button.AbsoluteSize.Y then
  919. size = button.AbsoluteSize.X * 1.5
  920. end
  921.  
  922. circle:TweenSizeAndPosition(UDim2.new(0, size, 0, size), UDim2.new(0.5, -size / 2, 0.5, -size / 2), "Out", "Quad", 0.5, false, nil)
  923. Resize(circle, {ImageTransparency = 1}, 0.5)
  924.  
  925. wait(0.5)
  926. circle:Destroy()
  927. end)
  928. end
  929.  
  930. local windows = 0
  931. local library = {}
  932.  
  933. local function format_windows()
  934. local ull = Prefabs:FindFirstChild("UIListLayout"):Clone()
  935. ull.Parent = Windows
  936. local data = {}
  937.  
  938. for i,v in next, Windows:GetChildren() do
  939. if not (v:IsA("UIListLayout")) then
  940. data[v] = v.AbsolutePosition
  941. end
  942. end
  943.  
  944. ull:Destroy()
  945.  
  946. for i,v in next, data do
  947. i.Position = UDim2.new(0, v.X, 0, v.Y)
  948. end
  949. end
  950.  
  951. function library:FormatWindows()
  952. format_windows()
  953. end
  954.  
  955. function library:AddWindow(title, options)
  956. windows = windows + 1
  957. local dropdown_open = false
  958. title = tostring(title or "New Window")
  959. options = (typeof(options) == "table") and options or ui_options
  960. options = {
  961. ["main_color"] = (options and options.main_color) or ui_options.main_color,
  962. ["min_size"] = (options and options.min_size) or ui_options.min_size,
  963. ["toggle_key"] = (options and options.toggle_key) or ui_options.toggle_key,
  964. ["can_resize"] = (options and options.can_resize) or ui_options.can_resize,
  965. }
  966. options.tween_time = 0.1
  967.  
  968. local Window = Prefabs:FindFirstChild("Window"):Clone()
  969. Window.Parent = Windows
  970. Window:FindFirstChild("Title").Text = title
  971. Window.Size = UDim2.new(0, options.min_size.X, 0, options.min_size.Y)
  972. Window.ZIndex = Window.ZIndex + (windows * 10)
  973.  
  974. do -- Altering Window Color
  975. local Title = Window:FindFirstChild("Title")
  976. local Bar = Window:FindFirstChild("Bar")
  977. local Base = Bar:FindFirstChild("Base")
  978. local Top = Bar:FindFirstChild("Top")
  979. local SplitFrame = Window:FindFirstChild("TabSelection"):FindFirstChild("Frame")
  980. local Toggle = Bar:FindFirstChild("Toggle")
  981.  
  982. spawn(function()
  983. while true do
  984. Bar.BackgroundColor3 = options.main_color
  985. Base.BackgroundColor3 = options.main_color
  986. Base.ImageColor3 = options.main_color
  987. Top.ImageColor3 = options.main_color
  988. SplitFrame.BackgroundColor3 = options.main_color
  989.  
  990. RS.Heartbeat:Wait()
  991. end
  992. end)
  993.  
  994. end
  995.  
  996. local Resizer = Window:WaitForChild("Resizer")
  997.  
  998. local window_data = {}
  999. Window.Draggable = true
  1000.  
  1001. do -- Resize Window
  1002. local oldIcon = mouse.Icon
  1003. local Entered = false
  1004. Resizer.MouseEnter:Connect(function()
  1005. Window.Draggable = false
  1006. if options.can_resize then
  1007. oldIcon = mouse.Icon
  1008. -- mouse.Icon = "http://www.roblox.com/asset?id=4745131330"
  1009. end
  1010. Entered = true
  1011. end)
  1012.  
  1013. Resizer.MouseLeave:Connect(function()
  1014. Entered = false
  1015. if options.can_resize then
  1016. mouse.Icon = oldIcon
  1017. end
  1018. Window.Draggable = true
  1019. end)
  1020.  
  1021. local Held = false
  1022. UIS.InputBegan:Connect(function(inputObject)
  1023. if inputObject.UserInputType == Enum.UserInputType.MouseButton1 then
  1024. Held = true
  1025.  
  1026. spawn(function() -- Loop check
  1027. if Entered and Resizer.Active and options.can_resize then
  1028. while Held and Resizer.Active do
  1029.  
  1030. local mouse_location = gMouse()
  1031. local x = mouse_location.X - Window.AbsolutePosition.X
  1032. local y = mouse_location.Y - Window.AbsolutePosition.Y
  1033.  
  1034. --
  1035. if x >= options.min_size.X and y >= options.min_size.Y then
  1036. Resize(Window, {Size = UDim2.new(0, x, 0, y)}, options.tween_time)
  1037. elseif x >= options.min_size.X then
  1038. Resize(Window, {Size = UDim2.new(0, x, 0, options.min_size.Y)}, options.tween_time)
  1039. elseif y >= options.min_size.Y then
  1040. Resize(Window, {Size = UDim2.new(0, options.min_size.X, 0, y)}, options.tween_time)
  1041. else
  1042. Resize(Window, {Size = UDim2.new(0, options.min_size.X, 0, options.min_size.Y)}, options.tween_time)
  1043. end
  1044.  
  1045. RS.Heartbeat:Wait()
  1046. end
  1047. end
  1048. end)
  1049. end
  1050. end)
  1051. UIS.InputEnded:Connect(function(inputObject)
  1052. if inputObject.UserInputType == Enum.UserInputType.MouseButton1 then
  1053. Held = false
  1054. end
  1055. end)
  1056. end
  1057.  
  1058. do -- [Open / Close] Window
  1059. local open_close = Window:FindFirstChild("Bar"):FindFirstChild("Toggle")
  1060. local open = true
  1061. local canopen = true
  1062.  
  1063. local oldwindowdata = {}
  1064. local oldy = Window.AbsoluteSize.Y
  1065. open_close.MouseButton1Click:Connect(function()
  1066. if canopen then
  1067. canopen = false
  1068.  
  1069. if open then
  1070. -- Close
  1071.  
  1072. oldwindowdata = {}
  1073. for i,v in next, Window:FindFirstChild("Tabs"):GetChildren() do
  1074. oldwindowdata[v] = v.Visible
  1075. v.Visible = false
  1076. end
  1077.  
  1078. Resizer.Active = false
  1079.  
  1080. oldy = Window.AbsoluteSize.Y
  1081. Resize(open_close, {Rotation = 0}, options.tween_time)
  1082. Resize(Window, {Size = UDim2.new(0, Window.AbsoluteSize.X, 0, 26)}, options.tween_time)
  1083. open_close.Parent:FindFirstChild("Base").Transparency = 1
  1084.  
  1085. else
  1086. -- Open
  1087.  
  1088. for i,v in next, oldwindowdata do
  1089. i.Visible = v
  1090. end
  1091.  
  1092. Resizer.Active = true
  1093.  
  1094. Resize(open_close, {Rotation = 90}, options.tween_time)
  1095. Resize(Window, {Size = UDim2.new(0, Window.AbsoluteSize.X, 0, oldy)}, options.tween_time)
  1096. open_close.Parent:FindFirstChild("Base").Transparency = 0
  1097.  
  1098. end
  1099.  
  1100. open = not open
  1101. wait(options.tween_time)
  1102. canopen = true
  1103.  
  1104. end
  1105. end)
  1106. end
  1107.  
  1108. do -- UI Elements
  1109. local tabs = Window:FindFirstChild("Tabs")
  1110. local tab_selection = Window:FindFirstChild("TabSelection")
  1111. local tab_buttons = tab_selection:FindFirstChild("TabButtons")
  1112.  
  1113. do -- Add Tab
  1114. function window_data:AddTab(tab_name)
  1115. local tab_data = {}
  1116. tab_name = tostring(tab_name or "New Tab")
  1117. tab_selection.Visible = true
  1118.  
  1119. local new_button = Prefabs:FindFirstChild("TabButton"):Clone()
  1120. new_button.Parent = tab_buttons
  1121. new_button.Text = tab_name
  1122. new_button.Size = UDim2.new(0, gNameLen(new_button), 0, 20)
  1123. new_button.ZIndex = new_button.ZIndex + (windows * 10)
  1124. new_button:GetChildren()[1].ZIndex = new_button:GetChildren()[1].ZIndex + (windows * 10)
  1125.  
  1126. local new_tab = Prefabs:FindFirstChild("Tab"):Clone()
  1127. new_tab.Parent = tabs
  1128. new_tab.ZIndex = new_tab.ZIndex + (windows * 10)
  1129.  
  1130. local function show()
  1131. if dropdown_open then return end
  1132. for i, v in next, tab_buttons:GetChildren() do
  1133. if not (v:IsA("UIListLayout")) then
  1134. v:GetChildren()[1].ImageColor3 = Color3.fromRGB(52, 53, 56)
  1135. Resize(v, {Size = UDim2.new(0, v.AbsoluteSize.X, 0, 20)}, options.tween_time)
  1136. end
  1137. end
  1138. for i, v in next, tabs:GetChildren() do
  1139. v.Visible = false
  1140. end
  1141.  
  1142. Resize(new_button, {Size = UDim2.new(0, new_button.AbsoluteSize.X, 0, 25)}, options.tween_time)
  1143. new_button:GetChildren()[1].ImageColor3 = Color3.fromRGB(73, 75, 79)
  1144. new_tab.Visible = true
  1145. end
  1146.  
  1147. new_button.MouseButton1Click:Connect(function()
  1148. show()
  1149. end)
  1150.  
  1151. function tab_data:Show()
  1152. show()
  1153. end
  1154.  
  1155. do -- Tab Elements
  1156.  
  1157. function tab_data:AddLabel(label_text) -- [Label]
  1158. label_text = tostring(label_text or "New Label")
  1159.  
  1160. local label = Prefabs:FindFirstChild("Label"):Clone()
  1161.  
  1162. label.Parent = new_tab
  1163. label.Text = label_text
  1164. label.Size = UDim2.new(0, gNameLen(label), 0, 20)
  1165. label.ZIndex = label.ZIndex + (windows * 10)
  1166.  
  1167. return label
  1168. end
  1169.  
  1170. function tab_data:AddButton(button_text, callback) -- [Button]
  1171. button_text = tostring(button_text or "New Button")
  1172. callback = typeof(callback) == "function" and callback or function()end
  1173.  
  1174. local button = Prefabs:FindFirstChild("Button"):Clone()
  1175.  
  1176. button.Parent = new_tab
  1177. button.Text = button_text
  1178. button.Size = UDim2.new(0, gNameLen(button), 0, 20)
  1179. button.ZIndex = button.ZIndex + (windows * 10)
  1180. button:GetChildren()[1].ZIndex = button:GetChildren()[1].ZIndex + (windows * 10)
  1181.  
  1182. spawn(function()
  1183. while true do
  1184. if button and button:GetChildren()[1] then
  1185. button:GetChildren()[1].ImageColor3 = options.main_color
  1186. end
  1187. RS.Heartbeat:Wait()
  1188. end
  1189. end)
  1190.  
  1191. button.MouseButton1Click:Connect(function()
  1192. ripple(button, mouse.X, mouse.Y)
  1193. pcall(callback)
  1194. end)
  1195.  
  1196. return button
  1197. end
  1198.  
  1199. function tab_data:AddSwitch(switch_text, callback) -- [Switch]
  1200. local switch_data = {}
  1201.  
  1202. switch_text = tostring(switch_text or "New Switch")
  1203. callback = typeof(callback) == "function" and callback or function()end
  1204.  
  1205. local switch = Prefabs:FindFirstChild("Switch"):Clone()
  1206.  
  1207. switch.Parent = new_tab
  1208. switch:FindFirstChild("Title").Text = switch_text
  1209.  
  1210. switch:FindFirstChild("Title").ZIndex = switch:FindFirstChild("Title").ZIndex + (windows * 10)
  1211. switch.ZIndex = switch.ZIndex + (windows * 10)
  1212. switch:GetChildren()[1].ZIndex = switch:GetChildren()[1].ZIndex + (windows * 10)
  1213.  
  1214. spawn(function()
  1215. while true do
  1216. if switch and switch:GetChildren()[1] then
  1217. switch:GetChildren()[1].ImageColor3 = options.main_color
  1218. end
  1219. RS.Heartbeat:Wait()
  1220. end
  1221. end)
  1222.  
  1223. local toggled = false
  1224. switch.MouseButton1Click:Connect(function()
  1225. toggled = not toggled
  1226. switch.Text = toggled and utf8.char(10003) or ""
  1227. pcall(callback, toggled)
  1228. end)
  1229.  
  1230. function switch_data:Set(bool)
  1231. toggled = (typeof(bool) == "boolean") and bool or false
  1232. switch.Text = toggled and utf8.char(10003) or ""
  1233. pcall(callback,toggled)
  1234. end
  1235.  
  1236. return switch_data, switch
  1237. end
  1238.  
  1239. function tab_data:AddTextBox(textbox_text, callback, textbox_options)
  1240. textbox_text = tostring(textbox_text or "New TextBox")
  1241. callback = typeof(callback) == "function" and callback or function()end
  1242. textbox_options = typeof(textbox_options) == "table" and textbox_options or {["clear"] = true}
  1243. textbox_options = {
  1244. ["clear"] = ((textbox_options.clear) == true)
  1245. }
  1246.  
  1247. local textbox = Prefabs:FindFirstChild("TextBox"):Clone()
  1248.  
  1249. textbox.Parent = new_tab
  1250. textbox.PlaceholderText = textbox_text
  1251. textbox.ZIndex = textbox.ZIndex + (windows * 10)
  1252. textbox:GetChildren()[1].ZIndex = textbox:GetChildren()[1].ZIndex + (windows * 10)
  1253.  
  1254. textbox.FocusLost:Connect(function(ep)
  1255. if ep then
  1256. if #textbox.Text > 0 then
  1257. pcall(callback, textbox.Text)
  1258. if textbox_options.clear then
  1259. textbox.Text = ""
  1260. end
  1261. end
  1262. end
  1263. end)
  1264.  
  1265. return textbox
  1266. end
  1267.  
  1268. function tab_data:AddSlider(slider_text, callback, slider_options)
  1269. local slider_data = {}
  1270.  
  1271. slider_text = tostring(slider_text or "New Slider")
  1272. callback = typeof(callback) == "function" and callback or function()end
  1273. slider_options = typeof(slider_options) == "table" and slider_options or {}
  1274. slider_options = {
  1275. ["min"] = slider_options.min or 0,
  1276. ["max"] = slider_options.max or 100,
  1277. ["readonly"] = slider_options.readonly or false,
  1278. }
  1279.  
  1280. local slider = Prefabs:FindFirstChild("Slider"):Clone()
  1281.  
  1282. slider.Parent = new_tab
  1283. slider.ZIndex = slider.ZIndex + (windows * 10)
  1284.  
  1285. local title = slider:FindFirstChild("Title")
  1286. local indicator = slider:FindFirstChild("Indicator")
  1287. local value = slider:FindFirstChild("Value")
  1288. title.ZIndex = title.ZIndex + (windows * 10)
  1289. indicator.ZIndex = indicator.ZIndex + (windows * 10)
  1290. value.ZIndex = value.ZIndex + (windows * 10)
  1291.  
  1292. title.Text = slider_text
  1293.  
  1294. do -- Slider Math
  1295. local Entered = false
  1296. slider.MouseEnter:Connect(function()
  1297. Entered = true
  1298. Window.Draggable = false
  1299. end)
  1300. slider.MouseLeave:Connect(function()
  1301. Entered = false
  1302. Window.Draggable = true
  1303. end)
  1304.  
  1305. local Held = false
  1306. UIS.InputBegan:Connect(function(inputObject)
  1307. if inputObject.UserInputType == Enum.UserInputType.MouseButton1 then
  1308. Held = true
  1309.  
  1310. spawn(function() -- Loop check
  1311. if Entered and not slider_options.readonly then
  1312. while Held and (not dropdown_open) do
  1313. local mouse_location = gMouse()
  1314. local x = (slider.AbsoluteSize.X - (slider.AbsoluteSize.X - ((mouse_location.X - slider.AbsolutePosition.X)) + 1)) / slider.AbsoluteSize.X
  1315.  
  1316. local min = 0
  1317. local max = 1
  1318.  
  1319. local size = min
  1320. if x >= min and x <= max then
  1321. size = x
  1322. elseif x < min then
  1323. size = min
  1324. elseif x > max then
  1325. size = max
  1326. end
  1327.  
  1328. Resize(indicator, {Size = UDim2.new(size or min, 0, 0, 20)}, options.tween_time)
  1329. local p = math.floor((size or min) * 100)
  1330.  
  1331. local maxv = slider_options.max
  1332. local minv = slider_options.min
  1333. local diff = maxv - minv
  1334.  
  1335. local sel_value = math.floor(((diff / 100) * p) + minv)
  1336.  
  1337. value.Text = tostring(sel_value)
  1338. pcall(callback, sel_value)
  1339.  
  1340. RS.Heartbeat:Wait()
  1341. end
  1342. end
  1343. end)
  1344. end
  1345. end)
  1346. UIS.InputEnded:Connect(function(inputObject)
  1347. if inputObject.UserInputType == Enum.UserInputType.MouseButton1 then
  1348. Held = false
  1349. end
  1350. end)
  1351.  
  1352. function slider_data:Set(new_value)
  1353. new_value = tonumber(new_value) or 0
  1354. new_value = (((new_value >= 0 and new_value <= 100) and new_value) / 100)
  1355.  
  1356. Resize(indicator, {Size = UDim2.new(new_value or 0, 0, 0, 20)}, options.tween_time)
  1357. local p = math.floor((new_value or 0) * 100)
  1358.  
  1359. local maxv = slider_options.max
  1360. local minv = slider_options.min
  1361. local diff = maxv - minv
  1362.  
  1363. local sel_value = math.floor(((diff / 100) * p) + minv)
  1364.  
  1365. value.Text = tostring(sel_value)
  1366. pcall(callback, sel_value)
  1367. end
  1368.  
  1369. function slider_data:Max(new_value)
  1370. new_value = tonumber(new_value) or 100
  1371. slider_options.max = new_value
  1372. end
  1373.  
  1374. slider_data:Set(slider_options["min"])
  1375. end
  1376.  
  1377. return slider_data, slider
  1378. end
  1379.  
  1380. function tab_data:AddKeybind(keybind_name, callback, keybind_options)
  1381. local keybind_data = {}
  1382.  
  1383. keybind_name = tostring(keybind_name or "New Keybind")
  1384. callback = typeof(callback) == "function" and callback or function()end
  1385. keybind_options = typeof(keybind_options) == "table" and keybind_options or {}
  1386. keybind_options = {
  1387. ["standard"] = keybind_options.standard or Enum.KeyCode.RightShift,
  1388. }
  1389.  
  1390. local keybind = Prefabs:FindFirstChild("Keybind"):Clone()
  1391. local input = keybind:FindFirstChild("Input")
  1392. local title = keybind:FindFirstChild("Title")
  1393. keybind.ZIndex = keybind.ZIndex + (windows * 10)
  1394. input.ZIndex = input.ZIndex + (windows * 10)
  1395. input:GetChildren()[1].ZIndex = input:GetChildren()[1].ZIndex + (windows * 10)
  1396. title.ZIndex = title.ZIndex + (windows * 10)
  1397.  
  1398. keybind.Parent = new_tab
  1399. title.Text = " " .. keybind_name
  1400. keybind.Size = UDim2.new(0, gNameLen(title) + 80, 0, 20)
  1401.  
  1402. local shortkeys = { -- thanks to stroketon for helping me out with this
  1403. RightControl = 'RightCtrl',
  1404. LeftControl = 'LeftCtrl',
  1405. LeftShift = 'LShift',
  1406. RightShift = 'RShift',
  1407. MouseButton1 = "Mouse1",
  1408. MouseButton2 = "Mouse2"
  1409. }
  1410.  
  1411. local keybind = keybind_options.standard
  1412.  
  1413. function keybind_data:SetKeybind(Keybind)
  1414. local key = shortkeys[Keybind.Name] or Keybind.Name
  1415. input.Text = key
  1416. keybind = Keybind
  1417. end
  1418.  
  1419. UIS.InputBegan:Connect(function(a, b)
  1420. if checks.binding then
  1421. spawn(function()
  1422. wait()
  1423. checks.binding = false
  1424. end)
  1425. return
  1426. end
  1427. if a.KeyCode == keybind and not b then
  1428. pcall(callback, keybind)
  1429. end
  1430. end)
  1431.  
  1432. keybind_data:SetKeybind(keybind_options.standard)
  1433.  
  1434. input.MouseButton1Click:Connect(function()
  1435. if checks.binding then return end
  1436. input.Text = "..."
  1437. checks.binding = true
  1438. local a, b = UIS.InputBegan:Wait()
  1439. keybind_data:SetKeybind(a.KeyCode)
  1440. end)
  1441.  
  1442. return keybind_data, keybind
  1443. end
  1444.  
  1445. function tab_data:AddDropdown(dropdown_name, callback)
  1446. local dropdown_data = {}
  1447. dropdown_name = tostring(dropdown_name or "New Dropdown")
  1448. callback = typeof(callback) == "function" and callback or function()end
  1449.  
  1450. local dropdown = Prefabs:FindFirstChild("Dropdown"):Clone()
  1451. local box = dropdown:FindFirstChild("Box")
  1452. local objects = box:FindFirstChild("Objects")
  1453. local indicator = dropdown:FindFirstChild("Indicator")
  1454. dropdown.ZIndex = dropdown.ZIndex + (windows * 10)
  1455. box.ZIndex = box.ZIndex + (windows * 10)
  1456. objects.ZIndex = objects.ZIndex + (windows * 10)
  1457. indicator.ZIndex = indicator.ZIndex + (windows * 10)
  1458. dropdown:GetChildren()[3].ZIndex = dropdown:GetChildren()[3].ZIndex + (windows * 10)
  1459.  
  1460. dropdown.Parent = new_tab
  1461. dropdown.Text = " " .. dropdown_name
  1462. box.Size = UDim2.new(1, 0, 0, 0)
  1463.  
  1464. local open = false
  1465. dropdown.MouseButton1Click:Connect(function()
  1466. open = not open
  1467.  
  1468. local len = (#objects:GetChildren() - 1) * 20
  1469. if #objects:GetChildren() - 1 >= 10 then
  1470. len = 10 * 20
  1471. objects.CanvasSize = UDim2.new(0, 0, (#objects:GetChildren() - 1) * 0.1, 0)
  1472. end
  1473.  
  1474. if open then -- Open
  1475. if dropdown_open then return end
  1476. dropdown_open = true
  1477. Resize(box, {Size = UDim2.new(1, 0, 0, len)}, options.tween_time)
  1478. Resize(indicator, {Rotation = 90}, options.tween_time)
  1479. else -- Close
  1480. dropdown_open = false
  1481. Resize(box, {Size = UDim2.new(1, 0, 0, 0)}, options.tween_time)
  1482. Resize(indicator, {Rotation = -90}, options.tween_time)
  1483. end
  1484.  
  1485. end)
  1486.  
  1487. function dropdown_data:Add(n)
  1488. local object_data = {}
  1489. n = tostring(n or "New Object")
  1490.  
  1491. local object = Prefabs:FindFirstChild("DropdownButton"):Clone()
  1492.  
  1493. object.Parent = objects
  1494. object.Text = n
  1495. object.ZIndex = object.ZIndex + (windows * 10)
  1496.  
  1497. object.MouseEnter:Connect(function()
  1498. object.BackgroundColor3 = options.main_color
  1499. end)
  1500. object.MouseLeave:Connect(function()
  1501. object.BackgroundColor3 = Color3.fromRGB(33, 34, 36)
  1502. end)
  1503.  
  1504. if open then
  1505. local len = (#objects:GetChildren() - 1) * 20
  1506. if #objects:GetChildren() - 1 >= 10 then
  1507. len = 10 * 20
  1508. objects.CanvasSize = UDim2.new(0, 0, (#objects:GetChildren() - 1) * 0.1, 0)
  1509. end
  1510. Resize(box, {Size = UDim2.new(1, 0, 0, len)}, options.tween_time)
  1511. end
  1512.  
  1513. object.MouseButton1Click:Connect(function()
  1514. if dropdown_open then
  1515. dropdown.Text = " [ " .. n .. " ]"
  1516. dropdown_open = false
  1517. open = false
  1518. Resize(box, {Size = UDim2.new(1, 0, 0, 0)}, options.tween_time)
  1519. Resize(indicator, {Rotation = -90}, options.tween_time)
  1520. pcall(callback, n)
  1521. end
  1522. end)
  1523.  
  1524. function object_data:Remove()
  1525. object:Destroy()
  1526. end
  1527.  
  1528. return object, object_data
  1529. end
  1530.  
  1531. return dropdown_data, dropdown
  1532. end
  1533.  
  1534. function tab_data:AddColorPicker(callback)
  1535. local color_picker_data = {}
  1536. callback = typeof(callback) == "function" and callback or function()end
  1537.  
  1538. local color_picker = Prefabs:FindFirstChild("ColorPicker"):Clone()
  1539.  
  1540. color_picker.Parent = new_tab
  1541. color_picker.ZIndex = color_picker.ZIndex + (windows * 10)
  1542.  
  1543. local palette = color_picker:FindFirstChild("Palette")
  1544. local sample = color_picker:FindFirstChild("Sample")
  1545. local saturation = color_picker:FindFirstChild("Saturation")
  1546. palette.ZIndex = palette.ZIndex + (windows * 10)
  1547. sample.ZIndex = sample.ZIndex + (windows * 10)
  1548. saturation.ZIndex = saturation.ZIndex + (windows * 10)
  1549.  
  1550. do -- Color Picker Math
  1551. local h = 0
  1552. local s = 1
  1553. local v = 1
  1554.  
  1555. local function update()
  1556. local color = Color3.fromHSV(h, s, v)
  1557. sample.ImageColor3 = color
  1558. saturation.ImageColor3 = Color3.fromHSV(h, 1, 1)
  1559. pcall(callback, color)
  1560. end
  1561.  
  1562. do
  1563. local color = Color3.fromHSV(h, s, v)
  1564. sample.ImageColor3 = color
  1565. saturation.ImageColor3 = Color3.fromHSV(h, 1, 1)
  1566. end
  1567.  
  1568. local Entered1, Entered2 = false, false
  1569. palette.MouseEnter:Connect(function()
  1570. Window.Draggable = false
  1571. Entered1 = true
  1572. end)
  1573. palette.MouseLeave:Connect(function()
  1574. Window.Draggable = true
  1575. Entered1 = false
  1576. end)
  1577. saturation.MouseEnter:Connect(function()
  1578. Window.Draggable = false
  1579. Entered2 = true
  1580. end)
  1581. saturation.MouseLeave:Connect(function()
  1582. Window.Draggable = true
  1583. Entered2 = false
  1584. end)
  1585.  
  1586. local palette_indicator = palette:FindFirstChild("Indicator")
  1587. local saturation_indicator = saturation:FindFirstChild("Indicator")
  1588. palette_indicator.ZIndex = palette_indicator.ZIndex + (windows * 10)
  1589. saturation_indicator.ZIndex = saturation_indicator.ZIndex + (windows * 10)
  1590.  
  1591. local Held = false
  1592. UIS.InputBegan:Connect(function(inputObject)
  1593. if inputObject.UserInputType == Enum.UserInputType.MouseButton1 then
  1594. Held = true
  1595.  
  1596. spawn(function() -- Loop check
  1597. while Held and Entered1 and (not dropdown_open) do -- Palette
  1598. local mouse_location = gMouse()
  1599.  
  1600. local x = ((palette.AbsoluteSize.X - (mouse_location.X - palette.AbsolutePosition.X)) + 1)
  1601. local y = ((palette.AbsoluteSize.Y - (mouse_location.Y - palette.AbsolutePosition.Y)) + 1.5)
  1602.  
  1603. local color = Color3.fromHSV(x / 100, y / 100, 0)
  1604. h = x / 100
  1605. s = y / 100
  1606.  
  1607. Resize(palette_indicator, {Position = UDim2.new(0, math.abs(x - 100) - (palette_indicator.AbsoluteSize.X / 2), 0, math.abs(y - 100) - (palette_indicator.AbsoluteSize.Y / 2))}, options.tween_time)
  1608.  
  1609. update()
  1610. RS.Heartbeat:Wait()
  1611. end
  1612.  
  1613. while Held and Entered2 and (not dropdown_open) do -- Saturation
  1614. local mouse_location = gMouse()
  1615. local y = ((palette.AbsoluteSize.Y - (mouse_location.Y - palette.AbsolutePosition.Y)) + 1.5)
  1616. v = y / 100
  1617.  
  1618. Resize(saturation_indicator, {Position = UDim2.new(0, 0, 0, math.abs(y - 100))}, options.tween_time)
  1619.  
  1620. update()
  1621. RS.Heartbeat:Wait()
  1622. end
  1623. end)
  1624. end
  1625. end)
  1626. UIS.InputEnded:Connect(function(inputObject)
  1627. if inputObject.UserInputType == Enum.UserInputType.MouseButton1 then
  1628. Held = false
  1629. end
  1630. end)
  1631.  
  1632. function color_picker_data:Set(color)
  1633. color = typeof(color) == "Color3" and color or Color3.new(1, 1, 1)
  1634. local h2, s2, v2 = rgbtohsv(color.r * 255, color.g * 255, color.b * 255)
  1635. sample.ImageColor3 = color
  1636. saturation.ImageColor3 = Color3.fromHSV(h2, 1, 1)
  1637. pcall(callback, color)
  1638. end
  1639. end
  1640.  
  1641. return color_picker_data, color_picker
  1642. end
  1643.  
  1644. function tab_data:AddConsole(console_options)
  1645. local console_data = {}
  1646.  
  1647. console_options = typeof(console_options) == "table" and console_options or {["readonly"] = true,["full"] = false,}
  1648. console_options = {
  1649. ["y"] = (console_options and console_options.y and tonumber(console_options.y)) or 200,
  1650. ["source"] = (console_options and console_options.source) or "Logs",
  1651. ["readonly"] = (console_options and console_options.readonly) == true,
  1652. ["full"] = (console_options and console_options.full) == true,
  1653. }
  1654.  
  1655. local console = Prefabs:FindFirstChild("Console"):Clone()
  1656.  
  1657. console.Parent = new_tab
  1658. console.ZIndex = console.ZIndex + (windows * 10)
  1659. console.Size = UDim2.new(1, 0, console_options.full and 1 or 0, console_options.y)
  1660.  
  1661. local sf = console:GetChildren()[1]
  1662. local Source = sf:FindFirstChild("Source")
  1663. local Lines = sf:FindFirstChild("Lines")
  1664. Source.ZIndex = Source.ZIndex + (windows * 10)
  1665. Lines.ZIndex = Lines.ZIndex + (windows * 10)
  1666.  
  1667. Source.TextEditable = not console_options.readonly
  1668.  
  1669. do -- Syntax Zindex
  1670. for i,v in next, Source:GetChildren() do
  1671. v.ZIndex = v.ZIndex + (windows * 10) + 1
  1672. end
  1673. end
  1674. Source.Comments.ZIndex = Source.Comments.ZIndex + 1
  1675.  
  1676. do -- Highlighting (thanks to whoever made this)
  1677. local lua_keywords = {"and", "break", "do", "else", "elseif", "end", "false", "for", "function", "goto", "if", "in", "local", "nil", "not", "or", "repeat", "return", "then", "true", "until", "while"}
  1678. local global_env = {"getrawmetatable", "newcclosure", "islclosure", "setclipboard", "game", "workspace", "script", "math", "string", "table", "print", "wait", "BrickColor", "Color3", "next", "pairs", "ipairs", "select", "unpack", "Instance", "Vector2", "Vector3", "CFrame", "Ray", "UDim2", "Enum", "assert", "error", "warn", "tick", "loadstring", "_G", "shared", "getfenv", "setfenv", "newproxy", "setmetatable", "getmetatable", "os", "debug", "pcall", "ypcall", "xpcall", "rawequal", "rawset", "rawget", "tonumber", "tostring", "type", "typeof", "_VERSION", "coroutine", "delay", "require", "spawn", "LoadLibrary", "settings", "stats", "time", "UserSettings", "version", "Axes", "ColorSequence", "Faces", "ColorSequenceKeypoint", "NumberRange", "NumberSequence", "NumberSequenceKeypoint", "gcinfo", "elapsedTime", "collectgarbage", "PhysicalProperties", "Rect", "Region3", "Region3int16", "UDim", "Vector2int16", "Vector3int16", "load", "fire", "Fire"}
  1679.  
  1680. local Highlight = function(string, keywords)
  1681. local K = {}
  1682. local S = string
  1683. local Token =
  1684. {
  1685. ["="] = true,
  1686. ["."] = true,
  1687. [","] = true,
  1688. ["("] = true,
  1689. [")"] = true,
  1690. ["["] = true,
  1691. ["]"] = true,
  1692. ["{"] = true,
  1693. ["}"] = true,
  1694. [":"] = true,
  1695. ["*"] = true,
  1696. ["/"] = true,
  1697. ["+"] = true,
  1698. ["-"] = true,
  1699. ["%"] = true,
  1700. [";"] = true,
  1701. ["~"] = true
  1702. }
  1703. for i, v in pairs(keywords) do
  1704. K[v] = true
  1705. end
  1706. S = S:gsub(".", function(c)
  1707. if Token[c] ~= nil then
  1708. return "\32"
  1709. else
  1710. return c
  1711. end
  1712. end)
  1713. S = S:gsub("%S+", function(c)
  1714. if K[c] ~= nil then
  1715. return c
  1716. else
  1717. return (" "):rep(#c)
  1718. end
  1719. end)
  1720.  
  1721. return S
  1722. end
  1723.  
  1724. local hTokens = function(string)
  1725. local Token =
  1726. {
  1727. ["="] = true,
  1728. ["."] = true,
  1729. [","] = true,
  1730. ["("] = true,
  1731. [")"] = true,
  1732. ["["] = true,
  1733. ["]"] = true,
  1734. ["{"] = true,
  1735. ["}"] = true,
  1736. [":"] = true,
  1737. ["*"] = true,
  1738. ["/"] = true,
  1739. ["+"] = true,
  1740. ["-"] = true,
  1741. ["%"] = true,
  1742. [";"] = true,
  1743. ["~"] = true
  1744. }
  1745. local A = ""
  1746. string:gsub(".", function(c)
  1747. if Token[c] ~= nil then
  1748. A = A .. c
  1749. elseif c == "\n" then
  1750. A = A .. "\n"
  1751. elseif c == "\t" then
  1752. A = A .. "\t"
  1753. else
  1754. A = A .. "\32"
  1755. end
  1756. end)
  1757.  
  1758. return A
  1759. end
  1760.  
  1761. local strings = function(string)
  1762. local highlight = ""
  1763. local quote = false
  1764. string:gsub(".", function(c)
  1765. if quote == false and c == "\34" then
  1766. quote = true
  1767. elseif quote == true and c == "\34" then
  1768. quote = false
  1769. end
  1770. if quote == false and c == "\34" then
  1771. highlight = highlight .. "\34"
  1772. elseif c == "\n" then
  1773. highlight = highlight .. "\n"
  1774. elseif c == "\t" then
  1775. highlight = highlight .. "\t"
  1776. elseif quote == true then
  1777. highlight = highlight .. c
  1778. elseif quote == false then
  1779. highlight = highlight .. "\32"
  1780. end
  1781. end)
  1782.  
  1783. return highlight
  1784. end
  1785.  
  1786. local info = function(string)
  1787. local highlight = ""
  1788. local quote = false
  1789. string:gsub(".", function(c)
  1790. if quote == false and c == "[" then
  1791. quote = true
  1792. elseif quote == true and c == "]" then
  1793. quote = false
  1794. end
  1795. if quote == false and c == "\]" then
  1796. highlight = highlight .. "\]"
  1797. elseif c == "\n" then
  1798. highlight = highlight .. "\n"
  1799. elseif c == "\t" then
  1800. highlight = highlight .. "\t"
  1801. elseif quote == true then
  1802. highlight = highlight .. c
  1803. elseif quote == false then
  1804. highlight = highlight .. "\32"
  1805. end
  1806. end)
  1807.  
  1808. return highlight
  1809. end
  1810.  
  1811. local comments = function(string)
  1812. local ret = ""
  1813. string:gsub("[^\r\n]+", function(c)
  1814. local comm = false
  1815. local i = 0
  1816. c:gsub(".", function(n)
  1817. i = i + 1
  1818. if c:sub(i, i + 1) == "--" then
  1819. comm = true
  1820. end
  1821. if comm == true then
  1822. ret = ret .. n
  1823. else
  1824. ret = ret .. "\32"
  1825. end
  1826. end)
  1827. ret = ret
  1828. end)
  1829.  
  1830. return ret
  1831. end
  1832.  
  1833. local numbers = function(string)
  1834. local A = ""
  1835. string:gsub(".", function(c)
  1836. if tonumber(c) ~= nil then
  1837. A = A .. c
  1838. elseif c == "\n" then
  1839. A = A .. "\n"
  1840. elseif c == "\t" then
  1841. A = A .. "\t"
  1842. else
  1843. A = A .. "\32"
  1844. end
  1845. end)
  1846.  
  1847. return A
  1848. end
  1849.  
  1850. local highlight_lua = function(type)
  1851. if type == "Text" then
  1852. Source.Text = Source.Text:gsub("\13", "")
  1853. Source.Text = Source.Text:gsub("\t", " ")
  1854. local s = Source.Text
  1855.  
  1856. Source.Keywords.Text = Highlight(s, lua_keywords)
  1857. Source.Globals.Text = Highlight(s, global_env)
  1858. Source.RemoteHighlight.Text = Highlight(s, {"FireServer", "fireServer", "InvokeServer", "invokeServer"})
  1859. Source.Tokens.Text = hTokens(s)
  1860. Source.Numbers.Text = numbers(s)
  1861. Source.Strings.Text = strings(s)
  1862. Source.Comments.Text = comments(s)
  1863.  
  1864. local lin = 1
  1865. s:gsub("\n", function()
  1866. lin = lin + 1
  1867. end)
  1868.  
  1869. Lines.Text = ""
  1870. for i = 1, lin do
  1871. Lines.Text = Lines.Text .. i .. "\n"
  1872. end
  1873.  
  1874. sf.CanvasSize = UDim2.new(0, 0, lin * 0.153846154, 0)
  1875. end
  1876. end
  1877.  
  1878. local highlight_logs = function(type)
  1879. if type == "Text" then
  1880. Source.Text = Source.Text:gsub("\13", "")
  1881. Source.Text = Source.Text:gsub("\t", " ")
  1882. local s = Source.Text
  1883.  
  1884. Source.Info.Text = info(s)
  1885.  
  1886. local lin = 1
  1887. s:gsub("\n", function()
  1888. lin = lin + 1
  1889. end)
  1890.  
  1891. sf.CanvasSize = UDim2.new(0, 0, lin * 0.153846154, 0)
  1892. end
  1893. end
  1894.  
  1895. if console_options.source == "Lua" then
  1896. highlight_lua("Text")
  1897. Source.Changed:Connect(highlight_lua)
  1898. elseif console_options.source == "Logs" then
  1899. Lines.Visible = false
  1900.  
  1901. highlight_logs("Text")
  1902. Source.Changed:Connect(highlight_logs)
  1903. end
  1904.  
  1905. function console_data:Set(code)
  1906. Source.Text = tostring(code)
  1907. end
  1908.  
  1909. function console_data:Get()
  1910. return Source.Text
  1911. end
  1912.  
  1913. function console_data:Log(msg)
  1914. Source.Text = Source.Text .. "[*] " .. tostring(msg) .. "\n"
  1915. end
  1916.  
  1917. end
  1918.  
  1919. return console_data, console
  1920. end
  1921.  
  1922. function tab_data:AddHorizontalAlignment()
  1923. local ha_data = {}
  1924.  
  1925. local ha = Prefabs:FindFirstChild("HorizontalAlignment"):Clone()
  1926. ha.Parent = new_tab
  1927.  
  1928. function ha_data:AddButton(...)
  1929. local data, object
  1930. local ret = {tab_data:AddButton(...)}
  1931. if typeof(ret[1]) == "table" then
  1932. data = ret[1]
  1933. object = ret[2]
  1934. object.Parent = ha
  1935. return data, object
  1936. else
  1937. object = ret[1]
  1938. object.Parent = ha
  1939. return object
  1940. end
  1941. end
  1942.  
  1943. return ha_data, ha
  1944. end
  1945.  
  1946. function tab_data:AddFolder(folder_name) -- [Folder]
  1947. local folder_data = {}
  1948.  
  1949. folder_name = tostring(folder_name or "New Folder")
  1950.  
  1951. local folder = Prefabs:FindFirstChild("Folder"):Clone()
  1952. local button = folder:FindFirstChild("Button")
  1953. local objects = folder:FindFirstChild("Objects")
  1954. local toggle = button:FindFirstChild("Toggle")
  1955. folder.ZIndex = folder.ZIndex + (windows * 10)
  1956. button.ZIndex = button.ZIndex + (windows * 10)
  1957. objects.ZIndex = objects.ZIndex + (windows * 10)
  1958. toggle.ZIndex = toggle.ZIndex + (windows * 10)
  1959. button:GetChildren()[1].ZIndex = button:GetChildren()[1].ZIndex + (windows * 10)
  1960.  
  1961. folder.Parent = new_tab
  1962. button.Text = " " .. folder_name
  1963.  
  1964. spawn(function()
  1965. while true do
  1966. if button and button:GetChildren()[1] then
  1967. button:GetChildren()[1].ImageColor3 = options.main_color
  1968. end
  1969. RS.Heartbeat:Wait()
  1970. end
  1971. end)
  1972.  
  1973. local function gFolderLen()
  1974. local n = 25
  1975. for i,v in next, objects:GetChildren() do
  1976. if not (v:IsA("UIListLayout")) then
  1977. n = n + v.AbsoluteSize.Y + 5
  1978. end
  1979. end
  1980. return n
  1981. end
  1982.  
  1983. local open = false
  1984. button.MouseButton1Click:Connect(function()
  1985. if open then -- Close
  1986. Resize(toggle, {Rotation = 0}, options.tween_time)
  1987. objects.Visible = false
  1988. else -- Open
  1989. Resize(toggle, {Rotation = 90}, options.tween_time)
  1990. objects.Visible = true
  1991. end
  1992.  
  1993. open = not open
  1994. end)
  1995.  
  1996. spawn(function()
  1997. while true do
  1998. Resize(folder, {Size = UDim2.new(1, 0, 0, (open and gFolderLen() or 20))}, options.tween_time)
  1999. wait()
  2000. end
  2001. end)
  2002.  
  2003. for i,v in next, tab_data do
  2004. folder_data[i] = function(...)
  2005. local data, object
  2006. local ret = {v(...)}
  2007. if typeof(ret[1]) == "table" then
  2008. data = ret[1]
  2009. object = ret[2]
  2010. object.Parent = objects
  2011. return data, object
  2012. else
  2013. object = ret[1]
  2014. object.Parent = objects
  2015. return object
  2016. end
  2017. end
  2018. end
  2019.  
  2020. return folder_data, folder
  2021. end
  2022.  
  2023. function tab_data:Viewport(object, options)
  2024. local viewport_data = {}
  2025.  
  2026. viewport_options = typeof(options) == "table" and options or {["scale_x"] = 0, ["offset_x"] = 200, ["scale_y"] = 0, ["offset_y"] = 200, ["zoom"] = 3}
  2027. viewport_options = {
  2028. ["scale_x"] = (options and options.scale_x and tonumber(options.scale_x)) or 0,
  2029. ["offset_x"] = (options and options.offset_x and tonumber(options.offset_x)) or 200,
  2030. ["scale_y"] = (options and options.scale_y and tonumber(options.scale_y)) or 0,
  2031. ["offset_y"] = (options and options.offset_y and tonumber(options.offset_y)) or 200,
  2032. ["zoom"] = (options and options.zoom and tonumber(options.zoom)) or 3
  2033. }
  2034.  
  2035. local viewport = Prefabs:FindFirstChild("Viewport"):Clone()
  2036. local Camera = viewport.Camera
  2037. viewport.CurrentCamera = Camera
  2038.  
  2039. viewport.Size = UDim2.new(viewport_options.scale_x,viewport_options.offset_x,viewport_options.scale_y,viewport_options.offset_y)
  2040.  
  2041. local new_object = object:Clone()
  2042. new_object.Parent = viewport
  2043.  
  2044. local function rotate(model) -- If you're looking at this source, it will most likely not work if you use it in another game
  2045. for _,v in pairs(model:GetChildren()) do -- The reason for this is because the game I made this for (Swordburst 2) had annoying bounding boxes
  2046. if v.Name == "Healthbar" or v.Name == "Nameplate" then -- Which this meant that I needed to remove a model's Healthbar
  2047. v.Parent = nil -- Other games may do this differently so this should be changed
  2048. end
  2049. end
  2050. local currentAngle = 0
  2051. local modelCF, modelSize = model:GetBoundingBox()
  2052.  
  2053.  
  2054. local rotInv = (modelCF - modelCF.p):inverse()
  2055. modelCF = modelCF * rotInv
  2056. modelSize = rotInv * modelSize
  2057. modelSize = Vector3.new(math.abs(modelSize.x), math.abs(modelSize.y), math.abs(modelSize.z))
  2058.  
  2059. local diagonal = 0
  2060. local maxExtent = math.max(modelSize.x, modelSize.y, modelSize.z)
  2061. local tan = math.tan(math.rad(Camera.FieldOfView/2))
  2062.  
  2063. if (maxExtent == modelSize.x) then
  2064. diagonal = math.sqrt(modelSize.y*modelSize.y + modelSize.z*modelSize.z)/2
  2065. elseif (maxExtent == modelSize.y) then
  2066. diagonal = math.sqrt(modelSize.x*modelSize.x + modelSize.z*modelSize.z)/2
  2067. else
  2068. diagonal = math.sqrt(modelSize.x*modelSize.x + modelSize.y*modelSize.y)/2
  2069. end
  2070.  
  2071. local minDist = (maxExtent/2)/tan + diagonal
  2072. game:GetService("RunService"):BindToRenderStep(model.Name,0,function(dt)
  2073. currentAngle = currentAngle + 1*dt*60
  2074. Camera.CFrame = modelCF * CFrame.fromEulerAnglesYXZ(0, math.rad(currentAngle), 0) * CFrame.new(0, 0, minDist + viewport_options.zoom)
  2075. end)
  2076. end
  2077. pcall(function() rotate(new_object) end)
  2078.  
  2079. viewport.Parent = new_tab
  2080. viewport.ZIndex = viewport.ZIndex + (windows * 10)
  2081.  
  2082. return viewport
  2083. end
  2084. end
  2085.  
  2086. return tab_data, new_tab
  2087. end
  2088. end
  2089. end
  2090.  
  2091. do
  2092. for i, v in next, Window:GetDescendants() do
  2093. if hasprop(v, "ZIndex") then
  2094. v.ZIndex = v.ZIndex + (windows * 10)
  2095. end
  2096. end
  2097. end
  2098.  
  2099. return window_data, Window
  2100. end
  2101.  
  2102. return library
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement