Run it
Copy the script and paste it into your executor.
()
:()
library
folder =
services = ({}, {
__index = (_, service)
service ==
:()
:(service)
})
utility = {}
utility.(length)
str =
chars = .(, )
i = , length
i = .(, #chars)
(chars[i])
uppercase = .(, ) ==
str = str .. (uppercase chars[i]:() chars[i])
str = str .. chars[i]
str
utility.(class, properties)
obj = .(class)
forced = {
AutoButtonColor =
}
prop, v , properties
obj[prop] = v
prop, v , forced
(()
obj[prop] = v
)
obj.Name = utility.()
obj
utility.(object, speed)
start, objectPosition, dragging
speed = speed
object.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1
dragging =
start = input.Position
objectPosition = object.Position
)
object.InputEnded:((input)
input.UserInputType == .UserInputType.MouseButton1
dragging =
)
services.InputService.InputChanged:((input)
input.UserInputType == .UserInputType.MouseMovement dragging
utility.(object, { speed }, { Position = .(objectPosition.X.Scale, objectPosition.X.Offset + (input.Position - start).X, objectPosition.Y.Scale, objectPosition.Y.Offset + (input.Position - start).Y) })
)
utility.(color)
r = .(color.r * )
g = .(color.g * )
b = .(color.b * )
r, g, b
utility.(sizeX, sizeY)
.(, -(sizeX / ), , -(sizeY / ))
utility.(tbl)
tbl = tbl {}
newtbl = {}
i, v , tbl
(i) ==
newtbl[i:()] = v
({}, {
__newindex = (_, k, v)
(newtbl, k:(), v)
,
__index = (_, k)
newtbl[k:()]
})
utility.(obj, info, properties, callback)
anim = services.TweenService:(obj, TweenInfo.((info)), properties)
anim:()
callback
anim.Completed:(callback)
anim
utility.(obj, bool)
bool ==
tween
obj.ClassName:()
obj.ClassName:()
tween = utility.(obj, { }, { BackgroundTransparency = obj.BackgroundTransparency + , TextTransparency = obj.TextTransparency + , TextStrokeTransparency = obj.TextStrokeTransparency + })
obj.ClassName:()
tween = utility.(obj, { }, { BackgroundTransparency = obj.BackgroundTransparency + , ImageTransparency = obj.ImageTransparency + })
obj.ClassName:()
tween = utility.(obj, { }, { BackgroundTransparency = obj.BackgroundTransparency + , ScrollBarImageTransparency = obj.ScrollBarImageTransparency + })
tween = utility.(obj, { }, { BackgroundTransparency = obj.BackgroundTransparency + })
tween.Completed:(()
obj.Visible =
)
_, descendant , obj:()
descendant.ClassName:()
descendant.ClassName:()
utility.(descendant, { }, { BackgroundTransparency = descendant.BackgroundTransparency + , TextTransparency = descendant.TextTransparency + , TextStrokeTransparency = descendant.TextStrokeTransparency + })
descendant.ClassName:()
utility.(descendant, { }, { BackgroundTransparency = descendant.BackgroundTransparency + , ImageTransparency = descendant.ImageTransparency + })
descendant.ClassName:()
utility.(descendant, { }, { BackgroundTransparency = descendant.BackgroundTransparency + , ScrollBarImageTransparency = descendant.ScrollBarImageTransparency + })
utility.(descendant, { }, { BackgroundTransparency = descendant.BackgroundTransparency + })
tween
bool ==
tween
obj.ClassName:()
obj.Visible =
obj.ClassName:()
tween = utility.(obj, { }, { BackgroundTransparency = obj.BackgroundTransparency - , TextTransparency = obj.TextTransparency - , TextStrokeTransparency = obj.TextStrokeTransparency - })
obj.ClassName:()
tween = utility.(obj, { }, { BackgroundTransparency = obj.BackgroundTransparency - , ImageTransparency = obj.ImageTransparency - })
obj.ClassName:()
tween = utility.(obj, { }, { BackgroundTransparency = obj.BackgroundTransparency - , ScrollBarImageTransparency = obj.ScrollBarImageTransparency - })
tween = utility.(obj, { }, { BackgroundTransparency = obj.BackgroundTransparency - })
_, descendant , obj:()
descendant.ClassName:()
descendant.ClassName:()
utility.(descendant, { }, { BackgroundTransparency = descendant.BackgroundTransparency - , TextTransparency = descendant.TextTransparency - , TextStrokeTransparency = descendant.TextStrokeTransparency - })
descendant.ClassName:()
utility.(descendant, { }, { BackgroundTransparency = descendant.BackgroundTransparency - , ImageTransparency = descendant.ImageTransparency - })
descendant.ClassName:()
utility.(descendant, { }, { BackgroundTransparency = descendant.BackgroundTransparency - , ScrollBarImageTransparency = descendant.ScrollBarImageTransparency - })
utility.(descendant, { }, { BackgroundTransparency = descendant.BackgroundTransparency - })
tween
utility.(scrolling, list)
list:():(()
scrolling.CanvasSize = .(, , , list.AbsoluteContentSize.Y)
)
utility.(color, amount)
r, g, b = utility.(color)
r = .(r + amount, , )
g = .(g + amount, , )
b = .(b + amount, , )
.(r, g, b)
utility.(colors)
colortbl = {}
i, color , colors
.(colortbl, ColorSequenceKeypoint.((i - ) / (#colors - ), color))
ColorSequence.(colortbl)
library = utility. {
flags = {},
toggled = ,
accent = .(, , ),
outline = { .(, , ), .(, , ) },
keybind = .KeyCode.RightShift
}
accentobjects = { gradient = {}, bg = {}, text = {} }
library:(accent)
library.accent = accent
obj, color , accentobjects.gradient
obj.Color = (accent)
_, obj , accentobjects.bg
obj.BackgroundColor3 = accent
_, obj , accentobjects.text
obj.TextColor3 = accent
outlineobjs = {}
library:(colors)
_, obj , outlineobjs
obj.Color = utility.(colors)
gui = utility.(, {})
flags = {}
library:(name, universal)
configtbl = {}
placeid = universal .PlaceId
flag, _ , flags
value = library.flags[flag]
(value) ==
configtbl[flag] = (value)
(value) ==
configtbl[flag] = { .(value.R * ), .(value.G * ), .(value.B * ) }
configtbl[flag] = value
config = services.HttpService:(configtbl)
folderpath = .(, folder, placeid)
(folderpath)
(folderpath)
filepath = .(, folderpath, name)
(filepath, config)
library:(name, universal)
placeid = universal .PlaceId
folderpath = .(, folder, placeid)
(folderpath)
folderpath = .(, folder, placeid)
filepath = .(, folderpath, name)
(filepath)
library:(name)
placeidfolder = .(, folder, .PlaceId)
placeidfile = .(, placeidfolder, name)
filepath
(placeidfolder) (placeidfile)
filepath = placeidfile
filepath = .(, folder, name)
file = (filepath)
config = services.HttpService:(file)
flag, v , config
func = flags[flag]
(v)
library:(universal)
configs = {}
placeidfolder = .(, folder, .PlaceId)
universalfolder = folder ..
_, config , ((placeidfolder) (placeidfolder) {})
name = config:(placeidfolder .. , ):(, )
.(configs, name)
universal (universalfolder)
_, config , ((placeidfolder) (placeidfolder) {})
configs[config:(universalfolder .. , )] = (config)
configs
library:(options)
text = .(options, )
watermarksize = services.TextService:(text:(, ):(, ), , .Font.Code, .(, )).X +
watermark = utility.(, {
ZIndex = ,
Size = .(, watermarksize, , ),
BorderColor3 = .(, , ),
Position = .(, , , ),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
FontSize = .FontSize.Size14,
TextStrokeTransparency = ,
TextSize = ,
RichText = ,
TextColor3 = library.accent,
Text = text,
Font = .Font.Code,
Parent = gui
})
.(accentobjects.text, watermark)
utility.(, {
PaddingBottom = .(, ),
Parent = watermark
})
outline = utility.(, {
Size = .(, , , ),
BorderColor3 = .(, , ),
Position = .(, -, , -),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = watermark
})
utility.(, {
ZIndex = ,
Size = .(, , , ),
Position = .(, -, , -),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = outline
})
outlinegradient = utility.(, {
Rotation = ,
Color = utility.(library.outline),
Parent = outline
})
.(outlineobjs, outlinegradient)
watermarktypes = utility.()
watermarktypes:(options)
text = .(options, )
watermarksize = services.TextService:(text:(, ):(, ), , .Font.Code, .(, )).X +
watermark.Size = .(, watermarksize, , )
watermark.Text = text
toggling =
toggled =
watermarktypes:()
toggling
toggling =
toggled = toggled
tween = utility.(watermark, toggled)
tween.Completed:()
toggling =
watermarktypes
library:(options)
options = utility.(options)
name = options.name
accent = options.accent library.accent
outlinecolor = options.outline { accent, utility.(accent, -) }
sizeX = options.sizeX
sizeY = options.sizeY
library.accent = accent
library.outline = outlinecolor
holder = utility.(, {
Size = .(, sizeX, , ),
BackgroundTransparency = ,
Position = utility.(sizeX, sizeY),
Parent = gui
})
toggling =
library:()
toggling
toggling =
library.toggled = library.toggled
tween = utility.(holder, library.toggled)
tween.Completed:()
toggling =
utility.(holder)
title = utility.(, {
ZIndex = ,
Size = .(, , , -),
BorderColor3 = .(, , ),
BackgroundTransparency = ,
Position = .(, , , ),
BackgroundColor3 = .(, , ),
FontSize = .FontSize.Size14,
TextStrokeTransparency = ,
TextSize = ,
TextColor3 = library.accent,
Text = name,
Font = .Font.Code,
TextXAlignment = .TextXAlignment.Left,
Parent = holder
})
.(accentobjects.text, title)
main = utility.(, {
ZIndex = ,
Size = .(, , , sizeY),
BorderColor3 = .(, , ),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = holder
})
outline = utility.(, {
Size = .(, , , ),
BorderColor3 = .(, , ),
Position = .(, -, , -),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = main
})
outlinegradient = utility.(, {
Rotation = ,
Color = utility.(library.outline),
Parent = outline
})
.(outlineobjs, outlinegradient)
border = utility.(, {
ZIndex = ,
Size = .(, , , ),
Position = .(, -, , -),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = outline
})
tabs = utility.(, {
ZIndex = ,
Size = .(, -, , -),
BorderColor3 = .(, , ),
Position = .(, , , ),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = main
})
utility.(, {
Rotation = ,
Color = ColorSequence.(.(, , ), .(, , )),
Parent = tabs
})
utility.(, {
ZIndex = ,
Size = .(, , , ),
Position = .(, -, , -),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = tabs
})
tabtoggles = utility.(, {
Size = .(, , , ),
BackgroundTransparency = ,
Position = .(, , , ),
BackgroundColor3 = .(, , ),
Parent = tabs
})
utility.(, {
FillDirection = .FillDirection.Horizontal,
SortOrder = .SortOrder.LayoutOrder,
Padding = .(, ),
Parent = tabtoggles
})
tabframes = utility.(, {
ZIndex = ,
Size = .(, -, , -),
BorderColor3 = .(, , ),
Position = .(, , , ),
BackgroundColor3 = .(, , ),
Parent = tabs
})
tabholder = utility.(, {
Size = .(, -, , -),
BackgroundTransparency = ,
Position = .(, , , ),
BackgroundColor3 = .(, , ),
Parent = tabframes
})
windowtypes = utility.()
pagetoggles = {}
switchingtabs =
firsttab
currenttab
windowtypes:(options)
options = utility.(options)
name = options.name
first = #tabtoggles:() ==
togglesizeX = .(services.TextService:(name, , .Font.Code, .(, )).X, , .huge)
tabtoggle = utility.(, {
Size = .(, togglesizeX + , , ),
BackgroundTransparency = ,
FontSize = .FontSize.Size14,
TextSize = ,
Parent = tabtoggles
})
antiborder = utility.(, {
ZIndex = ,
Visible = first,
Size = .(, , , ),
Position = .(, , , ),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = tabtoggle
})
selectedglow = utility.(, {
ZIndex = ,
Size = .(, , , ),
Visible = first,
BorderColor3 = .(, , ),
BorderSizePixel = ,
BackgroundColor3 = library.accent,
Parent = tabtoggle
})
.(accentobjects.bg, selectedglow)
utility.(, {
ZIndex = ,
Size = .(, , , ),
Position = .(, , , ),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = selectedglow
})
titleholder = utility.(, {
ZIndex = ,
Size = .(, , , first - -),
BorderColor3 = .(, , ),
Position = .(, , , first ),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = tabtoggle
})
title = utility.(, {
ZIndex = ,
Size = .(, , , ),
BackgroundTransparency = ,
FontSize = .FontSize.Size14,
TextStrokeTransparency = ,
TextSize = ,
TextColor3 = first library.accent .(, , ),
Text = name,
Font = .Font.Code,
Parent = titleholder
})
first
.(accentobjects.text, title)
tabglowgradient = utility.(, {
Rotation = ,
Color = first utility. { utility.(library.accent, -), .(, , ) } utility. { .(, , ), .(, , ) },
Offset = .(, -),
Parent = titleholder
})
first
accentobjects.gradient[tabglowgradient] = (color)
utility. { utility.(color, -), .(, , ) }
tabtoggleborder = utility.(, {
ZIndex = ,
Size = .(, , , ),
Position = .(, -, , -),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = title
})
pagetoggles[tabtoggle] = {}
pagetoggles[tabtoggle] = ()
utility.(antiborder, { }, { BackgroundTransparency = }, ()
antiborder.Visible =
)
utility.(selectedglow, { }, { BackgroundTransparency = }, ()
selectedglow.Visible =
)
utility.(titleholder, { }, { Size = .(, , , -), Position = .(, , , ) })
utility.(title, { }, { TextColor3 = .(, , ) })
.(accentobjects.text, title)
.(accentobjects.text, .(accentobjects.text, title))
tabglowgradient.Color = utility. { .(, , ), .(, , ) }
accentobjects.gradient[tabglowgradient]
accentobjects.gradient[tabglowgradient] = ()
tab = utility.(, {
Size = .(, , , ),
BackgroundTransparency = first ,
Visible = first,
Parent = tabholder
})
first
currenttab = tab
firsttab = tab
tab.DescendantAdded:((descendant)
tab ~= currenttab
.()
descendant.ClassName:()
descendant.ClassName:()
descendant.TextTransparency = descendant.TextTransparency +
descendant.TextStrokeTransparency = descendant.TextStrokeTransparency +
descendant.ClassName:()
descendant.ScrollBarImageTransparency = descendant.ScrollBarImageTransparency +
descendant.BackgroundTransparency = descendant.BackgroundTransparency +
)
column1 = utility.(, {
Size = .(, -, , ),
BackgroundTransparency = ,
Active = ,
BackgroundColor3 = .(, , ),
AutomaticCanvasSize = .AutomaticSize.Y,
CanvasSize = .(, , , ),
ScrollBarImageColor3 = .(, , ),
ScrollBarThickness = ,
Parent = tab
})
column1list = utility.(, {
SortOrder = .SortOrder.LayoutOrder,
Padding = .(, ),
Parent = column1
})
utility.(column1, column1list)
column2 = utility.(, {
Size = .(, -, , ),
BackgroundTransparency = ,
Position = .(, , , ),
Active = ,
BackgroundColor3 = .(, , ),
AutomaticCanvasSize = .AutomaticSize.Y,
CanvasSize = .(, , , ),
ScrollBarImageColor3 = .(, , ),
ScrollBarThickness = ,
Parent = tab
})
column2list = utility.(, {
SortOrder = .SortOrder.LayoutOrder,
Padding = .(, ),
Parent = column2
})
utility.(column2, column2list)
()
switchingtabs
switchingtabs =
currenttab = tab
toggle, close , pagetoggles
toggle ~= tabtoggle
()
_, obj , tabholder:()
obj ~= tab obj.BackgroundTransparency <=
utility.(obj, )
antiborder.Visible =
utility.(antiborder, { }, { BackgroundTransparency = })
selectedglow.Visible =
utility.(selectedglow, { }, { BackgroundTransparency = })
utility.(titleholder, { }, { Size = .(, , , -), Position = .(, , , ) })
utility.(title, { }, { TextColor3 = library.accent })
.(accentobjects.text, title)
tabglowgradient.Color = utility. { utility.(library.accent, -), .(, , ) }
accentobjects.gradient[tabglowgradient] = (color)
utility. { utility.(color, -), .(, , ) }
tab.Visible =
tab.BackgroundTransparency >
.()
tween = utility.(tab, )
tween.Completed:()
switchingtabs =
tabtoggle.MouseButton1Click:(opentab)
pagetypes = utility.()
pagetypes:(options)
options = utility.(options)
name = options.name
side = options.side
max = options.max .huge
column = (side:() == column1) (side:() == column2)
sectionholder = utility.(, {
Size = .(, -, , ),
BackgroundTransparency = ,
BackgroundColor3 = .(, , ),
Parent = column
})
section = utility.(, {
ZIndex = ,
Size = .(, -, , -),
BorderColor3 = .(, , ),
Position = .(, , , ),
BackgroundColor3 = .(, , ),
Parent = sectionholder
})
title = utility.(, {
ZIndex = ,
Size = .(, , , ),
BorderColor3 = .(, , ),
BackgroundTransparency = ,
Position = .(, , , ),
BackgroundColor3 = .(, , ),
FontSize = .FontSize.Size14,
TextStrokeTransparency = ,
TextSize = ,
TextColor3 = library.accent,
Text = name,
Font = .Font.Code,
TextXAlignment = .TextXAlignment.Left,
Parent = section
})
.(accentobjects.text, title)
glow = utility.(, {
ZIndex = ,
Size = .(, , , ),
BorderColor3 = .(, , ),
BorderSizePixel = ,
BackgroundColor3 = library.accent,
Parent = section
})
.(accentobjects.bg, glow)
utility.(, {
ZIndex = ,
Size = .(, , , ),
Position = .(, , , ),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = glow
})
fade = utility.(, {
ZIndex = ,
Size = .(, , , ),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = glow
})
fadegradient = utility.(, {
Rotation = ,
Color = utility. { utility.(library.accent, -), .(, , ) },
Offset = .(, -),
Parent = fade
})
accentobjects.gradient[fadegradient] = (color)
utility. { utility.(color, -), .(, , ) }
sectioncontent = utility.(, {
ZIndex = ,
Size = .(, -, , -),
BorderColor3 = .(, , ),
BackgroundTransparency = ,
Position = .(, , , ),
Active = ,
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
CanvasSize = .(, , , ),
ScrollBarThickness = ,
Parent = section
})
sectionlist = utility.(, {
SortOrder = .SortOrder.LayoutOrder,
Padding = .(, ),
Parent = sectioncontent
})
utility.(sectioncontent, sectionlist)
sectiontypes = utility.()
sectiontypes:(options)
options = utility.(options)
name = options.name
utility.(, {
ZIndex = ,
Size = .(, , , ),
BorderColor3 = .(, , ),
BackgroundTransparency = ,
Position = .(, , , ),
BackgroundColor3 = .(, , ),
FontSize = .FontSize.Size14,
TextStrokeTransparency = ,
TextSize = ,
TextColor3 = .(, , ),
Text = name,
Font = .Font.Code,
TextXAlignment = .TextXAlignment.Left,
Parent = sectioncontent
})
#sectioncontent:() - <= max
sectionholder.Size = .(, -, , sectionlist.AbsoluteContentSize.Y + )
sectiontypes:(options)
options = utility.(options)
name = options.name
callback = options.callback
buttonholder = utility.(, {
Size = .(, -, , ),
BackgroundTransparency = ,
BackgroundColor3 = .(, , ),
Parent = sectioncontent
})
button = utility.(, {
ZIndex = ,
Size = .(, -, , -),
BorderColor3 = .(, , ),
BackgroundTransparency = ,
Position = .(, , , ),
BackgroundColor3 = .(, , ),
AutoButtonColor = ,
FontSize = .FontSize.Size14,
TextStrokeTransparency = ,
TextSize = ,
TextColor3 = .(, , ),
Text = name,
Font = .Font.Code,
Parent = buttonholder
})
bg = utility.(, {
ZIndex = ,
Size = .(, , , ),
BorderColor3 = .(, , ),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = button
})
bggradient = utility.(, {
Rotation = ,
Color = utility. { .(, , ), .(, , ) },
Parent = bg
})
grayborder = utility.(, {
ZIndex = ,
Size = .(, , , ),
Position = .(, -, , -),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = button
})
blackborder = utility.(, {
ZIndex = ,
Size = .(, , , ),
Position = .(, -, , -),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = grayborder
})
button.MouseButton1Click:(callback)
button.InputBegan:((input)
input.UserInputType == .UserInputType.MouseButton1
bggradient.Color = utility. { .(, , ), .(, , ) }
)
button.InputEnded:((input)
input.UserInputType == .UserInputType.MouseButton1
bggradient.Color = utility. { .(, , ), .(, , ) }
)
#sectioncontent:() - <= max
sectionholder.Size = .(, -, , sectionlist.AbsoluteContentSize.Y + )
sectiontypes:(options)
options = utility.(options)
name = options.name
default = options.default
flag = options.pointer
callback = options.callback ()
toggleholder = utility.(, {
Size = .(, -, , ),
BackgroundTransparency = ,
BackgroundColor3 = .(, , ),
FontSize = .FontSize.Size14,
TextSize = ,
TextColor3 = .(, , ),
Font = .Font.SourceSans,
Parent = sectioncontent
})
togglething = utility.(, {
ZIndex = ,
Size = .(, , , ),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
BackgroundTransparency = ,
TextTransparency = ,
Parent = toggleholder
})
icon = utility.(, {
ZIndex = ,
Size = .(, , , ),
BorderColor3 = .(, , ),
Position = .(, , , ),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = toggleholder
})
grayborder = utility.(, {
ZIndex = ,
Size = .(, , , ),
Position = .(, -, , -),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = icon
})
utility.(, {
ZIndex = ,
Size = .(, , , ),
Position = .(, -, , -),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = grayborder
})
icongradient = utility.(, {
Rotation = ,
Color = utility. { .(, , ), .(, , ) },
Parent = icon
})
enablediconholder = utility.(, {
ZIndex = ,
Size = .(, , , ),
BackgroundTransparency = ,
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = icon
})
enabledicongradient = utility.(, {
Rotation = ,
Color = utility. { library.accent, .(, , ) },
Parent = enablediconholder
})
accentobjects.gradient[enabledicongradient] = (color)
utility. { color, .(, , ) }
title = utility.(, {
ZIndex = ,
Size = .(, , , ),
BackgroundTransparency = ,
Position = .(, , , ),
BackgroundColor3 = .(, , ),
FontSize = .FontSize.Size14,
TextStrokeTransparency = ,
TextSize = ,
TextColor3 = .(, , ),
Text = name,
Font = .Font.Code,
TextXAlignment = .TextXAlignment.Left,
Parent = toggleholder
})
toggled =
flag
library.flags[flag] = toggled
()
switchingtabs
toggled = toggled
flag
library.flags[flag] = toggled
(toggled)
enabledtransparency = toggled
utility.(enablediconholder, { }, { Transparency = enabledtransparency })
textcolor = toggled library.accent .(, , )
utility.(title, { }, { TextColor3 = textcolor })
toggled
.(accentobjects.text, title)
.(accentobjects.text, title)
.(accentobjects.text, .(accentobjects.text, title))
togglething.MouseButton1Click:(toggle)
(bool)
(bool) == toggled ~= bool
()
default
(default)
flag
flags[flag] = set
toggletypes = utility.()
toggletypes:(bool)
(bool)
toggletypes:(newoptions)
newoptions = utility.(newoptions)
name = newoptions.name
default = newoptions.default .(, , )
colorpickertype = newoptions.mode
toggleflag = colorpickertype colorpickertype:() == newoptions.togglepointer
togglecallback = colorpickertype colorpickertype:() == newoptions.togglecallback ()
flag = newoptions.pointer
callback = newoptions.callback ()
colorpickerframe = utility.(, {
ZIndex = ,
Size = .(, -, , ),
Position = .(, -, , ),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Visible = ,
Parent = toggleholder
})
colorpickerframe.DescendantAdded:((descendant)
opened
.()
descendant.ClassName:()
descendant.ClassName:()
descendant.TextTransparency = descendant.TextTransparency +
descendant.TextStrokeTransparency = descendant.TextStrokeTransparency +
descendant.ClassName:()
descendant.ImageTransparency = descendant.ImageTransparency +
descendant.BackgroundTransparency = descendant.BackgroundTransparency +
)
bggradient = utility.(, {
Rotation = ,
Color = utility. { .(, , ), .(, , ) },
Parent = colorpickerframe
})
grayborder = utility.(, {
ZIndex = ,
Size = .(, , , ),
Position = .(, -, , -),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = colorpickerframe
})
blackborder = utility.(, {
ZIndex = ,
Size = .(, , , ),
Position = .(, -, , -),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = grayborder
})
saturationframe = utility.(, {
ZIndex = ,
Size = .(, , , ),
BorderColor3 = .(, , ),
Position = .(, , , ),
BorderSizePixel = ,
BackgroundColor3 = default,
Image = ,
Parent = colorpickerframe
})
grayborder = utility.(, {
ZIndex = ,
Size = .(, , , ),
Position = .(, -, , -),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = saturationframe
})
utility.(, {
ZIndex = ,
Size = .(, , , ),
Position = .(, -, , -),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = grayborder
})
saturationpicker = utility.(, {
ZIndex = ,
Size = .(, , , ),
BorderColor3 = .(, , ),
BackgroundColor3 = .(, , ),
Parent = saturationframe
})
hueframe = utility.(, {
ZIndex = ,
Size = .(, , , ),
Position = .(, -, , ),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
ScaleType = .ScaleType.Crop,
Image = ,
Parent = colorpickerframe
})
grayborder = utility.(, {
ZIndex = ,
Size = .(, , , ),
Position = .(, -, , -),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = hueframe
})
utility.(, {
ZIndex = ,
Size = .(, , , ),
Position = .(, -, , -),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = grayborder
})
huepicker = utility.(, {
ZIndex = ,
Size = .(, , , ),
BorderColor3 = .(, , ),
BackgroundColor3 = .(, , ),
Parent = hueframe
})
boxholder = utility.(, {
Size = .(, -, , ),
ClipsDescendants = ,
Position = .(, , , ),
BackgroundColor3 = .(, , ),
Parent = colorpickerframe
})
box = utility.(, {
ZIndex = ,
Size = .(, -, , -),
BackgroundTransparency = ,
Position = .(, , , ),
BackgroundColor3 = .(, , ),
FontSize = .FontSize.Size14,
TextStrokeTransparency = ,
TextSize = ,
TextColor3 = .(, , ),
Text = .({ utility.(default) }, ),
PlaceholderText = ,
Font = .Font.Code,
Parent = boxholder
})
grayborder = utility.(, {
ZIndex = ,
Size = .(, , , ),
Position = .(, -, , -),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = box
})
utility.(, {
ZIndex = ,
Size = .(, , , ),
Position = .(, -, , -),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = grayborder
})
bg = utility.(, {
ZIndex = ,
Size = .(, , , ),
BorderColor3 = .(, , ),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = box
})
utility.(, {
Rotation = ,
Color = utility. { .(, , ), .(, , ) },
Parent = bg
})
rainbowtoggleholder = utility.(, {
Size = .(, -, , ),
BackgroundTransparency = ,
Position = .(, , , ),
BackgroundColor3 = .(, , ),
FontSize = .FontSize.Size14,
TextSize = ,
TextColor3 = .(, , ),
Font = .Font.SourceSans,
Parent = colorpickerframe
})
toggleicon = utility.(, {
ZIndex = ,
Size = .(, , , ),
BorderColor3 = .(, , ),
Position = .(, , , ),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = rainbowtoggleholder
})
enablediconholder = utility.(, {
ZIndex = ,
Size = .(, , , ),
BackgroundTransparency = ,
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = toggleicon
})
enabledicongradient = utility.(, {
Rotation = ,
Color = utility. { library.accent, .(, , ) },
Parent = enablediconholder
})
accentobjects.gradient[enabledicongradient] = (color)
utility. { color, .(, , ) }
grayborder = utility.(, {
ZIndex = ,
Size = .(, , , ),
Position = .(, -, , -),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = toggleicon
})
utility.(, {
ZIndex = ,
Size = .(, , , ),
Position = .(, -, , -),
BorderSizePixel = ,
BackgroundColor3 = .(, , ),
Parent = grayborder
})
utility.(, {
Rotation = ,
Color = utility. { .(, , ), .(, , ) },
Parent = toggleicon
})
rainbowtxt = utility.(, {
ZIndex = ,
Size = .(, , , ),
BackgroundTransparency = ,
Position = .(, , , ),
BackgroundColor3 = .(, , ),
FontSize = .FontSize.Size14,
TextStrokeTransparency = ,
TextSize = ,
TextColor3 = .(, , ),
Text = ,
Font = .Font.Code,
TextXAlignment = .TextXAlignment.Left,
Parent = rainbowtoggleholder
})
colorpicker = utility.(, {
Size = .(, , , ),
BackgroundTransparency = ,
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
FontSize = Enum.FontSize.Size14,
TextSize = 14,
TextColor3 = Color3.fromRGB(0, 0, 0),
Font = Enum.Font.SourceSans,
Parent = toggleholder
})
local icon = utility.create("TextButton", {
ZIndex = 9,
Size = UDim2.new(0, 18, 0, 10),
BorderColor3 = Color3.fromRGB(40, 40, 40),
Position = UDim2.new(1, -20, 0, 2),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
Parent = colorpicker,
Text = ""
})
local grayborder = utility.create("Frame", {
ZIndex = 8,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(40, 40, 40),
Parent = icon
})
utility.create("Frame", {
ZIndex = 7,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(10, 10, 10),
Parent = grayborder
})
local icongradient = utility.create("UIGradient", {
Rotation = 90,
Color = utility.gradient { default, utility.changecolor(default, -200) },
Parent = icon
})
if #sectioncontent:GetChildren() - 1 <= max then
sectionholder.Size = UDim2.new(1, -1, 0, sectionlist.AbsoluteContentSize.Y + 28)
end
local colorpickertypes = utility.table()
local opened = false
local opening = false
local function opencolorpicker()
if not opening then
opening = true
opened = not opened
if opened then
utility.tween(toggleholder, { 0.2 }, { Size = UDim2.new(1, -5, 0, 168) })
end
local tween = utility.makevisible(colorpickerframe, opened)
tween.Completed:Wait()
if not opened then
local tween = utility.tween(toggleholder, { 0.2 }, { Size = UDim2.new(1, -5, 0, 16) })
tween.Completed:Wait()
end
opening = false
end
end
icon.MouseButton1Click:Connect(opencolorpicker)
local hue, sat, val = default:ToHSV()
local slidinghue = false
local slidingsaturation = false
local hsv = Color3.fromHSV(hue, sat, val)
if flag then
library.flags[flag] = default
end
local function updatehue(input)
local sizeY = 1 - math.clamp((input.Position.Y - hueframe.AbsolutePosition.Y) / hueframe.AbsoluteSize.Y, 0, 1)
local posY = math.clamp(((input.Position.Y - hueframe.AbsolutePosition.Y) / hueframe.AbsoluteSize.Y) * hueframe.AbsoluteSize.Y, 0, hueframe.AbsoluteSize.Y - 2)
huepicker.Position = UDim2.new(0, 0, 0, posY)
hue = sizeY
hsv = Color3.fromHSV(sizeY, sat, val)
box.Text = math.clamp(math.floor((hsv.R * 255) + 0.5), 0, 255) .. ", " .. math.clamp(math.floor((hsv.B * 255) + 0.5), 0, 255) .. ", " .. math.clamp(math.floor((hsv.G * 255) + 0.5), 0, 255)
saturationframe.BackgroundColor3 = hsv
icon.BackgroundColor3 = hsv
if flag then
library.flags[flag] = Color3.fromRGB(hsv.r * 255, hsv.g * 255, hsv.b * 255)
end
callback(Color3.fromRGB(hsv.r * 255, hsv.g * 255, hsv.b * 255))
end
hueframe.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
slidinghue = true
updatehue(input)
end
end)
hueframe.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
slidinghue = false
end
end)
services.InputService.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement then
if slidinghue then
updatehue(input)
end
end
end)
local function updatesatval(input)
local sizeX = math.clamp((input.Position.X - saturationframe.AbsolutePosition.X) / saturationframe.AbsoluteSize.X, 0, 1)
local sizeY = 1 - math.clamp((input.Position.Y - saturationframe.AbsolutePosition.Y) / saturationframe.AbsoluteSize.Y, 0, 1)
local posY = math.clamp(((input.Position.Y - saturationframe.AbsolutePosition.Y) / saturationframe.AbsoluteSize.Y) * saturationframe.AbsoluteSize.Y, 0, saturationframe.AbsoluteSize.Y - 4)
local posX = math.clamp(((input.Position.X - saturationframe.AbsolutePosition.X) / saturationframe.AbsoluteSize.X) * saturationframe.AbsoluteSize.X, 0, saturationframe.AbsoluteSize.X - 4)
saturationpicker.Position = UDim2.new(0, posX, 0, posY)
sat = sizeX
val = sizeY
hsv = Color3.fromHSV(hue, sizeX, sizeY)
box.Text = math.clamp(math.floor((hsv.R * 255) + 0.5), 0, 255) .. ", " .. math.clamp(math.floor((hsv.B * 255) + 0.5), 0, 255) .. ", " .. math.clamp(math.floor((hsv.G * 255) + 0.5), 0, 255)
saturationframe.BackgroundColor3 = hsv
icon.BackgroundColor3 = hsv
if flag then
library.flags[flag] = Color3.fromRGB(hsv.r * 255, hsv.g * 255, hsv.b * 255)
end
callback(Color3.fromRGB(hsv.r * 255, hsv.g * 255, hsv.b * 255))
end
saturationframe.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
slidingsaturation = true
updatesatval(input)
end
end)
saturationframe.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
slidingsaturation = false
end
end)
services.InputService.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement then
if slidingsaturation then
updatesatval(input)
end
end
end)
local function set(color)
if type(color) == "table" then
color = Color3.fromRGB(unpack(color))
end
hue, sat, val = color:ToHSV()
hsv = Color3.fromHSV(hue, sat, val)
saturationframe.BackgroundColor3 = hsv
icon.BackgroundColor3 = hsv
saturationpicker.Position = UDim2.new(0, (math.clamp(sat * saturationframe.AbsoluteSize.X, 0, saturationframe.AbsoluteSize.X - 4)), 0, (math.clamp((1 - val) * saturationframe.AbsoluteSize.Y, 0, saturationframe.AbsoluteSize.Y - 4)))
huepicker.Position = UDim2.new(0, 0, 0, math.clamp((1 - hue) * saturationframe.AbsoluteSize.Y, 0, saturationframe.AbsoluteSize.Y - 4))
box.Text = math.clamp(math.floor((hsv.R * 255) + 0.5), 0, 255) .. ", " .. math.clamp(math.floor((hsv.B * 255) + 0.5), 0, 255) .. ", " .. math.clamp(math.floor((hsv.G * 255) + 0.5), 0, 255)
if flag then
library.flags[flag] = Color3.fromRGB(hsv.r * 255, hsv.g * 255, hsv.b * 255)
end
callback(Color3.fromRGB(hsv.r * 255, hsv.g * 255, hsv.b * 255))
end
local toggled = false
local function toggle()
if not switchingtabs then
toggled = not toggled
if toggled then
task.spawn(function()
while toggled do
for i = 0, 1, 0.0015 do
if not toggled then
return
end
local color = Color3.fromHSV(i, 1, 1)
set(color)
task.wait()
end
end
end)
end
local enabledtransparency = toggled and 0 or 1
utility.tween(enablediconholder, { 0.2 }, { BackgroundTransparency = enabledtransparency })
local textcolor = toggled and library.accent or Color3.fromRGB(180, 180, 180)
utility.tween(rainbowtxt, { 0.2 }, { TextColor3 = textcolor })
if toggled then
table.insert(accentobjects.text, title)
elseif table.find(accentobjects.text, title) then
table.remove(accentobjects.text, table.find(accentobjects.text, title))
end
end
end
rainbowtoggleholder.MouseButton1Click:Connect(toggle)
box.FocusLost:Connect(function()
local _, amount = box.Text:gsub(", ", "")
if amount == 2 then
local values = box.Text:split(", ")
local r, g, b = math.clamp(values[1], 0, 255), math.clamp(values[2], 0, 255), math.clamp(values[3], 0, 255)
set(Color3.fromRGB(r, g, b))
else
rgb.Text = math.floor((hsv.r * 255) + 0.5) .. ", " .. math.floor((hsv.g * 255) + 0.5) .. ", " .. math.floor((hsv.b * 255) + 0.5)
end
end)
if default then
set(default)
end
if flag then
flags[flag] = set
end
local colorpickertypes = utility.table()
function colorpickertypes:Set(color)
set(color)
end
end
if #sectioncontent:GetChildren() - 1 <= max then
sectionholder.Size = UDim2.new(1, -1, 0, sectionlist.AbsoluteContentSize.Y + 28)
end
return toggletypes
end
function sectiontypes:Box(options)
options = utility.table(options)
local name = options.name
local placeholder = options.placeholder or ""
local default = options.default
local boxtype = options.type or "string"
local flag = options.pointer
local callback = options.callback or function() end
local boxholder = utility.create("Frame", {
Size = UDim2.new(1, -5, 0, 32),
ClipsDescendants = true,
BorderColor3 = Color3.fromRGB(27, 42, 53),
BackgroundTransparency = 1,
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
Parent = sectioncontent
})
utility.create("TextLabel", {
ZIndex = 7,
Size = UDim2.new(0, 0, 0, 13),
BackgroundTransparency = 1,
Position = UDim2.new(0, 1, 0, 0),
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
FontSize = Enum.FontSize.Size14,
TextStrokeTransparency = 0,
TextSize = 13,
TextColor3 = Color3.fromRGB(210, 210, 210),
Text = name,
Font = Enum.Font.Code,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = boxholder
})
local box = utility.create("TextBox", {
ZIndex = 10,
Size = UDim2.new(1, -4, 0, 13),
BackgroundTransparency = 1,
Position = UDim2.new(0, 2, 0, 17),
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
FontSize = Enum.FontSize.Size14,
TextStrokeTransparency = 0,
PlaceholderColor3 = Color3.fromRGB(120, 120, 120),
TextSize = 13,
TextColor3 = Color3.fromRGB(210, 210, 210),
Text = "",
PlaceholderText = placeholder,
Font = Enum.Font.Code,
Parent = boxholder
})
local bg = utility.create("Frame", {
ZIndex = 9,
Size = UDim2.new(1, 0, 1, 0),
BorderColor3 = Color3.fromRGB(40, 40, 40),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
Parent = box
})
local bggradient = utility.create("UIGradient", {
Rotation = 90,
Color = ColorSequence.new(Color3.fromRGB(35, 35, 35), Color3.fromRGB(25, 25, 25)),
Parent = bg
})
local grayborder = utility.create("Frame", {
ZIndex = 8,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(40, 40, 40),
Parent = box
})
local blackborder = utility.create("Frame", {
ZIndex = 7,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(10, 10, 10),
Parent = grayborder
})
if #sectioncontent:GetChildren() - 1 <= max then
sectionholder.Size = UDim2.new(1, -1, 0, sectionlist.AbsoluteContentSize.Y + 28)
end
if flag then
library.flags[flag] = default or ""
end
local function set(str)
if boxtype:lower() == "number" then
str = str:gsub("%D+", "")
end
box.Text = str
if flag then
library.flags[flag] = str
end
callback(str)
end
if default then
set(default)
end
if boxtype:lower() == "number" then
box:GetPropertyChangedSignal("Text"):Connect(function()
box.Text = box.Text:gsub("%D+", "")
end)
end
box.FocusLost:Connect(function()
set(box.Text)
end)
if flag then
flags[flag] = set
end
local boxtypes = utility.table()
function boxtypes:Set(str)
set(str)
end
return boxtypes
end
function sectiontypes:Slider(options)
options = utility.table(options)
local name = options.name
local min = options.minimum or 0
local slidermax = options.maximum or 100
local valuetext = options.value or "[value]/" .. slidermax
local increment = options.decimals or 0.5
local default = options.default and math.clamp(options.default, min, slidermax) or min
local flag = options.pointer
local callback = options.callback or function() end
local sliderholder = utility.create("Frame", {
Size = UDim2.new(1, -5, 0, 28),
BackgroundTransparency = 1,
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
Parent = sectioncontent
})
local slider = utility.create("Frame", {
ZIndex = 10,
Size = UDim2.new(1, -4, 0, 9),
BackgroundTransparency = 1,
Position = UDim2.new(0, 2, 1, -11),
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
Parent = sliderholder
})
local grayborder = utility.create("Frame", {
ZIndex = 8,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(40, 40, 40),
Parent = slider
})
utility.create("Frame", {
ZIndex = 7,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(10, 10, 10),
Parent = grayborder
})
local bg = utility.create("Frame", {
ZIndex = 9,
Size = UDim2.new(1, 0, 1, 0),
BorderColor3 = Color3.fromRGB(40, 40, 40),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
Parent = slider
})
utility.create("UIGradient", {
Rotation = 90,
Color = ColorSequence.new(Color3.fromRGB(35, 35, 35), Color3.fromRGB(25, 25, 25)),
Parent = bg
})
local fill = utility.create("Frame", {
ZIndex = 11,
Size = UDim2.new((default - min) / (slidermax - min), 0, 1, 0),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
Parent = slider
})
local fillgradient = utility.create("UIGradient", {
Rotation = 90,
Color = utility.gradient { library.accent, Color3.fromRGB(25, 25, 25) },
Parent = fill
})
accentobjects.gradient[fillgradient] = function(color)
return utility.gradient { color, Color3.fromRGB(25, 25, 25) }
end
local valuelabel = utility.create("TextLabel", {
ZIndex = 12,
Size = UDim2.new(1, 0, 1, 0),
BackgroundTransparency = 1,
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
FontSize = Enum.FontSize.Size14,
TextStrokeTransparency = 0,
TextSize = 13,
TextColor3 = Color3.fromRGB(210, 210, 210),
Text = valuetext:gsub("%[value%]", tostring(default)),
Font = Enum.Font.Code,
Parent = slider
})
utility.create("TextLabel", {
ZIndex = 7,
Size = UDim2.new(0, 0, 0, 13),
BackgroundTransparency = 1,
Position = UDim2.new(0, 1, 0, 0),
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
FontSize = Enum.FontSize.Size14,
TextStrokeTransparency = 0,
TextSize = 13,
TextColor3 = Color3.fromRGB(210, 210, 210),
Text = name,
Font = Enum.Font.Code,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = sliderholder
})
if #sectioncontent:GetChildren() - 1 <= max then
sectionholder.Size = UDim2.new(1, -1, 0, sectionlist.AbsoluteContentSize.Y + 28)
end
local sliding = false
local function slide(input)
local sizeX = math.clamp((input.Position.X - slider.AbsolutePosition.X) / slider.AbsoluteSize.X, 0, 1)
local newincrement = (slidermax / ((slidermax - min) / (increment * 4)))
local newsizeX = math.floor(sizeX * (((slidermax - min) / newincrement) * 4)) / (((slidermax - min) / newincrement) * 4)
utility.tween(fill, { newincrement / 80 }, { Size = UDim2.new(newsizeX, 0, 1, 0) })
local value = math.floor((newsizeX * (slidermax - min) + min) * 20) / 20
valuelabel.Text = valuetext:gsub("%[value%]", tostring(value))
if flag then
library.flags[flag] = value
end
callback(value)
end
slider.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
sliding = true
slide(input)
end
end)
slider.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
sliding = false
end
end)
services.InputService.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement then
if sliding then
slide(input)
end
end
end)
local function set(value)
value = math.clamp(value, min, slidermax)
local sizeX = ((value - min)) / (slidermax - min)
local newincrement = (slidermax / ((slidermax - min) / (increment * 4)))
local newsizeX = math.floor(sizeX * (((slidermax - min) / newincrement) * 4)) / (((slidermax - min) / newincrement) * 4)
value = math.floor((newsizeX * (slidermax - min) + min) * 20) / 20
fill.Size = UDim2.new(newsizeX, 0, 1, 0)
valuelabel.Text = valuetext:gsub("%[value%]", tostring(value))
if flag then
library.flags[flag] = value
end
callback(value)
end
if default then
set(default)
end
if flag then
flags[flag] = set
end
local slidertypes = utility.table()
function slidertypes:Set(value)
set(value)
end
return slidertypes
end
function sectiontypes:Dropdown(options)
options = utility.table(options)
local name = options.name
local content = options["options"]
local maxoptions = options.maximum and (options.maximum > 1 and options.maximum)
local default = options.default or maxoptions and {}
local flag = options.pointer
local callback = options.callback or function() end
if maxoptions then
for i, def in next, default do
if not table.find(content, def) then
table.remove(default, i)
end
end
else
if not table.find(content, default) then
default = nil
end
end
local defaulttext = default and ((type(default) == "table" and table.concat(default, ", ")) or default)
local opened = false
local dropdownholder = utility.create("Frame", {
Size = UDim2.new(1, -5, 0, 32),
BackgroundTransparency = 1,
Position = UDim2.new(0, 0, 0, 0),
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
Parent = sectioncontent
})
local dropdown = utility.create("TextButton", {
ZIndex = 10,
Size = UDim2.new(1, -4, 0, 13),
BorderColor3 = Color3.fromRGB(40, 40, 40),
BackgroundTransparency = 1,
Position = UDim2.new(0, 2, 0, 17),
BackgroundColor3 = Color3.fromRGB(25, 25, 25),
AutoButtonColor = false,
FontSize = Enum.FontSize.Size14,
TextStrokeTransparency = 0,
TextSize = 13,
TextColor3 = default and (defaulttext ~= "" and Color3.fromRGB(210, 210, 210) or Color3.fromRGB(120, 120, 120)) or Color3.fromRGB(120, 120, 120),
Text = default and (defaulttext ~= "" and defaulttext or "NONE") or "NONE",
Font = Enum.Font.Code,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = dropdownholder
})
local bg = utility.create("Frame", {
ZIndex = 9,
Size = UDim2.new(1, 6, 1, 0),
BorderColor3 = Color3.fromRGB(40, 40, 40),
Position = UDim2.new(0, -6, 0, 0),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
Parent = dropdown
})
local bggradient = utility.create("UIGradient", {
Rotation = 90,
Color = ColorSequence.new(Color3.fromRGB(35, 35, 35), Color3.fromRGB(25, 25, 25)),
Parent = bg
})
local textpadding = utility.create("UIPadding", {
PaddingLeft = UDim.new(0, 6),
Parent = dropdown
})
local grayborder = utility.create("Frame", {
ZIndex = 8,
Size = UDim2.new(1, 8, 1, 2),
Position = UDim2.new(0, -7, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(40, 40, 40),
Parent = dropdown
})
utility.create("Frame", {
ZIndex = 7,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(10, 10, 10),
Parent = grayborder
})
local icon = utility.create("TextLabel", {
ZIndex = 11,
Size = UDim2.new(0, 13, 1, 0),
BackgroundTransparency = 1,
Position = UDim2.new(1, -13, 0, 0),
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
FontSize = Enum.FontSize.Size12,
TextStrokeTransparency = 0,
TextSize = 12,
TextColor3 = Color3.fromRGB(210, 210, 210),
Text = "+",
Font = Enum.Font.Gotham,
Parent = dropdown
})
utility.create("TextLabel", {
ZIndex = 7,
Size = UDim2.new(0, 0, 0, 13),
BackgroundTransparency = 1,
Position = UDim2.new(0, 1, 0, 0),
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
FontSize = Enum.FontSize.Size14,
TextStrokeTransparency = 0,
TextSize = 13,
TextColor3 = Color3.fromRGB(210, 210, 210),
Text = name,
Font = Enum.Font.Code,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = dropdownholder
})
local contentframe = utility.create("Frame", {
ZIndex = 9,
Size = UDim2.new(1, -4, 1, -38),
Position = UDim2.new(0, 2, 0, 36),
BorderSizePixel = 0,
Visible = false,
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
Parent = dropdownholder
})
local opened = false
contentframe.DescendantAdded:Connect(function(descendant)
if not opened then
task.wait()
if not descendant.ClassName:find("UI") then
if descendant.ClassName:find("Text") then
descendant.TextTransparency = descendant.TextTransparency + 1
descendant.TextStrokeTransparency = descendant.TextStrokeTransparency + 1
end
descendant.BackgroundTransparency = descendant.BackgroundTransparency + 1
end
end
end)
local contentframegradient = utility.create("UIGradient", {
Rotation = 90,
Color = ColorSequence.new(Color3.fromRGB(35, 35, 35), Color3.fromRGB(25, 25, 25)),
Parent = contentframe
})
local grayborder = utility.create("Frame", {
ZIndex = 8,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(40, 40, 40),
Parent = contentframe
})
utility.create("Frame", {
ZIndex = 7,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(10, 10, 10),
Parent = grayborder
})
local dropdowncontent = utility.create("Frame", {
Size = UDim2.new(1, -2, 1, -2),
Position = UDim2.new(0, 1, 0, 1),
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
Parent = contentframe
})
local dropdowncontentlist = utility.create("UIListLayout", {
SortOrder = Enum.SortOrder.LayoutOrder,
Padding = UDim.new(0, 2),
Parent = dropdowncontent
})
local option = utility.create("TextButton", {
ZIndex = 12,
Size = UDim2.new(1, 0, 0, 16),
BorderColor3 = Color3.fromRGB(50, 50, 50),
BackgroundTransparency = 1,
Position = UDim2.new(0, 2, 0, 2),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(22, 22, 22),
AutoButtonColor = false,
FontSize = Enum.FontSize.Size14,
TextStrokeTransparency = 0,
TextSize = 13,
TextColor3 = Color3.fromRGB(150, 150, 150),
Text = "",
Font = Enum.Font.Code,
TextXAlignment = Enum.TextXAlignment.Left
})
utility.create("UIPadding", {
PaddingLeft = UDim.new(0, 10),
Parent = option
})
if #sectioncontent:GetChildren() - 1 <= max then
sectionholder.Size = UDim2.new(1, -1, 0, sectionlist.AbsoluteContentSize.Y + 28)
end
local opening = false
local function opendropdown()
if not opening then
opening = true
opened = not opened
utility.tween(icon, { 0.2 }, { TextTransparency = 1, TextStrokeTransparency = 1 }, function()
icon.Text = opened and "-" or "+"
end)
if opened then
utility.tween(dropdownholder, { 0.2 }, { Size = UDim2.new(1, -5, 0, dropdowncontentlist.AbsoluteContentSize.Y + 40) })
end
local tween = utility.makevisible(contentframe, opened)
tween.Completed:Wait()
if not opened then
local tween = utility.tween(dropdownholder, { 0.2 }, { Size = UDim2.new(1, -5, 0, 32) })
tween.Completed:Wait()
end
utility.tween(icon, { 0.2 }, { TextTransparency = 0, TextStrokeTransparency = 0 })
opening = false
end
end
dropdown.MouseButton1Click:Connect(opendropdown)
local chosen = maxoptions and {}
local choseninstances = {}
local optioninstances = {}
if flag then
library.flags[flag] = default
end
for _, opt in next, content do
if not maxoptions then
local optionbtn = option:Clone()
optionbtn.Parent = dropdowncontent
optionbtn.Text = opt
optioninstances[opt] = optionbtn
if default == opt then
chosen = opt
optionbtn.BackgroundTransparency = 0
optionbtn.TextColor3 = Color3.fromRGB(210, 210, 210)
end
optionbtn.MouseButton1Click:Connect(function()
if chosen ~= opt then
for _, optbtn in next, dropdowncontent:GetChildren() do
if optbtn ~= optionbtn and optbtn:IsA("TextButton") then
utility.tween(optbtn, { 0.2 }, { BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(150, 150, 150) })
end
end
utility.tween(optionbtn, { 0.2 }, { BackgroundTransparency = 0, TextColor3 = Color3.fromRGB(210, 210, 210) })
local tween = utility.tween(dropdown, { 0.2 }, { TextTransparency = 1, TextStrokeTransparency = 1 }, function()
dropdown.Text = opt
end)
chosen = opt
tween.Completed:Wait()
utility.tween(dropdown, { 0.2 }, { TextTransparency = 0, TextStrokeTransparency = 0, TextColor3 = Color3.fromRGB(210, 210, 210) })
if flag then
library.flags[flag] = opt
end
callback(opt)
else
utility.tween(optionbtn, { 0.2 }, { BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(150, 150, 150) })
local tween = utility.tween(dropdown, { 0.2 }, { TextTransparency = 1, TextStrokeTransparency = 1 }, function()
dropdown.Text = "NONE"
end)
tween.Completed:Wait()
utility.tween(dropdown, { 0.2 }, { TextTransparency = 0, TextStrokeTransparency = 0, TextColor3 = Color3.fromRGB(150, 150, 150) })
chosen = nil
if flag then
library.flags[flag] = nil
end
callback(nil)
end
end)
else
local optionbtn = option:Clone()
optionbtn.Parent = dropdowncontent
optionbtn.Text = opt
optioninstances[opt] = optionbtn
if table.find(default, opt) then
chosen = opt
optionbtn.BackgroundTransparency = 0
optionbtn.TextColor3 = Color3.fromRGB(210, 210, 210)
end
optionbtn.MouseButton1Click:Connect(function()
if not table.find(chosen, opt) then
if #chosen >= maxoptions then
table.remove(chosen, 1)
utility.tween(choseninstances[1], { 0.2 }, { BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(150, 150, 150) })
table.remove(choseninstances, 1)
end
utility.tween(optionbtn, { 0.2 }, { BackgroundTransparency = 0, TextColor3 = Color3.fromRGB(210, 210, 210) })
table.insert(chosen, opt)
table.insert(choseninstances, optionbtn)
local tween = utility.tween(dropdown, { 0.2 }, { TextTransparency = 1, TextStrokeTransparency = 1 }, function()
dropdown.Text = table.concat(chosen, ", ")
end)
tween.Completed:Wait()
utility.tween(dropdown, { 0.2 }, { TextTransparency = 0, TextStrokeTransparency = 0, TextColor3 = Color3.fromRGB(210, 210, 210) })
if flag then
library.flags[flag] = chosen
end
callback(chosen)
else
utility.tween(optionbtn, { 0.2 }, { BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(150, 150, 150) })
table.remove(chosen, table.find(chosen, opt))
table.remove(choseninstances, table.find(choseninstances, optionbtn))
local tween = utility.tween(dropdown, { 0.2 }, { TextTransparency = 1, TextStrokeTransparency = 1 }, function()
dropdown.Text = table.concat(chosen, ", ") ~= "" and table.concat(chosen, ", ") or "NONE"
end)
tween.Completed:Wait()
utility.tween(dropdown, { 0.2 }, { TextTransparency = 0, TextStrokeTransparency = 0, TextColor3 = table.concat(chosen, ", ") ~= "" and Color3.fromRGB(210, 210, 210) or Color3.fromRGB(150, 150, 150) })
if flag then
library.flags[flag] = chosen
end
callback(chosen)
end
end)
end
end
local function set(opt)
if not maxoptions then
if optioninstances[opt] then
for _, optbtn in next, dropdowncontent:GetChildren() do
if optbtn ~= optioninstances[opt] and optbtn:IsA("TextButton") then
utility.tween(optbtn, { 0.2 }, { BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(150, 150, 150) })
end
end
utility.tween(optioninstances[opt], { 0.2 }, { BackgroundTransparency = 0, TextColor3 = Color3.fromRGB(210, 210, 210) })
local tween = utility.tween(dropdown, { 0.2 }, { TextTransparency = 1, TextStrokeTransparency = 1 }, function()
dropdown.Text = opt
end)
chosen = opt
tween.Completed:Wait()
utility.tween(dropdown, { 0.2 }, { TextTransparency = 0, TextStrokeTransparency = 0, TextColor3 = Color3.fromRGB(210, 210, 210) })
if flag then
library.flags[flag] = opt
end
callback(opt)
else
for _, optbtn in next, dropdowncontent:GetChildren() do
if optbtn:IsA("TextButton") then
utility.tween(optbtn, { 0.2 }, { BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(150, 150, 150) })
end
end
local tween = utility.tween(dropdown, { 0.2 }, { TextTransparency = 1, TextStrokeTransparency = 1 }, function()
dropdown.Text = "NONE"
end)
tween.Completed:Wait()
utility.tween(dropdown, { 0.2 }, { TextTransparency = 0, TextStrokeTransparency = 0, TextColor3 = Color3.fromRGB(150, 150, 150) })
chosen = nil
if flag then
library.flags[flag] = nil
end
callback(nil)
end
else
table.clear(chosen)
table.clear(choseninstances)
if not opt then
local tween = utility.tween(dropdown, { 0.2 }, { TextTransparency = 1, TextStrokeTransparency = 1 }, function()
dropdown.Text = table.concat(chosen, ", ") ~= "" and table.concat(chosen, ", ") or "NONE"
end)
tween.Completed:Wait()
utility.tween(dropdown, { 0.2 }, { TextTransparency = 0, TextStrokeTransparency = 0, TextColor3 = table.concat(chosen, ", ") ~= "" and Color3.fromRGB(210, 210, 210) or Color3.fromRGB(150, 150, 150) })
if flag then
library.flags[flag] = chosen
end
callback(chosen)
else
for _, opti in next, opt do
if optioninstances[opti] then
if #chosen >= maxoptions then
table.remove(chosen, 1)
utility.tween(choseninstances[1], { 0.2 }, { BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(150, 150, 150) })
table.remove(choseninstances, 1)
end
utility.tween(optioninstances[opti], { 0.2 }, { BackgroundTransparency = 0, TextColor3 = Color3.fromRGB(210, 210, 210) })
if not table.find(chosen, opti) then
table.insert(chosen, opti)
end
if not table.find(choseninstances, opti) then
table.insert(choseninstances, optioninstances[opti])
end
local tween = utility.tween(dropdown, { 0.2 }, { TextTransparency = 1, TextStrokeTransparency = 1 }, function()
dropdown.Text = table.concat(chosen, ", ")
end)
tween.Completed:Wait()
utility.tween(dropdown, { 0.2 }, { TextTransparency = 0, TextStrokeTransparency = 0, TextColor3 = Color3.fromRGB(210, 210, 210) })
if flag then
library.flags[flag] = chosen
end
callback(chosen)
end
end
end
end
end
if flag then
flags[flag] = set
end
local dropdowntypes = utility.table()
function dropdowntypes:Set(option)
set(option)
end
function dropdowntypes:Refresh(content)
if maxoptions then
table.clear(chosen)
end
table.clear(choseninstances)
table.clear(optioninstances)
for _, optbtn in next, dropdowncontent:GetChildren() do
if optbtn:IsA("TextButton") then
optbtn:Destroy()
end
end
set()
for _, opt in next, content do
if not maxoptions then
local optionbtn = option:Clone()
optionbtn.Parent = dropdowncontent
optionbtn.BackgroundTransparency = 2
optionbtn.Text = opt
optionbtn.TextTransparency = 1
optionbtn.TextStrokeTransparency = 1
optioninstances[opt] = optionbtn
optionbtn.MouseButton1Click:Connect(function()
if chosen ~= opt then
for _, optbtn in next, dropdowncontent:GetChildren() do
if optbtn ~= optionbtn and optbtn:IsA("TextButton") then
utility.tween(optbtn, { 0.2 }, { BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(150, 150, 150) })
end
end
utility.tween(optionbtn, { 0.2 }, { BackgroundTransparency = 0, TextColor3 = Color3.fromRGB(210, 210, 210) })
local tween = utility.tween(dropdown, { 0.2 }, { TextTransparency = 1, TextStrokeTransparency = 1 }, function()
dropdown.Text = opt
end)
chosen = opt
tween.Completed:Wait()
utility.tween(dropdown, { 0.2 }, { TextTransparency = 0, TextStrokeTransparency = 0, TextColor3 = Color3.fromRGB(210, 210, 210) })
if flag then
library.flags[flag] = opt
end
callback(opt)
else
utility.tween(optionbtn, { 0.2 }, { BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(150, 150, 150) })
local tween = utility.tween(dropdown, { 0.2 }, { TextTransparency = 1, TextStrokeTransparency = 1 }, function()
dropdown.Text = "NONE"
end)
tween.Completed:Wait()
utility.tween(dropdown, { 0.2 }, { TextTransparency = 0, TextStrokeTransparency = 0, TextColor3 = Color3.fromRGB(150, 150, 150) })
chosen = nil
if flag then
library.flags[flag] = nil
end
callback(nil)
end
end)
else
local optionbtn = option:Clone()
optionbtn.Parent = dropdowncontent
optionbtn.Text = opt
optioninstances[opt] = optionbtn
if table.find(default, opt) then
chosen = opt
optionbtn.BackgroundTransparency = 0
optionbtn.TextColor3 = Color3.fromRGB(210, 210, 210)
end
optionbtn.MouseButton1Click:Connect(function()
if not table.find(chosen, opt) then
if #chosen >= maxoptions then
table.remove(chosen, 1)
utility.tween(choseninstances[1], { 0.2 }, { BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(150, 150, 150) })
table.remove(choseninstances, 1)
end
utility.tween(optionbtn, { 0.2 }, { BackgroundTransparency = 0, TextColor3 = Color3.fromRGB(210, 210, 210) })
table.insert(chosen, opt)
table.insert(choseninstances, optionbtn)
local tween = utility.tween(dropdown, { 0.2 }, { TextTransparency = 1, TextStrokeTransparency = 1 }, function()
dropdown.Text = table.concat(chosen, ", ")
end)
tween.Completed:Wait()
utility.tween(dropdown, { 0.2 }, { TextTransparency = 0, TextStrokeTransparency = 0, TextColor3 = Color3.fromRGB(210, 210, 210) })
if flag then
library.flags[flag] = chosen
end
callback(chosen)
else
utility.tween(optionbtn, { 0.2 }, { BackgroundTransparency = 1, TextColor3 = Color3.fromRGB(150, 150, 150) })
table.remove(chosen, table.find(chosen, opt))
table.remove(choseninstances, table.find(choseninstances, optionbtn))
local tween = utility.tween(dropdown, { 0.2 }, { TextTransparency = 1, TextStrokeTransparency = 1 }, function()
dropdown.Text = table.concat(chosen, ", ") ~= "" and table.concat(chosen, ", ") or "NONE"
end)
tween.Completed:Wait()
utility.tween(dropdown, { 0.2 }, { TextTransparency = 0, TextStrokeTransparency = 0, TextColor3 = table.concat(chosen, ", ") ~= "" and Color3.fromRGB(210, 210, 210) or Color3.fromRGB(150, 150, 150) })
if flag then
library.flags[flag] = chosen
end
callback(chosen)
end
end)
end
end
end
return dropdowntypes
end
function sectiontypes:Multibox(options)
local newoptions = {}
for i, v in next, options do
newoptions[i:lower()] = v
end
newoptions.maximum = newoptions.maximum or math.huge
return sectiontypes:Dropdown(newoptions)
end
function sectiontypes:Keybind(options)
options = utility.table(options)
local name = options.name
local keybindtype = options.mode
local default = options.default
local toggledefault = keybindtype and keybindtype:lower() == "toggle" and options.toggledefault
local toggleflag = keybindtype and keybindtype:lower() == "toggle" and options.togglepointer
local togglecallback = keybindtype and keybindtype:lower() == "toggle" and options.togglecallback or function() end
local holdflag = keybindtype and keybindtype:lower() == "hold" and options.holdflag
local holdcallback = keybindtype and keybindtype:lower() == "hold" and options.holdcallback or function() end
local blacklist = options.blacklist or {}
local flag = options.pointer
local callback = options.callback or function() end
table.insert(blacklist, Enum.UserInputType.Focus)
local keybindholder = utility.create("TextButton", {
Size = UDim2.new(1, -5, 0, 14),
BackgroundTransparency = 1,
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
FontSize = Enum.FontSize.Size14,
TextSize = 14,
TextColor3 = Color3.fromRGB(0, 0, 0),
Font = Enum.Font.SourceSans,
Parent = sectioncontent
})
local icon, grayborder, enablediconholder
do
if keybindtype and keybindtype:lower() == "toggle" then
icon = utility.create("Frame", {
ZIndex = 9,
Size = UDim2.new(0, 10, 0, 10),
BorderColor3 = Color3.fromRGB(40, 40, 40),
Position = UDim2.new(0, 2, 0, 2),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
Parent = keybindholder
})
grayborder = utility.create("Frame", {
ZIndex = 8,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(40, 40, 40),
Parent = icon
})
utility.create("UIGradient", {
Rotation = 90,
Color = ColorSequence.new(Color3.fromRGB(35, 35, 35), Color3.fromRGB(25, 25, 25)),
Parent = icon
})
utility.create("Frame", {
ZIndex = 7,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(10, 10, 10),
Parent = grayborder
})
enablediconholder = utility.create("Frame", {
ZIndex = 10,
Size = UDim2.new(1, 0, 1, 0),
BackgroundTransparency = 1,
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
Parent = icon
})
local enabledicongradient = utility.create("UIGradient", {
Rotation = 90,
Color = utility.gradient { library.accent, Color3.fromRGB(25, 25, 25) },
Parent = enablediconholder
})
accentobjects.gradient[enabledicongradient] = function(color)
return utility.gradient { color, Color3.fromRGB(25, 25, 25) }
end
end
end
local title = utility.create("TextLabel", {
ZIndex = 7,
Size = UDim2.new(0, 0, 1, 0),
BackgroundTransparency = 1,
Position = keybindtype and keybindtype:lower() == "toggle" and UDim2.new(0, 20, 0, 0) or UDim2.new(0, 1, 0, 0),
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
FontSize = Enum.FontSize.Size14,
TextStrokeTransparency = 0,
TextSize = 13,
TextColor3 = (keybindtype and keybindtype:lower() == "toggle" and Color3.fromRGB(180, 180, 180)) or Color3.fromRGB(210, 210, 210),
Text = name,
Font = Enum.Font.Code,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = keybindholder
})
local keytext = utility.create(keybindtype and keybindtype:lower() == "toggle" and "TextButton" or "TextLabel", {
ZIndex = 7,
Size = keybindtype and keybindtype:lower() == "toggle" and UDim2.new(0, 45, 1, 0) or UDim2.new(0, 0, 1, 0),
BackgroundTransparency = 1,
Position = keybindtype and keybindtype:lower() == "toggle" and UDim2.new(1, -45, 0, 0) or UDim2.new(1, 0, 0, 0),
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
TextColor3 = Color3.fromRGB(150, 150, 150),
Text = "[NONE]",
Font = Enum.Font.Code,
TextXAlignment = Enum.TextXAlignment.Right,
Parent = keybindholder
})
utility.create("UIPadding", {
PaddingBottom = UDim.new(0, 1),
Parent = keytext
})
if #sectioncontent:GetChildren() - 1 <= max then
sectionholder.Size = UDim2.new(1, -1, 0, sectionlist.AbsoluteContentSize.Y + 28)
end
local keys = {
[Enum.KeyCode.LeftShift] = "L-SHIFT",
[Enum.KeyCode.RightShift] = "R-SHIFT",
[Enum.KeyCode.LeftControl] = "L-CTRL",
[Enum.KeyCode.RightControl] = "R-CTRL",
[Enum.KeyCode.LeftAlt] = "L-ALT",
[Enum.KeyCode.RightAlt] = "R-ALT",
[Enum.KeyCode.CapsLock] = "CAPSLOCK",
[Enum.KeyCode.One] = "1",
[Enum.KeyCode.Two] = "2",
[Enum.KeyCode.Three] = "3",
[Enum.KeyCode.Four] = "4",
[Enum.KeyCode.Five] = "5",
[Enum.KeyCode.Six] = "6",
[Enum.KeyCode.Seven] = "7",
[Enum.KeyCode.Eight] = "8",
[Enum.KeyCode.Nine] = "9",
[Enum.KeyCode.Zero] = "0",
[Enum.KeyCode.KeypadOne] = "NUM-1",
[Enum.KeyCode.KeypadTwo] = "NUM-2",
[Enum.KeyCode.KeypadThree] = "NUM-3",
[Enum.KeyCode.KeypadFour] = "NUM-4",
[Enum.KeyCode.KeypadFive] = "NUM-5",
[Enum.KeyCode.KeypadSix] = "NUM-6",
[Enum.KeyCode.KeypadSeven] = "NUM-7",
[Enum.KeyCode.KeypadEight] = "NUM-8",
[Enum.KeyCode.KeypadNine] = "NUM-9",
[Enum.KeyCode.KeypadZero] = "NUM-0",
[Enum.KeyCode.Minus] = "-",
[Enum.KeyCode.Equals] = "=",
[Enum.KeyCode.Tilde] = "~",
[Enum.KeyCode.LeftBracket] = "[",
[Enum.KeyCode.RightBracket] = "]",
[Enum.KeyCode.RightParenthesis] = ")",
[Enum.KeyCode.LeftParenthesis] = "(",
[Enum.KeyCode.Semicolon] = ",",
[Enum.KeyCode.Quote] = "'",
[Enum.KeyCode.BackSlash] = "\\",
[Enum.KeyCode.Comma] = ",",
[Enum.KeyCode.Period] = ".",
[Enum.KeyCode.Slash] = "/",
[Enum.KeyCode.Asterisk] = "*",
[Enum.KeyCode.Plus] = "+",
[Enum.KeyCode.Period] = ".",
[Enum.KeyCode.Backquote] = "`",
[Enum.UserInputType.MouseButton1] = "MOUSE-1",
[Enum.UserInputType.MouseButton2] = "MOUSE-2",
[Enum.UserInputType.MouseButton3] = "MOUSE-3"
}
local keychosen
local isbinding = false
local function startbinding()
isbinding = true
keytext.Text = "[...]"
keytext.TextColor3 = Color3.fromRGB(210, 210, 210)
local binding
binding = services.InputService.InputBegan:Connect(function(input)
local key = keys[input.KeyCode] or keys[input.UserInputType]
keytext.Text = "[" .. (key or tostring(input.KeyCode):gsub("Enum.KeyCode.", "")) .. "]"
keytext.TextColor3 = Color3.fromRGB(180, 180, 180)
keytext.Size = UDim2.new(0, keytext.TextBounds.X, 1, 0)
keytext.Position = UDim2.new(1, -keytext.TextBounds.X, 0, 0)
if input.UserInputType == Enum.UserInputType.Keyboard then
task.wait()
if not table.find(blacklist, input.KeyCode) then
keychosen = input.KeyCode
if flag then
library.flags[flag] = input.KeyCode
end
binding:Disconnect()
else
keychosen = nil
keytext.TextColor3 = Color3.fromRGB(180, 180, 180)
keytext.Text = "NONE"
if flag then
library.flags[flag] = nil
end
binding:Disconnect()
end
else
if not table.find(blacklist, input.UserInputType) then
keychosen = input.UserInputType
if flag then
library.flags[flag] = input.UserInputType
end
binding:Disconnect()
else
keychosen = nil
keytext.TextColor3 = Color3.fromRGB(180, 180, 180)
keytext.Text = "[NONE]"
keytext.Size = UDim2.new(0, keytext.TextBounds.X, 1, 0)
keytext.Position = UDim2.new(1, -keytext.TextBounds.X, 0, 0)
if flag then
library.flags[flag] = nil
end
binding:Disconnect()
end
end
end)
end
if not keybindtype or keybindtype:lower() == "hold" then
keybindholder.MouseButton1Click:Connect(startbinding)
else
keytext.MouseButton1Click:Connect(startbinding)
end
local keybindtypes = utility.table()
if keybindtype and keybindtype:lower() == "toggle" then
local toggled = false
if toggleflag then
library.flags[toggleflag] = toggled
end
local function toggle()
if not switchingtabs then
toggled = not toggled
if toggleflag then
library.flags[toggleflag] = toggled
end
togglecallback(toggled)
local enabledtransparency = toggled and 0 or 1
utility.tween(enablediconholder, { 0.2 }, { Transparency = enabledtransparency })
local textcolor = toggled and library.accent or Color3.fromRGB(180, 180, 180)
utility.tween(title, { 0.2 }, { TextColor3 = textcolor })
if toggled then
table.insert(accentobjects.text, title)
elseif table.find(accentobjects.text, title) then
table.remove(accentobjects.text, table.find(accentobjects.text, title))
end
end
end
keybindholder.MouseButton1Click:Connect(toggle)
local function set(bool)
if type(bool) == "boolean" and toggled ~= bool then
toggle()
end
end
function keybindtypes:Toggle(bool)
set(bool)
end
if toggledefault then
set(toggledefault)
end
if toggleflag then
flags[toggleflag] = set
end
services.InputService.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Keyboard then
if input.KeyCode == keychosen then
toggle()
callback(keychosen)
end
else
if input.UserInputType == keychosen then
toggle()
callback(keychosen)
end
end
end)
end
if keybindtype and keybindtype:lower() == "hold" then
services.InputService.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Keyboard then
if input.KeyCode == keychosen then
if holdflag then
library.flags[holdflag] = true
end
callback(keychosen)
holdcallback(true)
end
else
if input.UserInputType == keychosen then
if holdflag then
library.flags[holdflag] = true
end
callback(keychosen)
holdcallback(true)
end
end
end)
services.InputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Keyboard then
if input.KeyCode == keychosen then
if holdflag then
library.flags[holdflag] = true
end
holdcallback(false)
end
else
if input.UserInputType == keychosen then
if holdflag then
library.flags[holdflag] = true
end
holdcallback(false)
end
end
end)
end
if not keybindtype then
services.InputService.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Keyboard then
if input.KeyCode == keychosen then
callback(keychosen)
end
else
if input.UserInputType == keychosen then
callback(keychosen)
end
end
end)
end
local function setkey(newkey)
if tostring(newkey):find("Enum.KeyCode.") then
newkey = Enum.KeyCode[tostring(newkey):gsub("Enum.KeyCode.", "")]
else
newkey = Enum.UserInputType[tostring(newkey):gsub("Enum.UserInputType.", "")]
end
if not table.find(blacklist, newkey) then
local key = keys[newkey]
local text = "[" .. (keys[newkey] or tostring(newkey):gsub("Enum.KeyCode.", "")) .. "]"
local sizeX = services.TextService:GetTextSize(text, 8, Enum.Font.Code, Vector2.new(1000, 1000)).X
keytext.Text = text
keytext.Size = UDim2.new(0, sizeX, 1, 0)
keytext.Position = UDim2.new(1, -sizeX, 0, 0)
keytext.TextColor3 = Color3.fromRGB(180, 180, 180)
keychosen = newkey
if flag then
library.flags[flag] = newkey
end
callback(newkey, true)
else
keychosen = nil
keytext.TextColor3 = Color3.fromRGB(180, 180, 180)
keytext.Text = "[NONE]"
keytext.Size = UDim2.new(0, keytext.TextBounds.X, 1, 0)
keytext.Position = UDim2.new(1, -keytext.TextBounds.X, 0, 0)
if flag then
library.flags[flag] = nil
end
callback(newkey, true)
end
end
if default then
task.wait()
setkey(default)
end
if flag then
flags[flag] = setkey
end
function keybindtypes:Set(newkey)
setkey(newkey)
end
return keybindtypes
end
function sectiontypes:ColorPicker(options)
options = utility.table(options)
local name = options.name
local default = options.default or Color3.fromRGB(255, 255, 255)
local colorpickertype = options.mode
local toggleflag = colorpickertype and colorpickertype:lower() == "toggle" and options.togglepointer
local togglecallback = colorpickertype and colorpickertype:lower() == "toggle" and options.togglecallback or function() end
local flag = options.pointer
local callback = options.callback or function() end
local colorpickerholder = utility.create("Frame", {
Size = UDim2.new(1, -5, 0, 14),
BackgroundTransparency = 1,
Position = UDim2.new(0, 0, 0, 0),
Parent = sectioncontent
})
local enabledcpiconholder
do
if colorpickertype and colorpickertype:lower() == "toggle" then
local togglecpicon = utility.create("Frame", {
ZIndex = 9,
Size = UDim2.new(0, 10, 0, 10),
BorderColor3 = Color3.fromRGB(40, 40, 40),
Position = UDim2.new(0, 2, 0, 2),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
Parent = colorpickerholder
})
local grayborder = utility.create("Frame", {
ZIndex = 8,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(40, 40, 40),
Parent = togglecpicon
})
utility.create("UIGradient", {
Rotation = 90,
Color = ColorSequence.new(Color3.fromRGB(35, 35, 35), Color3.fromRGB(25, 25, 25)),
Parent = togglecpicon
})
utility.create("Frame", {
ZIndex = 7,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(10, 10, 10),
Parent = grayborder
})
enabledcpiconholder = utility.create("Frame", {
ZIndex = 10,
Size = UDim2.new(1, 0, 1, 0),
BackgroundTransparency = 1,
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
Parent = togglecpicon
})
local enabledicongradient = utility.create("UIGradient", {
Rotation = 90,
Color = utility.gradient { library.accent, Color3.fromRGB(25, 25, 25) },
Parent = enabledcpiconholder
})
accentobjects.gradient[enabledicongradient] = function(color)
return utility.gradient { color, Color3.fromRGB(25, 25, 25) }
end
end
end
local colorpickerframe = utility.create("Frame", {
ZIndex = 9,
Size = UDim2.new(1, -70, 0, 148),
Position = UDim2.new(1, -168, 0, 18),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
Visible = false,
Parent = colorpickerholder
})
colorpickerframe.DescendantAdded:Connect(function(descendant)
if not opened then
task.wait()
if not descendant.ClassName:find("UI") then
if descendant.ClassName:find("Text") then
descendant.TextTransparency = descendant.TextTransparency + 1
descendant.TextStrokeTransparency = descendant.TextStrokeTransparency + 1
end
if descendant.ClassName:find("Image") then
descendant.ImageTransparency = descendant.ImageTransparency + 1
end
descendant.BackgroundTransparency = descendant.BackgroundTransparency + 1
end
end
end)
local bggradient = utility.create("UIGradient", {
Rotation = 90,
Color = utility.gradient { Color3.fromRGB(35, 35, 35), Color3.fromRGB(25, 25, 25) },
Parent = colorpickerframe
})
local grayborder = utility.create("Frame", {
ZIndex = 8,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(40, 40, 40),
Parent = colorpickerframe
})
local blackborder = utility.create("Frame", {
ZIndex = 7,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(10, 10, 10),
Parent = grayborder
})
local saturationframe = utility.create("ImageLabel", {
ZIndex = 12,
Size = UDim2.new(0, 128, 0, 100),
BorderColor3 = Color3.fromRGB(50, 50, 50),
Position = UDim2.new(0, 6, 0, 6),
BorderSizePixel = 0,
BackgroundColor3 = default,
Image = "http://www.roblox.com/asset/?id=8630797271",
Parent = colorpickerframe
})
local grayborder = utility.create("Frame", {
ZIndex = 11,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(40, 40, 40),
Parent = saturationframe
})
utility.create("Frame", {
ZIndex = 10,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(10, 10, 10),
Parent = grayborder
})
local saturationpicker = utility.create("Frame", {
ZIndex = 13,
Size = UDim2.new(0, 2, 0, 2),
BorderColor3 = Color3.fromRGB(10, 10, 10),
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
Parent = saturationframe
})
local hueframe = utility.create("ImageLabel", {
ZIndex = 12,
Size = UDim2.new(0, 14, 0, 100),
Position = UDim2.new(1, -20, 0, 6),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(255, 193, 49),
ScaleType = Enum.ScaleType.Crop,
Image = "http://www.roblox.com/asset/?id=8630799159",
Parent = colorpickerframe
})
local grayborder = utility.create("Frame", {
ZIndex = 11,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(40, 40, 40),
Parent = hueframe
})
utility.create("Frame", {
ZIndex = 10,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(10, 10, 10),
Parent = grayborder
})
local huepicker = utility.create("Frame", {
ZIndex = 13,
Size = UDim2.new(1, 0, 0, 1),
BorderColor3 = Color3.fromRGB(10, 10, 10),
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
Parent = hueframe
})
local boxholder = utility.create("Frame", {
Size = UDim2.new(1, -8, 0, 17),
ClipsDescendants = true,
Position = UDim2.new(0, 4, 0, 110),
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
Parent = colorpickerframe
})
local box = utility.create("TextBox", {
ZIndex = 13,
Size = UDim2.new(1, -4, 1, -4),
BackgroundTransparency = 1,
Position = UDim2.new(0, 2, 0, 2),
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
FontSize = Enum.FontSize.Size14,
TextStrokeTransparency = 0,
TextSize = 13,
TextColor3 = Color3.fromRGB(210, 210, 210),
Text = table.concat({ utility.getrgb(default) }, ", "),
PlaceholderText = "R, G, B",
Font = Enum.Font.Code,
Parent = boxholder
})
local grayborder = utility.create("Frame", {
ZIndex = 11,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(40, 40, 40),
Parent = box
})
utility.create("Frame", {
ZIndex = 10,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(10, 10, 10),
Parent = grayborder
})
local bg = utility.create("Frame", {
ZIndex = 12,
Size = UDim2.new(1, 0, 1, 0),
BorderColor3 = Color3.fromRGB(40, 40, 40),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
Parent = box
})
utility.create("UIGradient", {
Rotation = 90,
Color = utility.gradient { Color3.fromRGB(35, 35, 35), Color3.fromRGB(25, 25, 25) },
Parent = bg
})
local toggleholder = utility.create("TextButton", {
Size = UDim2.new(1, -8, 0, 14),
BackgroundTransparency = 1,
Position = UDim2.new(0, 4, 0, 130),
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
FontSize = Enum.FontSize.Size14,
TextSize = 14,
TextColor3 = Color3.fromRGB(0, 0, 0),
Font = Enum.Font.SourceSans,
Parent = colorpickerframe
})
local toggleicon = utility.create("Frame", {
ZIndex = 12,
Size = UDim2.new(0, 10, 0, 10),
BorderColor3 = Color3.fromRGB(40, 40, 40),
Position = UDim2.new(0, 2, 0, 2),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
Parent = toggleholder
})
local enablediconholder = utility.create("Frame", {
ZIndex = 13,
Size = UDim2.new(1, 0, 1, 0),
BackgroundTransparency = 1,
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
Parent = toggleicon
})
local enabledicongradient = utility.create("UIGradient", {
Rotation = 90,
Color = utility.gradient { library.accent, Color3.fromRGB(25, 25, 25) },
Parent = enablediconholder
})
accentobjects.gradient[enabledicongradient] = function(color)
return utility.gradient { color, Color3.fromRGB(25, 25, 25) }
end
local grayborder = utility.create("Frame", {
ZIndex = 11,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(40, 40, 40),
Parent = toggleicon
})
utility.create("Frame", {
ZIndex = 10,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(10, 10, 10),
Parent = grayborder
})
utility.create("UIGradient", {
Rotation = 90,
Color = utility.gradient { Color3.fromRGB(35, 35, 35), Color3.fromRGB(25, 25, 25) },
Parent = toggleicon
})
local rainbowtxt = utility.create("TextLabel", {
ZIndex = 10,
Size = UDim2.new(0, 0, 1, 0),
BackgroundTransparency = 1,
Position = UDim2.new(0, 20, 0, 0),
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
FontSize = Enum.FontSize.Size14,
TextStrokeTransparency = 0,
TextSize = 13,
TextColor3 = Color3.fromRGB(180, 180, 180),
Text = "Rainbow",
Font = Enum.Font.Code,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = toggleholder
})
local colorpicker = utility.create("TextButton", {
Size = UDim2.new(1, 0, 0, 14),
BackgroundTransparency = 1,
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
FontSize = Enum.FontSize.Size14,
TextSize = 14,
TextColor3 = Color3.fromRGB(0, 0, 0),
Font = Enum.Font.SourceSans,
Parent = colorpickerholder
})
local icon = utility.create(colorpickertype and colorpickertype:lower() == "toggle" and "TextButton" or "Frame", {
ZIndex = 9,
Size = UDim2.new(0, 18, 0, 10),
BorderColor3 = Color3.fromRGB(40, 40, 40),
Position = UDim2.new(1, -20, 0, 2),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
Parent = colorpicker
})
if colorpickertype and colorpickertype:lower() == "toggle" then
icon.Text = ""
end
local grayborder = utility.create("Frame", {
ZIndex = 8,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(40, 40, 40),
Parent = icon
})
utility.create("Frame", {
ZIndex = 7,
Size = UDim2.new(1, 2, 1, 2),
Position = UDim2.new(0, -1, 0, -1),
BorderSizePixel = 0,
BackgroundColor3 = Color3.fromRGB(10, 10, 10),
Parent = grayborder
})
local icongradient = utility.create("UIGradient", {
Rotation = 90,
Color = utility.gradient { default, utility.changecolor(default, -200) },
Parent = icon
})
local title = utility.create("TextLabel", {
ZIndex = 7,
Size = UDim2.new(0, 0, 0, 14),
BackgroundTransparency = 1,
Position = colorpickertype and colorpickertype:lower() == "toggle" and UDim2.new(0, 20, 0, 0) or UDim2.new(0, 1, 0, 0),
BackgroundColor3 = Color3.fromRGB(255, 255, 255),
FontSize = Enum.FontSize.Size14,
TextStrokeTransparency = 0,
TextSize = 13,
TextColor3 = Color3.fromRGB(210, 210, 210),
Text = name,
Font = Enum.Font.Code,
TextXAlignment = Enum.TextXAlignment.Left,
Parent = colorpicker
})
if #sectioncontent:GetChildren() - 1 <= max then
sectionholder.Size = UDim2.new(1, -1, 0, sectionlist.AbsoluteContentSize.Y + 28)
end
local colorpickertypes = utility.table()
if colorpickertype and colorpickertype:lower() == "toggle" then
local toggled = false
if toggleflag then
library.flags[toggleflag] = toggled
end
local function toggle()
if not switchingtabs then
toggled = not toggled
if toggleflag then
library.flags[toggleflag] = toggled
end
togglecallback(toggled)
local enabledtransparency = toggled and 0 or 1
utility.tween(enabledcpiconholder, { 0.2 }, { BackgroundTransparency = enabledtransparency })
local textcolor = toggled and library.accent or Color3.fromRGB(180, 180, 180)
utility.tween(title, { 0.2 }, { TextColor3 = textcolor })
if toggled then
table.insert(accentobjects.text, title)
elseif table.find(accentobjects.text, title) then
table.remove(accentobjects.text, table.find(accentobjects.text, title))
end
end
end
colorpicker.MouseButton1Click:Connect(toggle)
local function set(bool)
if type(bool) == "boolean" and toggled ~= bool then
toggle()
end
end
function colorpickertypes:Toggle(bool)
set(bool)
end
if toggledefault then
set(toggledefault)
end
if toggleflag then
flags[toggleflag] = set
end
end
local opened = false
local opening = false
local function opencolorpicker()
if not opening then
opening = true
opened = not opened
if opened then
utility.tween(colorpickerholder, { 0.2 }, { Size = UDim2.new(1, -5, 0, 168) })
end
local tween = utility.makevisible(colorpickerframe, opened)
tween.Completed:Wait()
if not opened then
local tween = utility.tween(colorpickerholder, { 0.2 }, { Size = UDim2.new(1, -5, 0, 16) })
tween.Completed:Wait()
end
opening = false
end
end
if colorpickertype and colorpickertype:lower() == "toggle" then
icon.MouseButton1Click:Connect(opencolorpicker)
else
colorpicker.MouseButton1Click:Connect(opencolorpicker)
end
local hue, sat, val = default:ToHSV()
local slidinghue = false
local slidingsaturation = false
local hsv = Color3.fromHSV(hue, sat, val)
if flag then
library.flags[flag] = default
end
local function updatehue(input)
local sizeY = 1 - math.clamp((input.Position.Y - hueframe.AbsolutePosition.Y) / hueframe.AbsoluteSize.Y, 0, 1)
local posY = math.clamp(((input.Position.Y - hueframe.AbsolutePosition.Y) / hueframe.AbsoluteSize.Y) * hueframe.AbsoluteSize.Y, 0, hueframe.AbsoluteSize.Y - 2)
huepicker.Position = UDim2.new(0, 0, 0, posY)
hue = sizeY
hsv = Color3.fromHSV(sizeY, sat, val)
box.Text = math.clamp(math.floor((hsv.R * 255) + 0.5), 0, 255) .. ", " .. math.clamp(math.floor((hsv.B * 255) + 0.5), 0, 255) .. ", " .. math.clamp(math.floor((hsv.G * 255) + 0.5), 0, 255)
saturationframe.BackgroundColor3 = hsv
icon.BackgroundColor3 = hsv
if flag then
library.flags[flag] = Color3.fromRGB(hsv.r * 255, hsv.g * 255, hsv.b * 255)
end
callback(Color3.fromRGB(hsv.r * 255, hsv.g * 255, hsv.b * 255))
end
hueframe.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
slidinghue = true
updatehue(input)
end
end)
hueframe.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
slidinghue = false
end
end)
services.InputService.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement then
if slidinghue then
updatehue(input)
end
end
end)
local function updatesatval(input)
local sizeX = math.clamp((input.Position.X - saturationframe.AbsolutePosition.X) / saturationframe.AbsoluteSize.X, 0, 1)
local sizeY = 1 - math.clamp((input.Position.Y - saturationframe.AbsolutePosition.Y) / saturationframe.AbsoluteSize.Y, 0, 1)
local posY = math.clamp(((input.Position.Y - saturationframe.AbsolutePosition.Y) / saturationframe.AbsoluteSize.Y) * saturationframe.AbsoluteSize.Y, 0, saturationframe.AbsoluteSize.Y - 4)
local posX = math.clamp(((input.Position.X - saturationframe.AbsolutePosition.X) / saturationframe.AbsoluteSize.X) * saturationframe.AbsoluteSize.X, 0, saturationframe.AbsoluteSize.X - 4)
saturationpicker.Position = UDim2.new(0, posX, 0, posY)
sat = sizeX
val = sizeY
hsv = Color3.fromHSV(hue, sizeX, sizeY)
box.Text = math.clamp(math.floor((hsv.R * 255) + 0.5), 0, 255) .. ", " .. math.clamp(math.floor((hsv.B * 255) + 0.5), 0, 255) .. ", " .. math.clamp(math.floor((hsv.G * 255) + 0.5), 0, 255)
saturationframe.BackgroundColor3 = hsv
icon.BackgroundColor3 = hsv
if flag then
library.flags[flag] = Color3.fromRGB(hsv.r * 255, hsv.g * 255, hsv.b * 255)
end
callback(Color3.fromRGB(hsv.r * 255, hsv.g * 255, hsv.b * 255))
end
saturationframe.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
slidingsaturation = true
updatesatval(input)
end
end)
saturationframe.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
slidingsaturation = false
end
end)
services.InputService.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement then
if slidingsaturation then
updatesatval(input)
end
end
end)
local function set(color)
if type(color) == "table" then
color = Color3.fromRGB(unpack(color))
end
hue, sat, val = color:ToHSV()
hsv = Color3.fromHSV(hue, sat, val)
saturationframe.BackgroundColor3 = hsv
icon.BackgroundColor3 = hsv
saturationpicker.Position = UDim2.new(0, (math.clamp(sat * saturationframe.AbsoluteSize.X, 0, saturationframe.AbsoluteSize.X - 4)), 0, (math.clamp((1 - val) * saturationframe.AbsoluteSize.Y, 0, saturationframe.AbsoluteSize.Y - 4)))
huepicker.Position = UDim2.new(0, 0, 0, math.clamp((1 - hue) * saturationframe.AbsoluteSize.Y, 0, saturationframe.AbsoluteSize.Y - 4))
box.Text = math.clamp(math.floor((hsv.R * 255) + 0.5), 0, 255) .. ", " .. math.clamp(math.floor((hsv.B * 255) + 0.5), 0, 255) .. ", " .. math.clamp(math.floor((hsv.G * 255) + 0.5), 0, 255)
if flag then
library.flags[flag] = Color3.fromRGB(hsv.r * 255, hsv.g * 255, hsv.b * 255)
end
callback(Color3.fromRGB(hsv.r * 255, hsv.g * 255, hsv.b * 255))
end
local toggled = false
local function toggle()
if not switchingtabs then
toggled = not toggled
if toggled then
task.spawn(function()
while toggled do
for i = 0, 1, 0.0015 do
if not toggled then
return
end
local color = Color3.fromHSV(i, 1, 1)
set(color)
task.wait()
end
end
end)
end
local enabledtransparency = toggled and 0 or 1
utility.tween(enablediconholder, { 0.2 }, { BackgroundTransparency = enabledtransparency })
local textcolor = toggled and library.accent or Color3.fromRGB(180, 180, 180)
utility.tween(rainbowtxt, { 0.2 }, { TextColor3 = textcolor })
if toggled then
table.insert(accentobjects.text, title)
elseif table.find(accentobjects.text, title) then
table.remove(accentobjects.text, table.find(accentobjects.text, title))
end
end
end
toggleholder.MouseButton1Click:Connect(toggle)
box.FocusLost:Connect(function()
local _, amount = box.Text:gsub(", ", "")
if amount == 2 then
local values = box.Text:split(", ")
local r, g, b = math.clamp(values[1], 0, 255), math.clamp(values[2], 0, 255), math.clamp(values[3], 0, 255)
set(Color3.fromRGB(r, g, b))
else
rgb.Text = math.floor((hsv.r * 255) + 0.5) .. ", " .. math.floor((hsv.g * 255) + 0.5) .. ", " .. math.floor((hsv.b * 255) + 0.5)
end
end)
if default then
set(default)
end
if flag then
flags[flag] = set
end
local colorpickertypes = utility.table()
function colorpickertypes:Set(color)
set(color)
end
end
return sectiontypes
end
return pagetypes
end
return windowtypes
end
function library:Initialize()
if gethui then
gui.Parent = gethui()
elseif syn and syn.protect_gui then
syn.protect_gui(gui)
gui.Parent = services.CoreGui
end
end
function library:Init()
library:Initialize()
end
end
local ScriptProperties = {
ScriptName = "specter.lua",
ScriptSizeOne = 700,
ScriptSizeTwo = 500,
ScriptAccent = Color3.fromRGB(121, 66, 254),
Perms = { 246220626, 2415886442, 2284385613, 2415886442 },
Owners = { "tenaki", "happy", "xiba" },
Admins = { "aiden", "mertcan", "linux" },
UserPanel = {
Status = "member"
}
}
local Library = library
local Window = Library:New({ Name = ScriptProperties.ScriptName, Accent = Color3.fromRGB(133, 87, 242) })
--
local Pred = 0.14
local Pos = 0
local mouse = game.Players.LocalPlayer:GetMouse()
local Player = game:GetService("Players").LocalPlayer
local runService = game:service("RunService")
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- pages , sections --
local Pages = {
Aiming = Window:Page({ Name = "Main" }),
Rage = Window:Page({ Name = "Rage" }),
Visuals = Window:Page({ Name = "Visuals" }),
Misc = Window:Page({ Name = "Miscellaneous" }),
ConfigSec = Window:Page({ Name = "Configurations" })
}
local Sections = {
Aiming = {
TargetAim = {
Main = Pages.Aiming:Section({ Name = "Bullet Prioritise", Side = "Right", Max = 3 }),
Settings = Pages.Aiming:Section({ Name = "Bullet Prioritise Settings", Side = "Right", Max = 3 })
},
Aimbot = {
Main = Pages.Aiming:Section({ Name = "Aiming", Side = "Left", Max = 3 }),
Settings = Pages.Aiming:Section({ Name = "Aiming Settings", Side = "Left", Max = 4 })
},
MouseStuff = Pages.Aiming:Section({ Name = "Mouse Position", Side = "Right", Max = 2 })
},
Visuals = {
MainVisuals = Pages.Visuals:Section({ Name = "Esp", Side = "Left", Max = 5 }),
WorldVisuals = Pages.Visuals:Section({ Name = "World Settings", Side = "Right" }),
PlayerChams = Pages.Visuals:Section({ Name = "Client Visuals", Side = "Left", Max = 2 }),
BulletTracers = Pages.Visuals:Section({ Name = "Bullet Tracers", Side = "Right", Max = 2 })
},
RageSector = {
AntiAim = Pages.Rage:Section({ Name = "Anti Aim", Side = "Left", Max = 5 }),
TargetStrafe = Pages.Rage:Section({ Name = "Target Strafe", Side = "Right" }),
AntiHit = Pages.Rage:Section({ Name = "Anti Hit", Side = "Left" }),
FakeLag = Pages.Rage:Section({ Name = "Fake Lag", Side = "Right", Max = 2 })
},
MiscSector = {
Fly = Pages.Misc:Section({ Name = "Float", Side = "Left" }),
CharMain = Pages.Misc:Section({ Name = "Limits", Side = "Right" }),
SpeedMain = Pages.Misc:Section({ Name = "Movement", Side = "Left" }),
Fun = Pages.Misc:Section({ Name = "Spammer", Side = "Right", Max = 4 })
},
Configuations = {
Configs = Pages.ConfigSec:Section({ Name = "Configuration", Side = "Left" }),
Discord = Pages.ConfigSec:Section({ Name = "Discord", Side = "Right" }),
ScriptStuff = Pages.ConfigSec:Section({ Name = "Utilities", Side = "Right" })
}
}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- cheat settings table --
local BulletTracers = false
local AimingSettings = {
Aimbot = {
NotificationMode = false,
Keybind = Enum.KeyCode.Q,
Hitbox = "Head",
HitAirshots = false,
CameraMode = false,
MouseMode = false,
AutoPredct = false,
PredictionAmount = 0.165,
Smoothing = false,
Smoothness = 0.015
},
TargetAim = {
Enabled = true,
UseFOV = true,
ShowFOV = false,
FOV = 60,
FOVFilled = false,
Selected = false,
WallCheck = false,
PingPred1 = false,
PingPred2 = false,
CrewCheck = false,
ShowHitbox = false,
AirShotMode = true,
RandomHitbox = false,
GrabbedCheck = false,
KnockedCheck = false,
FOVThickness = 2,
FovTransparency = 1,
NotificationMode = false,
UseNearestDistance = false,
Hitboxes = "Head",
FOVColor = Color3.new(0.603921, 0.011764, 1)
},
MousePosSector = {
Filled = false,
Thickness = 1,
Size = 10,
DOTColor = Color3.fromRGB(0, 71, 212),
Enabled = false
}
}
local RageSettings = {
AntiAim = {
Enabled = false,
VelocityBreaker = false,
VBV = 500,
VBF = 100,
Confusion = false
},
LegitAntiHit = {
Enabled = false,
Multiplier = 0.25
},
FakeLag = {
Enabled = false,
Multiplier = 0.10,
Visulize = false,
ViulizationTransparency = 1,
ViulizationColor = Color3.fromRGB(255, 0, 0)
},
TargetStrafe = {
Enabled = false,
AntiAimMode = false,
AntiAimType = "Default",
Distance = 2,
Speed = 0.5,
Color = Color3.fromRGB(255, 255, 255)
}
}
local MiscSettings = {
TrashTalk = {
Enabled = false
},
NoJumpCd = {
Enabled = false
},
NoRecoil = {
Enabled = false
},
Speed = {
Enabled = false,
Motion = true,
BHop = false,
Amount = 1
},
Fly = {
Enabled = false,
Normal = true,
Height = 35,
MoveOnly = false,
Amount = 1
},
Strafe = {
Enabled = false
},
NoSlowdown = {
Enabled = false
}
}
local parts = {
"Head",
"UpperTorso",
"RightUpperArm",
"RightLowerArm",
"RightUpperArm",
"LeftUpperArm",
"LeftLowerArm",
"LeftFoot",
"RightFoot",
"LowerTorso",
"LeftHand",
"RightHand",
"RightUpperLeg",
"LeftUpperLeg",
"LeftLowerLeg",
"RightLowerLeg"
}
local VisualsExtra = {
WorldVisuals = {
MapLightingEnabled = false,
MapBrightness = 0.6,
MapContrast = 0.2,
MapTintColor = Color3.fromRGB(0, 0, 153)
},
WeaponEffects = {
Enabled = false,
Color = Color3.fromRGB(255, 0, 0),
Material = "ForceField"
},
ClientVisuals = {
SelfChams = false,
SelfChamsMaterial = "ForceField",
SelfChamsColor = Color3.fromRGB(255, 0, 0),
BaseSkin = "Plastic"
}
}
local ConfigurationTab = {
Configs = {
},
Discord = {
AutoJoin = false
},
UIPreferances = {
}
}
----- strafe ---
local Yung = loadstring(game:HttpGet("https://pastebin.com/raw/kwQeFKTi"))()
local Circle = Yung:New3DCircle()
Circle.Visible = RageSettings.TargetStrafe.Enabled
Circle.ZIndex = 1
Circle.Transparency = 1
Circle.Color = RageSettings.TargetStrafe.Color
Circle.Thickness = 1
Circle.Radius = RageSettings.TargetStrafe.Distance
local delta = 0
local duration = RageSettings.TargetStrafe.Speed
local d32_ui_color3 = Color3.fromRGB(255, 255, 255)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- aimbot --
local CC = game:GetService "Workspace".CurrentCamera
local LocalMouse = game.Players.LocalPlayer:GetMouse()
local Locking = false
function x(tt, tx, cc)
game.StarterGui:SetCore(
"SendNotification",
{
Title = tt,
Text = tx,
Duration = cc
}
)
end
local UserInputService = game:GetService("UserInputService")
UserInputService.InputBegan:Connect(
function(keygo, ok)
if (not ok) then
if (keygo.KeyCode == AimingSettings.Aimbot.Keybind) then
Locking = not Locking
if Locking and getgenv().mousemoverel then
Plr = getClosestPlayerToCursor()
PlrP = getclosest()
if AimingSettings.Aimbot.NotificationMode then
end
elseif not Locking then
if AimingSettings.Aimbot.NotificationMode then
end
end
end
end
end
)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- functions --
function getClosestPlayerToCursor()
local closestPlayer
local shortestDistance = AimingSettings.TargetAim.FOV
for i, v in pairs(game.Players:GetPlayers()) do
if v ~= game.Players.LocalPlayer and v.Character and v.Character:FindFirstChild("Humanoid") and
v.Character.Humanoid.Health ~= 0 and
v.Character:FindFirstChild(AimingSettings.Aimbot.Hitbox)
then
local pos = CC:WorldToViewportPoint(v.Character.PrimaryPart.Position)
local magnitude = (Vector2.new(pos.X, pos.Y) - Vector2.new(LocalMouse.X, LocalMouse.Y)).magnitude
if magnitude < shortestDistance then
closestPlayer = v
shortestDistance = magnitude
end
end
end
return closestPlayer
end
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- mouse / camera mode --
game:GetService("RunService").RenderStepped:Connect(
function()
if Plr == nil then
return
elseif not Plr.Character then
return
end
if not Plr.Character:FindFirstChild(AimingSettings.Aimbot.Hitbox) then
return
end
if Locking and AimingSettings.Aimbot.MouseMode then
local goal =
CC:WorldToScreenPoint(
Plr.Character[AimingSettings.Aimbot.Hitbox].Position +
(Plr.Character[AimingSettings.Aimbot.Hitbox].Velocity * AimingSettings.Aimbot.PredictionAmount)
)
mousemoverel(goal.X - LocalMouse.X, goal.Y - LocalMouse.Y)
else wait()
end
if Locking and AimingSettings.Aimbot.CameraMode and not AimingSettings.Aimbot.Smoothing then
workspace.CurrentCamera.CFrame = CFrame.new(
workspace.CurrentCamera.CFrame.Position,
Plr.Character[AimingSettings.Aimbot.Hitbox].Position +
Plr.Character[AimingSettings.Aimbot.Hitbox].Velocity * AimingSettings.Aimbot.PredictionAmount
)
elseif Locking and AimingSettings.Aimbot.CameraMode and AimingSettings.Aimbot.Smoothing then
local Main =
CFrame.new(
workspace.CurrentCamera.CFrame.p,
Plr.Character[AimingSettings.Aimbot.Hitbox].Position +
Plr.Character[AimingSettings.Aimbot.Hitbox].Velocity * AimingSettings.Aimbot.PredictionAmount
)
workspace.CurrentCamera.CFrame = workspace.CurrentCamera.CFrame:Lerp(
Main,
AimingSettings.Aimbot.Smoothness,
Enum.EasingStyle.Elastic,
Enum.EasingDirection.InOut
)
else wait()
end
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- airshot function --
if AimingSettings.Aimbot.MouseMode == false then
if AimingSettings.Aimbot.HitAirshots == true then
if Plr ~= nil and Plr.Character.Humanoid.Jump == true and
Plr.Character.Humanoid.FloorMaterial == Enum.Material.Air
then
AimingSettings.Aimbot.Hitbox = "RightFoot"
else
AimingSettings.Aimbot.Hitbox = "LowerTorso"
end
end
end
end
)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- global toggles --
local Toggles = {
TargetAim = {
MainToggle = Sections.Aiming.TargetAim.Main:Keybind(
{
Name = "Enabled",
Callback = function(key) end,
Default = key,
Pointer = "1",
Mode = "Toggle",
toggleflag = "1.1",
togglecallback = function(state)
AimingSettings.TargetAim.Enabled = state
end
}
),
HitboxesToggle = Sections.Aiming.TargetAim.Main:Dropdown(
{
Name = "Hitbox",
Options = { "Head", "UpperTorso", "HumanoidRootPart" },
Default = "Head",
Pointer = "2",
callback = function(state)
AimingSettings.TargetAim.Hitboxes = state
end
}
),
UseNearestDistance = Sections.Aiming.TargetAim.Main:Toggle(
{
Name = "Distance Based",
Default = false,
Pointer = "3",
callback = function(state)
AimingSettings.TargetAim.UseNearestDistance = state
end
}
),
CrewCheckToggle = Sections.Aiming.TargetAim.Main:Toggle(
{
Name = "Prioritise Team",
Default = false,
Pointer = "4",
callback = function(state)
AimingSettings.TargetAim.CrewCheck = state
end
}
),
WallCheckToggle = Sections.Aiming.TargetAim.Main:Toggle(
{
Name = "Visibility Check",
Default = false,
Pointer = "5",
callback = function(state)
AimingSettings.TargetAim.WallCheck = state
end
}
),
ShowFOVToggle = Sections.Aiming.TargetAim.Settings:Toggle(
{
Name = "Draw Fov",
Default = false,
Pointer = "6",
callback = function(state)
AimingSettings.TargetAim.ShowFOV = state
end
}
),
FOVSlider = Sections.Aiming.TargetAim.Settings:Slider(
{
Name = "Bullet Radius Size",
Minimum = 1,
Maximum = 10,
Default = 1,
Decimals = 0.1,
Pointer = "7",
callback = function(state)
AimingSettings.TargetAim.FOV = state ^ 3
end
}
)
},
Aimbot = {
EnableTog = Sections.Aiming.Aimbot.Main:Toggle(
{
Name = "Enabled",
Default = false,
Pointer = "8",
callback = function(e)
AimingSettings.Aimbot.CameraMode = e
end
}
),
SmoothingToggle = Sections.Aiming.Aimbot.Main:Toggle(
{
Name = "Smoothing",
Default = false,
Pointer = "9",
callback = function(state)
AimingSettings.Aimbot.Smoothing = state
end
}
),
HitboxesDropdown = Sections.Aiming.Aimbot.Main:Dropdown(
{
Name = "Hitbox",
Options = { "Head", "UpperTorso", "HumanoidRootPart" },
Default = "Head",
Pointer = "10",
callback = function(state)
AimingSettings.Aimbot.Hitbox = state
end
}
),
TeamCheckToggle = Sections.Aiming.Aimbot.Main:Toggle(
{
Name = "Visibility Check",
Default = false,
Pointer = "11",
callback = function()
end
}
),
Revaluation = Sections.Aiming.Aimbot.Main:Toggle(
{
Name = "Revaluate Hitspand",
Default = false,
Pointer = "12",
callback = function(state)
AimingSettings.Aimbot.HitAirshots = state
end
}
),
PingDropDown = Sections.Aiming.Aimbot.Settings:Dropdown(
{
Name = "Aiming Type",
Options = { "Ping Based", "Custom" },
Default = "Ping Based",
Pointer = "13",
callback = function(state)
AimingSettings.Aimbot.AutoPredct = state
end
}
),
TypeDropdown = Sections.Aiming.Aimbot.Settings:Dropdown(
{
Name = "Aiming Tracing",
Options = { "Camera", "nil" },
Default = "nil",
Pointer = "14",
callback = function(state)
end
}
),
SmoothingSlider = Sections.Aiming.Aimbot.Settings:Slider(
{
Name = "Smoothing Amount",
Minimum = 1,
Maximum = 10,
Default = 10,
Decimals = 0.000000000000000001,
Pointer = "15",
callback = function(state)
AimingSettings.Aimbot.Smoothness = state / 50
end
}
),
PredictionAmount = Sections.Aiming.Aimbot.Settings:Slider(
{
Name = "Prediction Amount",
Minimum = 1,
Maximum = 10,
Default = 10,
Decimals = 0.000000000000000001,
Pointer = "16",
callback = function(state)
AimingSettings.Aimbot.Prediction = state / 50
end
}
),
RageStuff = {
AntiAimToggle = Sections.RageSector.AntiAim:Toggle(
{
Name = "Enabled",
Default = false,
Pointer = "17",
callback = function(state)
RageSettings.AntiAim.Enabled = state
end
}
),
DesyncToggle = Sections.RageSector.AntiAim:Toggle(
{
Name = "Confusion",
Default = false,
Pointer = "18",
callback = function(state)
RageSettings.AntiAim.VelocityBreaker = state
end
}
),
DesyncVelocitySlider = Sections.RageSector.AntiAim:Slider(
{
Name = "Velocity Speed",
Minimum = 1,
Maximum = 500,
Default = 10,
Decimals = 0.000000000000001,
Pointer = "19",
callback = function(state)
RageSettings.AntiAim.VBV = state
end
}
),
DesyncFrameSlider = Sections.RageSector.AntiAim:Slider(
{
Name = "Spin Speed",
Minimum = 1,
Maximum = 100,
Default = 10,
Decimals = 0.000000000000001,
Pointer = "20",
callback = function(state)
RageSettings.AntiAim.VBF = state
end
}
),
AntiHitToggle = Sections.RageSector.AntiHit:Toggle(
{
Name = "Enabled",
Default = false,
Pointer = "21",
callback = function(state)
RageSettings.LegitAntiHit.Enabled = state
end
}
),
AntiHitSlider = Sections.RageSector.AntiHit:Slider(
{
Name = "Multiplier",
Minimum = 1,
Maximum = 10,
Default = 1,
Decimals = 0.000000000000001,
Pointer = "22",
callback = function(state)
RageSettings.LegitAntiHit.Multiplier = state / 10
end
}
)
},
FakeLagShit = {
FakeLagT = Sections.RageSector.FakeLag:Toggle(
{
Name = "Enabled",
Default = false,
Pointer = "23",
callback = function(state)
end
}
),
FakeLagSlid = Sections.RageSector.FakeLag:Slider(
{
Name = "Multiplier",
Minimum = 1,
Maximum = 10,
Default = 1,
Decimals = 0.000000000000001,
Pointer = "24",
callback = function(state)
RageSettings.FakeLag.Multiplier = state / 30
end
}
),
FakeLagBodyCham = Sections.RageSector.FakeLag:Toggle(
{
Name = "Body Cham",
Default = false,
Pointer = "25",
callback = function(state)
fakelag = state
end
}
),
},
},
MiscStuff1 = {
FlyToggle = Sections.MiscSector.Fly:Toggle(
{
Name = "Enabled",
Default = false,
Pointer = "26",
callback = function(state)
MiscSettings.Fly.Enabled = state
end
}
),
FlyHightSlider = Sections.MiscSector.Fly:Slider(
{
Name = "Height",
Minimum = 1,
Maximum = 100,
Default = 10,
Decimals = 0.000000000000001,
Pointer = "27",
callback = function(state)
MiscSettings.Fly.Height = state
end
}
),
FlyAmount = Sections.MiscSector.Fly:Slider(
{
Name = "Multiplier",
Minimum = 1,
Maximum = 10,
Default = 5,
Decimals = 0.000000000000001,
Pointer = "28",
callback = function(state)
MiscSettings.Fly.Amount = state
end
}
)
},
MiscStuff2 = {
NoJumpCdToggle = Sections.MiscSector.CharMain:Toggle(
{
Name = "Blacklisted",
Default = false,
Pointer = "29",
callback = function(state)
MiscSettings.NoJumpCd.Enabled = state
MiscSettings.NoSlowdown.Enabled = state
end
}
),
CooldownDropdown = Sections.MiscSector.CharMain:Dropdown(
{
Name = "Type",
Options = { "Jump", "Slowdown" },
Default = "Jump",
Pointer = "30",
callback = function()
end
}
),
},
MovementShit = {
SpeedToggle = Sections.MiscSector.SpeedMain:Toggle(
{
Name = "Enabled",
Default = false,
Pointer = "31",
callback = function(state)
MiscSettings.Speed.Enabled = state
end
}
),
BhopToggle = Sections.MiscSector.SpeedMain:Toggle(
{
Name = "Bunny Hop",
Default = false,
Pointer = "32",
callback = function(state)
MiscSettings.Speed.BHop = state
end
}
),
SpeedMultipler = Sections.MiscSector.SpeedMain:Slider(
{
Name = "Multiplier",
Minimum = 1,
Maximum = 10,
Default = 1,
Decimals = 0.000000000000001,
Pointer = "32",
callback = function(state)
MiscSettings.Speed.Amount = state
end
}
),
TrashTalk = Sections.MiscSector.Fun:Toggle(
{
Name = "Enabled",
Default = false,
Pointer = "33",
callback = function(state)
MiscSettings.TrashTalk.Enabled = state
end
}
),
TrashTalkDropdown = Sections.MiscSector.Fun:Dropdown(
{
Name = "Type",
Options = { "Main" },
Default = "Main",
Pointer = "34",
callback = function(state)
end
}
)
}
}
local StrafeSection = {
TargetStrafe = Sections.RageSector.TargetStrafe:Toggle(
{
Name = "Enabled",
Default = false,
Pointer = "35",
callback = function(state)
RageSettings.TargetStrafe.Enabled = state
end
}
),
StrafeSlider = Sections.RageSector.TargetStrafe:Slider(
{
Name = "Range",
Minimum = 1,
Maximum = 100,
Default = 50,
Decimals = 0.000000000000001,
Pointer = "36",
callback = function(state)
RageSettings.TargetStrafe.Distance = state
end
}
),
SpeedStrafe = Sections.RageSector.TargetStrafe:Slider(
{
Name = "Speed",
Minimum = 1,
Maximum = 100,
Default = 50,
Decimals = 0.000000000000001,
Pointer = "37",
callback = function(state)
RageSettings.TargetStrafe.Speed = state / 50
end
}
),
StrafeRage = Sections.RageSector.TargetStrafe:Toggle(
{
Name = "Rage Bot",
Default = false,
Pointer = "37",
callback = function(state)
RageSettings.TargetStrafe.AntiAimMode = state
end
}
),
StrafeMode = Sections.RageSector.TargetStrafe:Dropdown(
{
Name = "Type",
Options = { "Flinger", "Default" },
Default = "Default",
Pointer = "38",
callback = function(state)
RageSettings.TargetStrafe.AntiAimType = state
end
}
)
}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- mouse toggles --
local MousePositionToggles = {
MouseEnabled = Sections.Aiming.MouseStuff:Toggle(
{
Name = "Enabled",
Default = false,
Pointer = "39",
callback = function(state)
AimingSettings.MousePosSector.Enabled = state
end
}
),
MouseSizeSlider = Sections.Aiming.MouseStuff:Slider(
{
Name = "Pos Radius",
Minimum = 1,
Maximum = 50,
Default = 1,
Decimals = 0.1,
Pointer = "40",
callback = function(state)
AimingSettings.MousePosSector.Size = state
end
}
)
}
Toggles.TargetAim.ShowFOVToggle:Colorpicker(
{
Name = "Fov Color",
Info = "Field Of View Rgb",
Alpha = 0.5,
Default = Color3.fromRGB(133, 87, 242),
Pointer = "41",
callback = function(shit)
AimingSettings.TargetAim.FOVColor = shit
end
}
)
StrafeSection.TargetStrafe:Colorpicker(
{
Name = "Mouse Color",
Info = "Mouse Color",
Alpha = 0.5,
Default = Color3.fromRGB(133, 87, 242),
Pointer = "42",
callback = function(shit)
Circle.Color = shit
end
}
)
MousePositionToggles.MouseEnabled:Colorpicker(
{
Name = "Mouse Color",
Info = "Mouse Color",
Alpha = 0.5,
Default = Color3.fromRGB(133, 87, 242),
Pointer = "43",
callback = function(shit)
AimingSettings.MousePosSector.DOTColor = shit
end
}
)
local AllahStorage = { Instance = {} }
local GetService =
setmetatable(
{},
{
__index = function(self, key)
return game:GetService(key)
end
}
)
local Camera = workspace.CurrentCamera
local WorldToScreen = Camera.WorldToScreenPoint
local WorldToViewportPoint = Camera.WorldToViewportPoint
local GetPartsObscuringTarget = Camera.GetPartsObscuringTarget
local RunService = GetService.RunService
local Players = GetSeLoads code from the internet. It downloads more code when it runs (loadstring + HttpGet), which can change after it was posted. From: www.roblox.com, pastebin.com.
better than fartzad