Auto-deploy: Update bundled Lua script
This commit is contained in:
730
main.luau
730
main.luau
@@ -1039,79 +1039,78 @@ GetCustomIcon(aV)or ac do aX=ag('TextButton',{BackgroundColor3='MainColor',Backg
|
|||||||
,40),Text='',Parent=aO})local a2=ag('UIPadding',{PaddingBottom=UDim.new(0,aC and 6 or 11),PaddingLeft=UDim.new(0,aC and
|
,40),Text='',Parent=aO})local a2=ag('UIPadding',{PaddingBottom=UDim.new(0,aC and 6 or 11),PaddingLeft=UDim.new(0,aC and
|
||||||
6 or 12),PaddingRight=UDim.new(0,aC and 6 or 12),PaddingTop=UDim.new(0,aC and 6 or 11),Parent=aX})aY=ag('TextLabel',{
|
6 or 12),PaddingRight=UDim.new(0,aC and 6 or 12),PaddingTop=UDim.new(0,aC and 6 or 11),Parent=aX})aY=ag('TextLabel',{
|
||||||
BackgroundTransparency=1,Position=UDim2.fromOffset(30,0),Size=UDim2.new(1,-30,1,0),Text=aU,TextSize=16,TextTransparency=
|
BackgroundTransparency=1,Position=UDim2.fromOffset(30,0),Size=UDim2.new(1,-30,1,0),Text=aU,TextSize=16,TextTransparency=
|
||||||
0.5,TextXAlignment=Enum.TextXAlignment.Left,Visible=not aC,Parent=aX})local a3=ag('TextLabel',{BackgroundTransparency=1,
|
0.5,TextXAlignment=Enum.TextXAlignment.Left,Visible=not aC,Parent=aX})if C.ForceTextIcons then aY.Text=string.format(
|
||||||
Position=UDim2.fromOffset(6,9),Size=UDim2.fromOffset(22,22),Text=aU:sub(1,1):upper(),TextSize=14,TextXAlignment=Enum.
|
'[%s] %s',aU:sub(1,1):upper(),aU)aY.Position=UDim2.fromOffset(12,0)aY.Size=UDim2.new(1,-12,1,0)end if aV then aZ=ag(
|
||||||
TextXAlignment.Center,TextYAlignment=Enum.TextYAlignment.Center,TextColor3='FontColor',Visible=C.ForceTextIcons or(aV
|
'ImageLabel',{Image=aV.Url,ImageColor3=aV.Custom and'WhiteColor'or'AccentColor',ImageRectOffset=aV.ImageRectOffset,
|
||||||
and aV.Url==ac.Url),Parent=aX})if aV then aZ=ag('ImageLabel',{Image=aV.Url,ImageColor3=aV.Custom and'WhiteColor'or
|
ImageRectSize=aV.ImageRectSize,ImageTransparency=0.5,ScaleType=Enum.ScaleType.Fit,Size=UDim2.fromScale(1,1),
|
||||||
'AccentColor',ImageRectOffset=aV.ImageRectOffset,ImageRectSize=aV.ImageRectSize,ImageTransparency=0.5,ScaleType=Enum.
|
SizeConstraint=aC and Enum.SizeConstraint.RelativeXY or Enum.SizeConstraint.RelativeYY,Parent=aX})if C.ForceTextIcons
|
||||||
ScaleType.Fit,Size=UDim2.fromScale(1,1),SizeConstraint=aC and Enum.SizeConstraint.RelativeXY or Enum.SizeConstraint.
|
then aZ.ImageTransparency=0.85 end end table.insert(C.TabButtons,{Label=aY,Padding=a2,Icon=aZ})a_=ag('Frame',{
|
||||||
RelativeYY,Parent=aX})if C.ForceTextIcons then aZ.ImageTransparency=0.85 end end table.insert(C.TabButtons,{Label=aY,
|
BackgroundTransparency=1,Size=UDim2.fromScale(1,1),Visible=false,Parent=aP})a0=ag('ScrollingFrame',{AutomaticCanvasSize=
|
||||||
Padding=a2,Icon=aZ})a_=ag('Frame',{BackgroundTransparency=1,Size=UDim2.fromScale(1,1),Visible=false,Parent=aP})a0=ag(
|
Enum.AutomaticSize.Y,BackgroundTransparency=1,CanvasSize=UDim2.fromScale(0,0),ScrollBarImageTransparency=1,
|
||||||
'ScrollingFrame',{AutomaticCanvasSize=Enum.AutomaticSize.Y,BackgroundTransparency=1,CanvasSize=UDim2.fromScale(0,0),
|
ScrollBarThickness=0,Size=UDim2.new(0.5,-3,1,0),Parent=a_})ag('UIListLayout',{Padding=UDim.new(0,2),Parent=a0})ag(
|
||||||
ScrollBarImageTransparency=1,ScrollBarThickness=0,Size=UDim2.new(0.5,-3,1,0),Parent=a_})ag('UIListLayout',{Padding=UDim.
|
'UIPadding',{PaddingBottom=UDim.new(0,2),PaddingLeft=UDim.new(0,2),PaddingRight=UDim.new(0,2),PaddingTop=UDim.new(0,2),
|
||||||
new(0,2),Parent=a0})ag('UIPadding',{PaddingBottom=UDim.new(0,2),PaddingLeft=UDim.new(0,2),PaddingRight=UDim.new(0,2),
|
Parent=a0})do ag('Frame',{BackgroundTransparency=1,LayoutOrder=-1,Parent=a0})ag('Frame',{BackgroundTransparency=1,
|
||||||
PaddingTop=UDim.new(0,2),Parent=a0})do ag('Frame',{BackgroundTransparency=1,LayoutOrder=-1,Parent=a0})ag('Frame',{
|
LayoutOrder=1,Parent=a0})end a1=ag('ScrollingFrame',{AnchorPoint=Vector2.new(1,0),AutomaticCanvasSize=Enum.AutomaticSize
|
||||||
BackgroundTransparency=1,LayoutOrder=1,Parent=a0})end a1=ag('ScrollingFrame',{AnchorPoint=Vector2.new(1,0),
|
.Y,BackgroundTransparency=1,CanvasSize=UDim2.fromScale(0,0),Position=UDim2.fromScale(1,0),ScrollBarImageTransparency=1,
|
||||||
AutomaticCanvasSize=Enum.AutomaticSize.Y,BackgroundTransparency=1,CanvasSize=UDim2.fromScale(0,0),Position=UDim2.
|
ScrollBarThickness=0,Size=UDim2.new(0.5,-3,1,0),Parent=a_})ag('UIListLayout',{Padding=UDim.new(0,2),Parent=a1})ag(
|
||||||
fromScale(1,0),ScrollBarImageTransparency=1,ScrollBarThickness=0,Size=UDim2.new(0.5,-3,1,0),Parent=a_})ag('UIListLayout'
|
'UIPadding',{PaddingBottom=UDim.new(0,2),PaddingLeft=UDim.new(0,2),PaddingRight=UDim.new(0,2),PaddingTop=UDim.new(0,2),
|
||||||
,{Padding=UDim.new(0,2),Parent=a1})ag('UIPadding',{PaddingBottom=UDim.new(0,2),PaddingLeft=UDim.new(0,2),PaddingRight=
|
Parent=a1})do ag('Frame',{BackgroundTransparency=1,LayoutOrder=-1,Parent=a1})ag('Frame',{BackgroundTransparency=1,
|
||||||
UDim.new(0,2),PaddingTop=UDim.new(0,2),Parent=a1})do ag('Frame',{BackgroundTransparency=1,LayoutOrder=-1,Parent=a1})ag(
|
LayoutOrder=1,Parent=a1})end end local a2,a3,a4,a5,a6,a7,a8,a9=(ag('Frame',{AutomaticSize=Enum.AutomaticSize.Y,
|
||||||
'Frame',{BackgroundTransparency=1,LayoutOrder=1,Parent=a1})end end local a2,a3,a4,a5,a6,a7,a8,a9=(ag('Frame',{
|
BackgroundTransparency=1,Position=UDim2.fromOffset(0,7),Size=UDim2.fromScale(1,0),Visible=false,Parent=a_}))do a3=ag(
|
||||||
AutomaticSize=Enum.AutomaticSize.Y,BackgroundTransparency=1,Position=UDim2.fromOffset(0,7),Size=UDim2.fromScale(1,0),
|
'Frame',{BackgroundColor3='BackgroundColor',Position=UDim2.fromOffset(2,0),Size=UDim2.new(1,-5,0,0),Parent=a2})ag(
|
||||||
Visible=false,Parent=a_}))do a3=ag('Frame',{BackgroundColor3='BackgroundColor',Position=UDim2.fromOffset(2,0),Size=UDim2
|
'UICorner',{CornerRadius=UDim.new(0,aw.CornerRadius),Parent=a3})a4,a5=C:AddOutline(a3)a6=ag('ScrollingFrame',{
|
||||||
.new(1,-5,0,0),Parent=a2})ag('UICorner',{CornerRadius=UDim.new(0,aw.CornerRadius),Parent=a3})a4,a5=C:AddOutline(a3)a6=
|
BackgroundTransparency=1,BorderSizePixel=0,Size=UDim2.fromScale(1,1),CanvasSize=UDim2.new(0,0,0,0),ScrollBarThickness=3,
|
||||||
ag('ScrollingFrame',{BackgroundTransparency=1,BorderSizePixel=0,Size=UDim2.fromScale(1,1),CanvasSize=UDim2.new(0,0,0,0),
|
ScrollingDirection=Enum.ScrollingDirection.Y,Parent=a3})ag('UIPadding',{PaddingBottom=UDim.new(0,4),PaddingLeft=UDim.
|
||||||
ScrollBarThickness=3,ScrollingDirection=Enum.ScrollingDirection.Y,Parent=a3})ag('UIPadding',{PaddingBottom=UDim.new(0,4)
|
new(0,6),PaddingRight=UDim.new(0,6),PaddingTop=UDim.new(0,4),Parent=a6})a7=ag('TextLabel',{BackgroundTransparency=1,Size
|
||||||
,PaddingLeft=UDim.new(0,6),PaddingRight=UDim.new(0,6),PaddingTop=UDim.new(0,4),Parent=a6})a7=ag('TextLabel',{
|
=UDim2.new(1,-4,0,14),Text='',TextColor3=Color3.fromRGB(255,50,50),TextSize=14,TextXAlignment=Enum.TextXAlignment.Left,
|
||||||
BackgroundTransparency=1,Size=UDim2.new(1,-4,0,14),Text='',TextColor3=Color3.fromRGB(255,50,50),TextSize=14,
|
Parent=a6})a8=ag('UIStroke',{ApplyStrokeMode=Enum.ApplyStrokeMode.Contextual,Color=Color3.fromRGB(169,0,0),LineJoinMode=
|
||||||
TextXAlignment=Enum.TextXAlignment.Left,Parent=a6})a8=ag('UIStroke',{ApplyStrokeMode=Enum.ApplyStrokeMode.Contextual,
|
Enum.LineJoinMode.Miter,Parent=a7})a9=ag('TextLabel',{BackgroundTransparency=1,Position=UDim2.fromOffset(0,16),Size=
|
||||||
Color=Color3.fromRGB(169,0,0),LineJoinMode=Enum.LineJoinMode.Miter,Parent=a7})a9=ag('TextLabel',{BackgroundTransparency=
|
UDim2.new(1,-4,0,0),Text='',TextSize=14,TextWrapped=true,Parent=a6,TextXAlignment=Enum.TextXAlignment.Left,
|
||||||
1,Position=UDim2.fromOffset(0,16),Size=UDim2.new(1,-4,0,0),Text='',TextSize=14,TextWrapped=true,Parent=a6,TextXAlignment
|
TextYAlignment=Enum.TextYAlignment.Top})ag('UIStroke',{ApplyStrokeMode=Enum.ApplyStrokeMode.Contextual,Color='DarkColor'
|
||||||
=Enum.TextXAlignment.Left,TextYAlignment=Enum.TextYAlignment.Top})ag('UIStroke',{ApplyStrokeMode=Enum.ApplyStrokeMode.
|
,LineJoinMode=Enum.LineJoinMode.Miter,Parent=a9})end local ba={Groupboxes={},Tabboxes={},DependencyGroupboxes={},Sides={
|
||||||
Contextual,Color='DarkColor',LineJoinMode=Enum.LineJoinMode.Miter,Parent=a9})end local ba={Groupboxes={},Tabboxes={},
|
a0,a1},WarningBox={IsNormal=false,LockSize=false,Visible=false,Title='WARNING',Text=''}}function ba.UpdateWarningBox(bb,
|
||||||
DependencyGroupboxes={},Sides={a0,a1},WarningBox={IsNormal=false,LockSize=false,Visible=false,Title='WARNING',Text=''}}
|
bc)if typeof(bc.IsNormal)=='boolean'then ba.WarningBox.IsNormal=bc.IsNormal end if typeof(bc.LockSize)=='boolean'then ba
|
||||||
function ba.UpdateWarningBox(bb,bc)if typeof(bc.IsNormal)=='boolean'then ba.WarningBox.IsNormal=bc.IsNormal end if
|
.WarningBox.LockSize=bc.LockSize end if typeof(bc.Visible)=='boolean'then ba.WarningBox.Visible=bc.Visible end if
|
||||||
typeof(bc.LockSize)=='boolean'then ba.WarningBox.LockSize=bc.LockSize end if typeof(bc.Visible)=='boolean'then ba.
|
typeof(bc.Title)=='string'then ba.WarningBox.Title=bc.Title end if typeof(bc.Text)=='string'then ba.WarningBox.Text=bc.
|
||||||
WarningBox.Visible=bc.Visible end if typeof(bc.Title)=='string'then ba.WarningBox.Title=bc.Title end if typeof(bc.Text)
|
Text end a2.Visible=ba.WarningBox.Visible a7.Text=ba.WarningBox.Title a9.Text=ba.WarningBox.Text ba:Resize(true)a3.
|
||||||
=='string'then ba.WarningBox.Text=bc.Text end a2.Visible=ba.WarningBox.Visible a7.Text=ba.WarningBox.Title a9.Text=ba.
|
BackgroundColor3=ba.WarningBox.IsNormal==true and C.Scheme.BackgroundColor or Color3.fromRGB(127,0,0)a5.Color=ba.
|
||||||
WarningBox.Text ba:Resize(true)a3.BackgroundColor3=ba.WarningBox.IsNormal==true and C.Scheme.BackgroundColor or Color3.
|
WarningBox.IsNormal==true and C.Scheme.DarkColor or Color3.fromRGB(85,0,0)a4.Color=ba.WarningBox.IsNormal==true and C.
|
||||||
fromRGB(127,0,0)a5.Color=ba.WarningBox.IsNormal==true and C.Scheme.DarkColor or Color3.fromRGB(85,0,0)a4.Color=ba.
|
Scheme.OutlineColor or Color3.fromRGB(255,50,50)a7.TextColor3=ba.WarningBox.IsNormal==true and C.Scheme.FontColor or
|
||||||
WarningBox.IsNormal==true and C.Scheme.OutlineColor or Color3.fromRGB(255,50,50)a7.TextColor3=ba.WarningBox.IsNormal==
|
Color3.fromRGB(255,50,50)a8.Color=ba.WarningBox.IsNormal==true and C.Scheme.OutlineColor or Color3.fromRGB(169,0,0)if
|
||||||
true and C.Scheme.FontColor or Color3.fromRGB(255,50,50)a8.Color=ba.WarningBox.IsNormal==true and C.Scheme.OutlineColor
|
not C.Registry[a3]then C:AddToRegistry(a3,{})end if not C.Registry[a5]then C:AddToRegistry(a5,{})end if not C.Registry[
|
||||||
or Color3.fromRGB(169,0,0)if not C.Registry[a3]then C:AddToRegistry(a3,{})end if not C.Registry[a5]then C:AddToRegistry(
|
a4]then C:AddToRegistry(a4,{})end if not C.Registry[a7]then C:AddToRegistry(a7,{})end if not C.Registry[a8]then C:
|
||||||
a5,{})end if not C.Registry[a4]then C:AddToRegistry(a4,{})end if not C.Registry[a7]then C:AddToRegistry(a7,{})end if not
|
AddToRegistry(a8,{})end C.Registry[a3].BackgroundColor3=function()return ba.WarningBox.IsNormal==true and C.Scheme.
|
||||||
C.Registry[a8]then C:AddToRegistry(a8,{})end C.Registry[a3].BackgroundColor3=function()return ba.WarningBox.IsNormal==
|
BackgroundColor or Color3.fromRGB(127,0,0)end C.Registry[a5].Color=function()return ba.WarningBox.IsNormal==true and C.
|
||||||
true and C.Scheme.BackgroundColor or Color3.fromRGB(127,0,0)end C.Registry[a5].Color=function()return ba.WarningBox.
|
Scheme.DarkColor or Color3.fromRGB(85,0,0)end C.Registry[a4].Color=function()return ba.WarningBox.IsNormal==true and C.
|
||||||
IsNormal==true and C.Scheme.DarkColor or Color3.fromRGB(85,0,0)end C.Registry[a4].Color=function()return ba.WarningBox.
|
Scheme.OutlineColor or Color3.fromRGB(255,50,50)end C.Registry[a7].TextColor3=function()return ba.WarningBox.IsNormal==
|
||||||
IsNormal==true and C.Scheme.OutlineColor or Color3.fromRGB(255,50,50)end C.Registry[a7].TextColor3=function()return ba.
|
true and C.Scheme.FontColor or Color3.fromRGB(255,50,50)end C.Registry[a8].Color=function()return ba.WarningBox.IsNormal
|
||||||
WarningBox.IsNormal==true and C.Scheme.FontColor or Color3.fromRGB(255,50,50)end C.Registry[a8].Color=function()return
|
==true and C.Scheme.OutlineColor or Color3.fromRGB(169,0,0)end end function ba.RefreshSides(bb)local bc=a2.Visible and
|
||||||
ba.WarningBox.IsNormal==true and C.Scheme.OutlineColor or Color3.fromRGB(169,0,0)end end function ba.RefreshSides(bb)
|
a3.Size.Y.Offset+8 or 0 for bd,be in ba.Sides do be.Position=UDim2.new(be.Position.X.Scale,0,0,bc)be.Size=UDim2.new(0.5,
|
||||||
local bc=a2.Visible and a3.Size.Y.Offset+8 or 0 for bd,be in ba.Sides do be.Position=UDim2.new(be.Position.X.Scale,0,0,
|
-3,1,-bc)end end function ba.Resize(bb,bc:boolean?)if bc then local bd,be,bf=math.floor(a_.AbsoluteSize.Y/3.25),C:
|
||||||
bc)be.Size=UDim2.new(0.5,-3,1,-bc)end end function ba.Resize(bb,bc:boolean?)if bc then local bd,be,bf=math.floor(a_.
|
GetTextBounds(a9.Text,C.Scheme.Font,a9.TextSize,a9.AbsoluteSize.X)local bg=24+bf if ba.WarningBox.LockSize==true and bg
|
||||||
AbsoluteSize.Y/3.25),C:GetTextBounds(a9.Text,C.Scheme.Font,a9.TextSize,a9.AbsoluteSize.X)local bg=24+bf if ba.WarningBox
|
>=bd then a6.CanvasSize=UDim2.fromOffset(0,bg)bg=bd else a6.CanvasSize=UDim2.fromOffset(0,0)end a9.Size=UDim2.new(1,-4,0
|
||||||
.LockSize==true and bg>=bd then a6.CanvasSize=UDim2.fromOffset(0,bg)bg=bd else a6.CanvasSize=UDim2.fromOffset(0,0)end a9
|
,bf)a3.Size=UDim2.new(1,-5,0,bg+4)end ba:RefreshSides()end function ba.AddGroupbox(bb,bc)local bd=ag('Frame',{
|
||||||
.Size=UDim2.new(1,-4,0,bf)a3.Size=UDim2.new(1,-5,0,bg+4)end ba:RefreshSides()end function ba.AddGroupbox(bb,bc)local bd=
|
|
||||||
ag('Frame',{AutomaticSize=Enum.AutomaticSize.Y,BackgroundTransparency=1,Size=UDim2.fromScale(1,0),Parent=bc.Side==1 and
|
|
||||||
a0 or a1})ag('UIListLayout',{Padding=UDim.new(0,6),Parent=bd})ag('UIPadding',{PaddingBottom=UDim.new(0,4),PaddingTop=
|
|
||||||
UDim.new(0,4),Parent=bd})local be,bf,bg,bh do be=ag('Frame',{BackgroundColor3='BackgroundColor',Size=UDim2.fromScale(1,0
|
|
||||||
),Parent=bd})ag('UICorner',{CornerRadius=UDim.new(0,aw.CornerRadius),Parent=be})C:AddOutline(be)C:MakeLine(be,{Position=
|
|
||||||
UDim2.fromOffset(0,34),Size=UDim2.new(1,0,0,1)})local bi=C:GetCustomIcon(bc.IconName)or(bc.IconName and ac or nil)if bi
|
|
||||||
then ag('ImageLabel',{Image=bi.Url,ImageColor3=bi.Custom and'WhiteColor'or'AccentColor',ImageRectOffset=bi.
|
|
||||||
ImageRectOffset,ImageRectSize=bi.ImageRectSize,Position=UDim2.fromOffset(6,6),Size=UDim2.fromOffset(22,22),Parent=be})
|
|
||||||
end bf=ag('TextLabel',{BackgroundTransparency=1,Position=UDim2.fromOffset(bi and 24 or 0,0),Size=UDim2.new(1,0,0,34),
|
|
||||||
Text=bc.Name,TextSize=15,TextXAlignment=Enum.TextXAlignment.Left,Parent=be})ag('UIPadding',{PaddingLeft=UDim.new(0,12),
|
|
||||||
PaddingRight=UDim.new(0,12),Parent=bf})bg=ag('Frame',{BackgroundTransparency=1,Position=UDim2.fromOffset(0,35),Size=
|
|
||||||
UDim2.new(1,0,1,-35),Parent=be})bh=ag('UIListLayout',{Padding=UDim.new(0,8),Parent=bg})ag('UIPadding',{PaddingBottom=
|
|
||||||
UDim.new(0,7),PaddingLeft=UDim.new(0,7),PaddingRight=UDim.new(0,7),PaddingTop=UDim.new(0,7),Parent=bg})end local bi={
|
|
||||||
BoxHolder=bd,Holder=be,Container=bg,Tab=ba,DependencyBoxes={},Elements={}}function bi.Resize(bj)be.Size=UDim2.new(1,0,0,
|
|
||||||
(bh.AbsoluteContentSize.Y/C.DPIScale)+49)end setmetatable(bi,au)bi:Resize()ba.Groupboxes[bc.Name]=bi return bi end
|
|
||||||
function ba.AddLeftGroupbox(bb,bc,bd)return ba:AddGroupbox{Side=1,Name=bc,IconName=bd}end function ba.AddRightGroupbox(
|
|
||||||
bb,bc,bd)return ba:AddGroupbox{Side=2,Name=bc,IconName=bd}end function ba.AddTabbox(bb,bc)local bd=ag('Frame',{
|
|
||||||
AutomaticSize=Enum.AutomaticSize.Y,BackgroundTransparency=1,Size=UDim2.fromScale(1,0),Parent=bc.Side==1 and a0 or a1})
|
AutomaticSize=Enum.AutomaticSize.Y,BackgroundTransparency=1,Size=UDim2.fromScale(1,0),Parent=bc.Side==1 and a0 or a1})
|
||||||
ag('UIListLayout',{Padding=UDim.new(0,6),Parent=bd})ag('UIPadding',{PaddingBottom=UDim.new(0,4),PaddingTop=UDim.new(0,4)
|
ag('UIListLayout',{Padding=UDim.new(0,6),Parent=bd})ag('UIPadding',{PaddingBottom=UDim.new(0,4),PaddingTop=UDim.new(0,4)
|
||||||
,Parent=bd})local be,bf do be=ag('Frame',{BackgroundColor3='BackgroundColor',Size=UDim2.fromScale(1,0),Parent=bd})ag(
|
,Parent=bd})local be,bf,bg,bh do be=ag('Frame',{BackgroundColor3='BackgroundColor',Size=UDim2.fromScale(1,0),Parent=bd})
|
||||||
'UICorner',{CornerRadius=UDim.new(0,aw.CornerRadius),Parent=be})C:AddOutline(be)bf=ag('Frame',{BackgroundTransparency=1,
|
ag('UICorner',{CornerRadius=UDim.new(0,aw.CornerRadius),Parent=be})C:AddOutline(be)C:MakeLine(be,{Position=UDim2.
|
||||||
Size=UDim2.new(1,0,0,34),Parent=be})ag('UIListLayout',{FillDirection=Enum.FillDirection.Horizontal,HorizontalFlex=Enum.
|
fromOffset(0,34),Size=UDim2.new(1,0,0,1)})local bi=C:GetCustomIcon(bc.IconName)or(bc.IconName and ac or nil)if bi then
|
||||||
|
ag('ImageLabel',{Image=bi.Url,ImageColor3=bi.Custom and'WhiteColor'or'AccentColor',ImageRectOffset=bi.ImageRectOffset,
|
||||||
|
ImageRectSize=bi.ImageRectSize,Position=UDim2.fromOffset(6,6),Size=UDim2.fromOffset(22,22),Parent=be})end bf=ag(
|
||||||
|
'TextLabel',{BackgroundTransparency=1,Position=UDim2.fromOffset(bi and 24 or 0,0),Size=UDim2.new(1,0,0,34),Text=bc.Name,
|
||||||
|
TextSize=15,TextXAlignment=Enum.TextXAlignment.Left,Parent=be})ag('UIPadding',{PaddingLeft=UDim.new(0,12),PaddingRight=
|
||||||
|
UDim.new(0,12),Parent=bf})bg=ag('Frame',{BackgroundTransparency=1,Position=UDim2.fromOffset(0,35),Size=UDim2.new(1,0,1,-
|
||||||
|
35),Parent=be})bh=ag('UIListLayout',{Padding=UDim.new(0,8),Parent=bg})ag('UIPadding',{PaddingBottom=UDim.new(0,7),
|
||||||
|
PaddingLeft=UDim.new(0,7),PaddingRight=UDim.new(0,7),PaddingTop=UDim.new(0,7),Parent=bg})end local bi={BoxHolder=bd,
|
||||||
|
Holder=be,Container=bg,Tab=ba,DependencyBoxes={},Elements={}}function bi.Resize(bj)be.Size=UDim2.new(1,0,0,(bh.
|
||||||
|
AbsoluteContentSize.Y/C.DPIScale)+49)end setmetatable(bi,au)bi:Resize()ba.Groupboxes[bc.Name]=bi return bi end function
|
||||||
|
ba.AddLeftGroupbox(bb,bc,bd)return ba:AddGroupbox{Side=1,Name=bc,IconName=bd}end function ba.AddRightGroupbox(bb,bc,bd)
|
||||||
|
return ba:AddGroupbox{Side=2,Name=bc,IconName=bd}end function ba.AddTabbox(bb,bc)local bd=ag('Frame',{AutomaticSize=Enum
|
||||||
|
.AutomaticSize.Y,BackgroundTransparency=1,Size=UDim2.fromScale(1,0),Parent=bc.Side==1 and a0 or a1})ag('UIListLayout',{
|
||||||
|
Padding=UDim.new(0,6),Parent=bd})ag('UIPadding',{PaddingBottom=UDim.new(0,4),PaddingTop=UDim.new(0,4),Parent=bd})local
|
||||||
|
be,bf do be=ag('Frame',{BackgroundColor3='BackgroundColor',Size=UDim2.fromScale(1,0),Parent=bd})ag('UICorner',{
|
||||||
|
CornerRadius=UDim.new(0,aw.CornerRadius),Parent=be})C:AddOutline(be)bf=ag('Frame',{BackgroundTransparency=1,Size=UDim2.
|
||||||
|
new(1,0,0,34),Parent=be})ag('UIListLayout',{FillDirection=Enum.FillDirection.Horizontal,HorizontalFlex=Enum.
|
||||||
UIFlexAlignment.Fill,Parent=bf})end local bg={ActiveTab=nil,BoxHolder=bd,Holder=be,Tabs={}}function bg.AddTab(bh,bi)
|
UIFlexAlignment.Fill,Parent=bf})end local bg={ActiveTab=nil,BoxHolder=bd,Holder=be,Tabs={}}function bg.AddTab(bh,bi)
|
||||||
local bj=ag('TextButton',{BackgroundColor3='MainColor',BackgroundTransparency=0,Size=UDim2.fromOffset(0,34),Text=bi,
|
local bj=ag('TextButton',{BackgroundColor3='MainColor',BackgroundTransparency=0,Size=UDim2.fromOffset(0,34),Text=bi,
|
||||||
TextSize=15,TextTransparency=0.5,Parent=bf})local bk,bl=C:MakeLine(bj,{AnchorPoint=Vector2.new(0,1),Position=UDim2.new(0
|
TextSize=15,TextTransparency=0.5,Parent=bf})local bk,bl=C:MakeLine(bj,{AnchorPoint=Vector2.new(0,1),Position=UDim2.new(0
|
||||||
@@ -1144,171 +1143,171 @@ Position=UDim2.fromOffset(30,0),Size=UDim2.new(1,-30,1,0),Text=aU,TextSize=16,Te
|
|||||||
TextXAlignment.Left,Visible=not aC,Parent=aX})if aV then aZ=ag('ImageLabel',{Image=aV.Url,ImageColor3=aV.Custom and
|
TextXAlignment.Left,Visible=not aC,Parent=aX})if aV then aZ=ag('ImageLabel',{Image=aV.Url,ImageColor3=aV.Custom and
|
||||||
'WhiteColor'or'AccentColor',ImageRectOffset=aV.ImageRectOffset,ImageRectSize=aV.ImageRectSize,ImageTransparency=0.5,Size
|
'WhiteColor'or'AccentColor',ImageRectOffset=aV.ImageRectOffset,ImageRectSize=aV.ImageRectSize,ImageTransparency=0.5,Size
|
||||||
=UDim2.fromScale(1,1),SizeConstraint=aC and Enum.SizeConstraint.RelativeXY or Enum.SizeConstraint.RelativeYY,Parent=aX})
|
=UDim2.fromScale(1,1),SizeConstraint=aC and Enum.SizeConstraint.RelativeXY or Enum.SizeConstraint.RelativeYY,Parent=aX})
|
||||||
end table.insert(C.TabButtons,{Label=aY,Padding=a0,Icon=aZ})a_=ag('ScrollingFrame',{AutomaticCanvasSize=Enum.
|
if C.ForceTextIcons then aZ.Visible=false end end table.insert(C.TabButtons,{Label=aY,Padding=a0,Icon=aZ})a_=ag(
|
||||||
AutomaticSize.Y,BackgroundTransparency=1,CanvasSize=UDim2.fromScale(0,0),ScrollBarThickness=0,Size=UDim2.fromScale(1,1),
|
'ScrollingFrame',{AutomaticCanvasSize=Enum.AutomaticSize.Y,BackgroundTransparency=1,CanvasSize=UDim2.fromScale(0,0),
|
||||||
Visible=false,Parent=aP})ag('UIListLayout',{HorizontalAlignment=Enum.HorizontalAlignment.Center,Padding=UDim.new(0,8),
|
ScrollBarThickness=0,Size=UDim2.fromScale(1,1),Visible=false,Parent=aP})ag('UIListLayout',{HorizontalAlignment=Enum.
|
||||||
VerticalAlignment=Enum.VerticalAlignment.Center,Parent=a_})ag('UIPadding',{PaddingLeft=UDim.new(0,1),PaddingRight=UDim.
|
HorizontalAlignment.Center,Padding=UDim.new(0,8),VerticalAlignment=Enum.VerticalAlignment.Center,Parent=a_})ag(
|
||||||
new(0,1),Parent=a_})end local a0={Elements={},IsKeyTab=true}function a0.AddKeyBox(a1,a2)assert(typeof(a2)=='function',
|
'UIPadding',{PaddingLeft=UDim.new(0,1),PaddingRight=UDim.new(0,1),Parent=a_})end local a0={Elements={},IsKeyTab=true}
|
||||||
'Callback must be a function')local a3=ag('Frame',{BackgroundTransparency=1,Size=UDim2.new(0.75,0,0,21),Parent=a_})local
|
function a0.AddKeyBox(a1,a2)assert(typeof(a2)=='function','Callback must be a function')local a3=ag('Frame',{
|
||||||
a4=ag('TextBox',{BackgroundColor3='MainColor',BorderColor3='OutlineColor',BorderSizePixel=1,PlaceholderText='Key',Size=
|
BackgroundTransparency=1,Size=UDim2.new(0.75,0,0,21),Parent=a_})local a4=ag('TextBox',{BackgroundColor3='MainColor',
|
||||||
UDim2.new(1,-71,1,0),TextSize=14,TextXAlignment=Enum.TextXAlignment.Left,Parent=a3})ag('UIPadding',{PaddingLeft=UDim.
|
BorderColor3='OutlineColor',BorderSizePixel=1,PlaceholderText='Key',Size=UDim2.new(1,-71,1,0),TextSize=14,TextXAlignment
|
||||||
new(0,8),PaddingRight=UDim.new(0,8),Parent=a4})local a5=ag('TextButton',{AnchorPoint=Vector2.new(1,0),BackgroundColor3=
|
=Enum.TextXAlignment.Left,Parent=a3})ag('UIPadding',{PaddingLeft=UDim.new(0,8),PaddingRight=UDim.new(0,8),Parent=a4})
|
||||||
'MainColor',BorderColor3='OutlineColor',BorderSizePixel=1,Position=UDim2.fromScale(1,0),Size=UDim2.new(0,63,1,0),Text=
|
local a5=ag('TextButton',{AnchorPoint=Vector2.new(1,0),BackgroundColor3='MainColor',BorderColor3='OutlineColor',
|
||||||
'Execute',TextSize=14,Parent=a3})a5.InputBegan:Connect(function(a6)if not L(a6)then return end if not C:
|
BorderSizePixel=1,Position=UDim2.fromScale(1,0),Size=UDim2.new(0,63,1,0),Text='Execute',TextSize=14,Parent=a3})a5.
|
||||||
MouseIsOverFrame(a5,a6.Position)then return end a2(a4.Text)end)end function a0.RefreshSides(a1)end function a0.Resize(a1
|
InputBegan:Connect(function(a6)if not L(a6)then return end if not C:MouseIsOverFrame(a5,a6.Position)then return end a2(
|
||||||
)end function a0.Hover(a1,a2)if C.ActiveTab==a0 then return end n:Create(aY,C.TweenInfo,{TextTransparency=a2 and 0.25 or
|
a4.Text)end)end function a0.RefreshSides(a1)end function a0.Resize(a1)end function a0.Hover(a1,a2)if C.ActiveTab==a0
|
||||||
0.5}):Play()if aZ then n:Create(aZ,C.TweenInfo,{ImageTransparency=a2 and 0.25 or 0.5}):Play()end end function a0.Show(a1
|
then return end n:Create(aY,C.TweenInfo,{TextTransparency=a2 and 0.25 or 0.5}):Play()if aZ then n:Create(aZ,C.TweenInfo,
|
||||||
)if C.ActiveTab then C.ActiveTab:Hide()end n:Create(aX,C.TweenInfo,{BackgroundTransparency=0}):Play()n:Create(aY,C.
|
{ImageTransparency=a2 and 0.25 or 0.5}):Play()end end function a0.Show(a1)if C.ActiveTab then C.ActiveTab:Hide()end n:
|
||||||
TweenInfo,{TextTransparency=0}):Play()if aZ then n:Create(aZ,C.TweenInfo,{ImageTransparency=0}):Play()end a_.Visible=
|
Create(aX,C.TweenInfo,{BackgroundTransparency=0}):Play()n:Create(aY,C.TweenInfo,{TextTransparency=0}):Play()if aZ then n
|
||||||
true if aW then aR:ShowTabInfo(aU,aW)end a0:RefreshSides()C.ActiveTab=a0 if C.Searching then C:UpdateSearch(C.SearchText
|
:Create(aZ,C.TweenInfo,{ImageTransparency=0}):Play()end a_.Visible=true if aW then aR:ShowTabInfo(aU,aW)end a0:
|
||||||
)end end function a0.Hide(a1)n:Create(aX,C.TweenInfo,{BackgroundTransparency=1}):Play()n:Create(aY,C.TweenInfo,{
|
RefreshSides()C.ActiveTab=a0 if C.Searching then C:UpdateSearch(C.SearchText)end end function a0.Hide(a1)n:Create(aX,C.
|
||||||
TextTransparency=0.5}):Play()if aZ then n:Create(aZ,C.TweenInfo,{ImageTransparency=0.5}):Play()end a_.Visible=false aR:
|
TweenInfo,{BackgroundTransparency=1}):Play()n:Create(aY,C.TweenInfo,{TextTransparency=0.5}):Play()if aZ then n:Create(aZ
|
||||||
HideTabInfo()C.ActiveTab=nil end if not C.ActiveTab then a0:Show()end aX.MouseEnter:Connect(function()a0:Hover(true)end)
|
,C.TweenInfo,{ImageTransparency=0.5}):Play()end a_.Visible=false aR:HideTabInfo()C.ActiveTab=nil end if not C.ActiveTab
|
||||||
aX.MouseLeave:Connect(function()a0:Hover(false)end)aX.MouseButton1Click:Connect(a0.Show)a0.Container=a_ setmetatable(a0,
|
then a0:Show()end aX.MouseEnter:Connect(function()a0:Hover(true)end)aX.MouseLeave:Connect(function()a0:Hover(false)end)
|
||||||
au)C.Tabs[aU]=a0 return a0 end function C.Toggle(aT,aU:boolean?)if typeof(aU)=='boolean'then C.Toggled=aU else C.Toggled
|
aX.MouseButton1Click:Connect(a0.Show)a0.Container=a_ setmetatable(a0,au)C.Tabs[aU]=a0 return a0 end function C.Toggle(aT
|
||||||
=not C.Toggled end aD.Visible=C.Toggled if aw.UnlockMouseWhileOpen then Y.Modal=C.Toggled end if C.Toggled and not C.
|
,aU:boolean?)if typeof(aU)=='boolean'then C.Toggled=aU else C.Toggled=not C.Toggled end aD.Visible=C.Toggled if aw.
|
||||||
IsMobile then local aV=k.MouseIconEnabled pcall(function()i:UnbindFromRenderStep'ShowCursor'end)i:BindToRenderStep(
|
UnlockMouseWhileOpen then Y.Modal=C.Toggled end if C.Toggled and not C.IsMobile then local aV=k.MouseIconEnabled pcall(
|
||||||
'ShowCursor',Enum.RenderPriority.Last.Value,function()k.MouseIconEnabled=not C.ShowCustomCursor Z.Position=UDim2.
|
function()i:UnbindFromRenderStep'ShowCursor'end)i:BindToRenderStep('ShowCursor',Enum.RenderPriority.Last.Value,function(
|
||||||
fromOffset(t.X,t.Y)Z.Visible=C.ShowCustomCursor if not(C.Toggled and X and X.Parent)then k.MouseIconEnabled=aV Z.Visible
|
)k.MouseIconEnabled=not C.ShowCustomCursor Z.Position=UDim2.fromOffset(t.X,t.Y)Z.Visible=C.ShowCustomCursor if not(C.
|
||||||
=false i:UnbindFromRenderStep'ShowCursor'end end)elseif not C.Toggled then am.Visible=false for aV,aW in C.Options do if
|
Toggled and X and X.Parent)then k.MouseIconEnabled=aV Z.Visible=false i:UnbindFromRenderStep'ShowCursor'end end)elseif
|
||||||
aW.Type=='ColorPicker'then aW.ColorMenu:Close()aW.ContextMenu:Close()elseif aW.Type=='Dropdown'or aW.Type=='KeyPicker'
|
not C.Toggled then am.Visible=false for aV,aW in C.Options do if aW.Type=='ColorPicker'then aW.ColorMenu:Close()aW.
|
||||||
then aW.Menu:Close()end end end end if aw.EnableSidebarResize then local aT,aU,aV,aW,aX,aY=(aw.MinSidebarWidth+aw.
|
ContextMenu:Close()elseif aW.Type=='Dropdown'or aW.Type=='KeyPicker'then aW.Menu:Close()end end end end if aw.
|
||||||
SidebarCompactWidth)*aw.SidebarCollapseThreshold,false,(ag('TextButton',{AnchorPoint=Vector2.new(0.5,0),
|
EnableSidebarResize then local aT,aU,aV,aW,aX,aY=(aw.MinSidebarWidth+aw.SidebarCompactWidth)*aw.SidebarCollapseThreshold
|
||||||
BackgroundTransparency=1,Position=UDim2.fromScale(0.5,0),Size=UDim2.new(0,8,1,0),Text='',Parent=aE}))aV.MouseEnter:
|
,false,(ag('TextButton',{AnchorPoint=Vector2.new(0.5,0),BackgroundTransparency=1,Position=UDim2.fromScale(0.5,0),Size=
|
||||||
Connect(function()n:Create(aE,C.TweenInfo,{BackgroundColor3=C:GetLighterColor(C.Scheme.OutlineColor)}):Play()end)aV.
|
UDim2.new(0,8,1,0),Text='',Parent=aE}))aV.MouseEnter:Connect(function()n:Create(aE,C.TweenInfo,{BackgroundColor3=C:
|
||||||
MouseLeave:Connect(function()if aU then return end n:Create(aE,C.TweenInfo,{BackgroundColor3=C.Scheme.OutlineColor}):
|
GetLighterColor(C.Scheme.OutlineColor)}):Play()end)aV.MouseLeave:Connect(function()if aU then return end n:Create(aE,C.
|
||||||
Play()end)aV.InputBegan:Connect(function(aZ:InputObject)if not L(aZ)then return end C.CantDragForced=true aW=aZ.Position
|
TweenInfo,{BackgroundColor3=C.Scheme.OutlineColor}):Play()end)aV.InputBegan:Connect(function(aZ:InputObject)if not L(aZ)
|
||||||
aX=aR:GetSidebarWidth()aU=true aY=aZ.Changed:Connect(function()if aZ.UserInputState~=Enum.UserInputState.End then return
|
then return end C.CantDragForced=true aW=aZ.Position aX=aR:GetSidebarWidth()aU=true aY=aZ.Changed:Connect(function()if
|
||||||
end C.CantDragForced=false n:Create(aE,C.TweenInfo,{BackgroundColor3=C.Scheme.OutlineColor}):Play()aU=false if aY and aY
|
aZ.UserInputState~=Enum.UserInputState.End then return end C.CantDragForced=false n:Create(aE,C.TweenInfo,{
|
||||||
.Connected then aY:Disconnect()aY=nil end end)end)C:GiveSignal(k.InputChanged:Connect(function(aZ:InputObject)if not C.
|
BackgroundColor3=C.Scheme.OutlineColor}):Play()aU=false if aY and aY.Connected then aY:Disconnect()aY=nil end end)end)C:
|
||||||
Toggled or not(X and X.Parent)then aU=false if aY and aY.Connected then aY:Disconnect()aY=nil end return end if aU and
|
GiveSignal(k.InputChanged:Connect(function(aZ:InputObject)if not C.Toggled or not(X and X.Parent)then aU=false if aY and
|
||||||
M(aZ)then local a_=aZ.Position-aW local a0=aX+a_.X if aw.DisableCompactingSnap then aR:SetSidebarWidth(a0)return end if
|
aY.Connected then aY:Disconnect()aY=nil end return end if aU and M(aZ)then local a_=aZ.Position-aW local a0=aX+a_.X if
|
||||||
a0>aT then aR:SetSidebarWidth(math.max(a0,aw.MinSidebarWidth))else aR:SetSidebarWidth(aw.SidebarCompactWidth)end end end
|
aw.DisableCompactingSnap then aR:SetSidebarWidth(a0)return end if a0>aT then aR:SetSidebarWidth(math.max(a0,aw.
|
||||||
))end if aw.EnableCompacting and aw.SidebarCompacted then aR:SetSidebarWidth(aw.SidebarCompactWidth)end if aw.AutoShow
|
MinSidebarWidth))else aR:SetSidebarWidth(aw.SidebarCompactWidth)end end end))end if aw.EnableCompacting and aw.
|
||||||
then task.spawn(C.Toggle)end if C.IsMobile then local aT,aU=C:AddDraggableButton('Toggle',function()C:Toggle()end,true),
|
SidebarCompacted then aR:SetSidebarWidth(aw.SidebarCompactWidth)end if aw.AutoShow then task.spawn(C.Toggle)end if C.
|
||||||
C:AddDraggableButton('Lock',function(aT)C.CantDragForced=not C.CantDragForced aT:SetText(C.CantDragForced and'Unlock'or
|
IsMobile then local aT,aU=C:AddDraggableButton('Toggle',function()C:Toggle()end,true),C:AddDraggableButton('Lock',
|
||||||
'Lock')end,true)if aw.MobileButtonsSide=='Right'then aT.Button.Position=UDim2.new(1,-6,0,6)aT.Button.AnchorPoint=Vector2
|
function(aT)C.CantDragForced=not C.CantDragForced aT:SetText(C.CantDragForced and'Unlock'or'Lock')end,true)if aw.
|
||||||
.new(1,0)aU.Button.Position=UDim2.new(1,-6,0,46)aU.Button.AnchorPoint=Vector2.new(1,0)else aU.Button.Position=UDim2.
|
MobileButtonsSide=='Right'then aT.Button.Position=UDim2.new(1,-6,0,6)aT.Button.AnchorPoint=Vector2.new(1,0)aU.Button.
|
||||||
fromOffset(6,46)end end aJ:GetPropertyChangedSignal'Text':Connect(function()C:UpdateSearch(aJ.Text)end)C:GiveSignal(k.
|
Position=UDim2.new(1,-6,0,46)aU.Button.AnchorPoint=Vector2.new(1,0)else aU.Button.Position=UDim2.fromOffset(6,46)end end
|
||||||
InputBegan:Connect(function(aT:InputObject)if C.Unloaded then return end if k:GetFocusedTextBox()then return end if(
|
aJ:GetPropertyChangedSignal'Text':Connect(function()C:UpdateSearch(aJ.Text)end)C:GiveSignal(k.InputBegan:Connect(
|
||||||
typeof(C.ToggleKeybind)=='table'and C.ToggleKeybind.Type=='KeyPicker'and aT.KeyCode.Name==C.ToggleKeybind.Value)or aT.
|
function(aT:InputObject)if C.Unloaded then return end if k:GetFocusedTextBox()then return end if(typeof(C.ToggleKeybind)
|
||||||
KeyCode==C.ToggleKeybind then C.Toggle()end end))C:GiveSignal(k.WindowFocused:Connect(function()C.IsRobloxFocused=true
|
=='table'and C.ToggleKeybind.Type=='KeyPicker'and aT.KeyCode.Name==C.ToggleKeybind.Value)or aT.KeyCode==C.ToggleKeybind
|
||||||
end))C:GiveSignal(k.WindowFocusReleased:Connect(function()C.IsRobloxFocused=false end))return aR end local function av()
|
then C.Toggle()end end))C:GiveSignal(k.WindowFocused:Connect(function()C.IsRobloxFocused=true end))C:GiveSignal(k.
|
||||||
if C.Unloaded then return end local aw,ax=T(),T(true)for ay,az in x do if az.Type=='Dropdown'and az.SpecialType==
|
WindowFocusReleased:Connect(function()C.IsRobloxFocused=false end))return aR end local function av()if C.Unloaded then
|
||||||
'Player'then az:SetValues(az.ExcludeLocalPlayer and ax or aw)end end end local function aw()if C.Unloaded then return
|
return end local aw,ax=T(),T(true)for ay,az in x do if az.Type=='Dropdown'and az.SpecialType=='Player'then az:SetValues(
|
||||||
end local ax=U()for ay,az in x do if az.Type=='Dropdown'and az.SpecialType=='Team'then az:SetValues(ax)end end end C:
|
az.ExcludeLocalPlayer and ax or aw)end end end local function aw()if C.Unloaded then return end local ax=U()for ay,az in
|
||||||
GiveSignal(h.PlayerAdded:Connect(av))C:GiveSignal(h.PlayerRemoving:Connect(av))C:GiveSignal(m.ChildAdded:Connect(aw))C:
|
x do if az.Type=='Dropdown'and az.SpecialType=='Team'then az:SetValues(ax)end end end C:GiveSignal(h.PlayerAdded:
|
||||||
GiveSignal(m.ChildRemoved:Connect(aw))o().Library=C return C end)()end,[6]=function()local aa,ab,ac=a(6)local ad return(
|
Connect(av))C:GiveSignal(h.PlayerRemoving:Connect(av))C:GiveSignal(m.ChildAdded:Connect(aw))C:GiveSignal(m.ChildRemoved:
|
||||||
function(...)local ae,af,ag,ah=game:GetService'Players',game:GetService'TweenService',game:GetService'RunService',{}
|
Connect(aw))o().Library=C return C end)()end,[6]=function()local aa,ab,ac=a(6)local ad return(function(...)local ae,af,
|
||||||
local function ai()local aj=ae.LocalPlayer if not aj then return nil end local ak=aj:FindFirstChildOfClass'PlayerGui'if
|
ag,ah=game:GetService'Players',game:GetService'TweenService',game:GetService'RunService',{}local function ai()local aj=
|
||||||
not ak then ak=Instance.new'PlayerGui'ak.Name='PlayerGui'ak.Parent=aj end local al=Instance.new'ScreenGui'al.Name=
|
ae.LocalPlayer if not aj then return nil end local ak=aj:FindFirstChildOfClass'PlayerGui'if not ak then ak=Instance.new
|
||||||
'ObsidianLoader'al.IgnoreGuiInset=true al.ResetOnSpawn=false local am=Instance.new'Frame'am.Name='Root'am.Size=UDim2.
|
'PlayerGui'ak.Name='PlayerGui'ak.Parent=aj end local al=Instance.new'ScreenGui'al.Name='ObsidianLoader'al.IgnoreGuiInset
|
||||||
fromScale(1,1)am.BackgroundTransparency=1 am.BorderSizePixel=0 am.Parent=al local an=Instance.new'Frame'an.Name='Panel'
|
=true al.ResetOnSpawn=false local am=Instance.new'Frame'am.Name='Root'am.Size=UDim2.fromScale(1,1)am.
|
||||||
an.Size=UDim2.fromScale(0.32,0.14)an.Position=UDim2.fromScale(0.5,0.52)an.AnchorPoint=Vector2.new(0.5,0.5)an.
|
BackgroundTransparency=1 am.BorderSizePixel=0 am.Parent=al local an=Instance.new'Frame'an.Name='Panel'an.Size=UDim2.
|
||||||
BackgroundColor3=Color3.fromRGB(14,18,26)an.BackgroundTransparency=0.08 an.BorderSizePixel=0 an.Parent=am local ao=
|
fromScale(0.32,0.14)an.Position=UDim2.fromScale(0.5,0.52)an.AnchorPoint=Vector2.new(0.5,0.5)an.BackgroundColor3=Color3.
|
||||||
Instance.new'UIStroke'ao.Color=Color3.fromRGB(58,72,94)ao.Thickness=1 ao.Parent=an local ap=Instance.new'UICorner'ap.
|
fromRGB(14,18,26)an.BackgroundTransparency=0.08 an.BorderSizePixel=0 an.Parent=am local ao=Instance.new'UIStroke'ao.
|
||||||
CornerRadius=UDim.new(0,10)ap.Parent=an local aq=Instance.new'TextLabel'aq.Name='Title'aq.BackgroundTransparency=1 aq.
|
Color=Color3.fromRGB(58,72,94)ao.Thickness=1 ao.Parent=an local ap=Instance.new'UICorner'ap.CornerRadius=UDim.new(0,10)
|
||||||
Size=UDim2.new(1,-24,0,24)aq.Position=UDim2.new(0,12,0,12)aq.Font=Enum.Font.GothamSemibold aq.Text='Obsidian'aq.TextSize
|
ap.Parent=an local aq=Instance.new'TextLabel'aq.Name='Title'aq.BackgroundTransparency=1 aq.Size=UDim2.new(1,-24,0,24)aq.
|
||||||
=20 aq.TextColor3=Color3.fromRGB(236,242,252)aq.TextXAlignment=Enum.TextXAlignment.Left aq.Parent=an local ar=Instance.
|
Position=UDim2.new(0,12,0,12)aq.Font=Enum.Font.GothamSemibold aq.Text='Obsidian'aq.TextSize=20 aq.TextColor3=Color3.
|
||||||
new'TextLabel'ar.Name='Subtitle'ar.BackgroundTransparency=1 ar.Size=UDim2.new(1,-24,0,18)ar.Position=UDim2.new(0,12,0,40
|
fromRGB(236,242,252)aq.TextXAlignment=Enum.TextXAlignment.Left aq.Parent=an local ar=Instance.new'TextLabel'ar.Name=
|
||||||
)ar.Font=Enum.Font.Gotham ar.Text='Initializing UI...'ar.TextSize=14 ar.TextColor3=Color3.fromRGB(160,175,195)ar.
|
'Subtitle'ar.BackgroundTransparency=1 ar.Size=UDim2.new(1,-24,0,18)ar.Position=UDim2.new(0,12,0,40)ar.Font=Enum.Font.
|
||||||
TextXAlignment=Enum.TextXAlignment.Left ar.Parent=an local as=Instance.new'Frame'as.Name='Bar'as.Size=UDim2.new(1,-24,0,
|
Gotham ar.Text='Initializing UI...'ar.TextSize=14 ar.TextColor3=Color3.fromRGB(160,175,195)ar.TextXAlignment=Enum.
|
||||||
6)as.Position=UDim2.new(0,12,1,-20)as.BackgroundColor3=Color3.fromRGB(24,30,42)as.BackgroundTransparency=0.2 as.
|
TextXAlignment.Left ar.Parent=an local as=Instance.new'Frame'as.Name='Bar'as.Size=UDim2.new(1,-24,0,6)as.Position=UDim2.
|
||||||
BorderSizePixel=0 as.Parent=an local at=Instance.new'UICorner'at.CornerRadius=UDim.new(1,0)at.Parent=as local au=
|
new(0,12,1,-20)as.BackgroundColor3=Color3.fromRGB(24,30,42)as.BackgroundTransparency=0.2 as.BorderSizePixel=0 as.Parent=
|
||||||
Instance.new'Frame'au.Name='Fill'au.Size=UDim2.new(0.05,0,1,0)au.BackgroundColor3=Color3.fromRGB(72,165,255)au.
|
an local at=Instance.new'UICorner'at.CornerRadius=UDim.new(1,0)at.Parent=as local au=Instance.new'Frame'au.Name='Fill'au
|
||||||
BorderSizePixel=0 au.Parent=as local av=Instance.new'UICorner'av.CornerRadius=UDim.new(1,0)av.Parent=au local aw=
|
.Size=UDim2.new(0.05,0,1,0)au.BackgroundColor3=Color3.fromRGB(72,165,255)au.BorderSizePixel=0 au.Parent=as local av=
|
||||||
Instance.new'Frame'aw.Name='Shimmer'aw.Size=UDim2.new(0.25,0,1,0)aw.Position=UDim2.new(-0.3,0,0,0)aw.BackgroundColor3=
|
Instance.new'UICorner'av.CornerRadius=UDim.new(1,0)av.Parent=au local aw=Instance.new'Frame'aw.Name='Shimmer'aw.Size=
|
||||||
Color3.fromRGB(255,255,255)aw.BackgroundTransparency=0.8 aw.BorderSizePixel=0 aw.Parent=au local ax=Instance.new
|
UDim2.new(0.25,0,1,0)aw.Position=UDim2.new(-0.3,0,0,0)aw.BackgroundColor3=Color3.fromRGB(255,255,255)aw.
|
||||||
'UIGradient'ax.Color=ColorSequence.new{ColorSequenceKeypoint.new(0,Color3.fromRGB(255,255,255)),ColorSequenceKeypoint.
|
BackgroundTransparency=0.8 aw.BorderSizePixel=0 aw.Parent=au local ax=Instance.new'UIGradient'ax.Color=ColorSequence.new
|
||||||
new(1,Color3.fromRGB(255,255,255))}ax.Transparency=NumberSequence.new{NumberSequenceKeypoint.new(0,1),
|
{ColorSequenceKeypoint.new(0,Color3.fromRGB(255,255,255)),ColorSequenceKeypoint.new(1,Color3.fromRGB(255,255,255))}ax.
|
||||||
NumberSequenceKeypoint.new(0.5,0.3),NumberSequenceKeypoint.new(1,1)}ax.Rotation=20 ax.Parent=aw local ay=Instance.new
|
Transparency=NumberSequence.new{NumberSequenceKeypoint.new(0,1),NumberSequenceKeypoint.new(0.5,0.3),
|
||||||
'UIGradient'ay.Color=ColorSequence.new{ColorSequenceKeypoint.new(0,Color3.fromRGB(52,120,200)),ColorSequenceKeypoint.
|
NumberSequenceKeypoint.new(1,1)}ax.Rotation=20 ax.Parent=aw local ay=Instance.new'UIGradient'ay.Color=ColorSequence.new{
|
||||||
new(1,Color3.fromRGB(92,210,255))}ay.Rotation=-15 ay.Parent=au al.Parent=ak return al,au,ar,an,ao,aw end function ah.
|
ColorSequenceKeypoint.new(0,Color3.fromRGB(52,120,200)),ColorSequenceKeypoint.new(1,Color3.fromRGB(92,210,255))}ay.
|
||||||
show()local aj,ak,al,am,an,ao=ai()if not aj then return{destroy=function()end,setProgress=function()end}end local ap,aq=
|
Rotation=-15 ay.Parent=au al.Parent=ak return al,au,ar,an,ao,aw end function ah.show()local aj,ak,al,am,an,ao=ai()if not
|
||||||
0.05,true am.Position=UDim2.fromScale(0.5,0.56)am.BackgroundTransparency=1 an.Transparency=1 al.TextTransparency=1 ak.
|
aj then return{destroy=function()end,setProgress=function()end}end local ap,aq=0.05,true am.Position=UDim2.fromScale(0.5
|
||||||
BackgroundTransparency=1 local function ar(as,at)ap=math.clamp(as,0.05,0.98)if at then al.Text=at end af:Create(ak,
|
,0.56)am.BackgroundTransparency=1 an.Transparency=1 al.TextTransparency=1 ak.BackgroundTransparency=1 local function ar(
|
||||||
TweenInfo.new(0.2,Enum.EasingStyle.Quad,Enum.EasingDirection.Out),{Size=UDim2.new(ap,0,1,0)}):Play()end af:Create(am,
|
as,at)ap=math.clamp(as,0.05,0.98)if at then al.Text=at end af:Create(ak,TweenInfo.new(0.2,Enum.EasingStyle.Quad,Enum.
|
||||||
TweenInfo.new(0.45,Enum.EasingStyle.Quint,Enum.EasingDirection.Out),{Position=UDim2.fromScale(0.5,0.5),
|
EasingDirection.Out),{Size=UDim2.new(ap,0,1,0)}):Play()end af:Create(am,TweenInfo.new(0.45,Enum.EasingStyle.Quint,Enum.
|
||||||
BackgroundTransparency=0.08}):Play()af:Create(an,TweenInfo.new(0.45,Enum.EasingStyle.Quint,Enum.EasingDirection.Out),{
|
EasingDirection.Out),{Position=UDim2.fromScale(0.5,0.5),BackgroundTransparency=0.08}):Play()af:Create(an,TweenInfo.new(
|
||||||
Transparency=0}):Play()af:Create(al,TweenInfo.new(0.45,Enum.EasingStyle.Quint,Enum.EasingDirection.Out),{
|
0.45,Enum.EasingStyle.Quint,Enum.EasingDirection.Out),{Transparency=0}):Play()af:Create(al,TweenInfo.new(0.45,Enum.
|
||||||
TextTransparency=0}):Play()af:Create(ak,TweenInfo.new(0.45,Enum.EasingStyle.Quint,Enum.EasingDirection.Out),{
|
EasingStyle.Quint,Enum.EasingDirection.Out),{TextTransparency=0}):Play()af:Create(ak,TweenInfo.new(0.45,Enum.EasingStyle
|
||||||
BackgroundTransparency=0}):Play()local as as=ag.Heartbeat:Connect(function()if not aq then as:Disconnect()return end end
|
.Quint,Enum.EasingDirection.Out),{BackgroundTransparency=0}):Play()local as as=ag.Heartbeat:Connect(function()if not aq
|
||||||
)task.spawn(function()while aq do af:Create(an,TweenInfo.new(1.2,Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{
|
then as:Disconnect()return end end)task.spawn(function()while aq do af:Create(an,TweenInfo.new(1.2,Enum.EasingStyle.Sine
|
||||||
Thickness=2}):Play()task.wait(1.2)if not aq then break end af:Create(an,TweenInfo.new(1.2,Enum.EasingStyle.Sine,Enum.
|
,Enum.EasingDirection.InOut),{Thickness=2}):Play()task.wait(1.2)if not aq then break end af:Create(an,TweenInfo.new(1.2,
|
||||||
EasingDirection.InOut),{Thickness=1}):Play()task.wait(1.2)end end)task.spawn(function()while aq do ao.Position=UDim2.
|
Enum.EasingStyle.Sine,Enum.EasingDirection.InOut),{Thickness=1}):Play()task.wait(1.2)end end)task.spawn(function()while
|
||||||
new(-0.3,0,0,0)af:Create(ao,TweenInfo.new(1,Enum.EasingStyle.Sine,Enum.EasingDirection.Out),{Position=UDim2.new(1.1,0,0,
|
aq do ao.Position=UDim2.new(-0.3,0,0,0)af:Create(ao,TweenInfo.new(1,Enum.EasingStyle.Sine,Enum.EasingDirection.Out),{
|
||||||
0)}):Play()task.wait(1.1)end end)return{setProgress=ar,destroy=function()aq=false af:Create(am,TweenInfo.new(0.3,Enum.
|
Position=UDim2.new(1.1,0,0,0)}):Play()task.wait(1.1)end end)return{setProgress=ar,destroy=function()aq=false af:Create(
|
||||||
EasingStyle.Quad,Enum.EasingDirection.In),{Position=UDim2.fromScale(0.5,0.46),BackgroundTransparency=1}):Play()af:
|
am,TweenInfo.new(0.3,Enum.EasingStyle.Quad,Enum.EasingDirection.In),{Position=UDim2.fromScale(0.5,0.46),
|
||||||
Create(an,TweenInfo.new(0.3,Enum.EasingStyle.Quad,Enum.EasingDirection.In),{Transparency=1}):Play()af:Create(al,
|
BackgroundTransparency=1}):Play()af:Create(an,TweenInfo.new(0.3,Enum.EasingStyle.Quad,Enum.EasingDirection.In),{
|
||||||
TweenInfo.new(0.25,Enum.EasingStyle.Quad,Enum.EasingDirection.In),{TextTransparency=1}):Play()af:Create(ak,TweenInfo.
|
Transparency=1}):Play()af:Create(al,TweenInfo.new(0.25,Enum.EasingStyle.Quad,Enum.EasingDirection.In),{TextTransparency=
|
||||||
new(0.25,Enum.EasingStyle.Quad,Enum.EasingDirection.In),{BackgroundTransparency=1}):Play()task.wait(0.25)aj:Destroy()end
|
1}):Play()af:Create(ak,TweenInfo.new(0.25,Enum.EasingStyle.Quad,Enum.EasingDirection.In),{BackgroundTransparency=1}):
|
||||||
}end return ah end)()end,[7]=function()local aa,ab,ac=a(7)local ad return(function(...)local ae=ab.Parent return{
|
Play()task.wait(0.25)aj:Destroy()end}end return ah end)()end,[7]=function()local aa,ab,ac=a(7)local ad return(function(
|
||||||
ObsidianLibrary=ac(ae:WaitForChild'ObsidianLibrary'),Types=ac(ae:WaitForChild'ObsidianLibrary.d'),ObsidianUI=ae:
|
...)local ae=ab.Parent return{ObsidianLibrary=ac(ae:WaitForChild'ObsidianLibrary'),Types=ac(ae:WaitForChild
|
||||||
WaitForChild'ObsidianUI'}end)()end,[8]=function()local aa,ab,ac=a(8)local ad return(function(...)local ae=(cloneref or
|
'ObsidianLibrary.d'),ObsidianUI=ae:WaitForChild'ObsidianUI'}end)()end,[8]=function()local aa,ab,ac=a(8)local ad return(
|
||||||
clonereference or function(ae:any)return ae end)local af:CoreGui,ag:Players,ah:RunService,ai:SoundService,aj:
|
function(...)local ae=(cloneref or clonereference or function(ae:any)return ae end)local af:CoreGui,ag:Players,ah:
|
||||||
UserInputService,ak:TextService,al:Teams,am:TweenService,an,ao,ap=ae(game:GetService'CoreGui'),ae(game:GetService
|
RunService,ai:SoundService,aj:UserInputService,ak:TextService,al:Teams,am:TweenService,an,ao,ap=ae(game:GetService
|
||||||
'Players'),ae(game:GetService'RunService'),ae(game:GetService'SoundService'),ae(game:GetService'UserInputService'),ae(
|
'CoreGui'),ae(game:GetService'Players'),ae(game:GetService'RunService'),ae(game:GetService'SoundService'),ae(game:
|
||||||
game:GetService'TextService'),ae(game:GetService'Teams'),ae(game:GetService'TweenService'),getgenv or function()return
|
GetService'UserInputService'),ae(game:GetService'TextService'),ae(game:GetService'Teams'),ae(game:GetService
|
||||||
shared end,setclipboard or nil,protectgui or(syn and syn.protect_gui)or function()end local aq,ar=gethui or function()
|
'TweenService'),getgenv or function()return shared end,setclipboard or nil,protectgui or(syn and syn.protect_gui)or
|
||||||
return af end,ag.LocalPlayer or ag.PlayerAdded:Wait()local as,at,au,av,aw,ax,ay,az=ae(ar:GetMouse()),{},{},{},{},{},
|
function()end local aq,ar=gethui or function()return af end,ag.LocalPlayer or ag.PlayerAdded:Wait()local as,at,au,av,aw,
|
||||||
[[https://raw.githubusercontent.com/deividcomsono/Obsidian/refs/heads/main/]],{}local aA={TransparencyTexture={RobloxId=
|
ax,ay,az=ae(ar:GetMouse()),{},{},{},{},{},[[https://raw.githubusercontent.com/deividcomsono/Obsidian/refs/heads/main/]],
|
||||||
139785960036434,Path='Obsidian/assets/TransparencyTexture.png',URL=ay..'assets/TransparencyTexture.png',Id=nil},
|
{}local aA={TransparencyTexture={RobloxId=139785960036434,Path='Obsidian/assets/TransparencyTexture.png',URL=ay..
|
||||||
SaturationMap={RobloxId=4155801252,Path='Obsidian/assets/SaturationMap.png',URL=ay..'assets/SaturationMap.png',Id=nil}}
|
'assets/TransparencyTexture.png',Id=nil},SaturationMap={RobloxId=4155801252,Path='Obsidian/assets/SaturationMap.png',URL
|
||||||
do local function aB(aC:string,aD:boolean?)if not isfolder or not makefolder then return end local aE,aF=aC:split'/',''
|
=ay..'assets/SaturationMap.png',Id=nil}}do local function aB(aC:string,aD:boolean?)if not isfolder or not makefolder
|
||||||
if aD then table.remove(aE,#aE)end for aG,aH in ipairs(aE)do if not isfolder(aF..aH)then makefolder(aF..aH)end aF=aF..aH
|
then return end local aE,aF=aC:split'/',''if aD then table.remove(aE,#aE)end for aG,aH in ipairs(aE)do if not isfolder(
|
||||||
..'/'end return aF end function az.AddAsset(aC:string,aD:number,aE:string,aF:boolean?)if aA[aC]~=nil then error(string.
|
aF..aH)then makefolder(aF..aH)end aF=aF..aH..'/'end return aF end function az.AddAsset(aC:string,aD:number,aE:string,aF:
|
||||||
format('Asset %q already exists',aC))end assert(typeof(aD)=='number','RobloxAssetId must be a number')aA[aC]={RobloxId=
|
boolean?)if aA[aC]~=nil then error(string.format('Asset %q already exists',aC))end assert(typeof(aD)=='number',
|
||||||
aD,Path=string.format('Obsidian/custom_assets/%s',aC),URL=aE,Id=nil}az.DownloadAsset(aC,aF)end function az.GetAsset(aC:
|
'RobloxAssetId must be a number')aA[aC]={RobloxId=aD,Path=string.format('Obsidian/custom_assets/%s',aC),URL=aE,Id=nil}az
|
||||||
string)if not aA[aC]then return nil end local aD=aA[aC]if aD.Id then return aD.Id end local aE=string.format(
|
.DownloadAsset(aC,aF)end function az.GetAsset(aC:string)if not aA[aC]then return nil end local aD=aA[aC]if aD.Id then
|
||||||
'rbxassetid://%s',aD.RobloxId)if getcustomasset then local aF,aG=pcall(getcustomasset,aD.Path)if aF and aG then aE=aG
|
return aD.Id end local aE=string.format('rbxassetid://%s',aD.RobloxId)if getcustomasset then local aF,aG=pcall(
|
||||||
end end aD.Id=aE return aE end function az.DownloadAsset(aC:string,aD:boolean?)if not getcustomasset or not writefile or
|
getcustomasset,aD.Path)if aF and aG then aE=aG end end aD.Id=aE return aE end function az.DownloadAsset(aC:string,aD:
|
||||||
not isfile then return false,'missing functions'end local aE=aA[aC]aB(aE.Path,true)if aD~=true and isfile(aE.Path)then
|
boolean?)if not getcustomasset or not writefile or not isfile then return false,'missing functions'end local aE=aA[aC]
|
||||||
return true,nil end local aF,aG=pcall(function()writefile(aE.Path,game:HttpGet(aE.URL))end)return aF,aG end for aC,aD in
|
aB(aE.Path,true)if aD~=true and isfile(aE.Path)then return true,nil end local aF,aG=pcall(function()writefile(aE.Path,
|
||||||
aA do az.DownloadAsset(aC)end end local aB={LocalPlayer=ar,DevicePlatform=nil,IsMobile=false,IsRobloxFocused=true,
|
game:HttpGet(aE.URL))end)return aF,aG end for aC,aD in aA do az.DownloadAsset(aC)end end local aB={LocalPlayer=ar,
|
||||||
ScreenGui=nil,SearchText='',Searching=false,GlobalSearch=false,LastSearchTab=nil,ActiveTab=nil,Tabs={},TabButtons={},
|
DevicePlatform=nil,IsMobile=false,IsRobloxFocused=true,ScreenGui=nil,SearchText='',Searching=false,GlobalSearch=false,
|
||||||
DependencyBoxes={},KeybindFrame=nil,KeybindContainer=nil,KeybindToggles={},Notifications={},ToggleKeybind=Enum.KeyCode.
|
LastSearchTab=nil,ActiveTab=nil,Tabs={},TabButtons={},DependencyBoxes={},KeybindFrame=nil,KeybindContainer=nil,
|
||||||
RightControl,TweenInfo=TweenInfo.new(0.1,Enum.EasingStyle.Quad,Enum.EasingDirection.Out),NotifyTweenInfo=TweenInfo.new(
|
KeybindToggles={},Notifications={},ToggleKeybind=Enum.KeyCode.RightControl,TweenInfo=TweenInfo.new(0.1,Enum.EasingStyle.
|
||||||
0.25,Enum.EasingStyle.Quad,Enum.EasingDirection.Out),Toggled=false,Unloaded=false,Labels=at,Buttons=au,Toggles=av,
|
Quad,Enum.EasingDirection.Out),NotifyTweenInfo=TweenInfo.new(0.25,Enum.EasingStyle.Quad,Enum.EasingDirection.Out),
|
||||||
Options=aw,NotifySide='Right',ShowCustomCursor=true,ForceCheckbox=false,ShowToggleFrameInKeybinds=true,NotifyOnError=
|
Toggled=false,Unloaded=false,Labels=at,Buttons=au,Toggles=av,Options=aw,NotifySide='Right',ShowCustomCursor=true,
|
||||||
false,ForceTextIcons=false,CantDragForced=false,Signals={},UnloadSignals={},OriginalMinSize=Vector2.new(480,360),MinSize
|
ForceCheckbox=false,ShowToggleFrameInKeybinds=true,NotifyOnError=false,ForceTextIcons=false,CantDragForced=false,Signals
|
||||||
=Vector2.new(480,360),DPIScale=1,CornerRadius=4,IsLightTheme=false,Scheme={BackgroundColor=Color3.fromRGB(15,15,15),
|
={},UnloadSignals={},OriginalMinSize=Vector2.new(480,360),MinSize=Vector2.new(480,360),DPIScale=1,CornerRadius=4,
|
||||||
MainColor=Color3.fromRGB(25,25,25),AccentColor=Color3.fromRGB(125,85,255),OutlineColor=Color3.fromRGB(40,40,40),
|
IsLightTheme=false,Scheme={BackgroundColor=Color3.fromRGB(15,15,15),MainColor=Color3.fromRGB(25,25,25),AccentColor=
|
||||||
FontColor=Color3.new(1,1,1),Font=Font.fromEnum(Enum.Font.Code),RedColor=Color3.fromRGB(255,50,50),DarkColor=Color3.new(0
|
Color3.fromRGB(125,85,255),OutlineColor=Color3.fromRGB(40,40,40),FontColor=Color3.new(1,1,1),Font=Font.fromEnum(Enum.
|
||||||
,0,0),WhiteColor=Color3.new(1,1,1)},Registry={},Scales={},ImageManager=az}if ah:IsStudio()then if aj.TouchEnabled and
|
Font.Code),RedColor=Color3.fromRGB(255,50,50),DarkColor=Color3.new(0,0,0),WhiteColor=Color3.new(1,1,1)},Registry={},
|
||||||
not aj.MouseEnabled then aB.IsMobile=true aB.OriginalMinSize=Vector2.new(480,240)else aB.IsMobile=false aB.
|
Scales={},ImageManager=az}if ah:IsStudio()then if aj.TouchEnabled and not aj.MouseEnabled then aB.IsMobile=true aB.
|
||||||
OriginalMinSize=Vector2.new(480,360)end else pcall(function()aB.DevicePlatform=aj:GetPlatform()end)aB.IsMobile=(aB.
|
OriginalMinSize=Vector2.new(480,240)else aB.IsMobile=false aB.OriginalMinSize=Vector2.new(480,360)end else pcall(
|
||||||
DevicePlatform==Enum.Platform.Android or aB.DevicePlatform==Enum.Platform.IOS)aB.OriginalMinSize=aB.IsMobile and Vector2
|
function()aB.DevicePlatform=aj:GetPlatform()end)aB.IsMobile=(aB.DevicePlatform==Enum.Platform.Android or aB.
|
||||||
.new(480,240)or Vector2.new(480,360)end local aC,aD,aE,aF,aG={Frame={BorderSizePixel=0},ImageLabel={
|
DevicePlatform==Enum.Platform.IOS)aB.OriginalMinSize=aB.IsMobile and Vector2.new(480,240)or Vector2.new(480,360)end
|
||||||
BackgroundTransparency=1,BorderSizePixel=0},ImageButton={AutoButtonColor=false,BorderSizePixel=0},ScrollingFrame={
|
local aC,aD,aE,aF,aG={Frame={BorderSizePixel=0},ImageLabel={BackgroundTransparency=1,BorderSizePixel=0},ImageButton={
|
||||||
BorderSizePixel=0},TextLabel={BorderSizePixel=0,FontFace='Font',RichText=true,TextColor3='FontColor'},TextButton={
|
AutoButtonColor=false,BorderSizePixel=0},ScrollingFrame={BorderSizePixel=0},TextLabel={BorderSizePixel=0,FontFace='Font'
|
||||||
AutoButtonColor=false,BorderSizePixel=0,FontFace='Font',RichText=true,TextColor3='FontColor'},TextBox={BorderSizePixel=0
|
,RichText=true,TextColor3='FontColor'},TextButton={AutoButtonColor=false,BorderSizePixel=0,FontFace='Font',RichText=true
|
||||||
,FontFace='Font',PlaceholderColor3=function()local aC,aD,aE=aB.Scheme.FontColor:ToHSV()return Color3.fromHSV(aC,aD,aE/2)
|
,TextColor3='FontColor'},TextBox={BorderSizePixel=0,FontFace='Font',PlaceholderColor3=function()local aC,aD,aE=aB.Scheme
|
||||||
end,Text='',TextColor3='FontColor'},UIListLayout={SortOrder=Enum.SortOrder.LayoutOrder},UIStroke={ApplyStrokeMode=Enum.
|
.FontColor:ToHSV()return Color3.fromHSV(aC,aD,aE/2)end,Text='',TextColor3='FontColor'},UIListLayout={SortOrder=Enum.
|
||||||
ApplyStrokeMode.Border},Window={Title='No Title',Footer='No Footer',Position=UDim2.fromOffset(6,6),Size=UDim2.
|
SortOrder.LayoutOrder},UIStroke={ApplyStrokeMode=Enum.ApplyStrokeMode.Border},Window={Title='No Title',Footer=
|
||||||
fromOffset(720,600),IconSize=UDim2.fromOffset(30,30),AutoShow=true,Center=true,Resizable=true,SearchbarSize=UDim2.
|
'No Footer',Position=UDim2.fromOffset(6,6),Size=UDim2.fromOffset(720,600),IconSize=UDim2.fromOffset(30,30),AutoShow=true
|
||||||
fromScale(1,1),GlobalSearch=false,CornerRadius=4,NotifySide='Right',ShowCustomCursor=true,Font=Enum.Font.Code,
|
,Center=true,Resizable=true,SearchbarSize=UDim2.fromScale(1,1),GlobalSearch=false,CornerRadius=4,NotifySide='Right',
|
||||||
ToggleKeybind=Enum.KeyCode.RightControl,MobileButtonsSide='Left',UnlockMouseWhileOpen=true,EnableSidebarResize=false,
|
ShowCustomCursor=true,Font=Enum.Font.Code,ToggleKeybind=Enum.KeyCode.RightControl,MobileButtonsSide='Left',
|
||||||
EnableCompacting=true,DisableCompactingSnap=false,SidebarCompacted=false,MinContainerWidth=256,MinSidebarWidth=128,
|
UnlockMouseWhileOpen=true,EnableSidebarResize=false,EnableCompacting=true,DisableCompactingSnap=false,SidebarCompacted=
|
||||||
SidebarCompactWidth=48,SidebarCollapseThreshold=0.5,CompactWidthActivation=128},Toggle={Text='Toggle',Default=false,
|
false,MinContainerWidth=256,MinSidebarWidth=128,SidebarCompactWidth=48,SidebarCollapseThreshold=0.5,
|
||||||
Callback=function()end,Changed=function()end,Risky=false,Disabled=false,Visible=true},Input={Text='Input',Default='',
|
CompactWidthActivation=128},Toggle={Text='Toggle',Default=false,Callback=function()end,Changed=function()end,Risky=false
|
||||||
Finished=false,Numeric=false,ClearTextOnFocus=true,Placeholder='',AllowEmpty=true,EmptyReset='---',Callback=function()
|
,Disabled=false,Visible=true},Input={Text='Input',Default='',Finished=false,Numeric=false,ClearTextOnFocus=true,
|
||||||
end,Changed=function()end,Disabled=false,Visible=true},Slider={Text='Slider',Default=0,Min=0,Max=100,Rounding=0,Prefix=
|
Placeholder='',AllowEmpty=true,EmptyReset='---',Callback=function()end,Changed=function()end,Disabled=false,Visible=true
|
||||||
'',Suffix='',Callback=function()end,Changed=function()end,Disabled=false,Visible=true},Dropdown={Values={},
|
},Slider={Text='Slider',Default=0,Min=0,Max=100,Rounding=0,Prefix='',Suffix='',Callback=function()end,Changed=function()
|
||||||
DisabledValues={},Multi=false,MaxVisibleDropdownItems=8,Callback=function()end,Changed=function()end,Disabled=false,
|
end,Disabled=false,Visible=true},Dropdown={Values={},DisabledValues={},Multi=false,MaxVisibleDropdownItems=8,Callback=
|
||||||
Visible=true},Viewport={Object=nil,Camera=nil,Clone=true,AutoFocus=true,Interactive=false,Height=200,Visible=true},Image
|
function()end,Changed=function()end,Disabled=false,Visible=true},Viewport={Object=nil,Camera=nil,Clone=true,AutoFocus=
|
||||||
={Image='',Transparency=0,BackgroundTransparency=0,Color=Color3.new(1,1,1),RectOffset=Vector2.zero,RectSize=Vector2.zero
|
true,Interactive=false,Height=200,Visible=true},Image={Image='',Transparency=0,BackgroundTransparency=0,Color=Color3.
|
||||||
,ScaleType=Enum.ScaleType.Fit,Height=200,Visible=true},Video={Video='',Looped=false,Playing=false,Volume=1,Height=200,
|
new(1,1,1),RectOffset=Vector2.zero,RectSize=Vector2.zero,ScaleType=Enum.ScaleType.Fit,Height=200,Visible=true},Video={
|
||||||
Visible=true},UIPassthrough={Instance=nil,Height=24,Visible=true},KeyPicker={Text='KeyPicker',Default='None',
|
Video='',Looped=false,Playing=false,Volume=1,Height=200,Visible=true},UIPassthrough={Instance=nil,Height=24,Visible=true
|
||||||
DefaultModifiers={},Mode='Toggle',Modes={'Always','Toggle','Hold'},SyncToggleState=false,Callback=function()end,
|
},KeyPicker={Text='KeyPicker',Default='None',DefaultModifiers={},Mode='Toggle',Modes={'Always','Toggle','Hold'},
|
||||||
ChangedCallback=function()end,Changed=function()end,Clicked=function()end},ColorPicker={Default=Color3.new(1,1,1),
|
SyncToggleState=false,Callback=function()end,ChangedCallback=function()end,Changed=function()end,Clicked=function()end},
|
||||||
Callback=function()end,Changed=function()end}},{Bottom={0,1},Right={1,0}},{Left={0.5,1},Right={0.5,1}},{RedColor='Red',
|
ColorPicker={Default=Color3.new(1,1,1),Callback=function()end,Changed=function()end}},{Bottom={0,1},Right={1,0}},{Left={
|
||||||
WhiteColor='White',DarkColor='Dark'},{Red='RedColor',White='WhiteColor',Dark='DarkColor'}local function aH(aI)if not aI
|
0.5,1},Right={0.5,1}},{RedColor='Red',WhiteColor='White',DarkColor='Dark'},{Red='RedColor',White='WhiteColor',Dark=
|
||||||
then return nil end local aJ=aF[aI]if aJ and aB.Scheme[aJ]~=nil then aB.Scheme[aI]=aB.Scheme[aJ]aB.Scheme[aJ]=nil return
|
'DarkColor'}local function aH(aI)if not aI then return nil end local aJ=aF[aI]if aJ and aB.Scheme[aJ]~=nil then aB.
|
||||||
aB.Scheme[aI]end local aK=aG[aI]if aK and aB.Scheme[aK]~=nil then warn(string.format(
|
Scheme[aI]=aB.Scheme[aJ]aB.Scheme[aJ]=nil return aB.Scheme[aI]end local aK=aG[aI]if aK and aB.Scheme[aK]~=nil then warn(
|
||||||
'Scheme Value %q is deprecated, please use %q instead.',aI,aK))return aB.Scheme[aK]end return aB.Scheme[aI]end
|
string.format('Scheme Value %q is deprecated, please use %q instead.',aI,aK))return aB.Scheme[aK]end return aB.Scheme[aI
|
||||||
local function aI(aJ,aK,aL)local aM=Instance.new'BindableEvent'local aN=aJ:Once(function(...)if not aL or typeof(aL)==
|
]end local function aI(aJ,aK,aL)local aM=Instance.new'BindableEvent'local aN=aJ:Once(function(...)if not aL or typeof(aL
|
||||||
'function'and aL(...)then aM:Fire(true)else aM:Fire(false)end end)task.delay(aK,function()aN:Disconnect()aM:Fire(false)
|
)=='function'and aL(...)then aM:Fire(true)else aM:Fire(false)end end)task.delay(aK,function()aN:Disconnect()aM:Fire(
|
||||||
end)local aO=aM.Event:Wait()aM:Destroy()return aO end local function aJ(aK:InputObject,aL:boolean?)return aK.
|
false)end)local aO=aM.Event:Wait()aM:Destroy()return aO end local function aJ(aK:InputObject,aL:boolean?)return aK.
|
||||||
UserInputType==Enum.UserInputType.MouseButton1 or(aL==true and aK.UserInputType==Enum.UserInputType.MouseButton2)or aK.
|
UserInputType==Enum.UserInputType.MouseButton1 or(aL==true and aK.UserInputType==Enum.UserInputType.MouseButton2)or aK.
|
||||||
UserInputType==Enum.UserInputType.Touch end local function aK(aL:InputObject,aM:boolean?)return aJ(aL,aM)and aL.
|
UserInputType==Enum.UserInputType.Touch end local function aK(aL:InputObject,aM:boolean?)return aJ(aL,aM)and aL.
|
||||||
UserInputState==Enum.UserInputState.Begin and aB.IsRobloxFocused end local function aL(aM:InputObject)return(aM.
|
UserInputState==Enum.UserInputState.Begin and aB.IsRobloxFocused end local function aL(aM:InputObject)return(aM.
|
||||||
@@ -2095,19 +2094,18 @@ TextButton,z,A,B,C,D w=aB:GetCustomIcon(w)or aY do y=a1('TextButton',{Background
|
|||||||
BackgroundTransparency=1,Size=UDim2.new(1,0,0,40),Text='',Parent=p})local E=a1('UIPadding',{PaddingBottom=UDim.new(0,d
|
BackgroundTransparency=1,Size=UDim2.new(1,0,0,40),Text='',Parent=p})local E=a1('UIPadding',{PaddingBottom=UDim.new(0,d
|
||||||
and 6 or 11),PaddingLeft=UDim.new(0,d and 6 or 12),PaddingRight=UDim.new(0,d and 6 or 12),PaddingTop=UDim.new(0,d and 6
|
and 6 or 11),PaddingLeft=UDim.new(0,d and 6 or 12),PaddingRight=UDim.new(0,d and 6 or 12),PaddingTop=UDim.new(0,d and 6
|
||||||
or 11),Parent=y})z=a1('TextLabel',{BackgroundTransparency=1,Position=UDim2.fromOffset(30,0),Size=UDim2.new(1,-30,1,0),
|
or 11),Parent=y})z=a1('TextLabel',{BackgroundTransparency=1,Position=UDim2.fromOffset(30,0),Size=UDim2.new(1,-30,1,0),
|
||||||
Text=v,TextSize=16,TextTransparency=0.5,TextXAlignment=Enum.TextXAlignment.Left,Visible=not d,Parent=y})local F=a1(
|
Text=v,TextSize=16,TextTransparency=0.5,TextXAlignment=Enum.TextXAlignment.Left,Visible=not d,Parent=y})if aB.
|
||||||
'TextLabel',{BackgroundTransparency=1,Position=UDim2.fromOffset(6,9),Size=UDim2.fromOffset(22,22),Text=v:sub(1,1):upper(
|
ForceTextIcons then z.Text=string.format('[%s] %s',v:sub(1,1):upper(),v)z.Position=UDim2.fromOffset(12,0)z.Size=UDim2.
|
||||||
),TextSize=14,TextXAlignment=Enum.TextXAlignment.Center,TextYAlignment=Enum.TextYAlignment.Center,TextColor3='FontColor'
|
new(1,-12,1,0)end if w then A=a1('ImageLabel',{Image=w.Url,ImageColor3=w.Custom and'WhiteColor'or'AccentColor',
|
||||||
,Visible=aB.ForceTextIcons or(w and w.Url==aY.Url),Parent=y})if w then A=a1('ImageLabel',{Image=w.Url,ImageColor3=w.
|
ImageRectOffset=w.ImageRectOffset,ImageRectSize=w.ImageRectSize,ImageTransparency=0.5,ScaleType=Enum.ScaleType.Fit,Size=
|
||||||
Custom and'WhiteColor'or'AccentColor',ImageRectOffset=w.ImageRectOffset,ImageRectSize=w.ImageRectSize,ImageTransparency=
|
UDim2.fromScale(1,1),SizeConstraint=d and Enum.SizeConstraint.RelativeXY or Enum.SizeConstraint.RelativeYY,Parent=y})if
|
||||||
0.5,ScaleType=Enum.ScaleType.Fit,Size=UDim2.fromScale(1,1),SizeConstraint=d and Enum.SizeConstraint.RelativeXY or Enum.
|
aB.ForceTextIcons then A.ImageTransparency=0.85 end end table.insert(aB.TabButtons,{Label=z,Padding=E,Icon=A})B=a1(
|
||||||
SizeConstraint.RelativeYY,Parent=y})if aB.ForceTextIcons then A.ImageTransparency=0.85 end end table.insert(aB.
|
'Frame',{BackgroundTransparency=1,Size=UDim2.fromScale(1,1),Visible=false,Parent=q})C=a1('ScrollingFrame',{
|
||||||
TabButtons,{Label=z,Padding=E,Icon=A})B=a1('Frame',{BackgroundTransparency=1,Size=UDim2.fromScale(1,1),Visible=false,
|
AutomaticCanvasSize=Enum.AutomaticSize.Y,BackgroundTransparency=1,CanvasSize=UDim2.fromScale(0,0),
|
||||||
Parent=q})C=a1('ScrollingFrame',{AutomaticCanvasSize=Enum.AutomaticSize.Y,BackgroundTransparency=1,CanvasSize=UDim2.
|
ScrollBarImageTransparency=1,ScrollBarThickness=0,Size=UDim2.new(0.5,-3,1,0),Parent=B})a1('UIListLayout',{Padding=UDim.
|
||||||
fromScale(0,0),ScrollBarImageTransparency=1,ScrollBarThickness=0,Size=UDim2.new(0.5,-3,1,0),Parent=B})a1('UIListLayout',
|
new(0,2),Parent=C})a1('UIPadding',{PaddingBottom=UDim.new(0,2),PaddingLeft=UDim.new(0,2),PaddingRight=UDim.new(0,2),
|
||||||
{Padding=UDim.new(0,2),Parent=C})a1('UIPadding',{PaddingBottom=UDim.new(0,2),PaddingLeft=UDim.new(0,2),PaddingRight=UDim
|
PaddingTop=UDim.new(0,2),Parent=C})do a1('Frame',{BackgroundTransparency=1,LayoutOrder=-1,Parent=C})a1('Frame',{
|
||||||
.new(0,2),PaddingTop=UDim.new(0,2),Parent=C})do a1('Frame',{BackgroundTransparency=1,LayoutOrder=-1,Parent=C})a1('Frame'
|
BackgroundTransparency=1,LayoutOrder=1,Parent=C})end D=a1('ScrollingFrame',{AnchorPoint=Vector2.new(1,0),
|
||||||
,{BackgroundTransparency=1,LayoutOrder=1,Parent=C})end D=a1('ScrollingFrame',{AnchorPoint=Vector2.new(1,0),
|
|
||||||
AutomaticCanvasSize=Enum.AutomaticSize.Y,BackgroundTransparency=1,CanvasSize=UDim2.fromScale(0,0),Position=UDim2.
|
AutomaticCanvasSize=Enum.AutomaticSize.Y,BackgroundTransparency=1,CanvasSize=UDim2.fromScale(0,0),Position=UDim2.
|
||||||
fromScale(1,0),ScrollBarImageTransparency=1,ScrollBarThickness=0,Size=UDim2.new(0.5,-3,1,0),Parent=B})a1('UIListLayout',
|
fromScale(1,0),ScrollBarImageTransparency=1,ScrollBarThickness=0,Size=UDim2.new(0.5,-3,1,0),Parent=B})a1('UIListLayout',
|
||||||
{Padding=UDim.new(0,2),Parent=D})a1('UIPadding',{PaddingBottom=UDim.new(0,2),PaddingLeft=UDim.new(0,2),PaddingRight=UDim
|
{Padding=UDim.new(0,2),Parent=D})a1('UIPadding',{PaddingBottom=UDim.new(0,2),PaddingLeft=UDim.new(0,2),PaddingRight=UDim
|
||||||
@@ -2197,99 +2195,100 @@ d and 6 or 12),PaddingTop=UDim.new(0,d and 6 or 11),Parent=x})y=a1('TextLabel',{
|
|||||||
fromOffset(30,0),Size=UDim2.new(1,-30,1,0),Text=u,TextSize=16,TextTransparency=0.5,TextXAlignment=Enum.TextXAlignment.
|
fromOffset(30,0),Size=UDim2.new(1,-30,1,0),Text=u,TextSize=16,TextTransparency=0.5,TextXAlignment=Enum.TextXAlignment.
|
||||||
Left,Visible=not d,Parent=x})if v then z=a1('ImageLabel',{Image=v.Url,ImageColor3=v.Custom and'WhiteColor'or
|
Left,Visible=not d,Parent=x})if v then z=a1('ImageLabel',{Image=v.Url,ImageColor3=v.Custom and'WhiteColor'or
|
||||||
'AccentColor',ImageRectOffset=v.ImageRectOffset,ImageRectSize=v.ImageRectSize,ImageTransparency=0.5,Size=UDim2.
|
'AccentColor',ImageRectOffset=v.ImageRectOffset,ImageRectSize=v.ImageRectSize,ImageTransparency=0.5,Size=UDim2.
|
||||||
fromScale(1,1),SizeConstraint=d and Enum.SizeConstraint.RelativeXY or Enum.SizeConstraint.RelativeYY,Parent=x})end table
|
fromScale(1,1),SizeConstraint=d and Enum.SizeConstraint.RelativeXY or Enum.SizeConstraint.RelativeYY,Parent=x})if aB.
|
||||||
.insert(aB.TabButtons,{Label=y,Padding=B,Icon=z})A=a1('ScrollingFrame',{AutomaticCanvasSize=Enum.AutomaticSize.Y,
|
ForceTextIcons then z.Visible=false end end table.insert(aB.TabButtons,{Label=y,Padding=B,Icon=z})A=a1('ScrollingFrame',
|
||||||
BackgroundTransparency=1,CanvasSize=UDim2.fromScale(0,0),ScrollBarThickness=0,Size=UDim2.fromScale(1,1),Visible=false,
|
{AutomaticCanvasSize=Enum.AutomaticSize.Y,BackgroundTransparency=1,CanvasSize=UDim2.fromScale(0,0),ScrollBarThickness=0,
|
||||||
Parent=q})a1('UIListLayout',{HorizontalAlignment=Enum.HorizontalAlignment.Center,Padding=UDim.new(0,8),VerticalAlignment
|
Size=UDim2.fromScale(1,1),Visible=false,Parent=q})a1('UIListLayout',{HorizontalAlignment=Enum.HorizontalAlignment.Center
|
||||||
=Enum.VerticalAlignment.Center,Parent=A})a1('UIPadding',{PaddingLeft=UDim.new(0,1),PaddingRight=UDim.new(0,1),Parent=A})
|
,Padding=UDim.new(0,8),VerticalAlignment=Enum.VerticalAlignment.Center,Parent=A})a1('UIPadding',{PaddingLeft=UDim.new(0,
|
||||||
end local B={Elements={},IsKeyTab=true}function B.AddKeyBox(C,D)assert(typeof(D)=='function',
|
1),PaddingRight=UDim.new(0,1),Parent=A})end local B={Elements={},IsKeyTab=true}function B.AddKeyBox(C,D)assert(typeof(D)
|
||||||
'Callback must be a function')local E=a1('Frame',{BackgroundTransparency=1,Size=UDim2.new(0.75,0,0,21),Parent=A})local F
|
=='function','Callback must be a function')local E=a1('Frame',{BackgroundTransparency=1,Size=UDim2.new(0.75,0,0,21),
|
||||||
=a1('TextBox',{BackgroundColor3='MainColor',BorderColor3='OutlineColor',BorderSizePixel=1,PlaceholderText='Key',Size=
|
Parent=A})local F=a1('TextBox',{BackgroundColor3='MainColor',BorderColor3='OutlineColor',BorderSizePixel=1,
|
||||||
UDim2.new(1,-71,1,0),TextSize=14,TextXAlignment=Enum.TextXAlignment.Left,Parent=E})a1('UIPadding',{PaddingLeft=UDim.new(
|
PlaceholderText='Key',Size=UDim2.new(1,-71,1,0),TextSize=14,TextXAlignment=Enum.TextXAlignment.Left,Parent=E})a1(
|
||||||
0,8),PaddingRight=UDim.new(0,8),Parent=F})local G=a1('TextButton',{AnchorPoint=Vector2.new(1,0),BackgroundColor3=
|
'UIPadding',{PaddingLeft=UDim.new(0,8),PaddingRight=UDim.new(0,8),Parent=F})local G=a1('TextButton',{AnchorPoint=Vector2
|
||||||
'MainColor',BorderColor3='OutlineColor',BorderSizePixel=1,Position=UDim2.fromScale(1,0),Size=UDim2.new(0,63,1,0),Text=
|
.new(1,0),BackgroundColor3='MainColor',BorderColor3='OutlineColor',BorderSizePixel=1,Position=UDim2.fromScale(1,0),Size=
|
||||||
'Execute',TextSize=14,Parent=E})G.InputBegan:Connect(function(H)if not aK(H)then return end if not aB:MouseIsOverFrame(G
|
UDim2.new(0,63,1,0),Text='Execute',TextSize=14,Parent=E})G.InputBegan:Connect(function(H)if not aK(H)then return end if
|
||||||
,H.Position)then return end D(F.Text)end)end function B.RefreshSides(C)end function B.Resize(C)end function B.Hover(C,D)
|
not aB:MouseIsOverFrame(G,H.Position)then return end D(F.Text)end)end function B.RefreshSides(C)end function B.Resize(C)
|
||||||
if aB.ActiveTab==B then return end am:Create(y,aB.TweenInfo,{TextTransparency=D and 0.25 or 0.5}):Play()if z then am:
|
end function B.Hover(C,D)if aB.ActiveTab==B then return end am:Create(y,aB.TweenInfo,{TextTransparency=D and 0.25 or 0.5
|
||||||
Create(z,aB.TweenInfo,{ImageTransparency=D and 0.25 or 0.5}):Play()end end function B.Show(C)if aB.ActiveTab then aB.
|
}):Play()if z then am:Create(z,aB.TweenInfo,{ImageTransparency=D and 0.25 or 0.5}):Play()end end function B.Show(C)if aB
|
||||||
ActiveTab:Hide()end am:Create(x,aB.TweenInfo,{BackgroundTransparency=0}):Play()am:Create(y,aB.TweenInfo,{
|
.ActiveTab then aB.ActiveTab:Hide()end am:Create(x,aB.TweenInfo,{BackgroundTransparency=0}):Play()am:Create(y,aB.
|
||||||
TextTransparency=0}):Play()if z then am:Create(z,aB.TweenInfo,{ImageTransparency=0}):Play()end A.Visible=true if w then
|
TweenInfo,{TextTransparency=0}):Play()if z then am:Create(z,aB.TweenInfo,{ImageTransparency=0}):Play()end A.Visible=true
|
||||||
s:ShowTabInfo(u,w)end B:RefreshSides()aB.ActiveTab=B if aB.Searching then aB:UpdateSearch(aB.SearchText)end end function
|
if w then s:ShowTabInfo(u,w)end B:RefreshSides()aB.ActiveTab=B if aB.Searching then aB:UpdateSearch(aB.SearchText)end
|
||||||
B.Hide(C)am:Create(x,aB.TweenInfo,{BackgroundTransparency=1}):Play()am:Create(y,aB.TweenInfo,{TextTransparency=0.5}):
|
end function B.Hide(C)am:Create(x,aB.TweenInfo,{BackgroundTransparency=1}):Play()am:Create(y,aB.TweenInfo,{
|
||||||
Play()if z then am:Create(z,aB.TweenInfo,{ImageTransparency=0.5}):Play()end A.Visible=false s:HideTabInfo()aB.ActiveTab=
|
TextTransparency=0.5}):Play()if z then am:Create(z,aB.TweenInfo,{ImageTransparency=0.5}):Play()end A.Visible=false s:
|
||||||
nil end if not aB.ActiveTab then B:Show()end x.MouseEnter:Connect(function()B:Hover(true)end)x.MouseLeave:Connect(
|
HideTabInfo()aB.ActiveTab=nil end if not aB.ActiveTab then B:Show()end x.MouseEnter:Connect(function()B:Hover(true)end)x
|
||||||
function()B:Hover(false)end)x.MouseButton1Click:Connect(B.Show)B.Container=A setmetatable(B,bi)aB.Tabs[u]=B return B end
|
.MouseLeave:Connect(function()B:Hover(false)end)x.MouseButton1Click:Connect(B.Show)B.Container=A setmetatable(B,bi)aB.
|
||||||
function aB.Toggle(bp,u:boolean?)if typeof(u)=='boolean'then aB.Toggled=u else aB.Toggled=not aB.Toggled end e.Visible=
|
Tabs[u]=B return B end function aB.Toggle(bp,u:boolean?)if typeof(u)=='boolean'then aB.Toggled=u else aB.Toggled=not aB.
|
||||||
aB.Toggled if bk.UnlockMouseWhileOpen then a5.Modal=aB.Toggled end if aB.Toggled and not aB.IsMobile then local v=aj.
|
Toggled end e.Visible=aB.Toggled if bk.UnlockMouseWhileOpen then a5.Modal=aB.Toggled end if aB.Toggled and not aB.
|
||||||
MouseIconEnabled pcall(function()ah:UnbindFromRenderStep'ShowCursor'end)ah:BindToRenderStep('ShowCursor',Enum.
|
IsMobile then local v=aj.MouseIconEnabled pcall(function()ah:UnbindFromRenderStep'ShowCursor'end)ah:BindToRenderStep(
|
||||||
RenderPriority.Last.Value,function()aj.MouseIconEnabled=not aB.ShowCustomCursor a6.Position=UDim2.fromOffset(as.X,as.Y)
|
'ShowCursor',Enum.RenderPriority.Last.Value,function()aj.MouseIconEnabled=not aB.ShowCustomCursor a6.Position=UDim2.
|
||||||
a6.Visible=aB.ShowCustomCursor if not(aB.Toggled and a4 and a4.Parent)then aj.MouseIconEnabled=v a6.Visible=false ah:
|
fromOffset(as.X,as.Y)a6.Visible=aB.ShowCustomCursor if not(aB.Toggled and a4 and a4.Parent)then aj.MouseIconEnabled=v a6
|
||||||
UnbindFromRenderStep'ShowCursor'end end)elseif not aB.Toggled then ba.Visible=false for v,w in aB.Options do if w.Type==
|
.Visible=false ah:UnbindFromRenderStep'ShowCursor'end end)elseif not aB.Toggled then ba.Visible=false for v,w in aB.
|
||||||
'ColorPicker'then w.ColorMenu:Close()w.ContextMenu:Close()elseif w.Type=='Dropdown'or w.Type=='KeyPicker'then w.Menu:
|
Options do if w.Type=='ColorPicker'then w.ColorMenu:Close()w.ContextMenu:Close()elseif w.Type=='Dropdown'or w.Type==
|
||||||
Close()end end end end if bk.EnableSidebarResize then local bp,u,v,w,x,y=(bk.MinSidebarWidth+bk.SidebarCompactWidth)*bk.
|
'KeyPicker'then w.Menu:Close()end end end end if bk.EnableSidebarResize then local bp,u,v,w,x,y=(bk.MinSidebarWidth+bk.
|
||||||
SidebarCollapseThreshold,false,(a1('TextButton',{AnchorPoint=Vector2.new(0.5,0),BackgroundTransparency=1,Position=UDim2.
|
SidebarCompactWidth)*bk.SidebarCollapseThreshold,false,(a1('TextButton',{AnchorPoint=Vector2.new(0.5,0),
|
||||||
fromScale(0.5,0),Size=UDim2.new(0,8,1,0),Text='',Parent=f}))v.MouseEnter:Connect(function()am:Create(f,aB.TweenInfo,{
|
BackgroundTransparency=1,Position=UDim2.fromScale(0.5,0),Size=UDim2.new(0,8,1,0),Text='',Parent=f}))v.MouseEnter:
|
||||||
BackgroundColor3=aB:GetLighterColor(aB.Scheme.OutlineColor)}):Play()end)v.MouseLeave:Connect(function()if u then return
|
Connect(function()am:Create(f,aB.TweenInfo,{BackgroundColor3=aB:GetLighterColor(aB.Scheme.OutlineColor)}):Play()end)v.
|
||||||
end am:Create(f,aB.TweenInfo,{BackgroundColor3=aB.Scheme.OutlineColor}):Play()end)v.InputBegan:Connect(function(z:
|
MouseLeave:Connect(function()if u then return end am:Create(f,aB.TweenInfo,{BackgroundColor3=aB.Scheme.OutlineColor}):
|
||||||
InputObject)if not aK(z)then return end aB.CantDragForced=true w=z.Position x=s:GetSidebarWidth()u=true y=z.Changed:
|
Play()end)v.InputBegan:Connect(function(z:InputObject)if not aK(z)then return end aB.CantDragForced=true w=z.Position x=
|
||||||
Connect(function()if z.UserInputState~=Enum.UserInputState.End then return end aB.CantDragForced=false am:Create(f,aB.
|
s:GetSidebarWidth()u=true y=z.Changed:Connect(function()if z.UserInputState~=Enum.UserInputState.End then return end aB.
|
||||||
TweenInfo,{BackgroundColor3=aB.Scheme.OutlineColor}):Play()u=false if y and y.Connected then y:Disconnect()y=nil end end
|
CantDragForced=false am:Create(f,aB.TweenInfo,{BackgroundColor3=aB.Scheme.OutlineColor}):Play()u=false if y and y.
|
||||||
)end)aB:GiveSignal(aj.InputChanged:Connect(function(z:InputObject)if not aB.Toggled or not(a4 and a4.Parent)then u=false
|
Connected then y:Disconnect()y=nil end end)end)aB:GiveSignal(aj.InputChanged:Connect(function(z:InputObject)if not aB.
|
||||||
if y and y.Connected then y:Disconnect()y=nil end return end if u and aL(z)then local A=z.Position-w local B=x+A.X if bk
|
Toggled or not(a4 and a4.Parent)then u=false if y and y.Connected then y:Disconnect()y=nil end return end if u and aL(z)
|
||||||
.DisableCompactingSnap then s:SetSidebarWidth(B)return end if B>bp then s:SetSidebarWidth(math.max(B,bk.MinSidebarWidth)
|
then local A=z.Position-w local B=x+A.X if bk.DisableCompactingSnap then s:SetSidebarWidth(B)return end if B>bp then s:
|
||||||
)else s:SetSidebarWidth(bk.SidebarCompactWidth)end end end))end if bk.EnableCompacting and bk.SidebarCompacted then s:
|
SetSidebarWidth(math.max(B,bk.MinSidebarWidth))else s:SetSidebarWidth(bk.SidebarCompactWidth)end end end))end if bk.
|
||||||
SetSidebarWidth(bk.SidebarCompactWidth)end if bk.AutoShow then task.spawn(aB.Toggle)end if aB.IsMobile then local bp,u=
|
EnableCompacting and bk.SidebarCompacted then s:SetSidebarWidth(bk.SidebarCompactWidth)end if bk.AutoShow then task.
|
||||||
aB:AddDraggableButton('Toggle',function()aB:Toggle()end,true),aB:AddDraggableButton('Lock',function(bp)aB.CantDragForced
|
spawn(aB.Toggle)end if aB.IsMobile then local bp,u=aB:AddDraggableButton('Toggle',function()aB:Toggle()end,true),aB:
|
||||||
=not aB.CantDragForced bp:SetText(aB.CantDragForced and'Unlock'or'Lock')end,true)if bk.MobileButtonsSide=='Right'then bp
|
AddDraggableButton('Lock',function(bp)aB.CantDragForced=not aB.CantDragForced bp:SetText(aB.CantDragForced and'Unlock'or
|
||||||
.Button.Position=UDim2.new(1,-6,0,6)bp.Button.AnchorPoint=Vector2.new(1,0)u.Button.Position=UDim2.new(1,-6,0,46)u.Button
|
'Lock')end,true)if bk.MobileButtonsSide=='Right'then bp.Button.Position=UDim2.new(1,-6,0,6)bp.Button.AnchorPoint=Vector2
|
||||||
.AnchorPoint=Vector2.new(1,0)else u.Button.Position=UDim2.fromOffset(6,46)end end k:GetPropertyChangedSignal'Text':
|
.new(1,0)u.Button.Position=UDim2.new(1,-6,0,46)u.Button.AnchorPoint=Vector2.new(1,0)else u.Button.Position=UDim2.
|
||||||
Connect(function()aB:UpdateSearch(k.Text)end)aB:GiveSignal(aj.InputBegan:Connect(function(bp:InputObject)if aB.Unloaded
|
fromOffset(6,46)end end k:GetPropertyChangedSignal'Text':Connect(function()aB:UpdateSearch(k.Text)end)aB:GiveSignal(aj.
|
||||||
then return end if aj:GetFocusedTextBox()then return end if(typeof(aB.ToggleKeybind)=='table'and aB.ToggleKeybind.Type==
|
InputBegan:Connect(function(bp:InputObject)if aB.Unloaded then return end if aj:GetFocusedTextBox()then return end if(
|
||||||
'KeyPicker'and bp.KeyCode.Name==aB.ToggleKeybind.Value)or bp.KeyCode==aB.ToggleKeybind then aB.Toggle()end end))aB:
|
typeof(aB.ToggleKeybind)=='table'and aB.ToggleKeybind.Type=='KeyPicker'and bp.KeyCode.Name==aB.ToggleKeybind.Value)or bp
|
||||||
GiveSignal(aj.WindowFocused:Connect(function()aB.IsRobloxFocused=true end))aB:GiveSignal(aj.WindowFocusReleased:Connect(
|
.KeyCode==aB.ToggleKeybind then aB.Toggle()end end))aB:GiveSignal(aj.WindowFocused:Connect(function()aB.IsRobloxFocused=
|
||||||
function()aB.IsRobloxFocused=false end))return s end local function bj()if aB.Unloaded then return end local bk,bl=aS(),
|
true end))aB:GiveSignal(aj.WindowFocusReleased:Connect(function()aB.IsRobloxFocused=false end))return s end
|
||||||
aS(true)for bm,bn in aw do if bn.Type=='Dropdown'and bn.SpecialType=='Player'then bn:SetValues(bn.ExcludeLocalPlayer and
|
local function bj()if aB.Unloaded then return end local bk,bl=aS(),aS(true)for bm,bn in aw do if bn.Type=='Dropdown'and
|
||||||
bl or bk)end end end local function bk()if aB.Unloaded then return end local bl=aT()for bm,bn in aw do if bn.Type==
|
bn.SpecialType=='Player'then bn:SetValues(bn.ExcludeLocalPlayer and bl or bk)end end end local function bk()if aB.
|
||||||
'Dropdown'and bn.SpecialType=='Team'then bn:SetValues(bl)end end end aB:GiveSignal(ag.PlayerAdded:Connect(bj))aB:
|
Unloaded then return end local bl=aT()for bm,bn in aw do if bn.Type=='Dropdown'and bn.SpecialType=='Team'then bn:
|
||||||
GiveSignal(ag.PlayerRemoving:Connect(bj))aB:GiveSignal(al.ChildAdded:Connect(bk))aB:GiveSignal(al.ChildRemoved:Connect(
|
SetValues(bl)end end end aB:GiveSignal(ag.PlayerAdded:Connect(bj))aB:GiveSignal(ag.PlayerRemoving:Connect(bj))aB:
|
||||||
bk))an().Library=aB return aB end)()end,[9]=function()local aa,ab,ac=a(9)local ad return(function(...)export type Scheme
|
GiveSignal(al.ChildAdded:Connect(bk))aB:GiveSignal(al.ChildRemoved:Connect(bk))an().Library=aB return aB end)()end,[9]=
|
||||||
={BackgroundColor:Color3,MainColor:Color3,AccentColor:Color3,OutlineColor:Color3,FontColor:Color3,Font:Font,RedColor:
|
function()local aa,ab,ac=a(9)local ad return(function(...)export type Scheme={BackgroundColor:Color3,MainColor:Color3,
|
||||||
Color3,DarkColor:Color3,WhiteColor:Color3}export type Icon={Url:string,ImageRectOffset:Vector2,ImageRectSize:Vector2}
|
AccentColor:Color3,OutlineColor:Color3,FontColor:Color3,Font:Font,RedColor:Color3,DarkColor:Color3,WhiteColor:Color3}
|
||||||
export type ContextMenu={Active:boolean,Holder:GuiObject,Menu:GuiObject,List:UIListLayout?,Signal:RBXScriptConnection?,
|
export type Icon={Url:string,ImageRectOffset:Vector2,ImageRectSize:Vector2}export type ContextMenu={Active:boolean,
|
||||||
Size:UDim2|(()->UDim2),Open:(self:ContextMenu)->(),Close:(self:ContextMenu)->(),Toggle:(self:ContextMenu)->(),SetSize:(
|
Holder:GuiObject,Menu:GuiObject,List:UIListLayout?,Signal:RBXScriptConnection?,Size:UDim2|(()->UDim2),Open:(self:
|
||||||
self:ContextMenu,Size:UDim2|(()->UDim2))->()}export type Tooltip={Disabled:boolean,Hovering:boolean,Signals:{[number]:
|
ContextMenu)->(),Close:(self:ContextMenu)->(),Toggle:(self:ContextMenu)->(),SetSize:(self:ContextMenu,Size:UDim2|(()->
|
||||||
RBXScriptConnection},Destroy:(self:Tooltip)->()}export type Notification={Title:string?,Description:string,Time:number|
|
UDim2))->()}export type Tooltip={Disabled:boolean,Hovering:boolean,Signals:{[number]:RBXScriptConnection},Destroy:(self:
|
||||||
Instance,SoundId:string|number?,Steps:number?,Persist:boolean?,Destroyed:boolean,Resize:(self:Notification)->(),
|
Tooltip)->()}export type Notification={Title:string?,Description:string,Time:number|Instance,SoundId:string|number?,
|
||||||
ChangeTitle:(self:Notification,Text:string)->(),ChangeDescription:(self:Notification,Text:string)->(),ChangeStep:(self:
|
Steps:number?,Persist:boolean?,Destroyed:boolean,Resize:(self:Notification)->(),ChangeTitle:(self:Notification,Text:
|
||||||
Notification,NewStep:number)->(),Destroy:(self:Notification)->()}export type KeybindToggle={Normal:boolean,Holder:
|
string)->(),ChangeDescription:(self:Notification,Text:string)->(),ChangeStep:(self:Notification,NewStep:number)->(),
|
||||||
TextButton,Label:TextLabel,Checkbox:Frame,Loaded:boolean,Display:(self:KeybindToggle,State:boolean)->(),SetText:(self:
|
Destroy:(self:Notification)->()}export type KeybindToggle={Normal:boolean,Holder:TextButton,Label:TextLabel,Checkbox:
|
||||||
KeybindToggle,Text:string)->(),SetVisibility:(self:KeybindToggle,Visibility:boolean)->(),SetNormal:(self:KeybindToggle,
|
Frame,Loaded:boolean,Display:(self:KeybindToggle,State:boolean)->(),SetText:(self:KeybindToggle,Text:string)->(),
|
||||||
Normal:boolean)->()}export type DraggableLabel={Label:TextLabel,SetText:(self:DraggableLabel,Text:string)->(),SetVisible
|
SetVisibility:(self:KeybindToggle,Visibility:boolean)->(),SetNormal:(self:KeybindToggle,Normal:boolean)->()}export type
|
||||||
:(self:DraggableLabel,Visible:boolean)->()}export type DraggableButton={Button:TextButton,SetText:(self:DraggableButton,
|
DraggableLabel={Label:TextLabel,SetText:(self:DraggableLabel,Text:string)->(),SetVisible:(self:DraggableLabel,Visible:
|
||||||
Text:string)->()}export type ButtonInfo={Text:string,Func:()->(),DoubleClick:boolean?,Tooltip:string?,DisabledTooltip:
|
boolean)->()}export type DraggableButton={Button:TextButton,SetText:(self:DraggableButton,Text:string)->()}export type
|
||||||
string?,Risky:boolean?,Disabled:boolean?,Visible:boolean?}export type ToggleInfo={Text:string,Default:boolean?,Callback:
|
ButtonInfo={Text:string,Func:()->(),DoubleClick:boolean?,Tooltip:string?,DisabledTooltip:string?,Risky:boolean?,Disabled
|
||||||
((boolean)->())?,Changed:((boolean)->())?,Tooltip:string?,DisabledTooltip:string?,Risky:boolean?,Disabled:boolean?,
|
:boolean?,Visible:boolean?}export type ToggleInfo={Text:string,Default:boolean?,Callback:((boolean)->())?,Changed:((
|
||||||
Visible:boolean?}export type InputInfo={Text:string,Default:string?,Finished:boolean?,Numeric:boolean?,ClearTextOnFocus:
|
boolean)->())?,Tooltip:string?,DisabledTooltip:string?,Risky:boolean?,Disabled:boolean?,Visible:boolean?}export type
|
||||||
boolean?,Placeholder:string?,AllowEmpty:boolean?,EmptyReset:string?,MaxLength:number?,Tooltip:string?,DisabledTooltip:
|
InputInfo={Text:string,Default:string?,Finished:boolean?,Numeric:boolean?,ClearTextOnFocus:boolean?,Placeholder:string?,
|
||||||
string?,Callback:((string)->())?,Changed:((string)->())?,Disabled:boolean?,Visible:boolean?}export type SliderInfo={Text
|
AllowEmpty:boolean?,EmptyReset:string?,MaxLength:number?,Tooltip:string?,DisabledTooltip:string?,Callback:((string)->())
|
||||||
:string,Default:number?,Min:number?,Max:number?,Rounding:number?,Prefix:string?,Suffix:string?,Compact:boolean?,HideMax:
|
?,Changed:((string)->())?,Disabled:boolean?,Visible:boolean?}export type SliderInfo={Text:string,Default:number?,Min:
|
||||||
boolean?,FormatDisplayValue:((Slider,number)->string)?,Tooltip:string?,DisabledTooltip:string?,Callback:((number)->())?,
|
number?,Max:number?,Rounding:number?,Prefix:string?,Suffix:string?,Compact:boolean?,HideMax:boolean?,FormatDisplayValue:
|
||||||
Changed:((number)->())?,Disabled:boolean?,Visible:boolean?}export type DropdownInfo={Text:string?,Values:{any},Default:
|
((Slider,number)->string)?,Tooltip:string?,DisabledTooltip:string?,Callback:((number)->())?,Changed:((number)->())?,
|
||||||
any,DisabledValues:{any}?,Multi:boolean?,MaxVisibleDropdownItems:number?,SpecialType:'Player'|'Team'?,ExcludeLocalPlayer
|
Disabled:boolean?,Visible:boolean?}export type DropdownInfo={Text:string?,Values:{any},Default:any,DisabledValues:{any}?
|
||||||
:boolean?,AllowNull:boolean?,Searchable:boolean?,FormatDisplayValue:((any)->string)?,Tooltip:string?,DisabledTooltip:
|
,Multi:boolean?,MaxVisibleDropdownItems:number?,SpecialType:'Player'|'Team'?,ExcludeLocalPlayer:boolean?,AllowNull:
|
||||||
string?,Callback:((any)->())?,Changed:((any)->())?,Disabled:boolean?,Visible:boolean?}export type ViewportInfo={Object:
|
boolean?,Searchable:boolean?,FormatDisplayValue:((any)->string)?,Tooltip:string?,DisabledTooltip:string?,Callback:((any
|
||||||
BasePart|Model,Camera:Camera?,Clone:boolean?,AutoFocus:boolean?,Interactive:boolean?,Height:number?,Visible:boolean?}
|
)->())?,Changed:((any)->())?,Disabled:boolean?,Visible:boolean?}export type ViewportInfo={Object:BasePart|Model,Camera:
|
||||||
export type ImageInfo={Image:string,Transparency:number?,Color:Color3?,RectOffset:Vector2?,RectSize:Vector2?,ScaleType:
|
Camera?,Clone:boolean?,AutoFocus:boolean?,Interactive:boolean?,Height:number?,Visible:boolean?}export type ImageInfo={
|
||||||
Enum.ScaleType?,Height:number?,Visible:boolean?}export type VideoInfo={Video:string,Looped:boolean?,Playing:boolean?,
|
Image:string,Transparency:number?,Color:Color3?,RectOffset:Vector2?,RectSize:Vector2?,ScaleType:Enum.ScaleType?,Height:
|
||||||
Volume:number?,Height:number?,Visible:boolean?}export type UIPassthroughInfo={Instance:GuiBase2d,Height:number?,Visible:
|
number?,Visible:boolean?}export type VideoInfo={Video:string,Looped:boolean?,Playing:boolean?,Volume:number?,Height:
|
||||||
boolean?}export type KeyPickerInfo={Text:string,Default:string?,Mode:'Always'|'Toggle'|'Hold'|'Press'?,Modes:{'Always'|
|
number?,Visible:boolean?}export type UIPassthroughInfo={Instance:GuiBase2d,Height:number?,Visible:boolean?}export type
|
||||||
'Toggle'|'Hold'|'Press'}?,SyncToggleState:boolean?,NoUI:boolean?,WaitForCallback:boolean?,Callback:((boolean)->())?,
|
KeyPickerInfo={Text:string,Default:string?,Mode:'Always'|'Toggle'|'Hold'|'Press'?,Modes:{'Always'|'Toggle'|'Hold'|
|
||||||
ChangedCallback:((Enum.KeyCode|Enum.UserInputType)->())?,Changed:((Enum.KeyCode|Enum.UserInputType)->())?,Clicked:(()->(
|
'Press'}?,SyncToggleState:boolean?,NoUI:boolean?,WaitForCallback:boolean?,Callback:((boolean)->())?,ChangedCallback:((
|
||||||
))?}export type ColorPickerInfo={Default:Color3?,Transparency:number?,Title:string?,Callback:((Color3)->())?,Changed:((
|
Enum.KeyCode|Enum.UserInputType)->())?,Changed:((Enum.KeyCode|Enum.UserInputType)->())?,Clicked:(()->())?}export type
|
||||||
Color3)->())?}export type KeyPicker={Text:string,Value:string,Toggled:boolean,Mode:'Always'|'Toggle'|'Hold'|'Press',
|
ColorPickerInfo={Default:Color3?,Transparency:number?,Title:string?,Callback:((Color3)->())?,Changed:((Color3)->())?}
|
||||||
SyncToggleState:boolean,Callback:(Toggled:boolean)->(),ChangedCallback:(Key:Enum.KeyCode|Enum.UserInputType)->(),Changed
|
export type KeyPicker={Text:string,Value:string,Toggled:boolean,Mode:'Always'|'Toggle'|'Hold'|'Press',SyncToggleState:
|
||||||
:(Key:Enum.KeyCode|Enum.UserInputType)->(),Clicked:()->(),Type:'KeyPicker',Menu:ContextMenu,Display:(self:KeyPicker)->()
|
boolean,Callback:(Toggled:boolean)->(),ChangedCallback:(Key:Enum.KeyCode|Enum.UserInputType)->(),Changed:(Key:Enum.
|
||||||
,Update:(self:KeyPicker)->(),GetState:(self:KeyPicker)->boolean,OnChanged:(self:KeyPicker,Func:(Key:Enum.KeyCode|Enum.
|
KeyCode|Enum.UserInputType)->(),Clicked:()->(),Type:'KeyPicker',Menu:ContextMenu,Display:(self:KeyPicker)->(),Update:(
|
||||||
|
self:KeyPicker)->(),GetState:(self:KeyPicker)->boolean,OnChanged:(self:KeyPicker,Func:(Key:Enum.KeyCode|Enum.
|
||||||
UserInputType)->())->(),OnClick:(self:KeyPicker,Func:()->())->(),DoClick:(self:KeyPicker)->(),SetValue:(self:KeyPicker,
|
UserInputType)->())->(),OnClick:(self:KeyPicker,Func:()->())->(),DoClick:(self:KeyPicker)->(),SetValue:(self:KeyPicker,
|
||||||
Data:{string})->(),SetText:(self:KeyPicker,Text:string)->()}export type ColorPicker={Value:Color3,Transparency:number,
|
Data:{string})->(),SetText:(self:KeyPicker,Text:string)->()}export type ColorPicker={Value:Color3,Transparency:number,
|
||||||
Title:string?,Callback:(Value:Color3)->(),Changed:(Value:Color3)->(),Type:'ColorPicker',Hue:number,Sat:number,Vib:number
|
Title:string?,Callback:(Value:Color3)->(),Changed:(Value:Color3)->(),Type:'ColorPicker',Hue:number,Sat:number,Vib:number
|
||||||
@@ -2447,24 +2446,25 @@ CreateWindow(ai.Window)print'[LOG] Adding tabs to window...'print('[DEBUG] Windo
|
|||||||
'rbxassetid://6031071053'),Player=ay('user','rbxassetid://6031071508'),Aimbot=ay('crosshair','rbxassetid://6031071320'),
|
'rbxassetid://6031071053'),Player=ay('user','rbxassetid://6031071508'),Aimbot=ay('crosshair','rbxassetid://6031071320'),
|
||||||
ItemSpawner=ay('box','rbxassetid://6031071146'),Visual=ay('palette','rbxassetid://6031071569'),Utils=ay('wrench',
|
ItemSpawner=ay('box','rbxassetid://6031071146'),Visual=ay('palette','rbxassetid://6031071569'),Utils=ay('wrench',
|
||||||
'rbxassetid://6031071626'),Fly=ay('wind','rbxassetid://6031071087'),Noclip=ay('ghost','rbxassetid://6031071453'),
|
'rbxassetid://6031071626'),Fly=ay('wind','rbxassetid://6031071087'),Noclip=ay('ghost','rbxassetid://6031071453'),
|
||||||
UISettings=ay('sliders-horizontal','rbxassetid://6031071591')}local aB={ESP=az:AddTab('ESP',aA.ESP),Player=az:AddTab(
|
UISettings=ay('sliders-horizontal','rbxassetid://6031071591')}local function aB(aC,aD)local aE,aF=pcall(function()return
|
||||||
'Player',aA.Player),Aimbot=az:AddTab('Aimbot',aA.Aimbot),ItemSpawner=az:AddTab('Item Spawner',aA.ItemSpawner),Visual=az:
|
az:AddTab(aC,aD)end)if not aE then warn(string.format('[ERROR] Failed to add tab %q: %s',aC,aF))return nil end return aF
|
||||||
AddTab('Visual',aA.Visual),Utils=az:AddTab('Utils',aA.Utils),Fly=az:AddTab('Fly',aA.Fly),Noclip=az:AddTab('Noclip',aA.
|
end local aC={ESP=aB('ESP',aA.ESP),Player=aB('Player',aA.Player),Aimbot=aB('Aimbot',aA.Aimbot),ItemSpawner=aB(
|
||||||
Noclip),['UI Settings']=az:AddTab('UI Settings',aA.UISettings)}pcall(function()ag:PreloadAsync{aA.ESP,aA.Player,aA.
|
'Item Spawner',aA.ItemSpawner),Visual=aB('Visual',aA.Visual),Utils=aB('Utils',aA.Utils),Fly=aB('Fly',aA.Fly),Noclip=aB(
|
||||||
Aimbot,aA.ItemSpawner,aA.Visual,aA.Utils,aA.Fly,aA.Noclip,aA.UISettings}end)print('[DEBUG] Tabs table created with',#aB,
|
'Noclip',aA.Noclip),['UI Settings']=aB('UI Settings',aA.UISettings)}pcall(function()ag:PreloadAsync{aA.ESP,aA.Player,aA.
|
||||||
'entries')local function aC(aD,aE,...)if not aB[aD]then warn(string.format(
|
Aimbot,aA.ItemSpawner,aA.Visual,aA.Utils,aA.Fly,aA.Noclip,aA.UISettings}end)print('[DEBUG] Tabs table created with',#aC,
|
||||||
'[ERROR] Tab %q not created (nil). Skipping build.',aD))return end local aF,aG=pcall(aE,...)if not aF then warn(string.
|
'entries')local function aD(aE,aF,...)if not aC[aE]then warn(string.format(
|
||||||
format('[ERROR] Failed to build tab %q: %s',aD,aG))end end print'[LOG] Building ESP tab...'aC('ESP',aj.build,av,aB)print
|
'[ERROR] Tab %q not created (nil). Skipping build.',aE))return end local aG,aH=pcall(aF,...)if not aG then warn(string.
|
||||||
'[LOG] Building Player tab...'aC('Player',am.build,av,aB)print'[LOG] Building Aimbot tab...'aC('Aimbot',an.build,av,aB)
|
format('[ERROR] Failed to build tab %q: %s',aE,aH))end end print'[LOG] Building ESP tab...'aD('ESP',aj.build,av,aC)print
|
||||||
print'[LOG] Building Item Spawner tab...'aC('ItemSpawner',ao.build,av,aB)print'[LOG] Building Visual tab...'aC('Visual',
|
'[LOG] Building Player tab...'aD('Player',am.build,av,aC)print'[LOG] Building Aimbot tab...'aD('Aimbot',an.build,av,aC)
|
||||||
ap.build,av,aB)print'[LOG] Building Utils tab...'aC('Utils',aq.build,av,aB)print'[DEBUG] Utils tab built successfully'
|
print'[LOG] Building Item Spawner tab...'aD('ItemSpawner',ao.build,av,aC)print'[LOG] Building Visual tab...'aD('Visual',
|
||||||
print'[LOG] Building Fly tab...'aC('Fly',ak.build,av,aB)print'[DEBUG] Fly tab built successfully'print
|
ap.build,av,aC)print'[LOG] Building Utils tab...'aD('Utils',aq.build,av,aC)print'[DEBUG] Utils tab built successfully'
|
||||||
'[LOG] Building Noclip tab...'aC('Noclip',al.build,av,aB)print'[DEBUG] Noclip tab built successfully'print
|
print'[LOG] Building Fly tab...'aD('Fly',ak.build,av,aC)print'[DEBUG] Fly tab built successfully'print
|
||||||
'[LOG] Building UI Settings tab...'aC('UI Settings',ar.build,av,aB)print'[DEBUG] UI Settings tab built successfully'
|
'[LOG] Building Noclip tab...'aD('Noclip',al.build,av,aC)print'[DEBUG] Noclip tab built successfully'print
|
||||||
|
'[LOG] Building UI Settings tab...'aD('UI Settings',ar.build,av,aC)print'[DEBUG] UI Settings tab built successfully'
|
||||||
print'[LOG] All tabs initialized successfully'print'[LOG] Obsidian Admin Panel ready!'print
|
print'[LOG] All tabs initialized successfully'print'[LOG] Obsidian Admin Panel ready!'print
|
||||||
'[LOG] Setting up unload mechanism...'local aD=getgenv and getgenv()or _G aD.unloadObsidian=function()print
|
'[LOG] Setting up unload mechanism...'local aE=getgenv and getgenv()or _G aE.unloadObsidian=function()print
|
||||||
'[LOG] Unload requested, unloading UI...'local aE,aF=pcall(function()if av and not av.Unloaded then av:Unload()end end)
|
'[LOG] Unload requested, unloading UI...'local aF,aG=pcall(function()if av and not av.Unloaded then av:Unload()end end)
|
||||||
if aE then print'[LOG] UI unloaded successfully'else print('[ERROR] Failed to unload UI:',aF)end end av:OnUnload(
|
if aF then print'[LOG] UI unloaded successfully'else print('[ERROR] Failed to unload UI:',aG)end end av:OnUnload(
|
||||||
function()if getgenv then getgenv().unloadObsidian=nil getgenv().Library=nil else _G.unloadObsidian=nil _G.Library=nil
|
function()if getgenv then getgenv().unloadObsidian=nil getgenv().Library=nil else _G.unloadObsidian=nil _G.Library=nil
|
||||||
end end)print[[[LOG] Unload mechanism ready. Use: getgenv().unloadObsidian() or _G.unloadObsidian()]]end return at end)(
|
end end)print[[[LOG] Unload mechanism ready. Use: getgenv().unloadObsidian() or _G.unloadObsidian()]]end return at end)(
|
||||||
)end,[12]=function()local aa,ab,ac=a(12)local ad return(function(...)local ae,af=
|
)end,[12]=function()local aa,ab,ac=a(12)local ad return(function(...)local ae,af=
|
||||||
@@ -3725,12 +3725,12 @@ Brightness=1 ah:Notify{Title='Night Vision',Description='Effekte entfernt.',Time
|
|||||||
do table.insert(af.Icons,ag)end function af.GetAsset(ag)local ah=tostring(ag):lower()local ai,aj=ah,ah if not ah:match
|
do table.insert(af.Icons,ag)end function af.GetAsset(ag)local ah=tostring(ag):lower()local ai,aj=ah,ah if not ah:match
|
||||||
'^lucide%-'then ai='lucide-'..ah else aj=ah:gsub('^lucide%-','')end local ak=ae[ah]or ae[ai]or ae[aj]if ak==nil then
|
'^lucide%-'then ai='lucide-'..ah else aj=ah:gsub('^lucide%-','')end local ak=ae[ah]or ae[ai]or ae[aj]if ak==nil then
|
||||||
return nil end return{Url=ak,ImageRectOffset=Vector2.zero,ImageRectSize=Vector2.zero,Custom=false}end return af end)()
|
return nil end return{Url=ak,ImageRectOffset=Vector2.zero,ImageRectSize=Vector2.zero,Custom=false}end return af end)()
|
||||||
end},{{1,1,{'waxbundle'},{{10,1,{'ObsidianUI'},{{30,1,{'utils'},{{31,2,{'icons'}}}},{13,2,{'UIConfig'}},{18,1,{'tabs'},{
|
end},{{1,1,{'waxbundle'},{{9,2,{'ObsidianLibrary.d'}},{7,2,{'MainModule'}},{10,1,{'ObsidianUI'},{{14,1,{'scripts'},{{15,
|
||||||
{21,2,{'ESPTab'}},{23,2,{'ItemSpawnerTab'}},{19,2,{'AimbotTab'}},{25,2,{'MainTab'}},{20,2,{'AutoFarmTab'}},{28,2,{
|
2,{'CustomESP'}},{16,2,{'FlyController'}},{17,2,{'NoclipController'}}}},{30,1,{'utils'},{{31,2,{'icons'}}}},{18,1,{
|
||||||
'UtilsTab'}},{24,2,{'LocalTab'}},{22,2,{'FlyTab'}},{29,2,{'VisualTab'}},{27,2,{'UISettingsTab'}},{26,2,{'NoclipTab'}}}},
|
'tabs'},{{20,2,{'AutoFarmTab'}},{22,2,{'FlyTab'}},{24,2,{'LocalTab'}},{27,2,{'UISettingsTab'}},{29,2,{'VisualTab'}},{26,
|
||||||
{14,1,{'scripts'},{{15,2,{'CustomESP'}},{16,2,{'FlyController'}},{17,2,{'NoclipController'}}}},{11,2,{'Bootstrap'}},{12,
|
2,{'NoclipTab'}},{28,2,{'UtilsTab'}},{19,2,{'AimbotTab'}},{25,2,{'MainTab'}},{23,2,{'ItemSpawnerTab'}},{21,2,{'ESPTab'}}
|
||||||
2,{'FallbackIcons'}}}},{9,2,{'ObsidianLibrary.d'}},{8,2,{'ObsidianLibrary'}},{2,4,{'BundleEntry'}},{7,2,{'MainModule'}},
|
}},{13,2,{'UIConfig'}},{12,2,{'FallbackIcons'}},{11,2,{'Bootstrap'}}}},{6,2,{'Loader'}},{8,2,{'ObsidianLibrary'}},{2,4,{
|
||||||
{3,2,{'Init'},{{5,2,{'ObsidianLibrary'}},{4,2,{'ObsidianLibrary.d'}}}},{6,2,{'Loader'}}}}},'0.4.2','WaxRuntime',string,
|
'BundleEntry'}},{3,2,{'Init'},{{4,2,{'ObsidianLibrary.d'}},{5,2,{'ObsidianLibrary'}}}}}}},'0.4.2','WaxRuntime',string,
|
||||||
task,setmetatable,error,next,table,unpack,coroutine,script,type,require,pcall,tostring,tonumber,_VERSION local au,av,aw,
|
task,setmetatable,error,next,table,unpack,coroutine,script,type,require,pcall,tostring,tonumber,_VERSION local au,av,aw,
|
||||||
ax,ay,az,aA=aj.insert,aj.remove,aj.freeze or function(au)return au end,al.wrap,ae.sub,ae.match,ae.gmatch if as and ay(as
|
ax,ay,az,aA=aj.insert,aj.remove,aj.freeze or function(au)return au end,al.wrap,ae.sub,ae.match,ae.gmatch if as and ay(as
|
||||||
,1,4)=='Lune'then local aB,aC=ap(ao,'@lune/task')if aB and aC then af=aC end end local aB=af and af.defer local aC,aD,aE
|
,1,4)=='Lune'then local aB,aC=ap(ao,'@lune/task')if aB and aC then af=aC end end local aB=af and af.defer local aC,aD,aE
|
||||||
|
|||||||
Reference in New Issue
Block a user