R

main library ui lib

public
rrixh Apr 28, 2024 Never 96
Clone
Plaintext uilib.mainlibrary.mp3 704 lines (582 loc) | 24.59 KB
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