Advertisement
XZTablets

Twink Lib

Jul 13th, 2020
1,154,909
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 24.06 KB | None | 0 0
  1. local Player = game.Players.LocalPlayer
  2. local Mouse = Player:GetMouse()
  3.  
  4. local TweenService = game:GetService("TweenService")
  5. local UserInputService = game:GetService("UserInputService")
  6. local CoreGuiService = game:GetService("CoreGui")
  7. local RunService = game:GetService("RunService")
  8. local TextService = game:GetService("TextService")
  9.  
  10. local TweenTime = 0.1
  11. local Level = 1
  12.  
  13. local GlobalTweenInfo = TweenInfo.new(TweenTime)
  14. local AlteredTweenInfo = TweenInfo.new(TweenTime, Enum.EasingStyle.Sine, Enum.EasingDirection.Out)
  15.  
  16. local DropShadowID = "rbxassetid://297774371"
  17. local DropShadowTransparency = 0.3
  18.  
  19. local IconLibraryID = "rbxassetid://3926305904"
  20. local IconLibraryID2 = "rbxassetid://3926307971"
  21.  
  22. local MainFont = Enum.Font.Gotham
  23.  
  24. local function GetXY(GuiObject)
  25. local X, Y = Mouse.X - GuiObject.AbsolutePosition.X, Mouse.Y - GuiObject.AbsolutePosition.Y
  26. local MaxX, MaxY = GuiObject.AbsoluteSize.X, GuiObject.AbsoluteSize.Y
  27. X, Y = math.clamp(X, 0, MaxX), math.clamp(Y, 0, MaxY)
  28. return X, Y, X/MaxX, Y/MaxY
  29. end
  30.  
  31. local function TitleIcon(ButtonOrNot)
  32. local NewTitleIcon = Instance.new(ButtonOrNot and "ImageButton" or "ImageLabel")
  33. NewTitleIcon.Name = "TitleIcon"
  34. NewTitleIcon.BackgroundTransparency = 1
  35. NewTitleIcon.Image = IconLibraryID
  36. NewTitleIcon.ImageRectOffset = Vector2.new(524, 764)
  37. NewTitleIcon.ImageRectSize = Vector2.new(36, 36)
  38. NewTitleIcon.Size = UDim2.new(0,14,0,14)
  39. NewTitleIcon.Position = UDim2.new(1,-17,0,3)
  40. NewTitleIcon.Rotation = 180
  41. NewTitleIcon.ZIndex = Level
  42. return NewTitleIcon
  43. end
  44.  
  45. local function TickIcon(ButtonOrNot)
  46. local NewTickIcon = Instance.new(ButtonOrNot and "ImageButton" or "ImageLabel")
  47. NewTickIcon.Name = "TickIcon"
  48. NewTickIcon.BackgroundTransparency = 1
  49. NewTickIcon.Image = "rbxassetid://3926305904"
  50. NewTickIcon.ImageRectOffset = Vector2.new(312,4)
  51. NewTickIcon.ImageRectSize = Vector2.new(24,24)
  52. NewTickIcon.Size = UDim2.new(1,-6,1,-6)
  53. NewTickIcon.Position = UDim2.new(0,3,0,3)
  54. NewTickIcon.ZIndex = Level
  55. return NewTickIcon
  56. end
  57.  
  58. local function DropdownIcon(ButtonOrNot)
  59. local NewDropdownIcon = Instance.new(ButtonOrNot and "ImageButton" or "ImageLabel")
  60. NewDropdownIcon.Name = "DropdownIcon"
  61. NewDropdownIcon.BackgroundTransparency = 1
  62. NewDropdownIcon.Image = IconLibraryID2
  63. NewDropdownIcon.ImageRectOffset = Vector2.new(324,364)
  64. NewDropdownIcon.ImageRectSize = Vector2.new(36,36)
  65. NewDropdownIcon.Size = UDim2.new(0,16,0,16)
  66. NewDropdownIcon.Position = UDim2.new(1,-18,0,2)
  67. NewDropdownIcon.ZIndex = Level
  68. return NewDropdownIcon
  69. end
  70.  
  71. local function SearchIcon(ButtonOrNot)
  72. local NewSearchIcon = Instance.new(ButtonOrNot and "ImageButton" or "ImageLabel")
  73. NewSearchIcon.Name = "SearchIcon"
  74. NewSearchIcon.BackgroundTransparency = 1
  75. NewSearchIcon.Image = IconLibraryID
  76. NewSearchIcon.ImageRectOffset = Vector2.new(964,324)
  77. NewSearchIcon.ImageRectSize = Vector2.new(36,36)
  78. NewSearchIcon.Size = UDim2.new(0,16,0,16)
  79. NewSearchIcon.Position = UDim2.new(0,2,0,2)
  80. NewSearchIcon.ZIndex = Level
  81. return NewSearchIcon
  82. end
  83.  
  84. local function RoundBox(CornerRadius, ButtonOrNot)
  85. local NewRoundBox = Instance.new(ButtonOrNot and "ImageButton" or "ImageLabel")
  86. NewRoundBox.BackgroundTransparency = 1
  87. NewRoundBox.Image = "rbxassetid://3570695787"
  88. NewRoundBox.SliceCenter = Rect.new(100,100,100,100)
  89. NewRoundBox.SliceScale = math.clamp((CornerRadius or 5) * 0.01, 0.01, 1)
  90. NewRoundBox.ScaleType = Enum.ScaleType.Slice
  91. NewRoundBox.ZIndex = Level
  92. return NewRoundBox
  93. end
  94.  
  95. local function DropShadow()
  96. local NewDropShadow = Instance.new("ImageLabel")
  97. NewDropShadow.Name = "DropShadow"
  98. NewDropShadow.BackgroundTransparency = 1
  99. NewDropShadow.Image = DropShadowID
  100. NewDropShadow.ImageTransparency = DropShadowTransparency
  101. NewDropShadow.Size = UDim2.new(1,0,1,0)
  102. NewDropShadow.ZIndex = Level
  103. return NewDropShadow
  104. end
  105.  
  106. local function Frame()
  107. local NewFrame = Instance.new("Frame")
  108. NewFrame.BorderSizePixel = 0
  109. NewFrame.ZIndex = Level
  110. return NewFrame
  111. end
  112.  
  113. local function ScrollingFrame()
  114. local NewScrollingFrame = Instance.new("ScrollingFrame")
  115. NewScrollingFrame.BackgroundTransparency = 1
  116. NewScrollingFrame.BorderSizePixel = 0
  117. NewScrollingFrame.ScrollBarThickness = 0
  118. NewScrollingFrame.ZIndex = Level
  119. return NewScrollingFrame
  120. end
  121.  
  122. local function TextButton(Text, Size)
  123. local NewTextButton = Instance.new("TextButton")
  124. NewTextButton.Text = Text
  125. NewTextButton.AutoButtonColor = false
  126. NewTextButton.Font = MainFont
  127. NewTextButton.TextColor3 = Color3.fromRGB(255,255,255)
  128. NewTextButton.BackgroundTransparency = 1
  129. NewTextButton.TextSize = Size or 12
  130. NewTextButton.Size = UDim2.new(1,0,1,0)
  131. NewTextButton.ZIndex = Level
  132. return NewTextButton
  133. end
  134.  
  135. local function TextBox(Text, Size)
  136. local NewTextBox = Instance.new("TextBox")
  137. NewTextBox.Text = Text
  138. NewTextBox.Font = MainFont
  139. NewTextBox.TextColor3 = Color3.fromRGB(255,255,255)
  140. NewTextBox.BackgroundTransparency = 1
  141. NewTextBox.TextSize = Size or 12
  142. NewTextBox.Size = UDim2.new(1,0,1,0)
  143. NewTextBox.ZIndex = Level
  144. return NewTextBox
  145. end
  146.  
  147. local function TextLabel(Text, Size)
  148. local NewTextLabel = Instance.new("TextLabel")
  149. NewTextLabel.Text = Text
  150. NewTextLabel.Font = MainFont
  151. NewTextLabel.TextColor3 = Color3.fromRGB(255,255,255)
  152. NewTextLabel.BackgroundTransparency = 1
  153. NewTextLabel.TextSize = Size or 12
  154. NewTextLabel.Size = UDim2.new(1,0,1,0)
  155. NewTextLabel.ZIndex = Level
  156. return NewTextLabel
  157. end
  158.  
  159. local function Tween(GuiObject, Dictionary)
  160. local TweenBase = TweenService:Create(GuiObject, GlobalTweenInfo, Dictionary)
  161. TweenBase:Play()
  162. return TweenBase
  163. end
  164.  
  165. local UILibrary = {}
  166.  
  167. function UILibrary.Load(GUITitle)
  168. local TargetedParent = RunService:IsStudio() and Player:WaitForChild("PlayerGui") or CoreGuiService
  169.  
  170. local FindOldInstance = TargetedParent:FindFirstChild(GUITitle)
  171.  
  172. if FindOldInstance then
  173. FindOldInstance:Destroy()
  174. end
  175.  
  176. local NewInstance, ContainerFrame, ContainerShadow, MainFrame
  177.  
  178. NewInstance = Instance.new("ScreenGui")
  179. NewInstance.Name = GUITitle
  180. NewInstance.Parent = TargetedParent
  181.  
  182. ContainerFrame = Frame()
  183. ContainerFrame.Name = "ContainerFrame"
  184. ContainerFrame.Size = UDim2.new(0,500,0,300)
  185. ContainerFrame.Position = UDim2.new(0.5,-250,0.5,-150)
  186. ContainerFrame.BackgroundTransparency = 1
  187. ContainerFrame.Parent = NewInstance
  188.  
  189. ContainerShadow = DropShadow()
  190. ContainerShadow.Name = "Shadow"
  191. ContainerShadow.Parent = ContainerFrame
  192.  
  193. Level += 1
  194.  
  195. MainFrame = RoundBox(5)
  196. MainFrame.ClipsDescendants = true
  197. MainFrame.Name = "MainFrame"
  198. MainFrame.Size = UDim2.new(1,-50,1,-30)
  199. MainFrame.Position = UDim2.new(0,25,0,15)
  200. MainFrame.ImageColor3 = Color3.fromRGB(30,30,30)
  201. MainFrame.Parent = ContainerFrame
  202.  
  203. local MenuBar, DisplayFrame, TitleBar
  204.  
  205. MenuBar = ScrollingFrame()
  206. MenuBar.Name = "MenuBar"
  207. MenuBar.BackgroundTransparency = 0.7
  208. MenuBar.BackgroundColor3 = Color3.fromRGB(20,20,20)
  209. MenuBar.Size = UDim2.new(0,100,0,235)
  210. MenuBar.Position = UDim2.new(0,5,0,30)
  211. MenuBar.CanvasSize = UDim2.new(0,0,0,0)
  212. MenuBar.Parent = MainFrame
  213.  
  214. DisplayFrame = RoundBox(5)
  215. DisplayFrame.Name = "Display"
  216. DisplayFrame.ImageColor3 = Color3.fromRGB(20,20,20)
  217. DisplayFrame.Size = UDim2.new(1,-115,0,235)
  218. DisplayFrame.Position = UDim2.new(0,110,0,30)
  219. DisplayFrame.Parent = MainFrame
  220.  
  221. TitleBar = RoundBox(5)
  222. TitleBar.Name = "TitleBar"
  223. TitleBar.ImageColor3 = Color3.fromRGB(40,40,40)
  224. TitleBar.Size = UDim2.new(1,-10,0,20)
  225. TitleBar.Position = UDim2.new(0,5,0,5)
  226. TitleBar.Parent = MainFrame
  227.  
  228. Level += 1
  229.  
  230. local MinimiseButton, TitleButton
  231. local MinimiseToggle = true
  232.  
  233. MinimiseButton = TitleIcon(true)
  234. MinimiseButton.Name = "Minimise"
  235. MinimiseButton.Parent = TitleBar
  236.  
  237. TitleButton = TextButton(GUITitle, 14)
  238. TitleButton.Name = "TitleButton"
  239. TitleButton.Size = UDim2.new(1,-20,1,0)
  240. TitleButton.Parent = TitleBar
  241.  
  242. MinimiseButton.MouseButton1Down:Connect(function()
  243. MinimiseToggle = not MinimiseToggle
  244. if not MinimiseToggle then
  245. Tween(MainFrame, {Size = UDim2.new(1,-50,0,30)})
  246. Tween(MinimiseButton, {Rotation = 0})
  247. Tween(ContainerShadow, {ImageTransparency = 1})
  248. else
  249. Tween(MainFrame, {Size = UDim2.new(1,-50,1,-30)})
  250. Tween(MinimiseButton, {Rotation = 180})
  251. Tween(ContainerShadow, {ImageTransparency = DropShadowTransparency})
  252. end
  253. end)
  254.  
  255. TitleButton.MouseButton1Down:Connect(function()
  256. local LastMX, LastMY = Mouse.X, Mouse.Y
  257. local Move, Kill
  258. Move = Mouse.Move:Connect(function()
  259. local NewMX, NewMY = Mouse.X, Mouse.Y
  260. local DX, DY = NewMX - LastMX, NewMY - LastMY
  261. ContainerFrame.Position += UDim2.new(0,DX,0,DY)
  262. LastMX, LastMY = NewMX, NewMY
  263. end)
  264. Kill = UserInputService.InputEnded:Connect(function(input)
  265. if input.UserInputType == Enum.UserInputType.MouseButton1 then
  266. Move:Disconnect()
  267. Kill:Disconnect()
  268. end
  269. end)
  270. end)
  271.  
  272. Level += 1
  273.  
  274. local MenuListLayout
  275.  
  276. MenuListLayout = Instance.new("UIListLayout")
  277. MenuListLayout.SortOrder = Enum.SortOrder.LayoutOrder
  278. MenuListLayout.Padding = UDim.new(0,5)
  279. MenuListLayout.Parent = MenuBar
  280.  
  281. local TabCount = 0
  282.  
  283. local TabLibrary = {}
  284.  
  285. function TabLibrary.AddPage(PageTitle, SearchBarIncluded)
  286. local SearchBarIncluded = (SearchBarIncluded == nil) and true or SearchBarIncluded
  287.  
  288. local PageContainer = RoundBox(5)
  289. PageContainer.Name = PageTitle
  290. PageContainer.Size = UDim2.new(1,0,0,20)
  291. PageContainer.LayoutOrder = TabCount
  292. PageContainer.ImageColor3 = (TabCount == 0) and Color3.fromRGB(50,50,50) or Color3.fromRGB(40,40,40)
  293. PageContainer.Parent = MenuBar
  294.  
  295. local PageButton = TextButton(PageTitle, 14)
  296. PageButton.Name = PageTitle.."Button"
  297. PageButton.TextTransparency = (TabCount == 0) and 0 or 0.5
  298. PageButton.Parent = PageContainer
  299.  
  300. PageButton.MouseButton1Down:Connect(function()
  301. spawn(function()
  302. for _, Button in next, MenuBar:GetChildren() do
  303. if Button:IsA("GuiObject") then
  304. local IsButton = string.find(Button.Name:lower(), PageContainer.Name:lower())
  305. local Button2 = Button:FindFirstChild(Button.Name.."Button")
  306. Tween(Button, {ImageColor3 = IsButton and Color3.fromRGB(50,50,50) or Color3.fromRGB(40,40,40)})
  307. Tween(Button2, {TextTransparency = IsButton and 0 or 0.5})
  308. end
  309. end
  310. end)
  311. spawn(function()
  312. for _, Display in next, DisplayFrame:GetChildren() do
  313. if Display:IsA("GuiObject") then
  314. Display.Visible = string.find(Display.Name:lower(), PageContainer.Name:lower())
  315. end
  316. end
  317. end)
  318. end)
  319.  
  320. local DisplayPage = ScrollingFrame()
  321. DisplayPage.Visible = (TabCount == 0)
  322. DisplayPage.Name = PageTitle
  323. DisplayPage.Size = UDim2.new(1,0,1,0)
  324. DisplayPage.Parent = DisplayFrame
  325.  
  326. TabCount += 1
  327.  
  328. local DisplayList = Instance.new("UIListLayout")
  329. DisplayList.SortOrder = Enum.SortOrder.LayoutOrder
  330. DisplayList.Padding = UDim.new(0,5)
  331. DisplayList.Parent = DisplayPage
  332.  
  333. DisplayList:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
  334. local Y1 = DisplayList.AbsoluteContentSize.Y
  335. local Y2 = DisplayPage.AbsoluteWindowSize.Y
  336. DisplayPage.CanvasSize = UDim2.new(0,0,(Y1/Y2)+0.05,0)
  337. end)
  338.  
  339. local DisplayPadding = Instance.new("UIPadding")
  340. DisplayPadding.PaddingBottom = UDim.new(0,5)
  341. DisplayPadding.PaddingTop = UDim.new(0,5)
  342. DisplayPadding.PaddingLeft = UDim.new(0,5)
  343. DisplayPadding.PaddingRight = UDim.new(0,5)
  344. DisplayPadding.Parent = DisplayPage
  345.  
  346. if SearchBarIncluded then
  347. local SearchBarContainer = RoundBox(5)
  348. SearchBarContainer.Name = "SearchBar"
  349. SearchBarContainer.ImageColor3 = Color3.fromRGB(35,35,35)
  350. SearchBarContainer.Size = UDim2.new(1,0,0,20)
  351. SearchBarContainer.Parent = DisplayPage
  352.  
  353. local SearchBox = TextBox("Search...")
  354. SearchBox.Name = "SearchInput"
  355. SearchBox.Position = UDim2.new(0,20,0,0)
  356. SearchBox.Size = UDim2.new(1,-20,1,0)
  357. SearchBox.TextTransparency = 0.5
  358. SearchBox.TextXAlignment = Enum.TextXAlignment.Left
  359. SearchBox.Parent = SearchBarContainer
  360.  
  361. local SearchIcon = SearchIcon()
  362. SearchIcon.Parent = SearchBarContainer
  363.  
  364. SearchBox:GetPropertyChangedSignal("Text"):Connect(function()
  365. local NewValue = SearchBox.Text
  366.  
  367. for _, Element in next, DisplayPage:GetChildren() do
  368. if Element:IsA("Frame") then
  369. if not string.find(Element.Name:lower(), "label") then
  370. if string.find(Element.Name:lower(), NewValue:lower()) then
  371. Element.Visible = true
  372. else
  373. Element.Visible = false
  374. end
  375. end
  376. end
  377. end
  378. end)
  379. end
  380.  
  381. local PageLibrary = {}
  382.  
  383. function PageLibrary.AddButton(Text, Callback, Parent, Underline)
  384. local ButtonContainer = Frame()
  385. ButtonContainer.Name = Text.."BUTTON"
  386. ButtonContainer.Size = UDim2.new(1,0,0,20)
  387. ButtonContainer.BackgroundTransparency = 1
  388. ButtonContainer.Parent = Parent or DisplayPage
  389.  
  390. local ButtonForeground = RoundBox(5)
  391. ButtonForeground.Name = "ButtonForeground"
  392. ButtonForeground.Size = UDim2.new(1,0,1,0)
  393. ButtonForeground.ImageColor3 = Color3.fromRGB(35,35,35)
  394. ButtonForeground.Parent = ButtonContainer
  395.  
  396. if Underline then
  397. local TextSize = TextService:GetTextSize(Text, 12, Enum.Font.Gotham, Vector2.new(0,0))
  398.  
  399. local BottomEffect = Frame()
  400. BottomEffect.Size = UDim2.new(0,TextSize.X,0,1)
  401. BottomEffect.Position = UDim2.new(0.5,(-TextSize.X/2)-1,1,-1)
  402. BottomEffect.BackgroundColor3 = Color3.fromRGB(255,255,255)
  403. BottomEffect.BackgroundTransparency = 0.5
  404. BottomEffect.Parent = ButtonForeground
  405. end
  406.  
  407. local HiddenButton = TextButton(Text, 12)
  408. HiddenButton.Parent = ButtonForeground
  409.  
  410. HiddenButton.MouseButton1Down:Connect(function()
  411. Callback()
  412. Tween(ButtonForeground, {ImageColor3 = Color3.fromRGB(45,45,45)})
  413. Tween(HiddenButton, {TextTransparency = 0.5})
  414. wait(TweenTime)
  415. Tween(ButtonForeground, {ImageColor3 = Color3.fromRGB(35,35,35)})
  416. Tween(HiddenButton, {TextTransparency = 0})
  417. end)
  418. end
  419.  
  420. function PageLibrary.AddLabel(Text)
  421. local LabelContainer = Frame()
  422. LabelContainer.Name = Text.."LABEL"
  423. LabelContainer.Size = UDim2.new(1,0,0,20)
  424. LabelContainer.BackgroundTransparency = 1
  425. LabelContainer.Parent = DisplayPage
  426.  
  427. local LabelForeground = RoundBox(5)
  428. LabelForeground.Name = "LabelForeground"
  429. LabelForeground.ImageColor3 = Color3.fromRGB(45,45,45)
  430. LabelForeground.Size = UDim2.new(1,0,1,0)
  431. LabelForeground.Parent = LabelContainer
  432.  
  433. local HiddenLabel = TextLabel(Text, 12)
  434. HiddenLabel.Parent = LabelForeground
  435. end
  436.  
  437. function PageLibrary.AddDropdown(Text, ConfigurationArray, Callback)
  438. local DropdownArray = ConfigurationArray or {}
  439.  
  440. local DropdownToggle = false
  441.  
  442. local DropdownContainer = Frame()
  443. DropdownContainer.Size = UDim2.new(1,0,0,20)
  444. DropdownContainer.Name = Text.."DROPDOWN"
  445. DropdownContainer.BackgroundTransparency = 1
  446. DropdownContainer.Parent = DisplayPage
  447.  
  448. local DropdownForeground = RoundBox(5)
  449. DropdownForeground.ClipsDescendants = true
  450. DropdownForeground.ImageColor3 = Color3.fromRGB(35,35,35)
  451. DropdownForeground.Size = UDim2.new(1,0,1,0)
  452. DropdownForeground.Parent = DropdownContainer
  453.  
  454. local DropdownExpander = DropdownIcon(true)
  455. DropdownExpander.Parent = DropdownForeground
  456.  
  457. local DropdownLabel = TextLabel(Text, 12)
  458. DropdownLabel.Size = UDim2.new(1,0,0,20)
  459. DropdownLabel.Parent = DropdownForeground
  460.  
  461. local DropdownFrame = Frame()
  462. DropdownFrame.Position = UDim2.new(0,0,0,20)
  463. DropdownFrame.BackgroundTransparency = 1
  464. DropdownFrame.Size = UDim2.new(1,0,0,#DropdownArray*20)
  465. DropdownFrame.Parent = DropdownForeground
  466.  
  467. local DropdownList = Instance.new("UIListLayout")
  468. DropdownList.Parent = DropdownFrame
  469.  
  470. for OptionIndex, Option in next, DropdownArray do
  471. PageLibrary.AddButton(Option, function()
  472. Callback(Option)
  473. DropdownLabel.Text = Text..": "..Option
  474. end, DropdownFrame, OptionIndex < #DropdownArray)
  475. end
  476.  
  477. DropdownExpander.MouseButton1Down:Connect(function()
  478. DropdownToggle = not DropdownToggle
  479. Tween(DropdownContainer, {Size = DropdownToggle and UDim2.new(1,0,0,20+(#DropdownArray*20)) or UDim2.new(1,0,0,20)})
  480. Tween(DropdownExpander, {Rotation = DropdownToggle and 135 or 0})
  481. end)
  482. end
  483.  
  484. function PageLibrary.AddColourPicker(Text, DefaultColour, Callback)
  485. local DefaultColour = DefaultColour or Color3.fromRGB(255,255,255)
  486.  
  487. local ColourDictionary = {
  488. white = Color3.fromRGB(255,255,255),
  489. black = Color3.fromRGB(0,0,0),
  490. red = Color3.fromRGB(255,0,0),
  491. green = Color3.fromRGB(0,255,0),
  492. blue = Color3.fromRGB(0,0,255)
  493. }
  494.  
  495. if typeof(DefaultColour) == "table" then
  496. DefaultColour = Color3.fromRGB(DefaultColour[1] or 255, DefaultColour[2] or 255, DefaultColour[3] or 255)
  497. elseif typeof(DefaultColour) == "string" then
  498. DefaultColour = ColourDictionary[DefaultColour:lower()] or ColourDictionary["white"]
  499. end
  500.  
  501. local PickerContainer = Frame()
  502. PickerContainer.ClipsDescendants = true
  503. PickerContainer.Size = UDim2.new(1,0,0,20)
  504. PickerContainer.Name = Text.."COLOURPICKER"
  505. PickerContainer.BackgroundTransparency = 1
  506. PickerContainer.Parent = DisplayPage
  507.  
  508. local ColourTracker = Instance.new("Color3Value")
  509. ColourTracker.Value = DefaultColour
  510. ColourTracker.Parent = PickerContainer
  511.  
  512. local PickerLeftSide, PickerRightSide, PickerFrame = RoundBox(5), RoundBox(5), RoundBox(5)
  513.  
  514. PickerLeftSide.Size = UDim2.new(1,-22,1,0)
  515. PickerLeftSide.ImageColor3 = Color3.fromRGB(35,35,35)
  516. PickerLeftSide.Parent = PickerContainer
  517.  
  518. PickerRightSide.Size = UDim2.new(0,20,1,0)
  519. PickerRightSide.Position = UDim2.new(1,-20,0,0)
  520. PickerRightSide.ImageColor3 = DefaultColour
  521. PickerRightSide.Parent = PickerContainer
  522.  
  523. PickerFrame.ImageColor3 = Color3.fromRGB(35,35,35)
  524. PickerFrame.Size = UDim2.new(1,-22,0,60)
  525. PickerFrame.Position = UDim2.new(0,0,0,20)
  526. PickerFrame.Parent = PickerContainer
  527.  
  528. local PickerList = Instance.new("UIListLayout")
  529. PickerList.SortOrder = Enum.SortOrder.LayoutOrder
  530. PickerList.Parent = PickerFrame
  531.  
  532. local RedPicker = PageLibrary.AddSlider("R", {Min = 0, Max = 255, Def = ColourTracker.Value.R * 255}, function(Value)
  533. ColourTracker.Value = Color3.fromRGB(Value, ColourTracker.Value.G * 255, ColourTracker.Value.B * 255)
  534. Callback(ColourTracker.Value)
  535. end, PickerFrame)
  536.  
  537. local BluePicker = PageLibrary.AddSlider("G", {Min = 0, Max = 255, Def = ColourTracker.Value.G * 255}, function(Value)
  538. ColourTracker.Value = Color3.fromRGB(ColourTracker.Value.R * 255, Value, ColourTracker.Value.B * 255)
  539. Callback(ColourTracker.Value)
  540. end, PickerFrame)
  541.  
  542. local GreenPicker = PageLibrary.AddSlider("B", {Min = 0, Max = 255, Def = ColourTracker.Value.B * 255}, function(Value)
  543. ColourTracker.Value = Color3.fromRGB(ColourTracker.Value.R * 255, ColourTracker.Value.G * 255, Value)
  544. Callback(ColourTracker.Value)
  545. end, PickerFrame)
  546.  
  547. local EffectLeft, EffectRight = Frame(), Frame()
  548.  
  549. EffectLeft.BackgroundColor3 = Color3.fromRGB(35,35,35)
  550. EffectLeft.Position = UDim2.new(1,-5,0,0)
  551. EffectLeft.Size = UDim2.new(0,5,1,0)
  552. EffectLeft.Parent = PickerLeftSide
  553.  
  554. EffectRight.BackgroundColor3 = DefaultColour
  555. EffectRight.Size = UDim2.new(0,5,1,0)
  556. EffectRight.Parent = PickerRightSide
  557.  
  558. local PickerLabel = TextLabel(Text, 12)
  559. PickerLabel.Size = UDim2.new(1,0,0,20)
  560. PickerLabel.Parent = PickerLeftSide
  561.  
  562. ColourTracker:GetPropertyChangedSignal("Value"):Connect(function()
  563. local NewValue = ColourTracker.Value
  564. EffectRight.BackgroundColor3 = NewValue
  565. PickerRightSide.ImageColor3 = NewValue
  566. end)
  567.  
  568. local PickerToggle = false
  569.  
  570. local PickerButton = TextButton("")
  571. PickerButton.Parent = PickerRightSide
  572.  
  573. PickerButton.MouseButton1Down:Connect(function()
  574. PickerToggle = not PickerToggle
  575. Tween(PickerContainer, {Size = PickerToggle and UDim2.new(1,0,0,80) or UDim2.new(1,0,0,20)})
  576. end)
  577. end
  578.  
  579. function PageLibrary.AddSlider(Text, ConfigurationDictionary, Callback, Parent)
  580. local Configuration = ConfigurationDictionary
  581. local Minimum = Configuration.Minimum or Configuration.minimum or Configuration.Min or Configuration.min
  582. local Maximum = Configuration.Maximum or Configuration.maximum or Configuration.Max or Configuration.max
  583. local Default = Configuration.Default or Configuration.default or Configuration.Def or Configuration.def
  584.  
  585. if Minimum > Maximum then
  586. local StoreValue = Minimum
  587. Minimum = Maximum
  588. Maximum = StoreValue
  589. end
  590.  
  591. Default = math.clamp(Default, Minimum, Maximum)
  592.  
  593. local DefaultScale = Default/Maximum
  594.  
  595. local SliderContainer = Frame()
  596. SliderContainer.Name = Text.."SLIDER"
  597. SliderContainer.Size = UDim2.new(1,0,0,20)
  598. SliderContainer.BackgroundTransparency = 1
  599. SliderContainer.Parent = Parent or DisplayPage
  600.  
  601. local SliderForeground = RoundBox(5)
  602. SliderForeground.Name = "SliderForeground"
  603. SliderForeground.ImageColor3 = Color3.fromRGB(35,35,35)
  604. SliderForeground.Size = UDim2.new(1,0,1,0)
  605. SliderForeground.Parent = SliderContainer
  606.  
  607. local SliderButton = TextButton(Text..": "..Default)
  608. SliderButton.Size = UDim2.new(1,0,1,0)
  609. SliderButton.ZIndex = 6
  610. SliderButton.Parent = SliderForeground
  611.  
  612. local SliderFill = RoundBox(5)
  613. SliderFill.Size = UDim2.new(DefaultScale,0,1,0)
  614. SliderFill.ImageColor3 = Color3.fromRGB(70,70,70)
  615. SliderFill.ZIndex = 5
  616. SliderFill.ImageTransparency = 0.7
  617. SliderFill.Parent = SliderButton
  618.  
  619. SliderButton.MouseButton1Down:Connect(function()
  620. Tween(SliderFill, {ImageTransparency = 0.5})
  621. local X, Y, XScale, YScale = GetXY(SliderButton)
  622. local Value = math.floor(Minimum + ((Maximum - Minimum) * XScale))
  623. Callback(Value)
  624. SliderButton.Text = Text..": "..tostring(Value)
  625. local TargetSize = UDim2.new(XScale,0,1,0)
  626. Tween(SliderFill, {Size = TargetSize})
  627. local SliderMove, SliderKill
  628. SliderMove = Mouse.Move:Connect(function()
  629. Tween(SliderFill, {ImageTransparency = 0.5})
  630. local X, Y, XScale, YScale = GetXY(SliderButton)
  631. local Value = math.floor(Minimum + ((Maximum - Minimum) * XScale))
  632. Callback(Value)
  633. SliderButton.Text = Text..": "..tostring(Value)
  634. local TargetSize = UDim2.new(XScale,0,1,0)
  635. Tween(SliderFill, {Size = TargetSize})
  636. end)
  637. SliderKill = UserInputService.InputEnded:Connect(function(UserInput)
  638. if UserInput.UserInputType == Enum.UserInputType.MouseButton1 then
  639. Tween(SliderFill, {ImageTransparency = 0.7})
  640. SliderMove:Disconnect()
  641. SliderKill:Disconnect()
  642. end
  643. end)
  644. end)
  645. end
  646.  
  647. function PageLibrary.AddToggle(Text, Default, Callback)
  648. local ThisToggle = Default or false
  649.  
  650. local ToggleContainer = Frame()
  651. ToggleContainer.Name = Text.."TOGGLE"
  652. ToggleContainer.Size = UDim2.new(1,0,0,20)
  653. ToggleContainer.BackgroundTransparency = 1
  654. ToggleContainer.Parent = DisplayPage
  655.  
  656. local ToggleLeftSide, ToggleRightSide, EffectFrame, RightTick = RoundBox(5), RoundBox(5), Frame(), TickIcon()
  657. local FlatLeft, FlatRight = Frame(), Frame()
  658.  
  659. ToggleLeftSide.Size = UDim2.new(1,-22,1,0)
  660. ToggleLeftSide.ImageColor3 = Color3.fromRGB(35,35,35)
  661. ToggleLeftSide.Parent = ToggleContainer
  662.  
  663. ToggleRightSide.Position = UDim2.new(1,-20,0,0)
  664. ToggleRightSide.Size = UDim2.new(0,20,1,0)
  665. ToggleRightSide.ImageColor3 = Color3.fromRGB(45,45,45)
  666. ToggleRightSide.Parent = ToggleContainer
  667.  
  668. FlatLeft.BackgroundColor3 = Color3.fromRGB(35,35,35)
  669. FlatLeft.Size = UDim2.new(0,5,1,0)
  670. FlatLeft.Position = UDim2.new(1,-5,0,0)
  671. FlatLeft.Parent = ToggleLeftSide
  672.  
  673. FlatRight.BackgroundColor3 = Color3.fromRGB(45,45,45)
  674. FlatRight.Size = UDim2.new(0,5,1,0)
  675. FlatRight.Parent = ToggleRightSide
  676.  
  677. EffectFrame.BackgroundColor3 = ThisToggle and Color3.fromRGB(0,255,109) or Color3.fromRGB(255,160,160)
  678. EffectFrame.Position = UDim2.new(1,-22,0.2,0)
  679. EffectFrame.Size = UDim2.new(0,2,0.6,0)
  680. EffectFrame.Parent = ToggleContainer
  681.  
  682. RightTick.ImageTransparency = ThisToggle and 0 or 1
  683. RightTick.Parent = ToggleRightSide
  684.  
  685. local ToggleButton = TextButton(Text, 12)
  686. ToggleButton.Name = "ToggleButton"
  687. ToggleButton.Size = UDim2.new(1,0,1,0)
  688. ToggleButton.Parent = ToggleLeftSide
  689.  
  690. ToggleButton.MouseButton1Down:Connect(function()
  691. ThisToggle = not ThisToggle
  692. Tween(EffectFrame, {BackgroundColor3 = ThisToggle and Color3.fromRGB(0,255,109) or Color3.fromRGB(255,160,160)})
  693. Tween(RightTick, {ImageTransparency = ThisToggle and 0 or 1})
  694. Callback(ThisToggle)
  695. end)
  696. end
  697.  
  698. return PageLibrary
  699. end
  700.  
  701. return TabLibrary
  702. end
  703.  
  704. return UILibrary
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement