Run it
Copy the script and paste it into your executor.
ImpostorGui = .()
Background = .()
DeleteGui = .()
DeleteGuiCorners = .()
HideGui = .()
HideGuiCorners = .()
Title = .()
EmptynessGui = .()
Line = .()
NextPage = .()
PrevPage = .()
Pages = .()
Page1 = .()
ClickTPCTRL = .()
ClickTPINV = .()
CustomConsole = .()
Fly = .()
GodMode = .()
NoClip = .()
RemoveArms = .()
RemoveLegs = .()
TargetTP = .()
UnlockBuilds = .()
targetNameInput = .()
Page1Text = .()
BTools = .()
Page2 = .()
InfJump = .()
FPSBoost = .()
SetJumpPower = .()
RemoteSpy = .()
ShiftSprint = .()
Explorer = .()
HitboxExpander = .()
AutoClick = .()
SetWalkSpeed = .()
AntiAFK = .()
NumberInput = .()
Page2Text = .()
GodMode2 = .()
UIPageLayout = .()
CustomConsoleBG = .()
LogsText = .()
ClearLogs = .()
CopyLogs = .()
Page3 = .()
uno = .()
dos = .()
tres = .()
cuatro = .()
cinco = .()
seis = .()
siete = .()
ocho = .()
nueve = .()
diez = .()
onceInput = .()
Page3Text = .()
doce = .()
top =
timer =
(leng, seed)
array = {}
i = , leng
leNumberPlus = (.((i*)*(^)))
.(seed+leNumberPlus)
array[i] = .(.(, ))
.(array)
ImpostorGui.Name = (, )
ImpostorGui.Parent = .Players.LocalPlayer:()
Background.Name = (, )
Background.Parent = ImpostorGui
Background.BackgroundColor3 = .(, , )
Background.BorderSizePixel =
Background.Position = .(, , , )
Background.Size = .(, , , )
Background.ZIndex = -
DeleteGui.Name = (, )
DeleteGui.Parent = Background
DeleteGui.BackgroundColor3 = .(, , )
DeleteGui.BackgroundTransparency =
DeleteGui.BorderColor3 = .(, , )
DeleteGui.BorderSizePixel =
DeleteGui.Position = .(, , , )
DeleteGui.Selectable =
DeleteGui.Size = .(, , , )
DeleteGui.Font = .Font.Ubuntu
DeleteGui.Text =
DeleteGui.TextColor3 = .(, , )
DeleteGui.TextSize =
DeleteGui.TextWrapped =
DeleteGuiCorners.CornerRadius = .(, )
DeleteGuiCorners.Name = (, )
DeleteGuiCorners.Parent = DeleteGui
HideGui.Name = (, )
HideGui.Parent = Background
HideGui.BackgroundColor3 = .(, , )
HideGui.BackgroundTransparency =
HideGui.BorderColor3 = .(, , )
HideGui.BorderSizePixel =
HideGui.Position = .(, , , )
HideGui.Size = .(, , , )
HideGui.Font = .Font.Ubuntu
HideGui.Text =
HideGui.TextColor3 = .(, , )
HideGui.TextSize =
HideGui.TextWrapped =
HideGuiCorners.CornerRadius = .(, )
HideGuiCorners.Name = (, )
HideGuiCorners.Parent = HideGui
Title.Name = (, )
Title.Parent = Background
Title.BackgroundColor3 = .(, , )
Title.BackgroundTransparency =
Title.BorderColor3 = .(, , )
Title.BorderSizePixel =
Title.Size = .(, , , )
EmptynessGui.Name = (, )
EmptynessGui.Parent = Title
EmptynessGui.BackgroundColor3 = .(, , )
EmptynessGui.BackgroundTransparency =
EmptynessGui.BorderColor3 = .(, , )
EmptynessGui.BorderSizePixel =
EmptynessGui.Size = .(, , , )
EmptynessGui.Font = .Font.Ubuntu
EmptynessGui.Text =
EmptynessGui.TextSize =
EmptynessGui.TextWrapped =
Line.Name = (, )
Line.Parent = Title
Line.BackgroundColor3 = .(, , )
Line.BorderSizePixel =
Line.Position = .(, , -, )
Line.Size = .(, , , )
Line.ZIndex =
NextPage.Name = (, )
NextPage.Parent = Background
NextPage.BackgroundColor3 = .(, , )
NextPage.BackgroundTransparency =
NextPage.BorderColor3 = .(, , )
NextPage.Position = .(, , , )
NextPage.Selectable =
NextPage.Size = .(, , , )
NextPage.Font = .Font.Ubuntu
NextPage.Text =
NextPage.TextColor3 = .(, , )
NextPage.TextSize =
NextPage.TextWrapped =
PrevPage.Name = (, )
PrevPage.Parent = Background
PrevPage.BackgroundColor3 = .(, , )
PrevPage.BackgroundTransparency =
PrevPage.BorderColor3 = .(, , )
PrevPage.Position = .(, , , )
PrevPage.Selectable =
PrevPage.Size = .(, , , )
PrevPage.Font = .Font.Ubuntu
PrevPage.Text =
PrevPage.TextColor3 = .(, , )
PrevPage.TextSize =
PrevPage.TextWrapped =
Pages.Name = (, )
Pages.Parent = Background
Pages.BackgroundColor3 = .(, , )
Pages.BackgroundTransparency =
Pages.ClipsDescendants =
Pages.Size = .(, , , )
Page1.Name = (, )
Page1.Parent = Pages
Page1.BackgroundColor3 = .(, , )
Page1.BackgroundTransparency =
Page1.BorderColor3 = .(, , )
Page1.BorderSizePixel =
Page1.Position = .(-, , -, )
Page1.Size = .(, , , )
Page1.ZIndex = -
ClickTPCTRL.Name = (, )
ClickTPCTRL.Parent = Page1
ClickTPCTRL.BackgroundColor3 = .(, , )
ClickTPCTRL.BackgroundTransparency =
ClickTPCTRL.BorderColor3 = .(, , )
ClickTPCTRL.Position = .(, , , )
ClickTPCTRL.Size = .(, , , )
ClickTPCTRL.Font = .Font.Ubuntu
ClickTPCTRL.Text =
ClickTPCTRL.TextColor3 = .(, , )
ClickTPCTRL.TextSize =
ClickTPINV.Name = (, )
ClickTPINV.Parent = Page1
ClickTPINV.BackgroundColor3 = .(, , )
ClickTPINV.BackgroundTransparency =
ClickTPINV.BorderColor3 = .(, , )
ClickTPINV.Position = .(, , , )
ClickTPINV.Size = .(, , , )
ClickTPINV.Font = .Font.Ubuntu
ClickTPINV.Text =
ClickTPINV.TextColor3 = .(, , )
ClickTPINV.TextSize =
CustomConsole.Name = (, )
CustomConsole.Parent = Page1
CustomConsole.BackgroundColor3 = .(, , )
CustomConsole.BackgroundTransparency =
CustomConsole.BorderColor3 = .(, , )
CustomConsole.Position = .(, , , )
CustomConsole.Size = .(, , , )
CustomConsole.Font = .Font.Ubuntu
CustomConsole.Text =
CustomConsole.TextColor3 = .(, , )
CustomConsole.TextSize =
CustomConsole.TextWrapped =
Fly.Name = (, )
Fly.Parent = Page1
Fly.BackgroundColor3 = .(, , )
Fly.BackgroundTransparency =
Fly.BorderColor3 = .(, , )
Fly.Position = .(, , , )
Fly.Size = .(, , , )
Fly.Font = .Font.Ubuntu
Fly.Text =
Fly.TextColor3 = .(, , )
Fly.TextSize =
GodMode.Name = (, )
GodMode.Parent = Page1
GodMode.BackgroundColor3 = .(, , )
GodMode.BackgroundTransparency =
GodMode.BorderColor3 = .(, , )
GodMode.Position = .(, , , )
GodMode.Size = .(, , , )
GodMode.Font = .Font.Ubuntu
GodMode.Text =
GodMode.TextColor3 = .(, , )
GodMode.TextSize =
NoClip.Name = (, )
NoClip.Parent = Page1
NoClip.BackgroundColor3 = .(, , )
NoClip.BackgroundTransparency =
NoClip.BorderColor3 = .(, , )
NoClip.Position = .(, , , )
NoClip.Size = .(, , , )
NoClip.Font = .Font.Ubuntu
NoClip.Text =
NoClip.TextColor3 = .(, , )
NoClip.TextSize =
RemoveArms.Name = (, )
RemoveArms.Parent = Page1
RemoveArms.BackgroundColor3 = .(, , )
RemoveArms.BackgroundTransparency =
RemoveArms.BorderColor3 = .(, , )
RemoveArms.Position = .(, , , )
RemoveArms.Size = .(, , , )
RemoveArms.Font = .Font.Ubuntu
RemoveArms.Text =
RemoveArms.TextColor3 = .(, , )
RemoveArms.TextSize =
RemoveLegs.Name = (, )
RemoveLegs.Parent = Page1
RemoveLegs.BackgroundColor3 = .(, , )
RemoveLegs.BackgroundTransparency =
RemoveLegs.BorderColor3 = .(, , )
RemoveLegs.Position = .(, , , )
RemoveLegs.Size = .(, , , )
RemoveLegs.Font = .Font.Ubuntu
RemoveLegs.Text =
RemoveLegs.TextColor3 = .(, , )
RemoveLegs.TextSize =
TargetTP.Name = (, )
TargetTP.Parent = Page1
TargetTP.BackgroundColor3 = .(, , )
TargetTP.BackgroundTransparency =
TargetTP.BorderColor3 = .(, , )
TargetTP.Position = .(, , , )
TargetTP.Size = .(, , , )
TargetTP.Font = .Font.Ubuntu
TargetTP.Text =
TargetTP.TextColor3 = .(, , )
TargetTP.TextSize =
UnlockBuilds.Name = (, )
UnlockBuilds.Parent = Page1
UnlockBuilds.BackgroundColor3 = .(, , )
UnlockBuilds.BackgroundTransparency =
UnlockBuilds.BorderColor3 = .(, , )
UnlockBuilds.Position = .(, , , )
UnlockBuilds.Size = .(, , , )
UnlockBuilds.Font = .Font.Ubuntu
UnlockBuilds.Text =
UnlockBuilds.TextColor3 = .(, , )
UnlockBuilds.TextSize =
targetNameInput.Name = (, )
targetNameInput.Parent = Page1
targetNameInput.BackgroundColor3 = .(, , )
targetNameInput.Position = .(, , , )
targetNameInput.Size = .(, , , )
targetNameInput.ClearTextOnFocus =
targetNameInput.Font = .Font.Ubuntu
targetNameInput.Text =
targetNameInput.TextSize =
targetNameInput.TextWrapped =
Page1Text.Name = (, )
Page1Text.Parent = Page1
Page1Text.BackgroundColor3 = .(, , )
Page1Text.BackgroundTransparency =
Page1Text.BorderColor3 = .(, , )
Page1Text.Position = .(, , , )
Page1Text.Size = .(, , , )
Page1Text.Font = .Font.Ubuntu
Page1Text.Text =
Page1Text.TextColor3 = .(, , )
Page1Text.TextSize =
BTools.Name = (, )
BTools.Parent = Page1
BTools.BackgroundColor3 = .(, , )
BTools.BackgroundTransparency =
BTools.BorderColor3 = .(, , )
BTools.Position = .(, , , )
BTools.Size = .(, , , )
BTools.AutoButtonColor =
BTools.Font = .Font.Ubuntu
BTools.Text =
BTools.TextColor3 = .(, , )
BTools.TextSize =
BTools.TextWrapped =
Page2.Name = (, )
Page2.Parent = Pages
Page2.BackgroundColor3 = .(, , )
Page2.BackgroundTransparency =
Page2.BorderColor3 = .(, , )
Page2.BorderSizePixel =
Page2.Position = .(-, , -, )
Page2.Size = .(, , , )
Page2.ZIndex = -
InfJump.Name = (, )
InfJump.Parent = Page2
InfJump.BackgroundColor3 = .(, , )
InfJump.BackgroundTransparency =
InfJump.BorderColor3 = .(, , )
InfJump.Position = .(, , , )
InfJump.Size = .(, , , )
InfJump.Font = .Font.Ubuntu
InfJump.Text =
InfJump.TextColor3 = .(, , )
InfJump.TextSize =
FPSBoost.Name = (, )
FPSBoost.Parent = Page2
FPSBoost.BackgroundColor3 = .(, , )
FPSBoost.BackgroundTransparency =
FPSBoost.BorderColor3 = .(, , )
FPSBoost.Position = .(, , , )
FPSBoost.Size = .(, , , )
FPSBoost.Font = .Font.Ubuntu
FPSBoost.Text =
FPSBoost.TextColor3 = .(, , )
FPSBoost.TextSize =
SetJumpPower.Name = (, )
SetJumpPower.Parent = Page2
SetJumpPower.BackgroundColor3 = .(, , )
SetJumpPower.BackgroundTransparency =
SetJumpPower.BorderColor3 = .(, , )
SetJumpPower.Position = .(, , , )
SetJumpPower.Size = .(, , , )
SetJumpPower.Font = .Font.Ubuntu
SetJumpPower.Text =
SetJumpPower.TextColor3 = .(, , )
SetJumpPower.TextSize =
SetJumpPower.TextWrapped =
RemoteSpy.Name = (, )
RemoteSpy.Parent = Page2
RemoteSpy.BackgroundColor3 = .(, , )
RemoteSpy.BackgroundTransparency =
RemoteSpy.BorderColor3 = .(, , )
RemoteSpy.Position = .(, , , )
RemoteSpy.Size = .(, , , )
RemoteSpy.Font = .Font.Ubuntu
RemoteSpy.Text =
RemoteSpy.TextColor3 = .(, , )
RemoteSpy.TextSize =
ShiftSprint.Name = (, )
ShiftSprint.Parent = Page2
ShiftSprint.BackgroundColor3 = .(, , )
ShiftSprint.BackgroundTransparency =
ShiftSprint.BorderColor3 = .(, , )
ShiftSprint.Position = .(, , , )
ShiftSprint.Size = .(, , , )
ShiftSprint.Font = .Font.Ubuntu
ShiftSprint.Text =
ShiftSprint.TextColor3 = .(, , )
ShiftSprint.TextSize =
Explorer.Name = (, )
Explorer.Parent = Page2
Explorer.BackgroundColor3 = .(, , )
Explorer.BackgroundTransparency =
Explorer.BorderColor3 = .(, , )
Explorer.Position = .(, , , )
Explorer.Size = .(, , , )
Explorer.Font = .Font.Ubuntu
Explorer.Text =
Explorer.TextColor3 = .(, , )
Explorer.TextSize =
HitboxExpander.Name = (, )
HitboxExpander.Parent = Page2
HitboxExpander.BackgroundColor3 = .(, , )
HitboxExpander.BackgroundTransparency =
HitboxExpander.BorderColor3 = .(, , )
HitboxExpander.Position = .(, , , )
HitboxExpander.Size = .(, , , )
HitboxExpander.Font = .Font.Ubuntu
HitboxExpander.Text =
HitboxExpander.TextColor3 = .(, , )
HitboxExpander.TextSize =
AutoClick.Name = (, )
AutoClick.Parent = Page2
AutoClick.BackgroundColor3 = .(, , )
AutoClick.BackgroundTransparency =
AutoClick.BorderColor3 = .(, , )
AutoClick.Position = .(, , , )
AutoClick.Size = .(, , , )
AutoClick.Font = .Font.Ubuntu
AutoClick.Text =
AutoClick.TextColor3 = .(, , )
AutoClick.TextSize =
SetWalkSpeed.Name = (, )
SetWalkSpeed.Parent = Page2
SetWalkSpeed.BackgroundColor3 = .(, , )
SetWalkSpeed.BackgroundTransparency =
SetWalkSpeed.BorderColor3 = .(, , )
SetWalkSpeed.Position = .(, , , )
SetWalkSpeed.Size = .(, , , )
SetWalkSpeed.Font = .Font.Ubuntu
SetWalkSpeed.Text =
SetWalkSpeed.TextColor3 = .(, , )
SetWalkSpeed.TextSize =
AntiAFK.Name = (, )
AntiAFK.Parent = Page2
AntiAFK.BackgroundColor3 = .(, , )
AntiAFK.BackgroundTransparency =
AntiAFK.BorderColor3 = .(, , )
AntiAFK.Position = .(, , , )
AntiAFK.Size = .(, , , )
AntiAFK.SizeConstraint = .SizeConstraint.RelativeXX
AntiAFK.Font = .Font.Ubuntu
AntiAFK.Text =
AntiAFK.TextColor3 = .(, , )
AntiAFK.TextSize =
NumberInput.Name = (, )
NumberInput.Parent = Page2
NumberInput.BackgroundColor3 = .(, , )
NumberInput.Position = .(, , , )
NumberInput.Size = .(, , , )
NumberInput.Font = .Font.Ubuntu
NumberInput.ClearTextOnFocus =
NumberInput.Text =
NumberInput.TextSize =
NumberInput.TextWrapped =
Page2Text.Name = (, )
Page2Text.Parent = Page2
Page2Text.BackgroundColor3 = .(, , )
Page2Text.BackgroundTransparency =
Page2Text.BorderColor3 = .(, , )
Page2Text.Position = .(, , , )
Page2Text.Size = .(, , , )
Page2Text.Font = .Font.Ubuntu
Page2Text.Text =
Page2Text.TextColor3 = .(, , )
Page2Text.TextSize =
GodMode2.Name = (, )
GodMode2.Parent = Page2
GodMode2.BackgroundColor3 = .(, , )
GodMode2.BackgroundTransparency =
GodMode2.BorderColor3 = .(, , )
GodMode2.Position = .(, , , )
GodMode2.Size = .(, , , )
GodMode2.AutoButtonColor =
GodMode2.Font = .Font.Ubuntu
GodMode2.Text =
GodMode2.TextColor3 = .(, , )
GodMode2.TextSize =
GodMode2.TextWrapped =
UIPageLayout.Parent = Pages
UIPageLayout.SortOrder = .SortOrder.LayoutOrder
UIPageLayout.EasingStyle = .EasingStyle.Exponential
CustomConsoleBG.Name = (, )
CustomConsoleBG.Parent = ImpostorGui
CustomConsoleBG.BackgroundColor3 = .(, , )
CustomConsoleBG.BorderColor3 = .(, , )
CustomConsoleBG.BorderSizePixel =
CustomConsoleBG.Position = .(, , , )
CustomConsoleBG.Size = .(, , , )
CustomConsoleBG.Visible =
CustomConsoleBG.ZIndex = -
LogsText.Name = (, )
LogsText.Parent = CustomConsoleBG
LogsText.BackgroundColor3 = .(, , )
LogsText.BorderColor3 = .(, , )
LogsText.BorderSizePixel =
LogsText.Selectable =
LogsText.TextEditable =
LogsText.Size = .(, , , )
LogsText.ClearTextOnFocus =
LogsText.Font = .Font.Ubuntu
LogsText.MultiLine =
LogsText.PlaceholderColor3 = .(, , )
LogsText.Text =
LogsText.TextColor3 = .(, , )
LogsText.TextSize =
LogsText.TextWrapped =
ClearLogs.Name = (, )
ClearLogs.Parent = CustomConsoleBG
ClearLogs.BackgroundColor3 = .(, , )
ClearLogs.BackgroundTransparency =
ClearLogs.BorderColor3 = .(, , )
ClearLogs.Position = .(, , , )
ClearLogs.Size = .(, , , )
ClearLogs.Font = .Font.Ubuntu
ClearLogs.Text =
ClearLogs.TextColor3 = .(, , )
ClearLogs.TextSize =
CopyLogs.Name = (, )
CopyLogs.Parent = CustomConsoleBG
CopyLogs.BackgroundColor3 = .(, , )
CopyLogs.BackgroundTransparency =
CopyLogs.BorderColor3 = .(, , )
CopyLogs.Position = .(, , , )
CopyLogs.Size = .(, , , )
CopyLogs.Font = .Font.Ubuntu
CopyLogs.Text =
CopyLogs.TextColor3 = .(, , )
CopyLogs.TextSize =
Page3.Name = (, )
Page3.Parent = Pages
Page3.BackgroundColor3 = .(, , )
Page3.BackgroundTransparency =
Page3.BorderColor3 = .(, , )
Page3.BorderSizePixel =
Page3.Position = .(-, , -, )
Page3.Size = .(, , , )
Page3.ZIndex = -
uno.Name = (, )
uno.Parent = Page3
uno.BackgroundColor3 = .(, , )
uno.BackgroundTransparency =
uno.BorderColor3 = .(, , )
uno.Position = .(, , , )
uno.Size = .(, , , )
uno.Font = .Font.Ubuntu
uno.Text =
uno.TextColor3 = .(, , )
uno.TextSize =
dos.Name = (, )
dos.Parent = Page3
dos.BackgroundColor3 = .(, , )
dos.BackgroundTransparency =
dos.BorderColor3 = .(, , )
dos.Position = .(, , , )
dos.Size = .(, , , )
dos.Font = .Font.Ubuntu
dos.Text =
dos.TextColor3 = .(, , )
dos.TextSize =
tres.Name = (, )
tres.Parent = Page3
tres.BackgroundColor3 = .(, , )
tres.BackgroundTransparency =
tres.BorderColor3 = .(, , )
tres.Position = .(, , , )
tres.Size = .(, , , )
tres.Font = .Font.Ubuntu
tres.Text =
tres.TextColor3 = .(, , )
tres.TextSize =
tres.TextWrapped =
cuatro.Name = (, )
cuatro.Parent = Page3
cuatro.BackgroundColor3 = .(, , )
cuatro.BackgroundTransparency =
cuatro.BorderColor3 = .(, , )
cuatro.Position = .(, , , )
cuatro.Size = .(, , , )
cuatro.Font = .Font.Ubuntu
cuatro.Text =
cuatro.TextColor3 = .(, , )
cuatro.TextSize =
cinco.Name = (, )
cinco.Parent = Page3
cinco.BackgroundColor3 = .(, , )
cinco.BackgroundTransparency =
cinco.BorderColor3 = .(, , )
cinco.Position = .(, , , )
cinco.Size = .(, , , )
cinco.Font = .Font.Ubuntu
cinco.Text =
cinco.TextColor3 = .(, , )
cinco.TextSize =
seis.Name = (, )
seis.Parent = Page3
seis.BackgroundColor3 = .(, , )
seis.BackgroundTransparency =
seis.BorderColor3 = .(, , )
seis.Position = .(, , , )
seis.Size = .(, , , )
seis.Font = .Font.Ubuntu
seis.Text =
seis.TextColor3 = .(, , )
seis.TextSize =
siete.Name = (, )
siete.Parent = Page3
siete.BackgroundColor3 = .(, , )
siete.BackgroundTransparency =
siete.BorderColor3 = .(, , )
siete.Position = .(, , , )
siete.Size = .(, , , )
siete.Font = .Font.Ubuntu
siete.Text =
siete.TextColor3 = .(, , )
siete.TextSize =
ocho.Name = (,)
ocho.Parent = Page3
ocho.BackgroundColor3 = .(, , )
ocho.BackgroundTransparency =
ocho.BorderColor3 = .(, , )
ocho.Position = .(, , , )
ocho.Size = .(, , , )
ocho.Font = .Font.Ubuntu
ocho.Text =
ocho.TextColor3 = .(, , )
ocho.TextSize =
nueve.Name = (, )
nueve.Parent = Page3
nueve.BackgroundColor3 = .(, , )
nueve.BackgroundTransparency =
nueve.BorderColor3 = .(, , )
nueve.Position = .(, , , )
nueve.Size = .(, , , )
nueve.Font = .Font.Ubuntu
nueve.Text =
nueve.TextColor3 = .(, , )
nueve.TextSize =
diez.Name = (, )
diez.Parent = Page3
diez.BackgroundColor3 = .(, , )
diez.BackgroundTransparency =
diez.BorderColor3 = .(, , )
diez.Position = .(, , , )
diez.Size = .(, , , )
diez.Font = .Font.Ubuntu
diez.Text =
diez.TextColor3 = .(, , )
diez.TextSize =
onceInput.Name = (, )
onceInput.Parent = Page3
onceInput.BackgroundColor3 = .(, , )
onceInput.Position = .(, , , )
onceInput.Size = .(, , , )
onceInput.ClearTextOnFocus =
onceInput.Font = .Font.Ubuntu
onceInput.Text =
onceInput.TextSize =
onceInput.TextWrapped =
Page3Text.Name = (, )
Page3Text.Parent = Page3
Page3Text.BackgroundColor3 = .(, , )
Page3Text.BackgroundTransparency =
Page3Text.BorderColor3 = .(, , )
Page3Text.Position = .(, , , )
Page3Text.Size = .(, , , )
Page3Text.Font = .Font.Ubuntu
Page3Text.Text =
Page3Text.TextColor3 = .(, , )
Page3Text.TextSize =
doce.Name = (, )
doce.Parent = Page3
doce.BackgroundColor3 = .(, , )
doce.BackgroundTransparency =
doce.BorderColor3 = .(, , )
doce.Position = .(, , , )
doce.Size = .(, , , )
doce.AutoButtonColor =
doce.Font = .Font.Ubuntu
doce.Text =
doce.TextColor3 = .(, , )
doce.TextSize =
doce.TextWrapped =
()
= .(, Background)
frame = .Parent
mouse = :().LocalPlayer:()
keybind =
mouse.KeyDown:(
(key)
key = key:()
key == keybind
frame.Visible = frame.Visible
)
(, keybind)
.(FMZSUM_fake_script)()
()
= .(, Background)
UserInputService = :()
gui = .Parent
dragging
dragInput
dragStart
startPos
(input)
delta = input.Position - dragStart
gui.Position =
.(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
gui.InputBegan:(
(input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
dragging =
dragStart = input.Position
startPos = gui.Position
input.Changed:(
()
input.UserInputState == .UserInputState.End
dragging =
)
)
gui.InputChanged:(
(input)
input.UserInputType == .UserInputType.MouseMovement
input.UserInputType == .UserInputType.Touch
dragInput = input
)
UserInputService.InputChanged:(
(input)
input == dragInput dragging
(input)
)
.(SLEEDB_fake_script)()
()
= .(, DeleteGui)
buttonDelete = .Parent
buttonDelete.MouseEnter:(
()
buttonDelete.BackgroundTransparency =
buttonDelete.BackgroundColor3 = .(, , )
)
buttonDelete.MouseLeave:(
()
buttonDelete.BackgroundTransparency =
buttonDelete.BackgroundColor3 = .(, , )
)
.(RMTWQQZ_fake_script)()
()
= .(, HideGui)
buttonHide = .Parent
buttonHide.MouseEnter:(
()
buttonHide.BackgroundTransparency =
buttonHide.BackgroundColor3 = .(, , )
)
buttonHide.MouseLeave:(
()
buttonHide.BackgroundTransparency =
buttonHide.BackgroundColor3 = .(, , )
)
.(VCEKHIX_fake_script)()
()
= .(, CustomConsoleBG)
UserInputService = :()
gui = .Parent
dragging
dragInput
dragStart
startPos
(input)
delta = input.Position - dragStart
gui.Position =
.(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
gui.InputBegan:(
(input)
input.UserInputType == .UserInputType.MouseButton1 input.UserInputType == .UserInputType.Touch
dragging =
dragStart = input.Position
startPos = gui.Position
input.Changed:(
()
input.UserInputState == .UserInputState.End
dragging =
)
)
gui.InputChanged:(
(input)
input.UserInputType == .UserInputType.MouseMovement
input.UserInputType == .UserInputType.Touch
dragInput = input
)
UserInputService.InputChanged:(
(input)
input == dragInput dragging
(input)
)
.(URYDQKV_fake_script)()
()
= .(, ImpostorGui)
pageLayout = .Parent[(, )][(, )].UIPageLayout
nextButton = .Parent[(, )][(, )]
prevButton = .Parent[(, )][(, )]
nextButton.MouseButton1Click:(
()
pageLayout:()
)
prevButton.MouseButton1Click:(
()
pageLayout:()
)
.(JDKM_fake_script)()
playerLocal = .Players.LocalPlayer
backpackLocal = playerLocal.Backpack
characterLocal = playerLocal.Character
Mouse = playerLocal:()
logTable = {}
normalSpeed = characterLocal.Humanoid.WalkSpeed
normalPower = characterLocal.Humanoid.JumpPower
BTools.MouseButton1Click:(
()
hammerTool = .()
hammerTool.Name = (, )
hammerTool.BinType =
hammerTool.Parent = backpackLocal
moveTool = .()
moveTool.Name = (, )
moveTool.BinType =
moveTool.Parent = backpackLocal
cloneTool = .()
cloneTool.Name = (, )
cloneTool.BinType =
cloneTool.Parent = backpackLocal
)
UnlockBuilds.MouseButton1Click:(
()
(instance)
i, v (instance:())
v:()
v.Locked =
#v:() >
(v)
()
)
ClickTPINV.MouseButton1Click:(
()
q = .(, backpackLocal)
q.Name = (, )
bin = q
(pos)
playerLocal == characterLocal ==
characterLocal.HumanoidRootPart.CFrame = .(.(pos.x, pos.y + , pos.z))
enabled =
(Mouse)
enabled
playerLocal ==
enabled =
cf = Mouse.Hit
v = cf.lookVector
(cf.p)
()
enabled =
(Mouse)
Mouse.Icon =
Mouse.Button1Down:(
()
(Mouse)
)
bin.Selected:(onSelected)
)
NoClip.MouseButton1Click:(
()
noclipKey =
noclip =
:().Stepped:(
()
noclip
characterLocal.Humanoid:()
)
Mouse.KeyDown:(
(key)
key = .(key)
key == noclipKey
noclip = noclip
characterLocal.Humanoid:()
)
(, noclipKey)
)
ClickTPCTRL.MouseButton1Click:(
()
Mouse.Button1Down:(
()
:():(.KeyCode.LeftControl)
Mouse.Target
characterLocal:(Mouse.Hit.p)
)
)
RemoveArms.MouseButton1Click:(
()
leftArm = characterLocal:()
leftArm
leftArm:()
rightArm = characterLocal:()
rightArm
rightArm:()
leftUpperArm = characterLocal:()
leftUpperArm
leftUpperArm:()
leftLowerArm = characterLocal:()
leftLowerArm
leftLowerArm:()
leftFoot = characterLocal:()
leftFoot
leftFoot:()
rightUpperArm = characterLocal:()
rightUpperArm
rightUpperArm:()
rightLowerArm = characterLocal:()
rightLowerArm
rightLowerArm:()
rightFoot = characterLocal:()
rightFoot
rightFoot:()
)
RemoveLegs.MouseButton1Click:(
()
leftLeg = characterLocal:()
leftLeg
leftLeg:()
rightLeg = characterLocal:()
rightLeg
rightLeg:()
leftUpperLeg = characterLocal:()
leftUpperLeg
leftUpperLeg:()
leftLowerLeg = characterLocal:()
leftLowerLeg
leftLowerLeg:()
leftFoot = characterLocal:()
leftFoot
leftFoot:()
rightUpperLeg = characterLocal:()
rightUpperLeg
rightUpperLeg:()
rightLowerLeg = characterLocal:()
rightLowerLeg
rightLowerLeg:()
rightFoot = characterLocal:()
rightFoot
rightFoot:()
)
CustomConsole.MouseButton1Click:(
()
playerLocal.PlayerGui[(, )][(, )].Visible ==
playerLocal.PlayerGui[(, )][(, )].Visible =
playerLocal.PlayerGui[(, )][(, )].Visible =
)
GodMode.MouseButton1Down:(
()
characterLocal.Humanoid:()
.(, characterLocal)
)
TargetTP.MouseButton1Click:(
()
players = :()
targetPlayer = players:(targetNameInput.Text)
characterLocal:(targetPlayer.Character.HumanoidRootPart.Position)
(, targetNameInput.Text)
)
Fly.MouseButton1Click:(
()
()
playerLocal characterLocal characterLocal:()
characterLocal:()
()
Mouse
torso = characterLocal.Head
flying =
deb =
ctrl = {f = , b = , l = , r = }
lastctrl = {f = , b = , l = , r = }
flyMaxflySpeed =
flySpeed =
NumberInput.Text ~=
(NumberInput.Text)
flyMaxflySpeed = (NumberInput.Text)
flySpeed = flyMaxflySpeed /
()
()
bg = .(, torso)
bg.P =
bg.maxTorque = .(, , )
bg.cframe = torso.CFrame
bv = .(, torso)
bv.velocity = .(, , )
bv.maxForce = .(, , )
()
ctrl.l + ctrl.r ~= ctrl.f + ctrl.b ~=
flySpeed = flySpeed + + (flySpeed / flyMaxflySpeed)
flySpeed > flyMaxflySpeed
flySpeed = flyMaxflySpeed
(ctrl.l + ctrl.r ~= ctrl.f + ctrl.b ~= ) flySpeed ~=
flySpeed = flySpeed -
flySpeed <
flySpeed =
(ctrl.l + ctrl.r) ~= (ctrl.f + ctrl.b) ~=
bv.velocity =
((.Workspace.CurrentCamera.CoordinateFrame.lookVector * (ctrl.f + ctrl.b)) +
((.Workspace.CurrentCamera.CoordinateFrame *
.(ctrl.l + ctrl.r, (ctrl.f + ctrl.b) * , ).p) -
.Workspace.CurrentCamera.CoordinateFrame.p)) *
flySpeed
lastctrl = {f = ctrl.f, b = ctrl.b, l = ctrl.l, r = ctrl.r}
(ctrl.l + ctrl.r) == (ctrl.f + ctrl.b) == flySpeed ~=
bv.velocity =
((.Workspace.CurrentCamera.CoordinateFrame.lookVector * (lastctrl.f + lastctrl.b)) +
((.Workspace.CurrentCamera.CoordinateFrame *
.(lastctrl.l + lastctrl.r, (lastctrl.f + lastctrl.b) * , ).p) -
.Workspace.CurrentCamera.CoordinateFrame.p)) *
flySpeed
bv.velocity = .(, , )
bg.cframe =
.Workspace.CurrentCamera.CoordinateFrame *
.(-.((ctrl.f + ctrl.b) * * flySpeed / flyMaxflySpeed), , )
flying
ctrl = {f = , b = , l = , r = }
lastctrl = {f = , b = , l = , r = }
bg:()
bv:()
Mouse.KeyDown:(
(key)
key:() ==
flying
flying =
flying =
()
key:() ==
ctrl.f =
key:() ==
ctrl.b = -
key:() ==
ctrl.l = -
key:() ==
ctrl.r =
)
Mouse.KeyUp:(
(key)
key:() ==
ctrl.f =
key:() ==
ctrl.b =
key:() ==
ctrl.l =
key:() ==
ctrl.r =
)
)
GodMode2.MouseButton1Click:(
()
Cam = .CurrentCamera
Pos = Cam.CFrame
Char = characterLocal
Human = Char Char.(Char, )
nHuman = Human:()
nHuman.Parent, characterLocal = Char,
nHuman.(nHuman, , )
nHuman.(nHuman, , )
nHuman.(nHuman, , )
nHuman.BreakJointsOnDeath, Human = , Human.(Human)
characterLocal, Cam.CameraSubject, Cam.CFrame = Char, nHuman, () Pos
nHuman.DisplayDistanceType = .HumanoidDisplayDistanceType.None
Script = Char.(Char, )
Script
Script.Disabled =
()
Script.Disabled =
nHuman.Health = nHuman.MaxHealth
)
SetWalkSpeed.MouseButton1Click:(()
NumberInput.Text ~=
(NumberInput.Text)
characterLocal.Humanoid.WalkSpeed = (NumberInput.Text)
characterLocal.Humanoid.WalkSpeed = normalSpeed
characterLocal.Humanoid.WalkSpeed = normalSpeed
)
SetJumpPower.MouseButton1Click:(()
NumberInput.Text ~=
(NumberInput.Text)
characterLocal.Humanoid.JumpPower = (NumberInput.Text)
characterLocal.Humanoid.JumpPower = normalPower
characterLocal.Humanoid.WalkSpeed = normalSpeed
)
AntiAFK.MouseButton1Click:(()
(firesignal, )
UserInputService = :()
RunService = :()
UserInputService.WindowFocusReleased:(()
RunService.Stepped:()
(firesignal, UserInputService.WindowFocused)
)
()
characterLocal.Humanoid:()
()
)
AutoClick.MouseButton1Click:(()
time1 =
autoclickKey =
(, autoclickKey)
click =
m = .Players.LocalPlayer:()
m.KeyDown:((key)
key = .(key)
key == autoclickKey
click
click =
click =
click ==
(time1)
()
)
)
HitboxExpander.MouseButton1Click:(()
k,v , :():()
head = v.Character:()
head
head.Size = .(, , )
characterLocal.Head.Size = .(, , )
)
ShiftSprint.MouseButton1Click:(
()
keyRun = .KeyCode.LeftShift
UIS = :()
UIS.InputBegan:(
(input, processed)
processed
input.UserInputType == .UserInputType.Keyboard
input.KeyCode == keyRun
.Players.LocalPlayer.Character.Humanoid.WalkSpeed = normalSpeed ^
)
UIS.InputEnded:(
(input)
input.KeyCode == keyRun
.Players.LocalPlayer.Character.Humanoid.WalkSpeed = normalSpeed
)
)
FPSBoost.MouseButton1Click:(()
i,v (.workspace:())
v.ClassName == v.ClassName == v.ClassName == v.ClassName == v.ClassName ==
v.Material =
)
InfJump.MouseButton1Click:(()
enabled =
enabled
enabled =
enabled =
:().JumpRequest:(()
enabled
characterLocal::()
)
)
:().MessageOut:(
(Message)
()
Message
logTable[#logTable + ] = Message
LogsText.Text = (.(logTable, ))
i, v (logTable)
i ==
.(logTable, )
)
ClearLogs.MouseButton1Click:(
()
.(logTable)
.(logTable, )
.(logTable, )
.(logTable, )
.(logTable, )
()
LogsText.Text =
)
CopyLogs.MouseButton1Click:(
()
(LogsText.Text)
)
DeleteGui.MouseButton1Click:(
()
.Players.LocalPlayer.PlayerGui[(, )]:()
)
HideGui.MouseButton1Click:(
()
.Players.LocalPlayer.PlayerGui[(, )][(, )].Visible ==
.Players.LocalPlayer.PlayerGui[(, )][(, )].Visible =
.Players.LocalPlayer.PlayerGui[(, )][(, )].Visible =
)
RemoteSpy.MouseButton1Click:(
()
.SimpleSpyExecuted (.SimpleSpyShutdown) ==
.()
Players = :()
CoreGui = :()
Highlight = (:())()
SimpleSpy2 = .()
Background = .()
LeftPanel = .()
LogList = .()
UIListLayout = .()
RemoteTemplate = .()
ColorBar = .()
Text = .()
Button = .()
RightPanel = .()
CodeBox = .()
ScrollingFrame = .()
UIGridLayout = .()
FunctionTemplate = .()
ColorBar_2 = .()
Text_2 = .()
Button_2 = .()
TopBar = .()
Simple = .()
CloseButton = .()
ImageLabel = .()
MaximizeButton = .()
ImageLabel_2 = .()
MinimizeButton = .()
ImageLabel_3 = .()
ToolTip = .()
TextLabel = .()
SimpleSpy2.Name =
SimpleSpy2.ResetOnSpawn =
Background.Name =
Background.Parent = SimpleSpy2
Background.BackgroundColor3 = .(, , )
Background.BackgroundTransparency =
Background.Position = .(, , , )
Background.Size = .(, , , )
LeftPanel.Name =
LeftPanel.Parent = Background
LeftPanel.BackgroundColor3 = .(, , )
LeftPanel.BorderSizePixel =
LeftPanel.Position = .(, , , )
LeftPanel.Size = .(, , , )
LogList.Name =
LogList.Parent = LeftPanel
LogList.Active =
LogList.BackgroundColor3 = .(, , )
LogList.BackgroundTransparency =
LogList.BorderSizePixel =
LogList.Position = .(, , , )
LogList.Size = .(, , , )
LogList.CanvasSize = .(, , , )
LogList.ScrollBarThickness =
UIListLayout.Parent = LogList
UIListLayout.HorizontalAlignment = .HorizontalAlignment.Center
UIListLayout.SortOrder = .SortOrder.LayoutOrder
RemoteTemplate.Name =
RemoteTemplate.Parent = LogList
RemoteTemplate.BackgroundColor3 = .(, , )
RemoteTemplate.BackgroundTransparency =
RemoteTemplate.Size = .(, , , )
ColorBar.Name =
ColorBar.Parent = RemoteTemplate
ColorBar.BackgroundColor3 = .(, , )
ColorBar.BorderSizePixel =
ColorBar.Position = .(, , , )
ColorBar.Size = .(, , , )
ColorBar.ZIndex =
Text.Name =
Text.Parent = RemoteTemplate
Text.BackgroundColor3 = .(, , )
Text.BackgroundTransparency =
Text.Position = .(, , , )
Text.Size = .(, , , )
Text.ZIndex =
Text.Font = .Font.SourceSans
Text.Text =
Text.TextColor3 = .(, , )
Text.TextSize =
Text.TextXAlignment = .TextXAlignment.Left
Text.TextWrapped =
Button.Name =
Button.Parent = RemoteTemplate
Button.BackgroundColor3 = .(, , )
Button.BackgroundTransparency =
Button.BorderColor3 = .(, , )
Button.Position = .(, , , )
Button.Size = .(, , , )
Button.AutoButtonColor =
Button.Font = .Font.SourceSans
Button.Text =
Button.TextColor3 = .(, , )
Button.TextSize =
RightPanel.Name =
RightPanel.Parent = Background
RightPanel.BackgroundColor3 = .(, , )
RightPanel.BorderSizePixel =
RightPanel.Position = .(, , , )
RightPanel.Size = .(, , , )
CodeBox.Name =
CodeBox.Parent = RightPanel
CodeBox.BackgroundColor3 = .(, , )
CodeBox.BorderSizePixel =
CodeBox.Size = .(, , , )
ScrollingFrame.Parent = RightPanel
ScrollingFrame.Active =
ScrollingFrame.BackgroundColor3 = .(, , )
ScrollingFrame.BackgroundTransparency =
ScrollingFrame.Position = .(, , , )
ScrollingFrame.Size = .(, , , -)
ScrollingFrame.CanvasSize = .(, , , )
ScrollingFrame.ScrollBarThickness =
UIGridLayout.Parent = ScrollingFrame
UIGridLayout.HorizontalAlignment = .HorizontalAlignment.Center
UIGridLayout.SortOrder = .SortOrder.LayoutOrder
UIGridLayout.CellPadding = .(, , , )
UIGridLayout.CellSize = .(, , , )
FunctionTemplate.Name =
FunctionTemplate.Parent = ScrollingFrame
FunctionTemplate.BackgroundColor3 = .(, , )
FunctionTemplate.BackgroundTransparency =
FunctionTemplate.Size = .(, , , )
ColorBar_2.Name =
ColorBar_2.Parent = FunctionTemplate
ColorBar_2.BackgroundColor3 = .(, , )
ColorBar_2.BorderSizePixel =
ColorBar_2.Position = .(, , , )
ColorBar_2.Size = .(, , , )
ColorBar_2.ZIndex =
Text_2.Name =
Text_2.Parent = FunctionTemplate
Text_2.BackgroundColor3 = .(, , )
Text_2.BackgroundTransparency =
Text_2.Position = .(, , , )
Text_2.Size = .(, , , )
Text_2.ZIndex =
Text_2.Font = .Font.SourceSans
Text_2.Text =
Text_2.TextColor3 = .(, , )
Text_2.TextSize =
Text_2.TextStrokeColor3 = .(, , )
Text_2.TextXAlignment = .TextXAlignment.Left
Text_2.TextWrapped =
Button_2.Name =
Button_2.Parent = FunctionTemplate
Button_2.BackgroundColor3 = .(, , )
Button_2.BackgroundTransparency =
Button_2.BorderColor3 = .(, , )
Button_2.Position = .(, , , )
Button_2.Size = .(, , , )
Button_2.AutoButtonColor =
Button_2.Font = .Font.SourceSans
Button_2.Text =
Button_2.TextColor3 = .(, , )
Button_2.TextSize =
TopBar.Name =
TopBar.Parent = Background
TopBar.BackgroundColor3 = .(, , )
TopBar.BorderSizePixel =
TopBar.Size = .(, , , )
Simple.Name =
Simple.Parent = TopBar
Simple.BackgroundColor3 = .(, , )
Simple.AutoButtonColor =
Simple.BackgroundTransparency =
Simple.Position = .(, , , )
Simple.Size = .(, , , )
Simple.Font = .Font.SourceSansBold
Simple.Text =
Simple.TextColor3 = .(, , )
Simple.TextSize =
Simple.TextXAlignment = .TextXAlignment.Left
CloseButton.Name =
CloseButton.Parent = TopBar
CloseButton.BackgroundColor3 = .(, , )
CloseButton.BorderSizePixel =
CloseButton.Position = .(, -, , )
CloseButton.Size = .(, , , )
CloseButton.Font = .Font.SourceSans
CloseButton.Text =
CloseButton.TextColor3 = .(, , )
CloseButton.TextSize =
ImageLabel.Parent = CloseButton
ImageLabel.BackgroundColor3 = .(, , )
ImageLabel.BackgroundTransparency =
ImageLabel.Position = .(, , , )
ImageLabel.Size = .(, , , )
ImageLabel.Image =
MaximizeButton.Name =
MaximizeButton.Parent = TopBar
MaximizeButton.BackgroundColor3 = .(, , )
MaximizeButton.BorderSizePixel =
MaximizeButton.Position = .(, -, , )
MaximizeButton.Size = .(, , , )
MaximizeButton.Font = .Font.SourceSans
MaximizeButton.Text =
MaximizeButton.TextColor3 = .(, , )
MaximizeButton.TextSize =
ImageLabel_2.Parent = MaximizeButton
ImageLabel_2.BackgroundColor3 = .(, , )
ImageLabel_2.BackgroundTransparency =
ImageLabel_2.Position = .(, , , )
ImageLabel_2.Size = .(, , , )
ImageLabel_2.Image =
MinimizeButton.Name =
MinimizeButton.Parent = TopBar
MinimizeButton.BackgroundColor3 = .(, , )
MinimizeButton.BorderSizePixel =
MinimizeButton.Position = .(, -, , )
MinimizeButton.Size = .(, , , )
MinimizeButton.Font = .Font.SourceSans
MinimizeButton.Text =
MinimizeButton.TextColor3 = .(, , )
MinimizeButton.TextSize =
ImageLabel_3.Parent = MinimizeButton
ImageLabel_3.BackgroundColor3 = .(, , )
ImageLabel_3.BackgroundTransparency =
ImageLabel_3.Position = .(, , , )
ImageLabel_3.Size = .(, , , )
ImageLabel_3.Image =
ToolTip.Name =
ToolTip.Parent = SimpleSpy2
ToolTip.BackgroundColor3 = .(, , )
ToolTip.BackgroundTransparency =
ToolTip.BorderColor3 = .(, , )
ToolTip.Size = .(, , , )
ToolTip.ZIndex =
ToolTip.Visible =
TextLabel.Parent = ToolTip
TextLabel.BackgroundColor3 = .(, , )
TextLabel.BackgroundTransparency =
TextLabel.Position = .(, , , )
TextLabel.Size = .(, , , )
TextLabel.ZIndex =
TextLabel.Font = .Font.SourceSans
TextLabel.Text =
TextLabel.TextColor3 = .(, , )
TextLabel.TextSize =
TextLabel.TextWrapped =
TextLabel.TextXAlignment = .TextXAlignment.Left
TextLabel.TextYAlignment = .TextYAlignment.Top
RunService = :()
UserInputService = :()
TweenService = :()
ContentProvider = :()
TextService = :()
Mouse
selectedColor = .(, , )
deselectedColor = .(, , )
layoutOrderNum =
mainClosing =
closed =
sideClosing =
sideClosed =
maximized =
logs = {}
selected =
blacklist = {}
blocklist = {}
getNil =
connectedRemotes = {}
toggle =
gm
original
prevTables = {}
remoteLogs = {}
remoteEvent = .()
remoteFunction = .()
originalEvent = remoteEvent.FireServer
originalFunction = remoteFunction.InvokeServer
.SIMPLESPYCONFIG_MaxRemotes =
indent =
scheduled = {}
schedulerconnect
SimpleSpy = {}
topstr =
bottomstr =
remotesFadeIn
rightFadeIn
codebox
p
getnilrequired =
autoblock =
history = {}
excluding = {}
funcEnabled =
remoteSignals = {}
remoteHooks = {}
oldIcon
mouseInGui =
connections = {}
useGetCallingScript =
keyToString =
SimpleSpy:(method, args)
((method) == , .. (method))
((args) == , .. (args))
({args = args}) .. .. method ..
SimpleSpy:(t)
((t) == , .. (t))
(t)
SimpleSpy:(value, variablename)
(variablename == (variablename) == , .. (variablename))
variablename then
variablename = 1
end
return v2v({[variablename] = value})
end
--- Converts any value to a string, cannot preserve function contents
--- @param value any
--- @return string
function SimpleSpy:ValueToString(value)
return v2s(value)
end
--- Generates the simplespy function info
--- @param func function
--- @return string
function SimpleSpy:GetFunctionInfo(func)
assert(typeof(func) == "function", "Instance expected, got " .. typeof(func))
warn("Function info currently unavailable due to crashing in Synapse X")
return v2v{functionInfo = {
info = debug.getinfo(func),
constants = debug.getconstants(func)
}}
end
--- Gets the ScriptSignal for a specified remote being fired
--- @param remote Instance
function SimpleSpy:GetRemoteFiredSignal(remote)
assert(typeof(remote) == "Instance", "Instance expected, got " .. typeof(remote))
if not remoteSignals[remote] then
remoteSignals[remote] = newSignal()
end
return remoteSignals[remote]
end
--- Allows for direct hooking of remotes **THIS CAN BE VERY DANGEROUS**
--- @param remote Instance
--- @param f function
function SimpleSpy:HookRemote(remote, f)
assert(typeof(remote) == "Instance", "Instance expected, got " .. typeof(remote))
assert(typeof(f) == "function", "function expected, got " .. typeof(f))
remoteHooks[remote] = f
end
--- Blocks the specified remote instance/string
--- @param remote any
function SimpleSpy:BlockRemote(remote)
assert(typeof(remote) == "Instance" or typeof(remote) == "string", "Instance | string expected, got " .. typeof(remote))
blocklist[remote] = true
end
--- Excludes the specified remote from logs (instance/string)
--- @param remote any
function SimpleSpy:ExcludeRemote(remote)
assert(typeof(remote) == "Instance" or typeof(remote) == "string", "Instance | string expected, got " .. typeof(remote))
blacklist[remote] = true
end
--- Creates a new ScriptSignal that can be connected to and fired
--- @return table
function newSignal()
local connected = {}
return {
Connect = function(self, f)
assert(connected, "Signal is closed")
connected[tostring(f)] = f
return setmetatable({
Connected = true,
Disconnect = function(self)
if not connected then
warn("Signal is already closed")
end
self.Connected = false
connected[tostring(f)] = nil
end
},
{
__index = function(self, i)
if i == "Connected" then
return not not connected[tostring(f)]
end
end
})
end,
Wait = function(self)
local thread = coroutine.running()
local connection
connection = self:Connect(function()
connection:Disconnect()
if coroutine.status(thread) == "suspended" then
coroutine.resume(thread)
end
end)
coroutine.yield()
end,
Fire = function(self, ...)
for _, f in pairs(connected) do
coroutine.wrap(f)(...)
end
end
}
end
--- Prevents remote spam from causing lag (clears logs after `_G.SIMPLESPYCONFIG_MaxRemotes` or 500 remotes)
function clean()
local max = _G.SIMPLESPYCONFIG_MaxRemotes
if not typeof(max) == "number" and math.floor(max) ~= max then
max = 500
end
if #remoteLogs > max then
for i = 100, #remoteLogs do
local v = remoteLogs[i]
if typeof(v[1]) == "RBXScriptConnection" then
v[1]:Disconnect()
end
if typeof(v[2]) == "Instance" then
v[2]:Destroy()
end
end
local newLogs = {}
for i = 1, 100 do
table.insert(newLogs, remoteLogs[i])
end
remoteLogs = newLogs
end
end
--- Scales the ToolTip to fit containing text
function scaleToolTip()
local size = TextService:GetTextSize(TextLabel.Text, TextLabel.TextSize, TextLabel.Font, Vector2.new(196, math.huge))
TextLabel.Size = UDim2.new(0, size.X, 0, size.Y)
ToolTip.Size = UDim2.new(0, size.X + 4, 0, size.Y + 4)
end
--- Executed when the toggle button (the SimpleSpy logo) is hovered over
function onToggleButtonHover()
if not toggle then
TweenService:Create(Simple, TweenInfo.new(0.5), {TextColor3 = Color3.fromRGB(252, 51, 51)}):Play()
else
TweenService:Create(Simple, TweenInfo.new(0.5), {TextColor3 = Color3.fromRGB(68, 206, 91)}):Play()
end
end
--- Executed when the toggle button is unhovered over
function onToggleButtonUnhover()
TweenService:Create(Simple, TweenInfo.new(0.5), {TextColor3 = Color3.fromRGB(255, 255, 255)}):Play()
end
--- Executed when the X button is hovered over
function onXButtonHover()
TweenService:Create(CloseButton, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(255, 60, 60)}):Play()
end
--- Executed when the X button is unhovered over
function onXButtonUnhover()
TweenService:Create(CloseButton, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(37, 36, 38)}):Play()
end
--- Toggles the remote spy method (when button clicked)
function onToggleButtonClick()
if toggle then
TweenService:Create(Simple, TweenInfo.new(0.5), {TextColor3 = Color3.fromRGB(252, 51, 51)}):Play()
else
TweenService:Create(Simple, TweenInfo.new(0.5), {TextColor3 = Color3.fromRGB(68, 206, 91)}):Play()
end
toggleSpyMethod()
end
--- Reconnects bringBackOnResize if the current viewport changes and also connects it initially
function connectResize()
local lastCam = workspace.CurrentCamera:GetPropertyChangedSignal("ViewportSize"):Connect(bringBackOnResize)
workspace:GetPropertyChangedSignal("CurrentCamera"):Connect(function()
lastCam:Disconnect()
if workspace.CurrentCamera then
lastCam = workspace.CurrentCamera:GetPropertyChangedSignal("ViewportSize"):Connect(bringBackOnResize)
end
end)
end
--- Brings gui back if it gets lost offscreen (connected to the camera viewport changing)
function bringBackOnResize()
validateSize()
if sideClosed then
minimizeSize()
else
maximizeSize()
end
local currentX = Background.AbsolutePosition.X
local currentY = Background.AbsolutePosition.Y
local viewportSize = workspace.CurrentCamera.ViewportSize
if (currentX < 0) or (currentX > (viewportSize.X - (sideClosed and 131 or Background.AbsoluteSize.X))) then
if currentX < 0 then
currentX = 0
else
currentX = viewportSize.X - (sideClosed and 131 or Background.AbsoluteSize.X)
end
end
if (currentY < 0) or (currentY > (viewportSize.Y - (closed and 19 or Background.AbsoluteSize.Y) - 36)) then
if currentY < 0 then
currentY = 0
else
currentY = viewportSize.Y - (closed and 19 or Background.AbsoluteSize.Y) - 36
end
end
TweenService.Create(TweenService, Background, TweenInfo.new(0.1), {Position = UDim2.new(0, currentX, 0, currentY)}):Play()
end
--- Drags gui (so long as mouse is held down)
--- @param input InputObject
function onBarInput(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
local lastPos = UserInputService.GetMouseLocation(UserInputService)
local mainPos = Background.AbsolutePosition
local offset = mainPos - lastPos
local currentPos = offset + lastPos
RunService.BindToRenderStep(RunService, "drag", 1,
function()
local newPos = UserInputService.GetMouseLocation(UserInputService)
if newPos ~= lastPos then
local currentX = (offset + newPos).X
local currentY = (offset + newPos).Y
local viewportSize = workspace.CurrentCamera.ViewportSize
if (currentX < 0 and currentX < currentPos.X) or (currentX > (viewportSize.X - (sideClosed and 131 or TopBar.AbsoluteSize.X)) and currentX > currentPos.X) then
if currentX < 0 then
currentX = 0
else
currentX = viewportSize.X - (sideClosed and 131 or TopBar.AbsoluteSize.X)
end
end
if (currentY < 0 and currentY < currentPos.Y) or (currentY > (viewportSize.Y - (closed and 19 or Background.AbsoluteSize.Y) - 36) and currentY > currentPos.Y) then
if currentY < 0 then
currentY = 0
else
currentY = viewportSize.Y - (closed and 19 or Background.AbsoluteSize.Y) - 36
end
end
currentPos = Vector2.new(currentX, currentY)
lastPos = newPos
TweenService.Create(TweenService, Background, TweenInfo.new(0.1), {Position = UDim2.new(0, currentPos.X, 0, currentPos.Y)}):Play()
end
-- if input.UserInputState ~= Enum.UserInputState.Begin then
-- RunService.UnbindFromRenderStep(RunService, "drag")
-- end
end
)
table.insert(connections, UserInputService.InputEnded:Connect(function(inputE)
if input == inputE then
RunService:UnbindFromRenderStep("drag")
end
end))
end
end
--- Fades out the table of elements (and makes them invisible), returns a function to make them visible again
function fadeOut(elements)
local data = {}
for _, v in pairs(elements) do
if typeof(v) == "Instance" and v:IsA("GuiObject") and v.Visible then
coroutine.wrap(function()
data[v] = {
BackgroundTransparency = v.BackgroundTransparency
}
TweenService:Create(v, TweenInfo.new(0.5), {BackgroundTransparency = 1}):Play()
if v:IsA("TextBox") or v:IsA("TextButton") or v:IsA("TextLabel") then
data[v].TextTransparency = v.TextTransparency
TweenService:Create(v, TweenInfo.new(0.5), {TextTransparency = 1}):Play()
elseif v:IsA("ImageButton") or v:IsA("ImageLabel") then
data[v].ImageTransparency = v.ImageTransparency
TweenService:Create(v, TweenInfo.new(0.5), {ImageTransparency = 1}):Play()
end
wait(0.5)
v.Visible = false
for i, x in pairs(data[v]) do
v[i] = x
end
data[v] = true
end)()
end
end
return function()
for i, _ in pairs(data) do
coroutine.wrap(function()
local properties = {
BackgroundTransparency = i.BackgroundTransparency
}
i.BackgroundTransparency = 1
TweenService:Create(i, TweenInfo.new(0.5), {BackgroundTransparency = properties.BackgroundTransparency}):Play()
if i:IsA("TextBox") or i:IsA("TextButton") or i:IsA("TextLabel") then
properties.TextTransparency = i.TextTransparency
i.TextTransparency = 1
TweenService:Create(i, TweenInfo.new(0.5), {TextTransparency = properties.TextTransparency}):Play()
elseif i:IsA("ImageButton") or i:IsA("ImageLabel") then
properties.ImageTransparency = i.ImageTransparency
i.ImageTransparency = 1
TweenService:Create(i, TweenInfo.new(0.5), {ImageTransparency = properties.ImageTransparency}):Play()
end
i.Visible = true
end)()
end
end
end
--- Expands and minimizes the gui (closed is the toggle boolean)
function toggleMinimize(override)
if mainClosing and not override or maximized then
return
end
mainClosing = true
closed = not closed
if closed then
if not sideClosed then
toggleSideTray(true)
end
LeftPanel.Visible = true
TweenService:Create(LeftPanel, TweenInfo.new(0.5), {Size = UDim2.new(0, 131, 0, 0)}):Play()
wait(0.5)
remotesFadeIn = fadeOut(LeftPanel:GetDescendants())
wait(0.5)
else
TweenService:Create(LeftPanel, TweenInfo.new(0.5), {Size = UDim2.new(0, 131, 0, 249)}):Play()
wait(0.5)
if remotesFadeIn then
remotesFadeIn()
remotesFadeIn = nil
end
bringBackOnResize()
end
mainClosing = false
end
--- Expands and minimizes the sidebar (sideClosed is the toggle boolean)
function toggleSideTray(override)
if sideClosing and not override or maximized then
return
end
sideClosing = true
sideClosed = not sideClosed
if sideClosed then
rightFadeIn = fadeOut(RightPanel:GetDescendants())
wait(0.5)
minimizeSize(0.5)
wait(0.5)
RightPanel.Visible = false
else
if closed then
toggleMinimize(true)
end
RightPanel.Visible = true
maximizeSize(0.5)
wait(0.5)
if rightFadeIn then
rightFadeIn()
end
bringBackOnResize()
end
sideClosing = false
end
--- Expands code box to fit screen for more convenient viewing
function toggleMaximize()
if not sideClosed and not maximized then
maximized = true
local disable = Instance.new("TextButton")
local prevSize = UDim2.new(0, CodeBox.AbsoluteSize.X, 0, CodeBox.AbsoluteSize.Y)
local prevPos = UDim2.new(0,CodeBox.AbsolutePosition.X, 0, CodeBox.AbsolutePosition.Y)
disable.Size = UDim2.new(1, 0, 1, 0)
disable.BackgroundColor3 = Color3.new()
disable.BorderSizePixel = 0
disable.Text = 0
disable.ZIndex = 3
disable.BackgroundTransparency = 1
disable.AutoButtonColor = false
CodeBox.ZIndex = 4
CodeBox.Position = prevPos
CodeBox.Size = prevSize
TweenService:Create(CodeBox, TweenInfo.new(0.5), {Size = UDim2.new(0.5, 0, 0.5, 0), Position = UDim2.new(0.25, 0, 0.25, 0)}):Play()
TweenService:Create(disable, TweenInfo.new(0.5), {BackgroundTransparency = 0.5}):Play()
disable.MouseButton1Click:Connect(function()
if UserInputService:GetMouseLocation().Y + 36 >= CodeBox.AbsolutePosition.Y and UserInputService:GetMouseLocation().Y + 36 <= CodeBox.AbsolutePosition.Y + CodeBox.AbsoluteSize.Y
and UserInputService:GetMouseLocation().X >= CodeBox.AbsolutePosition.X and UserInputService:GetMouseLocation().X <= CodeBox.AbsolutePosition.X + CodeBox.AbsoluteSize.X then
return
end
TweenService:Create(CodeBox, TweenInfo.new(0.5), {Size = prevSize, Position = prevPos}):Play()
TweenService:Create(disable, TweenInfo.new(0.5), {BackgroundTransparency = 1}):Play()
maximized = false
wait(0.5)
disable:Destroy()
CodeBox.Size = UDim2.new(1, 0, 0.5, 0)
CodeBox.Position = UDim2.new(0, 0, 0, 0)
CodeBox.ZIndex = 0
end)
end
end
--- Checks if cursor is within resize range
--- @param p Vector2
function isInResizeRange(p)
local relativeP = p - Background.AbsolutePosition
local range = 5
if relativeP.X >= TopBar.AbsoluteSize.X - range and relativeP.Y >= Background.AbsoluteSize.Y - range
and relativeP.X <= TopBar.AbsoluteSize.X and relativeP.Y <= Background.AbsoluteSize.Y then
return true, 'B'
elseif relativeP.X >= TopBar.AbsoluteSize.X - range and relativeP.X <= Background.AbsoluteSize.X then
return true, 'X'
elseif relativeP.Y >= Background.AbsoluteSize.Y - range and relativeP.Y <= Background.AbsoluteSize.Y then
return true, 'Y'
end
return false
end
--- Checks if cursor is within dragging range
--- @param p Vector2
function isInDragRange(p)
local relativeP = p - Background.AbsolutePosition
if relativeP.X <= TopBar.AbsoluteSize.X - CloseButton.AbsoluteSize.X * 3 and relativeP.X >= 0
and relativeP.Y <= TopBar.AbsoluteSize.Y and relativeP.Y >= 0 then
return true
end
return false
end
--- Called when mouse enters SimpleSpy
function mouseEntered()
local customCursor = Instance.new("ImageLabel")
customCursor.Size = UDim2.fromOffset(200, 200)
customCursor.ZIndex = 1e5
customCursor.BackgroundTransparency = 1
customCursor.Image = ""
customCursor.Parent = SimpleSpy2
UserInputService.OverrideMouseIconBehavior = Enum.OverrideMouseIconBehavior.ForceHide
RunService:BindToRenderStep("SIMPLESPY_CURSOR", 1, function()
if mouseInGui and _G.SimpleSpyExecuted then
local mouseLocation = UserInputService:GetMouseLocation() - Vector2.new(0, 36)
customCursor.Position = UDim2.fromOffset(mouseLocation.X - customCursor.AbsoluteSize.X / 2, mouseLocation.Y - customCursor.AbsoluteSize.Y / 2)
local inRange, type = isInResizeRange(mouseLocation)
if inRange and not sideClosed and not closed then
customCursor.Image = type == 'B' and "rbxassetid://6065821980" or type == 'X' and "rbxassetid://6065821086" or type == 'Y' and "rbxassetid://6065821596"
elseif inRange and not closed and type == 'Y' or type == 'B' then
customCursor.Image = "rbxassetid://6065821596"
elseif customCursor.Image ~= "rbxassetid://6065775281" then
customCursor.Image = "rbxassetid://6065775281"
end
else
UserInputService.OverrideMouseIconBehavior = Enum.OverrideMouseIconBehavior.None
customCursor:Destroy()
RunService:UnbindFromRenderStep("SIMPLESPY_CURSOR")
end
end)
end
--- Called when mouse moves
function mouseMoved()
local mousePos = UserInputService:GetMouseLocation() - Vector2.new(0, 36)
if not closed
and mousePos.X >= TopBar.AbsolutePosition.X and mousePos.X <= TopBar.AbsolutePosition.X + TopBar.AbsoluteSize.X
and mousePos.Y >= Background.AbsolutePosition.Y and mousePos.Y <= Background.AbsolutePosition.Y + Background.AbsoluteSize.Y then
if not mouseInGui then
mouseInGui = true
mouseEntered()
end
else
mouseInGui = false
end
end
--- Adjusts the ui elements to the 'Maximized' size
function maximizeSize(speed)
if not speed then
speed = 0.05
end
TweenService:Create(LeftPanel, TweenInfo.new(speed), { Size = UDim2.fromOffset(LeftPanel.AbsoluteSize.X, Background.AbsoluteSize.Y - TopBar.AbsoluteSize.Y) }):Play()
TweenService:Create(RightPanel, TweenInfo.new(speed), { Size = UDim2.fromOffset(Background.AbsoluteSize.X - LeftPanel.AbsoluteSize.X, Background.AbsoluteSize.Y - TopBar.AbsoluteSize.Y) }):Play()
TweenService:Create(TopBar, TweenInfo.new(speed), { Size = UDim2.fromOffset(Background.AbsoluteSize.X, TopBar.AbsoluteSize.Y) }):Play()
TweenService:Create(ScrollingFrame, TweenInfo.new(speed), { Size = UDim2.fromOffset(Background.AbsoluteSize.X - LeftPanel.AbsoluteSize.X, 110), Position = UDim2.fromOffset(0, Background.AbsoluteSize.Y - 119 - TopBar.AbsoluteSize.Y) }):Play()
TweenService:Create(CodeBox, TweenInfo.new(speed), { Size = UDim2.fromOffset(Background.AbsoluteSize.X - LeftPanel.AbsoluteSize.X, Background.AbsoluteSize.Y - 119 - TopBar.AbsoluteSize.Y) }):Play()
TweenService:Create(LogList, TweenInfo.new(speed), { Size = UDim2.fromOffset(LogList.AbsoluteSize.X, Background.AbsoluteSize.Y - TopBar.AbsoluteSize.Y - 18) }):Play()
end
--- Adjusts the ui elements to close the side
function minimizeSize(speed)
if not speed then
speed = 0.05
end
TweenService:Create(LeftPanel, TweenInfo.new(speed), { Size = UDim2.fromOffset(LeftPanel.AbsoluteSize.X, Background.AbsoluteSize.Y - TopBar.AbsoluteSize.Y) }):Play()
TweenService:Create(RightPanel, TweenInfo.new(speed), { Size = UDim2.fromOffset(0, Background.AbsoluteSize.Y - TopBar.AbsoluteSize.Y) }):Play()
TweenService:Create(TopBar, TweenInfo.new(speed), { Size = UDim2.fromOffset(LeftPanel.AbsoluteSize.X, TopBar.AbsoluteSize.Y) }):Play()
TweenService:Create(ScrollingFrame, TweenInfo.new(speed), { Size = UDim2.fromOffset(0, 119), Position = UDim2.fromOffset(0, Background.AbsoluteSize.Y - 119 - TopBar.AbsoluteSize.Y) }):Play()
TweenService:Create(CodeBox, TweenInfo.new(speed), { Size = UDim2.fromOffset(0, Background.AbsoluteSize.Y - 119 - TopBar.AbsoluteSize.Y) }):Play()
TweenService:Create(LogList, TweenInfo.new(speed), { Size = UDim2.fromOffset(LogList.AbsoluteSize.X, Background.AbsoluteSize.Y - TopBar.AbsoluteSize.Y - 18) }):Play()
end
--- Ensures size is within screensize limitations
function validateSize()
local x, y = Background.AbsoluteSize.X, Background.AbsoluteSize.Y
local screenSize = workspace.CurrentCamera.ViewportSize
if x + Background.AbsolutePosition.X > screenSize.X then
if screenSize.X - Background.AbsolutePosition.X >= 450 then
x = screenSize.X - Background.AbsolutePosition.X
else
x = 450
end
elseif y + Background.AbsolutePosition.Y > screenSize.Y then
if screenSize.X - Background.AbsolutePosition.Y >= 268 then
y = screenSize.Y - Background.AbsolutePosition.Y
else
y = 268
end
end
Background.Size = UDim2.fromOffset(x, y)
end
--- Called on user input while mouse in 'Background' frame
--- @param input InputObject
function backgroundUserInput(input)
local mousePos = UserInputService:GetMouseLocation() - Vector2.new(0, 36)
local inResizeRange, type = isInResizeRange(mousePos)
if input.UserInputType == Enum.UserInputType.MouseButton1 and inResizeRange then
local lastPos = UserInputService:GetMouseLocation()
local offset = Background.AbsoluteSize - lastPos
local currentPos = lastPos + offset
RunService:BindToRenderStep("SIMPLESPY_RESIZE", 1, function()
local newPos = UserInputService:GetMouseLocation()
if newPos ~= lastPos then
local currentX = (newPos + offset).X
local currentY = (newPos + offset).Y
if currentX < 450 then
currentX = 450
end
if currentY < 268 then
currentY = 268
end
currentPos = Vector2.new(currentX, currentY)
Background.Size = UDim2.fromOffset((not sideClosed and not closed and (type == "X" or type == "B")) and currentPos.X or Background.AbsoluteSize.X, (--[[(not sideClosed or currentPos.X <= LeftPanel.AbsolutePosition.X + LeftPanel.AbsoluteSize.X) and]] not closed and (type == "Y" or type == "B")) and currentPos.Y or Background.AbsoluteSize.Y)
validateSize()
if sideClosed then
minimizeSize()
else
maximizeSize()
end
lastPos = newPos
end
end)
table.insert(connections, UserInputService.InputEnded:Connect(function(inputE)
if input == inputE then
RunService:UnbindFromRenderStep("SIMPLESPY_RESIZE")
end
end))
elseif isInDragRange(mousePos) then
onBarInput(input)
end
end
--- Gets the player an instance is descended from
function getPlayerFromInstance(instance)
for _, v in pairs(Players:GetPlayers()) do
if v.Character and (instance:IsDescendantOf(v.Character) or instance == v.Character) then
return v
end
end
end
--- Runs on MouseButton1Click of an event frame
function eventSelect(frame)
if selected and selected.Log and selected.Log.Button then
TweenService:Create(selected.Log.Button, TweenInfo.new(0.5), {BackgroundColor3 = Color3.fromRGB(0, 0, 0)}):Play()
selected = nil
end
for _, v in pairs(logs) do
if frame == v.Log then
selected = v
end
end
if selected and selected.Log then
TweenService:Create(frame.Button, TweenInfo.new(0.5), {BackgroundColor3 = Color3.fromRGB(92, 126, 229)}):Play()
codebox:setRaw(selected.GenScript)
end
if sideClosed then
toggleSideTray()
end
end
--- Updates the canvas size to fit the current amount of function buttons
function updateFunctionCanvas()
ScrollingFrame.CanvasSize = UDim2.fromOffset(UIGridLayout.AbsoluteContentSize.X, UIGridLayout.AbsoluteContentSize.Y)
end
--- Updates the canvas size to fit the amount of current remotes
function updateRemoteCanvas()
LogList.CanvasSize = UDim2.fromOffset(UIListLayout.AbsoluteContentSize.X, UIListLayout.AbsoluteContentSize.Y)
end
--- Allows for toggling of the tooltip and easy setting of le description
--- @param enable boolean
--- @param text string
function makeToolTip(enable, text)
if enable then
if ToolTip.Visible then
ToolTip.Visible = false
RunService:UnbindFromRenderStep("ToolTip")
end
local first = true
RunService:BindToRenderStep("ToolTip", 1, function()
local topLeft = Vector2.new(Mouse.X + 20, Mouse.Y + 20)
local bottomRight = topLeft + ToolTip.AbsoluteSize
if topLeft.X < 0 then
topLeft = Vector2.new(0, topLeft.Y)
elseif bottomRight.X > workspace.CurrentCamera.ViewportSize.X then
topLeft = Vector2.new(workspace.CurrentCamera.ViewportSize.X - ToolTip.AbsoluteSize.X, topLeft.Y)
end
if topLeft.Y < 0 then
topLeft = Vector2.new(topLeft.X, 0)
elseif bottomRight.Y > workspace.CurrentCamera.ViewportSize.Y - 35 then
topLeft = Vector2.new(topLeft.X, workspace.CurrentCamera.ViewportSize.Y - ToolTip.AbsoluteSize.Y - 35)
end
if topLeft.X <= Mouse.X and topLeft.Y <= Mouse.Y then
topLeft = Vector2.new(Mouse.X - ToolTip.AbsoluteSize.X - 2, Mouse.Y - ToolTip.AbsoluteSize.Y - 2)
end
if first then
ToolTip.Position = UDim2.fromOffset(topLeft.X, topLeft.Y)
first = false
else
ToolTip:TweenPosition(UDim2.fromOffset(topLeft.X, topLeft.Y), "Out", "Linear", 0.1)
end
end)
TextLabel.Text = text
ToolTip.Visible = true
else
if ToolTip.Visible then
ToolTip.Visible = false
RunService:UnbindFromRenderStep("ToolTip")
end
end
end
--- Creates new function button (below codebox)
--- @param name string
---@param description function
---@param onClick function
function newButton(name, description, onClick)
local button = FunctionTemplate:Clone()
button.Text.Text = name
button.Button.MouseEnter:Connect(function()
makeToolTip(true, description())
end)
button.Button.MouseLeave:Connect(function()
makeToolTip(false)
end)
button.AncestryChanged:Connect(function()
makeToolTip(false)
end)
button.Button.MouseButton1Click:Connect(function(...)
onClick(button, ...)
end)
button.Parent = ScrollingFrame
updateFunctionCanvas()
end
--- Adds new Remote to logs
--- @param name string The name of the remote being logged
--- @param type string The type of the remote being logged (either 'function' or 'event')
--- @param args any
--- @param remote any
--- @param function_info string
--- @param blocked any
function newRemote(type, name, args, remote, function_info, blocked, src)
local remoteFrame = RemoteTemplate:Clone()
remoteFrame.Text.Text = string.sub(name, 1, 50)
remoteFrame.ColorBar.BackgroundColor3 = type == "event" and Color3.new(255, 242, 0) or Color3.fromRGB(99, 86, 245)
local id = Instance.new("IntValue")
id.Name = "ID"
id.Value = #logs + 1
id.Parent = remoteFrame
local log = {
Name = name,
Function = function_info,
Remote = remote,
Log = remoteFrame,
Blocked = blocked,
Source = src,
GenScript = "-- Generating, please wait... (click to reload)\n-- (If this message persists, the remote args are likely extremely long)"
}
logs[#logs + 1] = log
schedule(function()
log.GenScript = genScript(remote, args)
if blocked then
logs[#logs].GenScript = "-- THIS REMOTE WAS PREVENTED FROM FIRING THE SERVER BY SIMPLESPY\n\n" .. logs[#logs].GenScript
end
end)
local connect = remoteFrame.Button.MouseButton1Click:Connect(function()
eventSelect(remoteFrame)
end)
if layoutOrderNum < 1 then
layoutOrderNum = 999999999
end
remoteFrame.LayoutOrder = layoutOrderNum
layoutOrderNum = layoutOrderNum - 1
remoteFrame.Parent = LogList
table.insert(remoteLogs, 1, {connect, remoteFrame})
clean()
updateRemoteCanvas()
end
--- Generates a script from the provided arguments (first has to be remote path)
function genScript(remote, args)
prevTables = {}
local gen = ""
if #args > 0 then
if not pcall(function()
gen = v2v({args = args}) .. "\n"
end)
then
gen = gen .. "-- TableToString failure! Reverting to legacy functionality (results may vary)\nlocal args = {"
if
not pcall(
function()
for i, v in pairs(args) do
if type(i) ~= "Instance" and type(i) ~= "userdata" then
gen = gen .. "\n [object] = "
elseif type(i) == "string" then
gen = gen .. '\n ["' .. i .. '"] = '
elseif type(i) == "userdata" and typeof(i) ~= "Instance" then
gen = gen .. "\n [" .. string.format("nil --[[%s]]", typeof(v)) .. ")] = "
elseif type(i) == "userdata" then
gen = gen .. "\n [game." .. i:GetFullName() .. ")] = "
end
if type(v) ~= "Instance" and type(v) ~= "userdata" then
gen = gen .. "object"
elseif type(v) == "string" then
gen = gen .. '"' .. v .. '"'
elseif type(v) == "userdata" and typeof(v) ~= "Instance" then
gen = gen .. string.format("nil --[[%s]]", typeof(v))
elseif type(v) == "userdata" then
gen = gen .. "game." .. v:GetFullName()
end
end
gen = gen .. "\n}\n\n"
end
)
then
gen = gen .. "}\n-- Legacy tableToString failure! Unable to decompile."
end
end
if not remote:IsDescendantOf(game) and not getnilrequired then
gen = "function getNil(name,class) for _,v in pairs(getnilinstances())do if v.ClassName==class and v.Name==name then return v;end end end\n\n" .. gen
end
if remote:IsA("RemoteEvent") then
gen = gen .. v2s(remote) .. ":FireServer(unpack(args))"
elseif remote:IsA("RemoteFunction") then
gen = gen .. v2s(remote) .. ":InvokeServer(unpack(args))"
end
else
if remote:IsA("RemoteEvent") then
gen = gen .. v2s(remote) .. ":FireServer()"
elseif remote:IsA("RemoteFunction") then
gen = gen .. v2s(remote) .. ":InvokeServer()"
end
end
gen = "-- Script generated by SimpleSpy - credits to exx#9394\n\n" .. gen
prevTables = {}
return gen
end
--- value-to-string: value, string (out), level (indentation), parent table, var name, is from tovar
function v2s(v, l, p, n, vtv, i, pt, path, tables, tI)
if not tI then
tI = {0}
else
tI[1] += 1
end
if typeof(v) == "number" then
if v == math.huge then
return "math.huge"
elseif tostring(v):match("nan") then
return "0/0 --[[NaN]]"
end
return tostring(v)
elseif typeof(v) == "boolean" then
return tostring(v)
elseif typeof(v) == "string" then
return formatstr(v, l)
elseif typeof(v) == "function" then
return f2s(v)
elseif typeof(v) == "table" then
return t2s(v, l, p, n, vtv, i, pt, path, tables, tI)
elseif typeof(v) == "Instance" then
return i2p(v)
elseif typeof(v) == "userdata" then
return "newproxy(true)"
elseif type(v) == "userdata" then
return u2s(v)
elseif type(v) == "vector" then
return string.format("Vector3.new(%s, %s, %s)", v2s(v.X), v2s(v.Y), v2s(v.Z))
else
return "nil --[[" .. typeof(v) .. "]]"
end
end
--- value-to-variable
--- @param t any
function v2v(t)
topstr = ""
bottomstr = ""
getnilrequired = false
local ret = ""
local count = 1
for i, v in pairs(t) do
if type(i) == "string" and i:match("^[%a_]+[%w_]*$") then
ret = ret .. "local " .. i .. " = " .. v2s(v, nil, nil, i, true) .. "\n"
elseif tostring(i):match("^[%a_]+[%w_]*$") then
ret = ret .. "local " .. tostring(i):lower() .. "_" .. tostring(count) .. " = " .. v2s(v, nil, nil, tostring(i):lower() .. "_" .. tostring(count), true) .. "\n"
else
ret = ret .. "local " .. type(v) .. "_" .. tostring(count) .. " = " .. v2s(v, nil, nil, type(v) .. "_" .. tostring(count), true) .. "\n"
end
count = count + 1
end
if getnilrequired then
topstr = "function getNil(name,class) for _,v in pairs(getnilinstances())do if v.ClassName==class and v.Name==name then return v;end end end\n" .. topstr
end
if #topstr > 0 then
ret = topstr .. "\n" .. ret
end
if #bottomstr > 0 then
ret = ret .. bottomstr
end
return ret
end
--- table-to-string
--- @param t table
--- @param l number
--- @param p table
--- @param n string
--- @param vtv boolean
--- @param i any
--- @param pt table
--- @param path string
--- @param tables table
--- @param tI table
function t2s(t, l, p, n, vtv, i, pt, path, tables, tI)
local globalIndex = table.find(getgenv(), t) -- checks if table is a global
if type(globalIndex) == "string" then
return globalIndex
end
if not tI then
tI = {0}
end
if not path then -- sets path to empty string (so it doesn't have to manually provided every time)
path = ""
end
if not l then -- sets the level to 0 (for indentation) and tables for logging tables it already serialized
l = 0
tables = {}
end
if not p then -- p is the previous table but doesn't really matter if it's the first
p = t
end
for _, v in pairs(tables) do -- checks if the current table has been serialized before
if n and rawequal(v, t) then
bottomstr = bottomstr .. "\n" .. tostring(n) .. tostring(path) .. " = " .. tostring(n) .. tostring(({v2p(v, p)})[2])
return "{} --[[DUPLICATE]]"
end
end
table.insert(tables, t) -- logs table to past tables
local s = "{" -- start of serialization
local size = 0
l = l + indent -- set indentation level
for k, v in pairs(t) do -- iterates over table
size = size + 1 -- changes size for max limit
if size > (_G.SimpleSpyMaxTableSize or 1000) then
s = s .. "\n" .. string.rep(" ", l) .. "-- MAXIMUM TABLE SIZE REACHED, CHANGE '_G.SimpleSpyMaxTableSize' TO ADJUST MAXIMUM SIZE "
break
end
if rawequal(k, t) then -- checks if the table being iterated over is being used as an index within itself (yay, lua)
bottomstr = bottomstr .. "\n" .. tostring(n) .. tostring(path) .. "[" .. tostring(n) .. tostring(path) .. "]" .. " = " .. (rawequal(v, k) and tostring(n) .. tostring(path) or v2s(v, l, p, n, vtv, k, t, path .. "[" .. tostring(n) .. tostring(path) .. "]", tables))
size -= 1
continue
end
local currentPath = "" -- initializes the path of 'v' within 't'
if type(k) == "string" and k:match("^[%a_]+[%w_]*$") then -- cleanly handles table path generation (for the first half)
currentPath = "." .. k
else
currentPath = "[" .. k2s(k, l, p, n, vtv, k, t, path .. currentPath, tables, tI) .. "]"
end
if size % 100 == 0 then
scheduleWait()
end
-- actually serializes the member of the table
s = s .. "\n" .. string.rep(" ", l) .. "[" .. k2s(k, l, p, n, vtv, k, t, path .. currentPath, tables, tI) .. "] = " .. v2s(v, l, p, n, vtv, k, t, path .. currentPath, tables, tI) .. ","
end
if #s > 1 then -- removes the last comma because it looks nicer (no way to tell if it's done 'till it's done so...)
s = s:sub(1, #s - 1)
end
if size > 0 then -- cleanly indents the last curly bracket
s = s .. "\n" .. string.rep(" ", l - indent)
end
return s .. "}"
end
--- key-to-string
function k2s(v, ...)
if keyToString then
if typeof(v) == "userdata" and getrawmetatable(v) then
return string.format('"<void> (%s)" --[[Potentially hidden data (tostring in SimpleSpy:HookRemote/GetRemoteFiredSignal at your own risk)]]', safetostring(v))
elseif typeof(v) == "userdata" then
return string.format('"<void> (%s)"', safetostring(v))
elseif type(v) == "userdata" and typeof(v) ~= "Instance" then
return string.format('"<%s> (%s)"', typeof(v), tostring(v))
elseif type(v) == "function" then
return string.format('"<Function> (%s)"', tostring(v))
end
end
return v2s(v, ...)
end
--- function-to-string
function f2s(f)
for k, x in pairs(getgenv()) do
local isgucci, gpath
if rawequal(x, f) then
isgucci, gpath = true, ""
elseif type(x) == "table" then
isgucci, gpath = v2p(f, x)
end
if isgucci and type(k) ~= "function" then
if type(k) == "string" and k:match("^[%a_]+[%w_]*$") then
return k .. gpath
else
return "getgenv()[" .. v2s(k) .. "]" .. gpath
end
end
end
if funcEnabled and debug.getinfo(f).name:match("^[%a_]+[%w_]*$") then
return "function()end --[[" .. debug.getinfo(f).name .. "]]"
end
return "function()end --[[" .. tostring(f) .. "]]"
end
--- instance-to-path
--- @param i userdata
function i2p(i)
local player = getplayer(i)
local parent = i
local out = ""
if parent == nil then
return "nil"
elseif player then
while true do
if parent and parent == player.Character then
if player == Players.LocalPlayer then
return 'game:GetService("Players").LocalPlayer.Character' .. out
else
return i2p(player) .. ".Character" .. out
end
else
if parent.Name:match("[%a_]+[%w+]*") ~= parent.Name then
out = ':FindFirstChild(' .. formatstr(parent.Name) .. ')' .. out
else
out = "." .. parent.Name .. out
end
end
parent = parent.Parent
end
elseif parent ~= game then
while true do
if parent and parent.Parent == game then
local service = game:FindService(parent.ClassName)
if service then
if parent.ClassName == "Workspace" then
return "workspace" .. out
else
return 'game:GetService("' .. service.ClassName .. '")' .. out
end
else
if parent.Name:match("[%a_]+[%w_]*") then
return "game." .. parent.Name .. out
else
return 'game:FindFirstChild(' .. formatstr(parent.Name) .. ')' .. out
end
end
elseif parent.Parent == nil then
getnilrequired = true
return 'getNil(' .. formatstr(parent.Name) .. ', "' .. parent.ClassName .. '")' .. out
elseif parent == Players.LocalPlayer then
out = ".LocalPlayer" .. out
else
if parent.Name:match("[%a_]+[%w_]*") ~= parent.Name then
out = ':FindFirstChild(' .. formatstr(parent.Name) .. ')' .. out
else
out = "." .. parent.Name .. out
end
end
parent = parent.Parent
end
else
return "game"
end
end
--- userdata-to-string: userdata
--- @param u userdata
function u2s(u)
if typeof(u) == "TweenInfo" then
-- TweenInfo
return "TweenInfo.new(" ..tostring(u.Time) .. ", Enum.EasingStyle." .. tostring(u.EasingStyle) .. ", Enum.EasingDirection." .. tostring(u.EasingDirection) .. ", " .. tostring(u.RepeatCount) .. ", " .. tostring(u.Reverses) .. ", " .. tostring(u.DelayTime) .. ")"
elseif typeof(u) == "Ray" then
-- Ray
return "Ray.new(" .. u2s(u.Origin) .. ", " .. u2s(u.Direction) .. ")"
elseif typeof(u) == "NumberSequence" then
-- NumberSequence
local ret = "NumberSequence.new("
for i, v in pairs(u.KeyPoints) do
ret = ret .. tostring(v)
if i < #u.Keypoints then
ret = ret .. ", "
end
end
return ret .. ")"
elseif typeof(u) == "DockWidgetPluginGuiInfo" then
-- DockWidgetPluginGuiInfo
return "DockWidgetPluginGuiInfo.new(Enum.InitialDockState" .. tostring(u) .. ")"
elseif typeof(u) == "ColorSequence" then
-- ColorSequence
local ret = "ColorSequence.new("
for i, v in pairs(u.KeyPoints) do
ret = ret .. "Color3.new(" .. tostring(v) .. ")"
if i < #u.Keypoints then
ret = ret .. ", "
end
end
return ret .. ")"
elseif typeof(u) == "BrickColor" then
-- BrickColor
return "BrickColor.new(" .. tostring(u.Number) .. ")"
elseif typeof(u) == "NumberRange" then
-- NumberRange
return "NumberRange.new(" .. tostring(u.Min) .. ", " .. tostring(u.Max) .. ")"
elseif typeof(u) == "Region3" then
-- Region3
local center = u.CFrame.Position
local size = u.CFrame.Size
local vector1 = center - size / 2
local vector2 = center + size / 2
return "Region3.new(" .. u2s(vector1) .. ", " .. u2s(vector2) .. ")"
elseif typeof(u) == "Faces" then
-- Faces
local faces = {}
if u.Top then
table.insert(faces, "Enum.NormalId.Top")
end
if u.Bottom then
table.insert(faces, "Enum.NormalId.Bottom")
end
if u.Left then
table.insert(faces, "Enum.NormalId.Left")
end
if u.Right then
table.insert(faces, "Enum.NormalId.Right")
end
if u.Back then
table.insert(faces, "Enum.NormalId.Back")
end
if u.Front then
table.insert(faces, "Enum.NormalId.Front")
end
return "Faces.new(" .. table.concat(faces, ", ") .. ")"
elseif typeof(u) == "EnumItem" then
return tostring(u)
elseif typeof(u) == "Enums" then
return "Enum"
elseif typeof(u) == "Enum" then
return "Enum." .. tostring(u)
elseif typeof(u) == "RBXScriptSignal" then
return "nil --[[RBXScriptSignal]]"
elseif typeof(u) == "Vector3" then
return string.format("Vector3.new(%s, %s, %s)", v2s(u.X), v2s(u.Y), v2s(u.Z))
elseif typeof(u) == "CFrame" then
return string.format("CFrame.new(%s, %s)", v2s(u.Position), v2s(u.LookVector))
elseif typeof(u) == "DockWidgetPluginGuiInfo" then
return string.format("DockWidgetPluginGuiInfo(%s, %s, %s, %s, %s, %s, %s)", "Enum.InitialDockState.Right", v2s(u.InitialEnabled), v2s(u.InitialEnabledShouldOverrideRestore), v2s(u.FloatingXSize), v2s(u.FloatingYSize), v2s(u.MinWidth), v2s(u.MinHeight))
elseif typeof(u) == "PathWaypoint" then
return string.format("PathWaypoint.new(%s, %s)", v2s(u.Position), v2s(u.Action))
elseif typeof(u) == "UDim" then
return string.format("UDim.new(%s, %s)", v2s(u.Scale), v2s(u.Offset))
elseif typeof(u) == "UDim2" then
return string.format("UDim2.new(%s, %s, %s, %s)", v2s(u.X.Scale), v2s(u.X.Offset), v2s(u.Y.Scale), v2s(u.Y.Offset))
elseif typeof(u) == "Rect" then
return string.format("Rect.new(%s, %s)", v2s(u.Min), v2s(u.Max))
else
return string.format("nil --[[%s]]", typeof(u))
end
end
--- Gets the player an instance is descended from
function getplayer(instance)
for _, v in pairs(Players:GetPlayers()) do
if v.Character and (instance:IsDescendantOf(v.Character) or instance == v.Character) then
return v
end
end
end
--- value-to-path (in table)
function v2p(x, t, path, prev)
if not path then
path = ""
end
if not prev then
prev = {}
end
if rawequal(x, t) then
return true, ""
end
for i, v in pairs(t) do
if rawequal(v, x) then
if type(i) == "string" and i:match("^[%a_]+[%w_]*$") then
return true, (path .. "." .. i)
else
return true, (path .. "[" .. v2s(i) .. "]")
end
end
if type(v) == "table" then
local duplicate = false
for _, y in pairs(prev) do
if rawequal(y, v) then
duplicate = true
end
end
if not duplicate then
table.insert(prev, t)
local found
found, p = v2p(x, v, path, prev)
if found then
if type(i) == "string" and i:match("^[%a_]+[%w_]*$") then
return true, "." .. i .. p
else
return true, "[" .. v2s(i) .. "]" .. p
end
end
end
end
end
return false, ""
end
--- format s: string, byte encrypt (for weird symbols)
function formatstr(s, indentation)
if not indentation then
indentation = 0
end
local handled, reachedMax = handlespecials(s, indentation)
return '"' .. handled .. '"' .. (reachedMax and " --[[ MAXIMUM STRING SIZE REACHED, CHANGE '_G.SimpleSpyMaxStringSize' TO ADJUST MAXIMUM SIZE ]]" or "")
end
--- Adds \'s to the text as a replacement to whitespace chars and other things because string.format can't yayeet
function handlespecials(value, indentation)
local buildStr = {}
local i = 1
local char = string.sub(value, i, i)
local indentStr
while char ~= "" do
if char == '"' then
buildStr[i] = '\\"'
elseif char == "\\" then
buildStr[i] = "\\\\"
elseif char == "\n" then
buildStr[i] = "\\n"
elseif char == "\t" then
buildStr[i] = "\\t"
elseif string.byte(char) > 126 or string.byte(char) < 32 then
buildStr[i] = string.format("\\%d", string.byte(char))
else
buildStr[i] = char
end
i = i + 1
char = string.sub(value, i, i)
if i % 200 == 0 then
indentStr = indentStr or string.rep(" ", indentation + indent)
table.move({'"\n', indentStr, '... "'}, 1, 3, i, buildStr)
i += 3
end
end
return table.concat(buildStr)
end
-- safe (ish) tostring
function safetostring(v: any)
if typeof(v) == "userdata" or type(v) == "table" then
local mt = getrawmetatable(v)
local badtostring = mt and rawget(mt, "__tostring")
if mt and badtostring then
rawset(mt, "__tostring", nil)
local out = tostring(v)
rawset(mt, "__tostring", badtostring)
return out
end
end
return tostring(v)
end
--- finds script from 'src' from getinfo, returns nil if not found
--- @param src string
function getScriptFromSrc(src)
local realPath
local runningTest
--- @type number
local s, e
local match = false
if src:sub(1, 1) == "=" then
realPath = game
s = 2
else
runningTest = src:sub(2, e and e - 1 or -1)
for _, v in pairs(getnilinstances()) do
if v.Name == runningTest then
realPath = v
break
end
end
s = #runningTest + 1
end
if realPath then
e = src:sub(s, -1):find("%.")
local i = 0
repeat
i += 1
if not e then
runningTest = src:sub(s, -1)
local test = realPath.FindFirstChild(realPath, runningTest)
if test then
realPath = test
end
match = true
else
runningTest = src:sub(s, e)
local test = realPath.FindFirstChild(realPath, runningTest)
local yeOld = e
if test then
realPath = test
s = e + 2
e = src:sub(e + 2, -1):find("%.")
e = e and e + yeOld or e
else
e = src:sub(e + 2, -1):find("%.")
e = e and e + yeOld or e
end
end
until match or i >= 50
end
return realPath
end
--- schedules the provided function (and calls it with any args after)
function schedule(f, ...)
table.insert(scheduled, {f, ...})
end
--- yields the current thread until the scheduler gives the ok
function scheduleWait()
local thread = coroutine.running()
schedule(function()
coroutine.resume(thread)
end)
coroutine.yield()
end
--- the big (well tbh small now) boi task scheduler himself, handles p much anything as quicc as possible
function taskscheduler()
if not toggle then
scheduled = {}
return
end
if #scheduled > 1000 then
table.remove(scheduled, #scheduled)
end
if #scheduled > 0 then
local currentf = scheduled[1]
table.remove(scheduled, 1)
if type(currentf) == "table" and type(currentf[1]) == "function" then
pcall(unpack(currentf))
end
end
end
--- Handles remote logs
function remoteHandler(hookfunction, methodName, remote, args, funcInfo, calling)
local validInstance, validClass = pcall(function()
return remote:IsA("RemoteEvent") or remote:IsA("RemoteFunction")
end)
if validInstance and validClass then
local func = funcInfo.func
if not calling then
_, calling = pcall(getScriptFromSrc, funcInfo.source)
end
coroutine.wrap(function()
if remoteSignals[remote] then
remoteSignals[remote]:Fire(args)
end
end)()
if autoblock then
if excluding[remote] then
return
end
if not history[remote] then
history[remote] = {badOccurances = 0, lastCall = tick()}
end
if tick() - history[remote].lastCall < 1 then
history[remote].badOccurances += 1
return
else
history[remote].badOccurances = 0
end
if history[remote].badOccurances > 3 then
excluding[remote] = true
return
end
history[remote].lastCall = tick()
end
local functionInfoStr
local src
if func and islclosure(func) then
local functionInfo = {}
functionInfo.info = funcInfo
pcall(function() functionInfo.constants = debug.getconstants(func) end)
pcall(function() functionInfoStr = v2v{functionInfo = functionInfo} end)
pcall(function() if type(calling) == "userdata" then src = calling end end)
end
if methodName:lower() == "fireserver" then
newRemote("event", remote.Name, args, remote, functionInfoStr, (blocklist[remote] or blocklist[remote.Name]), src)
elseif methodName:lower() == "invokeserver" then
newRemote("function", remote.Name, args, remote, functionInfoStr, (blocklist[remote] or blocklist[remote.Name]), src)
end
end
end
--- Used for hookfunction
function hookRemote(remoteType, remote, ...)
if typeof(remote) == "Instance" then
local args = {...}
local validInstance, remoteName = pcall(function()
return remote.Name
end)
if validInstance and not (blacklist[remote] or blacklist[remoteName]) then
local funcInfo = {}
local calling
if funcEnabled then
funcInfo = debug.getinfo(4) or funcInfo
calling = useGetCallingScript and getcallingscript() or nil
end
schedule(remoteHandler, true, remoteType == "RemoteEvent" and "fireserver" or "invokeserver", remote, args, funcInfo, calling)
if (blocklist[remote] or blocklist[remoteName]) then
return
end
end
end
if remoteType == "RemoteEvent" then
if remoteHooks[remote] then
return originalEvent(remote, remoteHooks[remote](...))
end
return originalEvent(remote, ...)
else
if remoteHooks[remote] then
return originalFunction(remote, remoteHooks[remote](...))
end
return originalFunction(remote, ...)
end
end
local newnamecall = newcclosure(function(remote, ...)
if typeof(remote) == "Instance" then
local args = {...}
local methodName = getnamecallmethod()
local validInstance, remoteName = pcall(function()
return remote.Name
end)
if validInstance and (methodName == "FireServer" or methodName == "fireServer" or methodName == "InvokeServer" or methodName == "invokeServer") and not (blacklist[remote] or blacklist[remoteName]) then
local funcInfo = {}
local calling
if funcEnabled then
funcInfo = debug.getinfo(3) or funcInfo
calling = useGetCallingScript and getcallingscript() or nil
end
coroutine.wrap(function()
schedule(remoteHandler, false, methodName, remote, args, funcInfo, calling)
end)()
end
if validInstance and (methodName == "FireServer" or methodName == "fireServer" or methodName == "InvokeServer" or methodName == "invokeServer") and (blocklist[remote] or blocklist[remoteName]) then
return nil
elseif validInstance and (methodName == "FireServer" or methodName == "fireServer" or methodName == "InvokeServer" or methodName == "invokeServer") and remoteHooks[remote] then
return original(remote, remoteHooks[remote](...))
else
return original(remote, ...)
end
end
return original(remote, ...)
end, original)
local newFireServer = newcclosure(function(...) return hookRemote("RemoteEvent", ...) end, originalEvent)
local newInvokeServer = newcclosure(function(...) return hookRemote("RemoteFunction", ...) end, originalFunction)
--- Toggles on and off the remote spy
function toggleSpy()
if not toggle then
if hookmetamethod then
local oldNamecall = hookmetamethod(game, "__namecall", newnamecall)
original = original or oldNamecall
else
gm = gm or getrawmetatable(game)
original = original or gm.__namecall
setreadonly(gm, false)
if not original then
warn("SimpleSpy: namecall method not found!")
onToggleButtonClick()
return
end
gm.__namecall = newnamecall
setreadonly(gm, true)
end
originalEvent = hookfunction(remoteEvent.FireServer, newFireServer)
originalFunction = hookfunction(remoteFunction.InvokeServer, newInvokeServer)
else
if hookmetamethod then
if original then
hookmetamethod(game, "__namecall", original)
end
else
gm = gm or getrawmetatable(game)
setreadonly(gm, false)
gm.__namecall = original
setreadonly(gm, true)
end
hookfunction(remoteEvent.FireServer, originalEvent)
hookfunction(remoteFunction.InvokeServer, originalFunction)
end
end
--- Toggles between the two remotespy methods (hookfunction currently = disabled)
function toggleSpyMethod()
toggleSpy()
toggle = not toggle
end
--- Shuts down the remote spy
function shutdown()
if schedulerconnect then
schedulerconnect:Disconnect()
end
for _, connection in pairs(connections) do
coroutine.wrap(function()
connection:Disconnect()
end)()
end
SimpleSpy2:Destroy()
hookfunction(remoteEvent.FireServer, originalEvent)
hookfunction(remoteFunction.InvokeServer, originalFunction)
if hookmetamethod then
if original then
hookmetamethod(game, "__namecall", original)
end
else
gm = gm or getrawmetatable(game)
setreadonly(gm, false)
gm.__namecall = original
setreadonly(gm, true)
end
_G.SimpleSpyExecuted = false
end
-- main
if not _G.SimpleSpyExecuted then
local succeeded, err = pcall(function()
if not RunService:IsClient() then
error("SimpleSpy cannot run on the server!")
end
if not hookfunction or not getrawmetatable or getrawmetatable and not getrawmetatable(game).__namecall or not setreadonly then
shutdown()
error("This environment does not support method hooks!\n(Your exploit is not capable of running SimpleSpy)")
end
_G.SimpleSpyShutdown = shutdown
ContentProvider:PreloadAsync({"rbxassetid://6065821980", "rbxassetid://6065774948", "rbxassetid://6065821086", "rbxassetid://6065821596", ImageLabel, ImageLabel_2, ImageLabel_3})
-- if gethui then funcEnabled = false end
onToggleButtonClick()
RemoteTemplate.Parent = nil
FunctionTemplate.Parent = nil
codebox = Highlight.new(CodeBox)
codebox:setRaw("")
getgenv().SimpleSpy = SimpleSpy
getgenv().getNil = function(name,class) for _,v in pairs(getnilinstances())do if v.ClassName==class and v.Name==name then return v;end end end
TextLabel:GetPropertyChangedSignal("Text"):Connect(scaleToolTip)
-- TopBar.InputBegan:Connect(onBarInput)
MinimizeButton.MouseButton1Click:Connect(toggleMinimize)
MaximizeButton.MouseButton1Click:Connect(toggleSideTray)
Simple.MouseButton1Click:Connect(onToggleButtonClick)
CloseButton.MouseEnter:Connect(onXButtonHover)
CloseButton.MouseLeave:Connect(onXButtonUnhover)
Simple.MouseEnter:Connect(onToggleButtonHover)
Simple.MouseLeave:Connect(onToggleButtonUnhover)
CloseButton.MouseButton1Click:Connect(shutdown)
table.insert(connections, UserInputService.InputBegan:Connect(backgroundUserInput))
connectResize()
SimpleSpy2.Enabled = true
coroutine.wrap(function()
wait(1)
onToggleButtonUnhover()
end)()
schedulerconnect = RunService.Heartbeat:Connect(taskscheduler)
if syn and syn.protect_gui then pcall(syn.protect_gui, SimpleSpy2) end
bringBackOnResize()
SimpleSpy2.Parent = --[[gethui and gethui() or]] CoreGui
if not Players.LocalPlayer then
Players:GetPropertyChangedSignal("LocalPlayer"):Wait()
end
Mouse = Players.LocalPlayer:GetMouse()
oldIcon = Mouse.Icon
table.insert(connections, Mouse.Move:Connect(mouseMoved))
end)
if succeeded then
_G.SimpleSpyExecuted = true
else
warn("A fatal error has occured, SimpleSpy was unable to launch properly.\nPlease DM this error message to @exx#9394:\n\n" .. tostring(err))
SimpleSpy2:Destroy()
hookfunction(remoteEvent.FireServer, originalEvent)
hookfunction(remoteFunction.InvokeServer, originalFunction)
if hookmetamethod then
if original then
hookmetamethod(game, "__namecall", original)
end
else
setreadonly(gm, false)
gm.__namecall = original
setreadonly(gm, true)
end
return
end
else
SimpleSpy2:Destroy()
return
end
----- ADD ONS ----- (easily add or remove additonal functionality to the RemoteSpy!)
--[[
Some helpful things:
- add your function in here, and create buttons for them through the 'newButton' function
- the first argument provided is the TextButton the player clicks to run the function
- generated scripts are generated when the namecall is initially fired and saved in remoteFrame objects
- blacklisted remotes will be ignored directly in namecall (less lag)
- the properties of a 'remoteFrame' object:
{
Name: (string) The name of the Remote
GenScript: (string) The generated script that appears in the codebox (generated when namecall fired)
Source: (Instance (LocalScript)) The script that fired/invoked the remote
Remote: (Instance (RemoteEvent) | Instance (RemoteFunction)) The remote that was fired/invoked
Log: (Instance (TextButton)) The button being used for the remote (same as 'selected.Log')
}
- globals list: (contact @exx#9394 for more information or if you have suggestions for more to be added)
- closed: (boolean) whether or not the GUI is currently minimized
- logs: (table[remoteFrame]) full of remoteFrame objects (properties listed above)
- selected: (remoteFrame) the currently selected remoteFrame (properties listed above)
- blacklist: (string[] | Instance[] (RemoteEvent) | Instance[] (RemoteFunction)) an array of blacklisted names and remotes
- codebox: (Instance (TextBox)) the textbox that holds all the code- cleared often
]]
-- Copies the contents of the codebox
newButton(
"Copy Code",
function() return "Click to copy code" end,
function()
setclipboard(codebox:getString())
TextLabel.Text = "Copied successfully!"
end
)
--- Copies the source script (that fired the remote)
newButton(
"Copy Remote",
function() return "Click to copy the path of the remote" end,
function()
if selected then
setclipboard(v2s(selected.Remote))
TextLabel.Text = "Copied!"
end
end
)
-- Executes the contents of the codebox through loadstring
newButton(
"Run Code",
function() return "Click to execute code" end,
function()
local orText = "Click to execute code"
TextLabel.Text = "Executing..."
local succeeded = pcall(function() return loadstring(codebox:getString())() end)
if succeeded then
TextLabel.Text = "Executed successfully!"
else
TextLabel.Text = "Execution error!"
end
end
)
--- Gets the calling script (not super reliable but w/e)
newButton(
"Get Script",
function() return "Click to copy calling script to clipboard\nWARNING: Not super reliable, nil == could not find" end,
function()
if selected then
setclipboard(SimpleSpy:ValueToString(selected.Source))
TextLabel.Text = "Done!"
end
end
)
--- Decompiles the script that fired the remote and puts it in the code box
newButton(
"Function Info",
function() return "Click to view calling function information" end,
function()
if selected then
if selected.Function then
codebox:setRaw("-- Calling function info\n-- Generated by the SimpleSpy serializer\n\n" .. tostring(selected.Function))
end
TextLabel.Text = "Done! Function info generated by the SimpleSpy Serializer."
end
end
)
--- Clears the Remote logs
newButton(
"Clr Logs",
function() return "Click to clear logs" end,
function()
TextLabel.Text = "Clearing..."
logs = {}
for _, v in pairs(LogList:GetChildren()) do
if not v:IsA("UIListLayout") then
v:Destroy()
end
end
codebox:setRaw("")
selected = nil
TextLabel.Text = "Logs cleared!"
end
)
--- Excludes the selected.Log Remote from the RemoteSpy
newButton(
"Exclude (i)",
function() return "Click to exclude this Remote.\nExcluding a remote makes SimpleSpy ignore it, but it will continue to be usable." end,
function()
if selected then
blacklist[selected.Remote] = true
TextLabel.Text = "Excluded!"
end
end
)
--- Excludes all Remotes that share the same name as the selected.Log remote from the RemoteSpy
newButton(
"Exclude (n)",
function() return "Click to exclude all remotes with this name.\nExcluding a remote makes SimpleSpy ignore it, but it will continue to be usable." end,
function()
if selected then
blacklist[selected.Name] = true
TextLabel.Text = "Excluded!"
end
end
)
--- clears blacklist
newButton(
"Clr Blacklist",
function() return "Click to clear the blacklist.\nExcluding a remote makes SimpleSpy ignore it, but it will continue to be usable." end,
function()
blacklist = {}
TextLabel.Text = "Blacklist cleared!"
end
)
--- Prevents the selected.Log Remote from firing the server (still logged)
newButton(
"Block (i)",
function() return "Click to stop this remote from firing.\nBlocking a remote won't remove it from SimpleSpy logs, but it will not continue to fire the server." end,
function()
if selected then
blocklist[selected.Remote] = true
TextLabel.Text = "Excluded!"
end
end
)
--- Prevents all remotes from firing that share the same name as the selected.Log remote from the RemoteSpy (still logged)
newButton(
"Block (n)",
function() return "Click to stop remotes with this name from firing.\nBlocking a remote won't remove it from SimpleSpy logs, but it will not continue to fire the server." end,
function()
if selected then
blocklist[selected.Name] = true
TextLabel.Text = "Excluded!"
end
end
)
--- clears blacklist
newButton(
"Clr Blocklist",
function() return "Click to stop blocking remotes.\nBlocking a remote won't remove it from SimpleSpy logs, but it will not continue to fire the server." end,
function()
blocklist = {}
TextLabel.Text = "Blocklist cleared!"
end
)
--- Attempts to decompile the source script
newButton(
"Decompile",
function() return "Attempts to decompile source script\nWARNING: Not super reliable, nil == could not find" end,
function()
if selected then
if selected.Source then
codebox:setRaw(decompile(selected.Source))
TextLabel.Text = "Done!"
else
TextLabel.Text = "Source not found!"
end
end
end
)
newButton(
"Disable Info",
function() return string.format("[%s] Toggle function info (because it can cause lag in some games)", funcEnabled and "ENABLED" or "DISABLED") end,
function()
funcEnabled = not funcEnabled
TextLabel.Text = string.format("[%s] Toggle function info (because it can cause lag in some games)", funcEnabled and "ENABLED" or "DISABLED")
end
)
newButton(
"Autoblock",
function() return string.format("[%s] [BETA] Intelligently detects and excludes spammy remote calls from logs", autoblock and "ENABLED" or "DISABLED") end,
function()
autoblock = not autoblock
TextLabel.Text = string.format("[%s] [BETA] Intelligently detects and excludes spammy remote calls from logs", autoblock and "ENABLED" or "DISABLED")
history = {}
excluding = {}
end
)
newButton(
"CallingScript",
function() return string.format("[%s] [UNSAFE] Uses 'getcallingscript' to get calling script for Decompile and GetScript. Much more reliable, but opens up SimpleSpy to detection and/or instability.", useGetCallingScript and "ENABLED" or "DISABLED") end,
function()
useGetCallingScript = not useGetCallingScript
TextLabel.Text = string.format("[%s] [UNSAFE] Uses 'getcallingscript' to get calling script for Decompile and GetScript. Much more reliable, but opens up SimpleSpy to detection and/or instability.", useGetCallingScript and "ENABLED" or "DISABLED")
end
)
newButton(
"KeyToString",
function() return string.format("[%s] [BETA] Uses an experimental new function to replicate Roblox's behavior when a non-primitive type is used as a key in a table. Still in development and may not properly reflect tostringed (empty) userdata.", keyToString and "ENABLED" or "DISABLED") end,
function()
keyToString = not keyToString
TextLabel.Text = string.format("[%s] [BETA] Uses an experimental new function to replicate Roblox's behavior when a non-primitive type is used as a key in a table. Still in development and may not properly reflect tostringed (empty) userdata.", keyToString and "ENABLED" or "DISABLED")
end
)
end
)
Explorer.MouseButton1Click:Connect(
function()
--[[
DEX Main Script
Created by: Moon and Courtney
RASPBERRY PI IS A SKIDDY SKID AF
--]]
-- Metas
local Services = setmetatable({},{
__index = function(self, ind)
if ypcall(function()game:GetService(ind)end) then
return game:GetService(ind)
else
return nil
end
end
})
function CreateInstance(cls,props)
local inst = Instance.new(cls)
for i,v in pairs(props) do
inst[i] = v
end
return inst
end
function createDexGui()
local DexGui = CreateInstance("ScreenGui",{DisplayOrder=0,Enabled=true,ResetOnSpawn=true,Name="Dex",})
local DexGui2 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.39215689897537,0.39215689897537,0.39215689897537),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(1,-300,0,0),Rotation=0,Selectable=false,Size=UDim2.new(0,300,1,0),SizeConstraint=0,Visible=true,ZIndex=1,Name="ContentFrameR",Parent = DexGui})
local DexGui3 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.39215689897537,0.39215689897537,0.39215689897537),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,-300,0,0),Rotation=0,Selectable=false,Size=UDim2.new(0,300,1,0),SizeConstraint=0,Visible=true,ZIndex=1,Name="ContentFrameL",Parent = DexGui})
local DexGui4 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.11764706671238,0.11764706671238,0.11764706671238),BackgroundTransparency=0,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0.5,-150,0,0),Rotation=0,Selectable=false,Size=UDim2.new(0,300,0,36),SizeConstraint=0,Visible=false,ZIndex=10,Name="TopMenu",Parent = DexGui})
local DexGui5 = CreateInstance("TextLabel",{Font=3,FontSize=5,Text="1.1.0",TextColor3=Color3.new(1,1,1),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=true,TextXAlignment=2,TextYAlignment=1,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,0,0,16),Rotation=0,Selectable=false,Size=UDim2.new(0,30,0,18),SizeConstraint=0,Visible=true,ZIndex=10,Name="Version",Parent = DexGui4})
local DexGui6 = CreateInstance("ImageLabel",{Image="rbxassetid://474172996",ImageColor3=Color3.new(0.11764706671238,0.11764706671238,0.11764706671238),ImageRectOffset=Vector2.new(0,0),ImageRectSize=Vector2.new(0,0),ImageTransparency=0,ScaleType=0,SliceCenter=Rect.new(0,0,0,0),Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(1,-9,0,9),Rotation=90,Selectable=false,Size=UDim2.new(0,36,0,18),SizeConstraint=0,Visible=true,ZIndex=10,Name="Slant",Parent = DexGui4})
local DexGui7 = CreateInstance("TextLabel",{Font=4,FontSize=5,Text="DEX",TextColor3=Color3.new(1,1,1),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=true,TextXAlignment=2,TextYAlignment=1,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,0,0,2),Rotation=0,Selectable=false,Size=UDim2.new(0,30,0,18),SizeConstraint=0,Visible=true,ZIndex=10,Name="Title",Parent = DexGui4})
local DexGui8 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.19607844948769,0.19607844948769,0.19607844948769),BackgroundTransparency=0,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,120,0,0),Rotation=0,Selectable=false,Size=UDim2.new(0,120,1,0),SizeConstraint=0,Visible=true,ZIndex=10,Name="Content",Parent = DexGui4})
local DexGui9 = CreateInstance("TextButton",{Font=3,FontSize=7,Text="",TextColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),TextScaled=false,TextSize=24,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=2,TextYAlignment=1,AutoButtonColor=false,Modal=false,Selected=false,Style=0,Active=true,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.039215687662363,0.039215687662363,0.039215687662363),BackgroundTransparency=0,BorderColor3=Color3.new(0.19607844948769,0.19607844948769,0.19607844948769),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,30,0,4),Rotation=0,Selectable=true,Size=UDim2.new(0,112,0,28),SizeConstraint=0,Visible=true,ZIndex=10,Name="SlideSelect",Parent = DexGui4})
local DexGui10 = CreateInstance("TextLabel",{Font=3,FontSize=5,Text="Window Views",TextColor3=Color3.new(1,1,1),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=true,TextXAlignment=0,TextYAlignment=1,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,20,0,0),Rotation=0,Selectable=false,Size=UDim2.new(1,-28,0,28),SizeConstraint=0,Visible=true,ZIndex=10,Name="SlideName",Parent = DexGui9})
local DexGui11 = CreateInstance("TextLabel",{Font=3,FontSize=5,Text="V",TextColor3=Color3.new(1,1,1),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=true,TextXAlignment=2,TextYAlignment=1,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.11764706671238,0.11764706671238,0.11764706671238),BackgroundTransparency=0,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(1,-8,0,0),Rotation=0,Selectable=false,Size=UDim2.new(0,8,0,28),SizeConstraint=0,Visible=true,ZIndex=10,Name="DropDown",Parent = DexGui9})
local DexGui12 = CreateInstance("ImageLabel",{Image="rbxassetid://588745174",ImageColor3=Color3.new(1,1,1),ImageRectOffset=Vector2.new(0,0),ImageRectSize=Vector2.new(0,0),ImageTransparency=0,ScaleType=0,SliceCenter=Rect.new(0,0,0,0),Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,2,0,6),Rotation=0,Selectable=false,Size=UDim2.new(0,16,0,16),SizeConstraint=0,Visible=true,ZIndex=10,Name="Icon",Parent = DexGui9})
local DexGui13 = CreateInstance("ImageLabel",{Image="rbxassetid://474172996",ImageColor3=Color3.new(0.11764706671238,0.11764706671238,0.11764706671238),ImageRectOffset=Vector2.new(0,0),ImageRectSize=Vector2.new(0,0),ImageTransparency=0,ScaleType=0,SliceCenter=Rect.new(0,0,0,0),Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,-18,0,0),Rotation=180,Selectable=false,Size=UDim2.new(0,18,0,36),SizeConstraint=0,Visible=true,ZIndex=10,Name="Slant",Parent = DexGui4})
local DexGui14 = CreateInstance("TextButton",{Font=3,FontSize=7,Text="",TextColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),TextScaled=false,TextSize=24,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=2,TextYAlignment=1,AutoButtonColor=false,Modal=false,Selected=false,Style=0,Active=true,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(1,-30,0,0),Rotation=0,Selectable=true,Size=UDim2.new(0,30,0,36),SizeConstraint=0,Visible=true,ZIndex=10,Name="About",Parent = DexGui4})
local DexGui15 = CreateInstance("ImageLabel",{Image="rbxassetid://476354004",ImageColor3=Color3.new(1,1,1),ImageRectOffset=Vector2.new(0,0),ImageRectSize=Vector2.new(0,0),ImageTransparency=0,ScaleType=0,SliceCenter=Rect.new(0,0,0,0),Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,3,0,6),Rotation=0,Selectable=false,Size=UDim2.new(0,24,0,24),SizeConstraint=0,Visible=true,ZIndex=10,Name="Icon",Parent = DexGui14})
local DexGui16 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=0,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,0,0,0),Rotation=0,Selectable=false,Size=UDim2.new(0,100,0,100),SizeConstraint=0,Visible=false,ZIndex=1,Name="Resources",Parent = DexGui})
local DexGui17 = CreateInstance("TextButton",{Font=3,FontSize=5,Text="",TextColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=2,TextYAlignment=1,AutoButtonColor=false,Modal=false,Selected=false,Style=0,Active=true,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.37647062540054,0.54901963472366,0.82745105028152),BackgroundTransparency=1,BorderColor3=Color3.new(0.33725491166115,0.49019610881805,0.73725491762161),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,1,0,2),Rotation=0,Selectable=true,Size=UDim2.new(1,-18,0,18),SizeConstraint=0,Visible=true,ZIndex=1,Name="Entry",Parent = DexGui16})
local DexGui18 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0,0,0),BackgroundTransparency=1,BorderColor3=Color3.new(0.14509804546833,0.20784315466881,0.21176472306252),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,18,0,0),Rotation=0,Selectable=false,Size=UDim2.new(1,-18,1,0),SizeConstraint=0,Visible=true,ZIndex=1,Name="Indent",Parent = DexGui17})
local DexGui19 = CreateInstance("ImageButton",{Image="",ImageColor3=Color3.new(1,1,1),ImageRectOffset=Vector2.new(0,0),ImageRectSize=Vector2.new(0,0),ImageTransparency=0,ScaleType=0,SliceCenter=Rect.new(0,0,0,0),AutoButtonColor=true,Modal=false,Selected=false,Style=0,Active=true,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=true,Draggable=false,Position=UDim2.new(0,-16,0.5,-8),Rotation=0,Selectable=true,Size=UDim2.new(0,16,0,16),SizeConstraint=0,Visible=true,ZIndex=1,Name="Expand",Parent = DexGui18})
local DexGui20 = CreateInstance("ImageLabel",{Image="rbxassetid://529659138",ImageColor3=Color3.new(1,1,1),ImageRectOffset=Vector2.new(0,0),ImageRectSize=Vector2.new(0,0),ImageTransparency=0,ScaleType=0,SliceCenter=Rect.new(0,0,0,0),Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(-12.562000274658,0,-12.562000274658,0),Rotation=0,Selectable=false,Size=UDim2.new(16,0,16,0),SizeConstraint=0,Visible=true,ZIndex=1,Name="Icon",Parent = DexGui19})
local DexGui21 = CreateInstance("TextLabel",{Font=3,FontSize=5,Text="Item",TextColor3=Color3.new(0.86274516582489,0.86274516582489,0.86274516582489),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=0,TextYAlignment=1,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,22,0,0),Rotation=0,Selectable=false,Size=UDim2.new(1,-22,0,18),SizeConstraint=0,Visible=true,ZIndex=1,Name="EntryName",Parent = DexGui18})
local DexGui22 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=true,Draggable=false,Position=UDim2.new(0,2,0.5,-8),Rotation=0,Selectable=false,Size=UDim2.new(0,16,0,16),SizeConstraint=0,Visible=true,ZIndex=1,Name="IconFrame",Parent = DexGui18})
local DexGui23 = CreateInstance("ImageLabel",{Image="rbxassetid://529659138",ImageColor3=Color3.new(1,1,1),ImageRectOffset=Vector2.new(0,0),ImageRectSize=Vector2.new(0,0),ImageTransparency=0,ScaleType=0,SliceCenter=Rect.new(0,0,0,0),Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(-5.811999797821,0,-1.3120000362396,0),Rotation=0,Selectable=false,Size=UDim2.new(16,0,16,0),SizeConstraint=0,Visible=true,ZIndex=1,Name="Icon",Parent = DexGui22})
local DexGui24 = CreateInstance("Folder",{Name="PropControls",Parent = DexGui16})
local DexGui25 = CreateInstance("TextBox",{ClearTextOnFocus=true,Font=3,FontSize=5,MultiLine=false,Text="0",TextColor3=Color3.new(0.86274516582489,0.86274516582489,0.86274516582489),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=0,TextYAlignment=1,Active=true,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,2,0,0),Rotation=0,Selectable=true,Size=UDim2.new(1,-4,1,0),SizeConstraint=0,Visible=true,ZIndex=1,Name="String",Parent = DexGui24})
local DexGui26 = CreateInstance("TextLabel",{Font=3,FontSize=5,Text="",TextColor3=Color3.new(0.56470590829849,0.56470590829849,0.56470590829849),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=0,TextYAlignment=1,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,2,0,0),Rotation=0,Selectable=false,Size=UDim2.new(1,-4,1,0),SizeConstraint=0,Visible=false,ZIndex=1,Name="ReadOnly",Parent = DexGui25})
local DexGui27 = CreateInstance("TextBox",{ClearTextOnFocus=true,Font=3,FontSize=5,MultiLine=false,Text="0",TextColor3=Color3.new(0.86274516582489,0.86274516582489,0.86274516582489),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=0,TextYAlignment=1,Active=true,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,2,0,0),Rotation=0,Selectable=true,Size=UDim2.new(1,-2,1,0),SizeConstraint=0,Visible=true,ZIndex=1,Name="Number",Parent = DexGui24})
local DexGui28 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(1,-16,0,0),Rotation=0,Selectable=false,Size=UDim2.new(0,16,1,0),SizeConstraint=0,Visible=true,ZIndex=1,Name="ArrowFrame",Parent = DexGui27})
local DexGui29 = CreateInstance("TextButton",{Font=3,FontSize=5,Text="",TextColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=2,TextYAlignment=1,AutoButtonColor=true,Modal=false,Selected=false,Style=0,Active=true,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,0,0,3),Rotation=0,Selectable=true,Size=UDim2.new(1,0,0,8),SizeConstraint=0,Visible=true,ZIndex=1,Name="Up",Parent = DexGui28})
local DexGui30 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.63921570777893,0.63529413938522,0.64705884456635),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,0,0,0),Rotation=0,Selectable=false,Size=UDim2.new(0,16,0,8),SizeConstraint=0,Visible=true,ZIndex=1,Name="Arrow",Parent = DexGui29})
local DexGui31 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.86274510622025,0.86274510622025,0.86274510622025),BackgroundTransparency=0,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,8,0,3),Rotation=0,Selectable=false,Size=UDim2.new(0,1,0,1),SizeConstraint=0,Visible=true,ZIndex=1,Name="Frame",Parent = DexGui30})
local DexGui32 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.86274510622025,0.86274510622025,0.86274510622025),BackgroundTransparency=0,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,7,0,4),Rotation=0,Selectable=false,Size=UDim2.new(0,3,0,1),SizeConstraint=0,Visible=true,ZIndex=1,Name="Frame",Parent = DexGui30})
local DexGui33 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.86274510622025,0.86274510622025,0.86274510622025),BackgroundTransparency=0,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,6,0,5),Rotation=0,Selectable=false,Size=UDim2.new(0,5,0,1),SizeConstraint=0,Visible=true,ZIndex=1,Name="Frame",Parent = DexGui30})
local DexGui34 = CreateInstance("TextButton",{Font=3,FontSize=5,Text="",TextColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=2,TextYAlignment=1,AutoButtonColor=true,Modal=false,Selected=false,Style=0,Active=true,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,0,0,11),Rotation=0,Selectable=true,Size=UDim2.new(1,0,0,8),SizeConstraint=0,Visible=true,ZIndex=1,Name="Down",Parent = DexGui28})
local DexGui35 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.63921570777893,0.63529413938522,0.64705884456635),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,0,0,0),Rotation=0,Selectable=false,Size=UDim2.new(0,16,0,8),SizeConstraint=0,Visible=true,ZIndex=1,Name="Arrow",Parent = DexGui34})
local DexGui36 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.86274510622025,0.86274510622025,0.86274510622025),BackgroundTransparency=0,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,8,0,5),Rotation=0,Selectable=false,Size=UDim2.new(0,1,0,1),SizeConstraint=0,Visible=true,ZIndex=1,Name="Frame",Parent = DexGui35})
local DexGui37 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.86274510622025,0.86274510622025,0.86274510622025),BackgroundTransparency=0,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,7,0,4),Rotation=0,Selectable=false,Size=UDim2.new(0,3,0,1),SizeConstraint=0,Visible=true,ZIndex=1,Name="Frame",Parent = DexGui35})
local DexGui38 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.86274510622025,0.86274510622025,0.86274510622025),BackgroundTransparency=0,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,6,0,3),Rotation=0,Selectable=false,Size=UDim2.new(0,5,0,1),SizeConstraint=0,Visible=true,ZIndex=1,Name="Frame",Parent = DexGui35})
local DexGui39 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.39215689897537,0.39215689897537,0.39215689897537),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,0,0.5,0),Rotation=0,Selectable=false,Size=UDim2.new(0,300,0.5,0),SizeConstraint=0,Visible=true,ZIndex=1,Name="PropertiesPanel",Parent = DexGui16})
local DexGui40 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.25098040699959,0.25098040699959,0.25098040699959),BackgroundTransparency=0,BorderColor3=Color3.new(0.14509804546833,0.20784315466881,0.21176472306252),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,1,0,50),Rotation=0,Selectable=false,Size=UDim2.new(1,-2,1,-50),SizeConstraint=0,Visible=true,ZIndex=1,Name="Content",Parent = DexGui39})
local DexGui41 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.20784315466881,0.27058824896812,0.27450981736183),BackgroundTransparency=1,BorderColor3=Color3.new(0.14509804546833,0.20784315466881,0.21176472306252),BorderSizePixel=1,ClipsDescendants=true,Draggable=false,Position=UDim2.new(0,0,0,0),Rotation=0,Selectable=false,Size=UDim2.new(1,0,1,0),SizeConstraint=0,Visible=true,ZIndex=1,Name="List",Parent = DexGui40})
local DexGui42 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.18823531270027,0.18823531270027,0.18823531270027),BackgroundTransparency=0,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,0,0,0),Rotation=0,Selectable=false,Size=UDim2.new(1,0,0,50),SizeConstraint=0,Visible=true,ZIndex=1,Name="TopBar",Parent = DexGui39})
local DexGui43 = CreateInstance("TextButton",{Font=4,FontSize=5,Text="X",TextColor3=Color3.new(0.86274516582489,0.86274516582489,0.86274516582489),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=2,TextYAlignment=1,AutoButtonColor=true,Modal=false,Selected=false,Style=0,Active=true,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(1,-27,0,0),Rotation=0,Selectable=true,Size=UDim2.new(0,25,0,25),SizeConstraint=0,Visible=true,ZIndex=1,Name="Close",Parent = DexGui42})
local DexGui44 = CreateInstance("TextLabel",{Font=3,FontSize=5,Text="Properties",TextColor3=Color3.new(0.86274516582489,0.86274516582489,0.86274516582489),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=2,TextYAlignment=1,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,25,0,0),Rotation=0,Selectable=false,Size=UDim2.new(1,-50,0,25),SizeConstraint=0,Visible=true,ZIndex=1,Name="WindowTitle",Parent = DexGui42})
local DexGui45 = CreateInstance("TextButton",{Font=3,FontSize=5,Text="",TextColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=2,TextYAlignment=1,AutoButtonColor=true,Modal=false,Selected=false,Style=0,Active=true,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.21960785984993,0.21960785984993,0.21960785984993),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(1,-25,0,25),Rotation=0,Selectable=true,Size=UDim2.new(0,25,0,25),SizeConstraint=0,Visible=true,ZIndex=1,Name="Settings",Parent = DexGui42})
local DexGui46 = CreateInstance("ImageLabel",{Image="rbxassetid://530240903",ImageColor3=Color3.new(0.86274516582489,0.86274516582489,0.86274516582489),ImageRectOffset=Vector2.new(0,0),ImageRectSize=Vector2.new(0,0),ImageTransparency=0,ScaleType=0,SliceCenter=Rect.new(0,0,0,0),Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,5,0,5),Rotation=0,Selectable=false,Size=UDim2.new(1,-10,1,-10),SizeConstraint=0,Visible=true,ZIndex=1,Name="ImageLabel",Parent = DexGui45})
local DexGui47 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.3137255012989,0.3137255012989,0.3137255012989),BackgroundTransparency=0,BorderColor3=Color3.new(0.4588235616684,0.52156865596771,0.52549022436142),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,2,0,45),Rotation=0,Selectable=false,Size=UDim2.new(1,-27,0,2),SizeConstraint=0,Visible=true,ZIndex=1,Name="SearchFrame",Parent = DexGui42})
local DexGui48 = CreateInstance("TextBox",{ClearTextOnFocus=false,Font=3,FontSize=5,MultiLine=false,Text="",TextColor3=Color3.new(0.86274516582489,0.86274516582489,0.86274516582489),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=0,TextYAlignment=1,Active=true,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.3137255012989,0.3137255012989,0.3137255012989),BackgroundTransparency=1,BorderColor3=Color3.new(0.47058826684952,0.47058826684952,0.47058826684952),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,2,0,-20),Rotation=0,Selectable=true,Size=UDim2.new(1,-4,1,20),SizeConstraint=0,Visible=true,ZIndex=1,Name="Search",Parent = DexGui47})
local DexGui49 = CreateInstance("TextLabel",{Font=3,FontSize=5,Text="Search Properties",TextColor3=Color3.new(0.37647062540054,0.37647062540054,0.37647062540054),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=0,TextYAlignment=1,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,0,0,0),Rotation=0,Selectable=false,Size=UDim2.new(1,0,1,0),SizeConstraint=0,Visible=true,ZIndex=1,Name="Empty",Parent = DexGui48})
local DexGui50 = CreateInstance("ImageLabel",{Image="rbxassetid://527318112",ImageColor3=Color3.new(0.86274516582489,0.86274516582489,0.86274516582489),ImageRectOffset=Vector2.new(0,0),ImageRectSize=Vector2.new(0,0),ImageTransparency=0,ScaleType=0,SliceCenter=Rect.new(0,0,0,0),Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(1,4,0,-15),Rotation=0,Selectable=false,Size=UDim2.new(0,16,0,16),SizeConstraint=0,Visible=false,ZIndex=1,Name="ImageLabel",Parent = DexGui47})
local DexGui51 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.13333334028721,0.65490198135376,0.94117653369904),BackgroundTransparency=0,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0.5,0,0,0),Rotation=0,Selectable=false,Size=UDim2.new(0,0,0,2),SizeConstraint=0,Visible=true,ZIndex=1,Name="Entering",Parent = DexGui47})
local DexGui52 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.39215689897537,0.39215689897537,0.39215689897537),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,0,0,0),Rotation=0,Selectable=false,Size=UDim2.new(0,300,0.5,0),SizeConstraint=0,Visible=true,ZIndex=1,Name="ExplorerPanel",Parent = DexGui16})
local DexGui53 = CreateInstance("Frame",{Style=0,Active=true,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.25098040699959,0.25098040699959,0.25098040699959),BackgroundTransparency=0,BorderColor3=Color3.new(0.14509804546833,0.20784315466881,0.21176472306252),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,1,0,50),Rotation=0,Selectable=false,Size=UDim2.new(1,-2,1,-50),SizeConstraint=0,Visible=true,ZIndex=1,Name="Content",Parent = DexGui52})
local DexGui54 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.20784315466881,0.27058824896812,0.27450981736183),BackgroundTransparency=1,BorderColor3=Color3.new(0.14509804546833,0.20784315466881,0.21176472306252),BorderSizePixel=1,ClipsDescendants=true,Draggable=false,Position=UDim2.new(0,0,0,0),Rotation=0,Selectable=false,Size=UDim2.new(1,0,1,0),SizeConstraint=0,Visible=true,ZIndex=1,Name="List",Parent = DexGui53})
local DexGui55 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.18823531270027,0.18823531270027,0.18823531270027),BackgroundTransparency=0,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,0,0,0),Rotation=0,Selectable=false,Size=UDim2.new(1,0,0,50),SizeConstraint=0,Visible=true,ZIndex=1,Name="TopBar",Parent = DexGui52})
local DexGui56 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.3137255012989,0.3137255012989,0.3137255012989),BackgroundTransparency=0,BorderColor3=Color3.new(0.4588235616684,0.52156865596771,0.52549022436142),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,2,0,45),Rotation=0,Selectable=false,Size=UDim2.new(1,-27,0,2),SizeConstraint=0,Visible=true,ZIndex=1,Name="SearchFrame",Parent = DexGui55})
local DexGui57 = CreateInstance("TextBox",{ClearTextOnFocus=false,Font=3,FontSize=5,MultiLine=false,Text="",TextColor3=Color3.new(0.86274516582489,0.86274516582489,0.86274516582489),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=0,TextYAlignment=1,Active=true,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.3137255012989,0.3137255012989,0.3137255012989),BackgroundTransparency=1,BorderColor3=Color3.new(0.47058826684952,0.47058826684952,0.47058826684952),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,2,0,-20),Rotation=0,Selectable=true,Size=UDim2.new(1,-4,1,20),SizeConstraint=0,Visible=true,ZIndex=1,Name="Search",Parent = DexGui56})
local DexGui58 = CreateInstance("TextLabel",{Font=3,FontSize=5,Text="Search Workspace",TextColor3=Color3.new(0.37647062540054,0.37647062540054,0.37647062540054),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=0,TextYAlignment=1,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,0,0,0),Rotation=0,Selectable=false,Size=UDim2.new(1,0,1,0),SizeConstraint=0,Visible=true,ZIndex=1,Name="Empty",Parent = DexGui57})
local DexGui59 = CreateInstance("ImageLabel",{Image="rbxassetid://527318112",ImageColor3=Color3.new(0.86274516582489,0.86274516582489,0.86274516582489),ImageRectOffset=Vector2.new(0,0),ImageRectSize=Vector2.new(0,0),ImageTransparency=0,ScaleType=0,SliceCenter=Rect.new(0,0,0,0),Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(1,4,0,-15),Rotation=0,Selectable=false,Size=UDim2.new(0,16,0,16),SizeConstraint=0,Visible=false,ZIndex=1,Name="ImageLabel",Parent = DexGui56})
local DexGui60 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.13333334028721,0.65490198135376,0.94117653369904),BackgroundTransparency=0,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0.5,0,0,0),Rotation=0,Selectable=false,Size=UDim2.new(0,0,0,2),SizeConstraint=0,Visible=true,ZIndex=1,Name="Entering",Parent = DexGui56})
local DexGui61 = CreateInstance("TextLabel",{Font=3,FontSize=5,Text="Explorer",TextColor3=Color3.new(0.86274516582489,0.86274516582489,0.86274516582489),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=2,TextYAlignment=1,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,25,0,0),Rotation=0,Selectable=false,Size=UDim2.new(1,-50,0,25),SizeConstraint=0,Visible=true,ZIndex=1,Name="WindowTitle",Parent = DexGui55})
local DexGui62 = CreateInstance("TextButton",{Font=3,FontSize=5,Text="",TextColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=2,TextYAlignment=1,AutoButtonColor=true,Modal=false,Selected=false,Style=0,Active=true,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.21960785984993,0.21960785984993,0.21960785984993),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(1,-25,0,25),Rotation=0,Selectable=true,Size=UDim2.new(0,25,0,25),SizeConstraint=0,Visible=true,ZIndex=1,Name="Settings",Parent = DexGui55})
local DexGui63 = CreateInstance("ImageLabel",{Image="rbxassetid://530240903",ImageColor3=Color3.new(0.86274516582489,0.86274516582489,0.86274516582489),ImageRectOffset=Vector2.new(0,0),ImageRectSize=Vector2.new(0,0),ImageTransparency=0,ScaleType=0,SliceCenter=Rect.new(0,0,0,0),Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,5,0,5),Rotation=0,Selectable=false,Size=UDim2.new(1,-10,1,-10),SizeConstraint=0,Visible=true,ZIndex=1,Name="ImageLabel",Parent = DexGui62})
local DexGui64 = CreateInstance("TextButton",{Font=4,FontSize=5,Text="X",TextColor3=Color3.new(0.86274516582489,0.86274516582489,0.86274516582489),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=2,TextYAlignment=1,AutoButtonColor=true,Modal=false,Selected=false,Style=0,Active=true,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(1,-27,0,0),Rotation=0,Selectable=true,Size=UDim2.new(0,25,0,25),SizeConstraint=0,Visible=true,ZIndex=1,Name="Close",Parent = DexGui55})
local DexGui65 = CreateInstance("TextButton",{Font=3,FontSize=5,Text="",TextColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=2,TextYAlignment=1,AutoButtonColor=false,Modal=false,Selected=false,Style=0,Active=true,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.28235295414925,0.28235295414925,0.28235295414925),BackgroundTransparency=0,BorderColor3=Color3.new(0.37647062540054,0.37647062540054,0.37647062540054),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,1,0,134),Rotation=0,Selectable=true,Size=UDim2.new(0,300,0,22),SizeConstraint=0,Visible=true,ZIndex=1,Name="PEntry",Parent = DexGui16})
local DexGui66 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.37647062540054,0.54901963472366,0.82745105028152),BackgroundTransparency=1,BorderColor3=Color3.new(0.33725491166115,0.49019610881805,0.73725491762161),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,18,0,0),Rotation=0,Selectable=false,Size=UDim2.new(1,-18,1,0),SizeConstraint=0,Visible=true,ZIndex=1,Name="Indent",Parent = DexGui65})
local DexGui67 = CreateInstance("TextLabel",{Font=3,FontSize=5,Text="Name",TextColor3=Color3.new(0.86274516582489,0.86274516582489,0.86274516582489),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=0,TextYAlignment=1,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,2,0,0),Rotation=0,Selectable=false,Size=UDim2.new(1,-2,0,22),SizeConstraint=0,Visible=true,ZIndex=1,Name="EntryName",Parent = DexGui66})
local DexGui68 = CreateInstance("TextButton",{Font=3,FontSize=5,Text="",TextColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=2,TextYAlignment=1,AutoButtonColor=true,Modal=false,Selected=false,Style=0,Active=true,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=true,Draggable=false,Position=UDim2.new(0,-16,0.5,-8),Rotation=0,Selectable=true,Size=UDim2.new(0,16,0,16),SizeConstraint=0,Visible=false,ZIndex=1,Name="Expand",Parent = DexGui66})
local DexGui69 = CreateInstance("ImageLabel",{Image="rbxassetid://529659138",ImageColor3=Color3.new(1,1,1),ImageRectOffset=Vector2.new(0,0),ImageRectSize=Vector2.new(0,0),ImageTransparency=0,ScaleType=0,SliceCenter=Rect.new(0,0,0,0),Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(-13.6875,0,-12.5625,0),Rotation=0,Selectable=false,Size=UDim2.new(16,0,16,0),SizeConstraint=0,Visible=true,ZIndex=1,Name="Icon",Parent = DexGui68})
local DexGui70 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.3137255012989,0.3137255012989,0.3137255012989),BackgroundTransparency=1,BorderColor3=Color3.new(0.43921571969986,0.43921571969986,0.43921571969986),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0.5,0,0,0),Rotation=0,Selectable=false,Size=UDim2.new(0.5,0,1,0),SizeConstraint=0,Visible=true,ZIndex=1,Name="Control",Parent = DexGui66})
local DexGui71 = CreateInstance("TextBox",{ClearTextOnFocus=true,Font=3,FontSize=5,MultiLine=false,Text="0",TextColor3=Color3.new(0.86274516582489,0.86274516582489,0.86274516582489),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=0,TextYAlignment=1,Active=true,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,2,0,0),Rotation=0,Selectable=true,Size=UDim2.new(1,-4,1,0),SizeConstraint=0,Visible=true,ZIndex=1,Name="String",Parent = DexGui70})
local DexGui72 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.37647062540054,0.37647062540054,0.37647062540054),BackgroundTransparency=0,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0.5,-1,0,0),Rotation=0,Selectable=false,Size=UDim2.new(0,1,0,22),SizeConstraint=0,Visible=true,ZIndex=1,Name="Sep",Parent = DexGui66})
local DexGui73 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.25098040699959,0.25098040699959,0.25098040699959),BackgroundTransparency=0,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0.5,-250,0.5,-150),Rotation=0,Selectable=false,Size=UDim2.new(0,500,0,300),SizeConstraint=0,Visible=false,ZIndex=1,Name="WelcomeFrame",Parent = DexGui})
local DexGui74 = CreateInstance("ImageLabel",{Image="rbxassetid://503289231",ImageColor3=Color3.new(1,1,1),ImageRectOffset=Vector2.new(0,0),ImageRectSize=Vector2.new(0,0),ImageTransparency=0,ScaleType=1,SliceCenter=Rect.new(20,20,460,260),Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,-20,0,-20),Rotation=0,Selectable=false,Size=UDim2.new(0,540,0,340),SizeConstraint=0,Visible=true,ZIndex=1,Name="Outline",Parent = DexGui73})
local DexGui75 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=true,Draggable=false,Position=UDim2.new(0,0,0,0),Rotation=0,Selectable=false,Size=UDim2.new(1,0,1,0),SizeConstraint=0,Visible=true,ZIndex=1,Name="Content",Parent = DexGui73})
local DexGui76 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.18823531270027,0.18823531270027,0.18823531270027),BackgroundTransparency=0,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,0,0,0),Rotation=0,Selectable=false,Size=UDim2.new(0.60000002384186,0,1,0),SizeConstraint=0,Visible=true,ZIndex=1,Name="Main",Parent = DexGui75})
local DexGui77 = CreateInstance("TextLabel",{Font=4,FontSize=9,Text="DEX",TextColor3=Color3.new(1,1,1),TextScaled=false,TextSize=48,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=2,TextYAlignment=1,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,0,0,0),Rotation=0,Selectable=false,Size=UDim2.new(1,0,0,100),SizeConstraint=0,Visible=true,ZIndex=1,Name="Title",Parent = DexGui76})
local DexGui78 = CreateInstance("TextLabel",{Font=4,FontSize=6,Text="V1.1.0 ALPHA",TextColor3=Color3.new(1,1,1),TextScaled=false,TextSize=18,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=1,TextYAlignment=2,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(1,-105,1,-20),Rotation=0,Selectable=false,Size=UDim2.new(0,100,0,20),SizeConstraint=0,Visible=true,ZIndex=1,Name="Version",Parent = DexGui76})
local DexGui79 = CreateInstance("TextLabel",{Font=4,FontSize=6,Text="Made by Moon & Courtney",TextColor3=Color3.new(1,1,1),TextScaled=false,TextSize=18,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=0,TextYAlignment=2,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,5,1,-20),Rotation=0,Selectable=false,Size=UDim2.new(0,100,0,20),SizeConstraint=0,Visible=true,ZIndex=1,Name="Creator",Parent = DexGui76})
local DexGui80 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.039215687662363,0.039215687662363,0.039215687662363),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,50,0,120),Rotation=0,Selectable=false,Size=UDim2.new(0,200,0,80),SizeConstraint=0,Visible=true,ZIndex=1,Name="Progress",Parent = DexGui76})
local DexGui81 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.3137255012989,0.3137255012989,0.3137255012989),BackgroundTransparency=0,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,0,0,0),Rotation=0,Selectable=false,Size=UDim2.new(0,2,1,0),SizeConstraint=0,Visible=true,ZIndex=1,Name="Line",Parent = DexGui80})
local DexGui82 = CreateInstance("TextLabel",{Font=3,FontSize=5,Text="Fetching latest API...",TextColor3=Color3.new(0.78431379795074,0.78431379795074,0.78431379795074),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=0,TextYAlignment=1,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,10,0,0),Rotation=0,Selectable=false,Size=UDim2.new(1,-10,0,15),SizeConstraint=0,Visible=true,ZIndex=1,Name="Progress1",Parent = DexGui80})
local DexGui83 = CreateInstance("TextLabel",{Font=3,FontSize=5,Text="Fetching latest Reflection Metadata...",TextColor3=Color3.new(0.78431379795074,0.78431379795074,0.78431379795074),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=0,TextYAlignment=1,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,10,0,15),Rotation=0,Selectable=false,Size=UDim2.new(1,-10,0,15),SizeConstraint=0,Visible=true,ZIndex=1,Name="Progress2",Parent = DexGui80})
local DexGui84 = CreateInstance("TextLabel",{Font=3,FontSize=5,Text="Importing DexStorage items...",TextColor3=Color3.new(0.78431379795074,0.78431379795074,0.78431379795074),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=0,TextYAlignment=1,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,10,0,30),Rotation=0,Selectable=false,Size=UDim2.new(1,-10,0,15),SizeConstraint=0,Visible=true,ZIndex=1,Name="Progress3",Parent = DexGui80})
local DexGui85 = CreateInstance("TextLabel",{Font=3,FontSize=5,Text="Indexing tree list...",TextColor3=Color3.new(0.78431379795074,0.78431379795074,0.78431379795074),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=0,TextYAlignment=1,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,10,0,45),Rotation=0,Selectable=false,Size=UDim2.new(1,-10,0,15),SizeConstraint=0,Visible=true,ZIndex=1,Name="Progress4",Parent = DexGui80})
local DexGui86 = CreateInstance("TextLabel",{Font=3,FontSize=5,Text="Starting up...",TextColor3=Color3.new(0.78431379795074,0.78431379795074,0.78431379795074),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=0,TextYAlignment=1,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,10,0,60),Rotation=0,Selectable=false,Size=UDim2.new(1,-10,0,15),SizeConstraint=0,Visible=true,ZIndex=1,Name="Progress5",Parent = DexGui80})
local DexGui87 = CreateInstance("TextButton",{Font=4,FontSize=6,Text="X",TextColor3=Color3.new(1,1,1),TextScaled=false,TextSize=18,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=2,TextYAlignment=1,AutoButtonColor=true,Modal=false,Selected=false,Style=0,Active=true,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,0,0,0),Rotation=0,Selectable=true,Size=UDim2.new(0,20,0,20),SizeConstraint=0,Visible=true,ZIndex=1,Name="Closer",Parent = DexGui76})
local DexGui88 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.25098040699959,0.25098040699959,0.25098040699959),BackgroundTransparency=0,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0.60000002384186,0,1,-50),Rotation=0,Selectable=false,Size=UDim2.new(0.40000000596046,0,0,50),SizeConstraint=0,Visible=true,ZIndex=1,Name="Bottom",Parent = DexGui75})
local DexGui89 = CreateInstance("ImageLabel",{Image="rbxassetid://493608750",ImageColor3=Color3.new(1,1,1),ImageRectOffset=Vector2.new(0,0),ImageRectSize=Vector2.new(0,0),ImageTransparency=0,ScaleType=0,SliceCenter=Rect.new(0,0,0,0),Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,5,0,5),Rotation=0,Selectable=false,Size=UDim2.new(0,40,0,40),SizeConstraint=0,Visible=true,ZIndex=1,Name="Logo",Parent = DexGui88})
local DexGui90 = CreateInstance("TextLabel",{Font=3,FontSize=6,Text="Powerful and light",TextColor3=Color3.new(1,1,1),TextScaled=false,TextSize=18,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=true,TextXAlignment=0,TextYAlignment=1,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,50,0,5),Rotation=0,Selectable=false,Size=UDim2.new(1,-55,0,25),SizeConstraint=0,Visible=true,ZIndex=1,Name="Desc",Parent = DexGui88})
local DexGui91 = CreateInstance("TextLabel",{Font=4,FontSize=4,Text="Image by KrystalTeam",TextColor3=Color3.new(1,1,1),TextScaled=false,TextSize=12,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=0,TextYAlignment=2,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,50,1,-20),Rotation=0,Selectable=false,Size=UDim2.new(1,-55,0,15),SizeConstraint=0,Visible=true,ZIndex=1,Name="Credit",Parent = DexGui88})
local DexGui92 = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.25098040699959,0.25098040699959,0.25098040699959),BackgroundTransparency=0,BorderColor3=Color3.new(0.43921571969986,0.43921571969986,0.43921571969986),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0.60000002384186,5,0,20),Rotation=0,Selectable=false,Size=UDim2.new(0.40000000596046,-10,1,-75),SizeConstraint=0,Visible=true,ZIndex=1,Name="Changelog",Parent = DexGui75})
local DexGui93 = CreateInstance("TextLabel",{Font=10,FontSize=5,Text="Changelog",TextColor3=Color3.new(1,1,1),TextScaled=false,TextSize=14,TextStrokeColor3=Color3.new(0,0,0),TextStrokeTransparency=1,TextTransparency=0,TextWrapped=false,TextXAlignment=2,TextYAlignment=1,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(1,1,1),BackgroundTransparency=1,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=1,ClipsDescendants=false,Draggable=false,Position=UDim2.new(0,0,0,-20),Rotation=0,Selectable=false,Size=UDim2.new(1,0,0,20),SizeConstraint=0,Visible=true,ZIndex=1,Name="Title",Parent = DexGui92})
return DexGui
end
-- Main Gui References
local gui = createDexGui()
gui.Parent = Services.CoreGui
local contentL = gui:WaitForChild("ContentFrameL")
local contentR = gui:WaitForChild("ContentFrameR")
local resources = gui:WaitForChild("Resources")
-- Welcome Gui References
local welcomeFrame = gui:WaitForChild("WelcomeFrame")
local welcomeOutline = welcomeFrame:WaitForChild("Outline")
local welcomeContents = welcomeFrame:WaitForChild("Content")
local welcomeMain = welcomeContents:WaitForChild("Main")
local welcomeChangelog = welcomeContents:WaitForChild("Changelog")
local welcomeBottom = welcomeContents:WaitForChild("Bottom")
local welcomeProgress = welcomeMain:WaitForChild("Progress")
-- Explorer Stuff
local explorerTree = nil
local updateDebounce = false
local rightClickContext = nil
local rightEntry = nil
local clipboard = {}
local lastSearch = 0
local nodeWidth = 0
-- Properties Stuff
local propertiesTree = nil
local propWidth = 0
-- Settings
local explorerSettings = {
LPaneWidth = 300,
RPaneWidth = 300
}
-- JSON Stuff
local API
local RMD
-- Main Variables
local mouse = Services.Players.LocalPlayer:GetMouse()
local mouseWindow = nil
local LPaneItems = {}
local RPaneItems = {}
local setPane = "None"
local activeWindows = {}
local f = {}
local API = {}
local RMD = {}
-- ScrollBar
function f.buttonArrows(size,num,dir)
local max = num
local arrowFrame = CreateInstance("Frame",{
BackgroundTransparency = 1,
Name = "Arrow",
Size = UDim2.new(0,size,0,size)
})
if dir == "up" then
for i = 1,num do
local newLine = CreateInstance("Frame",{
BackgroundColor3 = Color3.new(220/255,220/255,220/255),
BorderSizePixel = 0,
Position = UDim2.new(0,math.floor(size/2)-(i-1),0,math.floor(size/2)+i-math.floor(max/2)-1),
Size = UDim2.new(0,i+(i-1),0,1),
Parent = arrowFrame
})
end
return arrowFrame
elseif dir == "down" then
for i = 1,num do
local newLine = CreateInstance("Frame",{
BackgroundColor3 = Color3.new(220/255,220/255,220/255),
BorderSizePixel = 0,
Position = UDim2.new(0,math.floor(size/2)-(i-1),0,math.floor(size/2)-i+math.floor(max/2)+1),
Size = UDim2.new(0,i+(i-1),0,1),
Parent = arrowFrame
})
end
return arrowFrame
elseif dir == "left" then
for i = 1,num do
local newLine = CreateInstance("Frame",{
BackgroundColor3 = Color3.new(220/255,220/255,220/255),
BorderSizePixel = 0,
Position = UDim2.new(0,math.floor(size/2)+i-math.floor(max/2)-1,0,math.floor(size/2)-(i-1)),
Size = UDim2.new(0,1,0,i+(i-1)),
Parent = arrowFrame
})
end
return arrowFrame
elseif dir == "right" then
for i = 1,num do
local newLine = CreateInstance("Frame",{
BackgroundColor3 = Color3.new(220/255,220/255,220/255),
BorderSizePixel = 0,
Position = UDim2.new(0,math.floor(size/2)-i+math.floor(max/2)+1,0,math.floor(size/2)-(i-1)),
Size = UDim2.new(0,1,0,i+(i-1)),
Parent = arrowFrame
})
end
return arrowFrame
end
error("r u ok")
end
local ScrollBar do
ScrollBar = {}
local user = game:GetService("UserInputService")
local mouse = game:GetService("Players").LocalPlayer:GetMouse()
ScrollMt = {
__index = {
AddMarker = function(self,ind,color)
self.Markers[ind] = color or Color3.new(0,0,0)
end,
ScrollTo = function(self,ind)
self.Index = ind
self:Update()
end,
ScrollUp = function(self)
self.Index = self.Index - self.Increment
self:Update()
end,
ScrollDown = function(self)
self.Index = self.Index + self.Increment
self:Update()
end,
CanScrollUp = function(self)
return self.Index > 0
end,
CanScrollDown = function(self)
return self.Index + self.VisibleSpace < self.TotalSpace
end,
GetScrollPercent = function(self)
return self.Index/(self.TotalSpace-self.VisibleSpace)
end,
SetScrollPercent = function(self,perc)
self.Index = math.floor(perc*(self.TotalSpace-self.VisibleSpace))
self:Update()
end
}
}
function ScrollBar.new(hor)
local newFrame = CreateInstance("Frame",{Style=0,Active=false,AnchorPoint=Vector2.new(0,0),BackgroundColor3=Color3.new(0.35294118523598,0.35294118523598,0.35294118523598),BackgroundTransparency=0,BorderColor3=Color3.new(0.10588236153126,0.16470588743687,0.20784315466881),BorderSizePixel=0,ClipsDescendants=false,Draggable=false,Position=UDim2.new(1,-16,0,0),Rotation=0,Selectable=false,Size=UDim2.new(0,16,1,0),SizeConstraint=0,Visible=true,ZIndex=1,Name="ScrollBar",})
local button1 = nil
local button2 = nil
local lastTotalSpace = 0
if hor then
newFrame.Size = UDim2.new(1,0,0,16)
button1 = CreateInstance("ImageButton",{
Parent = newFrame,
Name = "Left",
Size = UDim2.new(0,16,0,16),
BackgroundTransparency = 1,
BorderSizePixel = 0,
AutoButtonColor = false
})
f.buttonArrows(16,4,"left").Parent = button1
button2 = CreateInstance("ImageButton",{
Parent = newFrame,
Name = "Right",
Position = UDim2.new(1,-16,0,0),
Size = UDim2.new(0,16,0,16),
BackgroundTransparency = 1,
BorderSizePixel = 0,
AutoButtonColor = false
})
f.buttonArrows(16,4,"right").Parent = button2
else
newFrame.Size = UDim2.new(0,16,1,0)
button1 = CreateInstance("ImageButton",{
Parent = newFrame,
Name = "Up",
Size = UDim2.new(0,16,0,16),
BackgroundTransparency = 1,
BorderSizePixel = 0,
AutoButtonColor = false
})
f.buttonArrows(16,4,"up").Parent = button1
button2 = CreateInstance("ImageButton",{
Parent = newFrame,
Name = "Down",
Position = UDim2.new(0,0,1,-16),
Size = UDim2.new(0,16,0,16),
BackgroundTransparency = 1,
BorderSizePixel = 0,
AutoButtonColor = false
})
f.buttonArrows(16,4,"down").Parent = button2
end
local scrollThumbFrame = CreateInstance("Frame",{
BackgroundTransparency = 1,
Parent = newFrame
})
if hor then
scrollThumbFrame.Position = UDim2.new(0,16,0,0)
scrollThumbFrame.Size = UDim2.new(1,-32,1,0)
else
scrollThumbFrame.Position = UDim2.new(0,0,0,16)
scrollThumbFrame.Size = UDim2.new(1,0,1,-32)
end
local scrollThumb = CreateInstance("Frame",{
BackgroundColor3 = Color3.new(120/255,120/255,120/255),
BorderSizePixel = 0,
Parent = scrollThumbFrame
})
local markerFrame = CreateInstance("Frame",{
BackgroundTransparency = 1,
Name = "Markers",
Size = UDim2.new(1,0,1,0),
Parent = scrollThumbFrame
})
local newMt = setmetatable({
Gui = newFrame,
Index = 0,
VisibleSpace = 0,
TotalSpace = 0,
Increment = 1,
Markers = {}
},ScrollMt)
local function drawThumb()
local total = newMt.TotalSpace
local visible = newMt.VisibleSpace
local index = newMt.Index
if not (newMt:CanScrollUp() or newMt:CanScrollDown()) then
scrollThumb.Visible = false
else
scrollThumb.Visible = true
end
if hor then
scrollThumb.Size = UDim2.new(visible/total,0,1,0)
if scrollThumb.AbsoluteSize.X < 16 then
scrollThumb.Size = UDim2.new(0,16,1,0)
end
local fs = scrollThumbFrame.AbsoluteSize.X
local bs = scrollThumb.AbsoluteSize.X
scrollThumb.Position = UDim2.new(newMt:GetScrollPercent()*(fs-bs)/fs,0,0,0)
else
scrollThumb.Size = UDim2.new(1,0,visible/total,0)
if scrollThumb.AbsoluteSize.Y < 16 then
scrollThumb.Size = UDim2.new(1,0,0,16)
end
local fs = scrollThumbFrame.AbsoluteSize.Y
local bs = scrollThumb.AbsoluteSize.Y
scrollThumb.Position = UDim2.new(0,0,newMt:GetScrollPercent()*(fs-bs)/fs,0)
end
end
local function updateMarkers()
markerFrame:ClearAllChildren()
for i,v in pairs(newMt.Markers) do
if i < newMt.TotalSpace then
CreateInstance("Frame",{
BackgroundTransparency = 0,
BackgroundColor3 = v,
BorderSizePixel = 0,
Position = hor and UDim2.new(i/newMt.TotalSpace,0,1,-6) or UDim2.new(1,-6,i/newMt.TotalSpace,0),
Size = hor and UDim2.new(0,1,0,6) or UDim2.new(0,6,0,1),
Name = "Marker"..tostring(i),
Parent = markerFrame
})
end
end
end
newMt.UpdateMarkers = updateMarkers
local function update()
local total = newMt.TotalSpace
local visible = newMt.VisibleSpace
local index = newMt.Index
if visible <= total then
if index > 0 then
if index + visible > total then
newMt.Index = total - visible
end
else
newMt.Index = 0
end
else
newMt.Index = 0
end
if lastTotalSpace ~= newMt.TotalSpace then
lastTotalSpace = newMt.TotalSpace
updateMarkers()
end
if newMt.OnUpdate then newMt:OnUpdate() end
if newMt:CanScrollUp() then
for i,v in pairs(button1.Arrow:GetChildren()) do
v.BackgroundTransparency = 0
end
else
button1.BackgroundTransparency = 1
for i,v in pairs(button1.Arrow:GetChildren()) do
v.BackgroundTransparency = 0.5
end
end
if newMt:CanScrollDown() then
for i,v in pairs(button2.Arrow:GetChildren()) do
v.BackgroundTransparency = 0
end
else
button2.BackgroundTransparency = 1
for i,v in pairs(button2.Arrow:GetChildren()) do
v.BackgroundTransparency = 0.5
end
end
drawThumb()
end
local buttonPress = false
local thumbPress = false
local thumbFramePress = false
local thumbColor = Color3.new(120/255,120/255,120/255)
local thumbSelectColor = Color3.new(140/255,140/255,140/255)
button1.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement and not buttonPress and newMt:CanScrollUp() then button1.BackgroundTransparency = 0.8 end
if input.UserInputType ~= Enum.UserInputType.MouseButton1 or not newMt:CanScrollUp() then return end
buttonPress = true
button1.BackgroundTransparency = 0.5
if newMt:CanScrollUp() then newMt:ScrollUp() end
local buttonTick = tick()
local releaseEvent
releaseEvent = user.InputEnded:Connect(function(input)
if input.UserInputType ~= Enum.UserInputType.MouseButton1 then return end
releaseEvent:Disconnect()
if f.checkMouseInGui(button1) and newMt:CanScrollUp() then button1.BackgroundTransparency = 0.8 else button1.BackgroundTransparency = 1 end
buttonPress = false
end)
while buttonPress do
if tick() - buttonTick >= 0.3 and newMt:CanScrollUp() then
newMt:ScrollUp()
end
wait()
end
end)
button1.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement and not buttonPress then button1.BackgroundTransparency = 1 end
end)
button2.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement and not buttonPress and newMt:CanScrollDown() then button2.BackgroundTransparency = 0.8 end
if input.UserInputType ~= Enum.UserInputType.MouseButton1 or not newMt:CanScrollDown() then return end
buttonPress = true
button2.BackgroundTransparency = 0.5
if newMt:CanScrollDown() then newMt:ScrollDown() end
local buttonTick = tick()
local releaseEvent
releaseEvent = user.InputEnded:Connect(function(input)
if input.UserInputType ~= Enum.UserInputType.MouseButton1 then return end
releaseEvent:Disconnect()
if f.checkMouseInGui(button2) and newMt:CanScrollDown() then button2.BackgroundTransparency = 0.8 else button2.BackgroundTransparency = 1 end
buttonPress = false
end)
while buttonPress do
if tick() - buttonTick >= 0.3 and newMt:CanScrollDown() then
newMt:ScrollDown()
end
wait()
end
end)
button2.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement and not buttonPress then button2.BackgroundTransparency = 1 end
end)
scrollThumb.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement and not thumbPress then scrollThumb.BackgroundTransparency = 0.2 scrollThumb.BackgroundColor3 = thumbSelectColor end
if input.UserInputType ~= Enum.UserInputType.MouseButton1 then return end
local dir = hor and "X" or "Y"
local lastThumbPos = nil
buttonPress = false
thumbFramePress = false
thumbPress = true
scrollThumb.BackgroundTransparency = 0
local mouseOffset = mouse[dir] - scrollThumb.AbsolutePosition[dir]
local mouseStart = mouse[dir]
local releaseEvent
local mouseEvent
releaseEvent = user.InpuLoads code from the internet. It downloads more code when it runs (loadstring + HttpGet), which can change after it was posted. From: github.com, www.roblox.com.
Not marked as verified as it has stolen scripts from idk where: -> I just clumped them all together in a kinda useful gui. Some of the stolen were improved / fixed Last page is if you want to add some more things

Universal