Run it
Copy the script and paste it into your executor.
debugging =
debugging =
.(.(()
()
debugging ==
debugging ==
))
uis = :()
ismobile = uis.TouchEnabled
I1IiII1 = .()
TopBar = .()
MainFrame = .()
UICorner = .()
pannel = .()
Part = .()
text = .()
TextBox = .()
UICorner_2 = .()
Property = .()
text_2 = .()
propertye = .()
UICorner_3 = .()
Value = .()
Text = .()
NumberValue = .()
UICorner_4 = .()
ColorSelection = .()
Red = .()
UICorner_5 = .()
Green = .()
UICorner_6 = .()
Blue = .()
UICorner_7 = .()
Execute = .()
UICorner_8 = .()
Selected = .()
UICorner_9 = .()
NumberBtn = .()
UICorner_10 = .()
StringBtn = .()
UICorner_11 = .()
BoolBtn = .()
UICorner_12 = .()
ColourBtn = .()
UICorner_13 = .()
NameLabel = .()
UITextSizeConstraint = .()
CreditsOpen = .()
UICorner_14 = .()
Credits = .()
lostaccountkw_roblox = .()
context = .()
SiperStrengh35974 = .()
context_2 = .()
e = .()
Effects = .()
Effect = .()
text_3 = .()
EBox = .()
UICorner_15 = .()
Eproperty = .()
Text_2 = .()
PropertyoEffect = .()
UICorner_16 = .()
Execute_2 = .()
UICorner_17 = .()
EValue = .()
Text_3 = .()
EffectBox = .()
UICorner_18 = .()
ColorSelection_2 = .()
Red_2 = .()
UICorner_19 = .()
Green_2 = .()
UICorner_20 = .()
UITextSizeConstraint_2 = .()
Blue_2 = .()
UICorner_21 = .()
Selected_2 = .()
UICorner_22 = .()
Number_2 = .()
UICorner_23 = .()
String_2 = .()
UICorner_24 = .()
Bool_2 = .()
UICorner_25 = .()
Colour_2 = .()
UICorner_26 = .()
EffectsOpen = .()
UICorner_27 = .()
TextLabel = .()
X = .()
nothing = .()
UICorner_28 = .()
UIAspectRatioConstraint = .()
TNT_tp = .()
context_3 = .()
UITextSizeConstraint_3 = .()
UITextSizeConstraint_4 = .()
UIAspectRatioConstraint.AspectRatio =
color = .(, , )
OutputLogFrame = .()
OutputLogFrame.Name =
OutputLogFrame.Parent = I1IiII1
OutputLogFrame.BackgroundColor3 = .(, , )
OutputLogFrame.BorderColor3 = .(, , )
OutputLogFrame.BorderSizePixel =
OutputLogFrame.Position = .(, , , )
OutputLogFrame.Size = .(, , , )
OutputLogFrame.Visible =
OutputLogFrame.ZIndex =
OutputLogFrame.Active =
OutputLogFrame.Draggable =
.(, OutputLogFrame).CornerRadius = .(, )
OutputTitleBar = .()
OutputTitleBar.Name =
OutputTitleBar.Parent = OutputLogFrame
OutputTitleBar.BackgroundColor3 = .(, , )
OutputTitleBar.Size = .(, , , )
OutputTitleBar.ZIndex =
.(, OutputTitleBar).CornerRadius = .(, )
OutputTitleLabel = .()
OutputTitleLabel.Parent = OutputTitleBar
OutputTitleLabel.Size = .(, , , )
OutputTitleLabel.Position = .(, , , )
OutputTitleLabel.BackgroundTransparency =
OutputTitleLabel.Text =
OutputTitleLabel.TextColor3 = .(, , )
OutputTitleLabel.Font = .Font.GothamBold
OutputTitleLabel.TextScaled =
OutputTitleLabel.TextXAlignment = .TextXAlignment.Left
OutputTitleLabel.ZIndex =
CopyAllBtn = .()
CopyAllBtn.Name =
CopyAllBtn.Parent = OutputTitleBar
CopyAllBtn.Size = .(, , , )
CopyAllBtn.Position = .(, , , )
CopyAllBtn.BackgroundColor3 = .(, , )
CopyAllBtn.Text =
CopyAllBtn.TextColor3 = .(, , )
CopyAllBtn.Font = .Font.GothamBold
CopyAllBtn.TextScaled =
CopyAllBtn.ZIndex =
.(, CopyAllBtn).CornerRadius = .(, )
OutputClearBtn2 = .()
OutputClearBtn2.Name =
OutputClearBtn2.Parent = OutputTitleBar
OutputClearBtn2.Size = .(, , , )
OutputClearBtn2.Position = .(, , , )
OutputClearBtn2.BackgroundColor3 = .(, , )
OutputClearBtn2.Text =
OutputClearBtn2.TextColor3 = .(, , )
OutputClearBtn2.Font = .Font.GothamBold
OutputClearBtn2.TextScaled =
OutputClearBtn2.ZIndex =
.(, OutputClearBtn2).CornerRadius = .(, )
OutputHideBtn = .()
OutputHideBtn.Name =
OutputHideBtn.Parent = OutputTitleBar
OutputHideBtn.Size = .(, , , )
OutputHideBtn.Position = .(, , , )
OutputHideBtn.BackgroundColor3 = .(, , )
OutputHideBtn.Text =
OutputHideBtn.TextColor3 = .(, , )
OutputHideBtn.Font = .Font.GothamBold
OutputHideBtn.TextScaled =
OutputHideBtn.ZIndex =
.(, OutputHideBtn).CornerRadius = .(, )
OutputHideBtn.MouseButton1Click:(()
OutputLogFrame.Visible = OutputLogFrame.Visible
OutputHideBtn.Text = OutputLogFrame.Visible
)
LogTextBox = .()
LogTextBox.Name =
LogTextBox.Parent = OutputLogFrame
LogTextBox.Size = .(, -, , -)
LogTextBox.Position = .(, , , )
LogTextBox.BackgroundColor3 = .(, , )
LogTextBox.BorderColor3 = .(, , )
LogTextBox.BorderSizePixel =
LogTextBox.TextColor3 = .(, , )
LogTextBox.PlaceholderText =
LogTextBox.PlaceholderColor3 = .(, , )
LogTextBox.Font = .Font.Code
LogTextBox.TextSize =
LogTextBox.TextXAlignment = .TextXAlignment.Left
LogTextBox.TextYAlignment = .TextYAlignment.Top
LogTextBox.TextWrapped =
LogTextBox.ClearTextOnFocus =
LogTextBox.MultiLine =
LogTextBox.ZIndex =
LogTextBox.Text =
.(, LogTextBox).CornerRadius = .(, )
(c)
.(,
.(.(c.R * ), , ),
.(.(c.G * ), , ),
.(.(c.B * ), , ))
logLines = {}
logFullText =
MAX_LOG_LINES =
RichTextEnabled =
(msg, msgColor)
text = (msg)
hex = (msgColor .(, , ))
line = .. hex .. .. text ..
.(logLines, line)
#logLines > MAX_LOG_LINES
.(logLines, )
logFullText = .(logLines, )
LogTextBox.Text = .(logLines, )
(()
LogTextBox.CursorPosition = #LogTextBox.Text +
)
CopyAllBtn.MouseButton1Click:(()
(()
LogTextBox:()
LogTextBox.CursorPosition =
rawLines = {}
_, l (logLines)
clean = l:(, )
.(rawLines, clean)
fullText = .(rawLines, )
LogTextBox.Text = fullText
LogTextBox.CursorPosition = #fullText +
)
CopyAllBtn.BackgroundColor3 = .(, , )
CopyAllBtn.Text =
(, .(, , ))
.(, ()
(()
CopyAllBtn.BackgroundColor3 = .(, , )
CopyAllBtn.Text =
)
)
)
OutputClearBtn2.MouseButton1Click:(()
logLines = {}
logFullText =
LogTextBox.Text =
(, .(, , ))
)
(, .(, , ))
(, .(, , ))
nmb = .()
str = .()
bool = .()
col = .()
r = .()
g = .()
b = .()
nub = .()
tri = .()
boo = .()
lour = .()
r1 = .()
g1 = .()
b1 = .()
par = .()
pr = .()
rproperty = .()
reffect = .()
crediton =
ef = .()
efpr = .()
I1IiII1.Name =
I1IiII1.Parent = .CoreGui
I1IiII1.ZIndexBehavior = .ZIndexBehavior.Sibling
UITextSizeConstraint_3.Parent = SiperStrengh35974
UITextSizeConstraint_3.MaxTextSize =
UITextSizeConstraint_4.Parent = lostaccountkw_roblox
UITextSizeConstraint_4.MaxTextSize =
TopBar.Name =
TopBar.Parent = I1IiII1
TopBar.Active =
TopBar.BackgroundColor3 = .(, , )
TopBar.BorderColor3 = .(, , )
TopBar.BorderSizePixel =
TopBar.Position = .(, , , )
TopBar.Size = .(, , , )
TopBar.ZIndex =
MainFrame.Name =
MainFrame.Parent = TopBar
MainFrame.BackgroundColor3 = .(, , )
MainFrame.BorderColor3 = .(, , )
MainFrame.BorderSizePixel =
MainFrame.Position = .(-, , , )
MainFrame.Size = .(, , , )
UICorner.CornerRadius = .(, )
ismobile == UICorner.CornerRadius = .(, )
UICorner.Parent = MainFrame
pannel.Name =
pannel.Parent = MainFrame
pannel.BackgroundColor3 = .(, , )
pannel.BackgroundTransparency =
pannel.BorderColor3 = .(, , )
pannel.BorderSizePixel =
pannel.Position = .(-, , , )
pannel.Size = .(, , , )
pannel.ZIndex =
Part.Name =
Part.Parent = pannel
Part.BackgroundColor3 = .(, , )
Part.BackgroundTransparency =
Part.BorderColor3 = .(, , )
Part.BorderSizePixel =
Part.Position = .(, , , )
Part.Size = .(, , , )
text.Name =
text.Parent = Part
text.BackgroundColor3 = .(, , )
text.BackgroundTransparency =
text.BorderColor3 = .(, , )
text.BorderSizePixel =
text.Position = .(, , -, )
text.Size = .(, , , )
text.Font = .Font.Cartoon
text.Text =
text.TextColor3 = .(, , )
text.TextScaled =
text.TextSize =
text.TextWrapped =
SelectButton = .()
SelectButton.Name =
SelectButton.Parent = Part
SelectButton.BackgroundColor3 = .(, , )
SelectButton.BorderColor3 = .(, , )
SelectButton.BorderSizePixel =
SelectButton.Position = .(, , , )
SelectButton.Size = .(, , , )
SelectButton.Font = .Font.Cartoon
SelectButton.Text =
SelectButton.TextColor3 = .(, , )
SelectButton.TextScaled =
SelectButton.TextSize =
SelectButton.TextWrapped =
.(, SelectButton).CornerRadius = .(, )
DumpButton = .()
DumpButton.Name =
DumpButton.Parent = Part
DumpButton.BackgroundColor3 = .(, , )
DumpButton.BorderColor3 = .(, , )
DumpButton.BorderSizePixel =
DumpButton.Position = .(, , , )
DumpButton.Size = .(, , , )
DumpButton.Font = .Font.GothamBold
DumpButton.Text =
DumpButton.TextColor3 = .(, , )
DumpButton.TextScaled =
DumpButton.TextStrokeTransparency =
.(, DumpButton).CornerRadius = .(, )
TextBox.Parent = Part
TextBox.BackgroundColor3 = .(, , )
TextBox.BorderColor3 = .(, , )
TextBox.BorderSizePixel =
TextBox.Position = .(, , , )
TextBox.Size = .(, , , )
TextBox.Font = .Font.Unknown
TextBox.PlaceholderText =
TextBox.Text =
TextBox.TextColor3 = .(, , )
TextBox.TextSize =
TextBox.TextWrapped =
TextBox.TextScaled = ismobile
UICorner_2.Parent = TextBox
Property.Name =
Property.Parent = pannel
Property.BackgroundColor3 = .(, , )
Property.BackgroundTransparency =
Property.BorderColor3 = .(, , )
Property.BorderSizePixel =
Property.Position = .(, , , )
Property.Size = .(, , , )
text_2.Name =
text_2.Parent = Property
text_2.BackgroundColor3 = .(, , )
text_2.BackgroundTransparency =
text_2.BorderColor3 = .(, , )
text_2.BorderSizePixel =
text_2.Position = .(-, , -, )
text_2.Size = .(, , , )
text_2.Font = .Font.Cartoon
text_2.Text =
text_2.TextColor3 = .(, , )
text_2.TextScaled =
text_2.TextSize =
text_2.TextWrapped =
propertye.Name =
propertye.Parent = Property
propertye.BackgroundColor3 = .(, , )
propertye.BorderColor3 = .(, , )
propertye.BorderSizePixel =
propertye.Position = .(, , , )
propertye.Size = .(, , , )
propertye.Font = .Font.Unknown
propertye.PlaceholderText =
propertye.Text =
propertye.TextColor3 = .(, , )
propertye.TextSize =
propertye.TextWrapped =
propertye.TextScaled = ismobile
UICorner_3.Parent = propertye
Value.Name =
Value.Parent = pannel
Value.BackgroundColor3 = .(, , )
Value.BackgroundTransparency =
Value.BorderColor3 = .(, , )
Value.BorderSizePixel =
Value.Position = .(, , , )
Value.Size = .(, , , )
Text.Name =
Text.Parent = Value
Text.BackgroundColor3 = .(, , )
Text.BackgroundTransparency =
Text.BorderColor3 = .(, , )
Text.BorderSizePixel =
Text.Position = .(-, , -, )
Text.Size = .(, , , )
Text.Font = .Font.Cartoon
Text.Text =
Text.TextColor3 = .(, , )
Text.TextScaled =
Text.TextSize =
Text.TextWrapped =
NumberValue.Name =
NumberValue.Parent = Value
NumberValue.BackgroundColor3 = .(, , )
NumberValue.BorderColor3 = .(, , )
NumberValue.BorderSizePixel =
NumberValue.Position = .(, , , )
NumberValue.Size = .(, , , )
NumberValue.Font = .Font.Unknown
NumberValue.PlaceholderText =
NumberValue.Text =
NumberValue.TextColor3 = .(, , )
NumberValue.TextSize =
NumberValue.TextWrapped =
NumberValue.TextScaled = ismobile
UICorner_4.Parent = NumberValue
ColorSelection.Name =
ColorSelection.Parent = Value
ColorSelection.BackgroundColor3 = .(, , )
ColorSelection.BackgroundTransparency =
ColorSelection.BorderColor3 = .(, , )
ColorSelection.BorderSizePixel =
ColorSelection.Position = .(-, , -, )
ColorSelection.Size = .(, , , )
ColorSelection.Visible =
Red.Name =
Red.Parent = ColorSelection
Red.BackgroundColor3 = .(, , )
Red.BorderColor3 = .(, , )
Red.BorderSizePixel =
Red.Position = .(, , , )
Red.Size = .(, , , )
Red.Font = .Font.Unknown
Red.PlaceholderColor3 = .(, , )
Red.PlaceholderText =
Red.Text =
Red.TextColor3 = .(, , )
Red.TextScaled = ismobile
Red.TextSize =
Red.TextWrapped =
UICorner_5.Parent = Red
Green.Name =
Green.Parent = ColorSelection
Green.BackgroundColor3 = .(, , )
Green.BorderColor3 = .(, , )
Green.BorderSizePixel =
Green.Position = .(, , , )
Green.Size = .(, , , )
Green.Font = .Font.Unknown
Green.PlaceholderColor3 = .(, , )
Green.PlaceholderText =
Green.Text =
Green.TextColor3 = .(, , )
Green.TextScaled = ismobile
Green.TextSize =
Green.TextWrapped =
UICorner_6.Parent = Green
Blue.Name =
Blue.Parent = ColorSelection
Blue.BackgroundColor3 = .(, , )
Blue.BorderColor3 = .(, , )
Blue.BorderSizePixel =
Blue.Position = .(, , , )
Blue.Size = .(, , , )
Blue.Font = .Font.Unknown
Blue.PlaceholderColor3 = .(, , )
Blue.PlaceholderText =
Blue.Text =
Blue.TextColor3 = .(, , )
Blue.TextScaled = ismobile
Blue.TextSize =
Blue.TextWrapped =
UICorner_7.Parent = Blue
Execute.Name =
Execute.Parent = pannel
Execute.BackgroundColor3 = .(, , )
Execute.BorderColor3 = .(, , )
Execute.BorderSizePixel =
Execute.Position = .(, , , )
Execute.Size = .(, , , )
Execute.Font = .Font.Cartoon
Execute.Text =
Execute.TextColor3 = .(, , )
Execute.TextScaled =
Execute.TextSize =
Execute.TextStrokeTransparency =
Execute.TextWrapped =
UICorner_8.Parent = Execute
Selected.Name =
Selected.Parent = pannel
Selected.BackgroundColor3 = .(, , )
Selected.BorderColor3 = .(, , )
Selected.BorderSizePixel =
Selected.Position = .(, , , )
Selected.Size = .(, , , )
UICorner_9.CornerRadius = .(, )
UICorner_9.Parent = Selected
NumberBtn.Name =
NumberBtn.Parent = Selected
NumberBtn.BackgroundColor3 = .(, , )
NumberBtn.BorderColor3 = .(, , )
NumberBtn.BorderSizePixel =
NumberBtn.Position = .(, , , )
NumberBtn.Size = .(, , , )
NumberBtn.Font = .Font.Ubuntu
NumberBtn.Text =
NumberBtn.TextColor3 = .(, , )
NumberBtn.TextScaled =
NumberBtn.TextSize =
NumberBtn.TextWrapped =
UICorner_10.Parent = NumberBtn
StringBtn.Name =
StringBtn.Parent = Selected
StringBtn.BackgroundColor3 = .(, , )
StringBtn.BorderColor3 = .(, , )
StringBtn.BorderSizePixel =
StringBtn.Position = .(, , , )
StringBtn.Size = .(, , , )
StringBtn.Font = .Font.Ubuntu
StringBtn.Text =
StringBtn.TextColor3 = .(, , )
StringBtn.TextScaled =
StringBtn.TextSize =
StringBtn.TextWrapped =
UICorner_11.Parent = StringBtn
BoolBtn.Name =
BoolBtn.Parent = Selected
BoolBtn.BackgroundColor3 = .(, , )
BoolBtn.BorderColor3 = .(, , )
BoolBtn.BorderSizePixel =
BoolBtn.Position = .(, , , )
BoolBtn.Size = .(, , , )
BoolBtn.Font = .Font.Ubuntu
BoolBtn.Text =
BoolBtn.TextColor3 = .(, , )
BoolBtn.TextScaled =
BoolBtn.TextSize =
BoolBtn.TextWrapped =
UICorner_12.Parent = BoolBtn
ColourBtn.Name =
ColourBtn.Parent = Selected
ColourBtn.BackgroundColor3 = .(, , )
ColourBtn.BorderColor3 = .(, , )
ColourBtn.BorderSizePixel =
ColourBtn.Position = .(, , , )
ColourBtn.Size = .(, , , )
ColourBtn.Font = .Font.Ubuntu
ColourBtn.Text =
ColourBtn.TextColor3 = .(, , )
ColourBtn.TextScaled =
ColourBtn.TextSize =
ColourBtn.TextWrapped =
UICorner_13.Parent = ColourBtn
NameLabel.Name =
NameLabel.Parent = MainFrame
NameLabel.BackgroundColor3 = .(, , )
NameLabel.BackgroundTransparency =
NameLabel.BorderColor3 = .(, , )
NameLabel.BorderSizePixel =
NameLabel.Position = .(, , , )
NameLabel.Size = .(, , , )
NameLabel.Font = .Font.Ubuntu
NameLabel.Text =
NameLabel.FontFace.Bold =
NameLabel.TextColor3 = .(, , )
NameLabel.TextScaled =
NameLabel.TextSize =
NameLabel.TextWrapped =
UITextSizeConstraint.Parent = NameLabel
UITextSizeConstraint.MaxTextSize =
CreditsOpen.Name =
CreditsOpen.Parent = MainFrame
CreditsOpen.BackgroundColor3 = .(, , )
CreditsOpen.BorderColor3 = .(, , )
CreditsOpen.BorderSizePixel =
CreditsOpen.Position = .(, , , )
CreditsOpen.Size = .(, , , )
CreditsOpen.Font = .Font.Cartoon
CreditsOpen.Text =
CreditsOpen.TextColor3 = .(, , )
CreditsOpen.TextScaled =
CreditsOpen.TextSize =
CreditsOpen.TextStrokeTransparency =
CreditsOpen.TextWrapped =
UICorner_14.Parent = CreditsOpen
Credits.Name =
Credits.Parent = MainFrame
Credits.BackgroundColor3 = .(, , )
Credits.BackgroundTransparency =
Credits.BorderColor3 = .(, , )
Credits.BorderSizePixel =
Credits.Position = .(-, , , )
Credits.Size = .(, , , )
Credits.Visible =
lostaccountkw_roblox.Name =
lostaccountkw_roblox.Parent = Credits
lostaccountkw_roblox.BackgroundColor3 = .(, , )
lostaccountkw_roblox.BackgroundTransparency =
lostaccountkw_roblox.BorderColor3 = .(, , )
lostaccountkw_roblox.BorderSizePixel =
lostaccountkw_roblox.Position = .(, , , )
lostaccountkw_roblox.Size = .(, , , )
lostaccountkw_roblox.Font = .Font.Cartoon
lostaccountkw_roblox.Text =
lostaccountkw_roblox.TextColor3 = .(, , )
lostaccountkw_roblox.TextScaled =
lostaccountkw_roblox.TextSize =
lostaccountkw_roblox.TextWrapped =
context.Name =
context.Parent = lostaccountkw_roblox
context.BackgroundColor3 = .(, , )
context.BackgroundTransparency =
context.BorderColor3 = .(, , )
context.BorderSizePixel =
context.Position = .(-, , , )
context.Size = .(, , , )
context.Font = .Font.Cartoon
context.Text =
context.TextColor3 = .(, , )
context.TextScaled =
context.TextSize =
context.TextWrapped =
SiperStrengh35974.Name =
SiperStrengh35974.Parent = Credits
SiperStrengh35974.BackgroundColor3 = .(, , )
SiperStrengh35974.BackgroundTransparency =
SiperStrengh35974.BorderColor3 = .(, , )
SiperStrengh35974.BorderSizePixel =
SiperStrengh35974.Position = .(, , , )
SiperStrengh35974.Size = .(, , , )
SiperStrengh35974.Font = .Font.Cartoon
SiperStrengh35974.Text =
SiperStrengh35974.TextColor3 = .(, , )
SiperStrengh35974.TextScaled =
SiperStrengh35974.TextSize =
SiperStrengh35974.TextWrapped =
context_2.Name =
context_2.Parent = SiperStrengh35974
context_2.BackgroundColor3 = .(, , )
context_2.BackgroundTransparency =
context_2.BorderColor3 = .(, , )
context_2.BorderSizePixel =
context_2.Position = .(-, , , )
context_2.Size = .(, , )
context_2.Font = .Font.Cartoon
context_2.Text =
context_2.TextColor3 = .(, , )
context_2.TextScaled =
context_2.TextSize =
context_2.TextWrapped =
TNT_tp.Name =
TNT_tp.Parent = Credits
TNT_tp.BackgroundColor3 = .(, , )
TNT_tp.BackgroundTransparency =
TNT_tp.BorderColor3 = .(, , )
TNT_tp.BorderSizePixel =
TNT_tp.Position = .(, , , )
TNT_tp.Size = .(, , , )
TNT_tp.Font = .Font.Cartoon
TNT_tp.Text =
TNT_tp.TextColor3 = .(, , )
TNT_tp.TextScaled =
TNT_tp.TextSize =
TNT_tp.TextWrapped =
context_3.Name =
context_3.Parent = TNT_tp
context_3.BackgroundColor3 = .(, , )
context_3.BackgroundTransparency =
context_3.BorderColor3 = .(, , )
context_3.BorderSizePixel =
context_3.Position = .(-, , , )
context_3.Size = .(, , , )
context_3.Font = .Font.Cartoon
context_3.Text =
context_3.TextColor3 = .(, , )
context_3.TextScaled =
context_3.TextSize =
context_3.TextWrapped =
e.Name =
e.Parent = MainFrame
e.BackgroundColor3 = .(, , )
e.BorderColor3 = .(, , )
e.BorderSizePixel =
e.Position = .(, , -, )
e.Size = .(, , , )
Effects.Name =
Effects.Parent = MainFrame
Effects.BackgroundColor3 = .(, , )
Effects.BackgroundTransparency =
Effects.BorderColor3 = .(, , )
Effects.BorderSizePixel =
Effects.Position = .(-, , , )
Effects.Size = .(, , , )
Effects.Visible =
Effects.ZIndex =
Effect.Name =
Effect.Parent = Effects
Effect.BackgroundColor3 = .(, , )
Effect.BackgroundTransparency =
Effect.BorderColor3 = .(, , )
Effect.BorderSizePixel =
Effect.Position = .(, , , )
Effect.Size = .(, , , )
text_3.Name =
text_3.Parent = Effect
text_3.BackgroundColor3 = .(, , )
text_3.BackgroundTransparency =
text_3.BorderColor3 = .(, , )
text_3.BorderSizePixel =
text_3.Position = .(, , -, )
text_3.Size = .(, , , )
text_3.Font = .Font.Cartoon
text_3.Text =
text_3.TextColor3 = .(, , )
text_3.TextScaled =
text_3.TextSize =
text_3.TextWrapped =
EBox.Name =
EBox.Parent = Effect
EBox.BackgroundColor3 = .(, , )
EBox.BorderColor3 = .(, , )
EBox.BorderSizePixel =
EBox.Position = .(, , -, )
EBox.Size = .(, , , )
EBox.Font = .Font.Unknown
EBox.PlaceholderText =
EBox.Text =
EBox.TextColor3 = .(, , )
EBox.TextSize =
EBox.TextWrapped =
EBox.TextScaled = ismobile
UICorner_15.Parent = EBox
Eproperty.Name =
Eproperty.Parent = Effects
Eproperty.BackgroundColor3 = .(, , )
Eproperty.BackgroundTransparency =
Eproperty.BorderColor3 = .(, , )
Eproperty.BorderSizePixel =
Eproperty.Position = .(, , , )
Eproperty.Size = .(, , , )
Text_2.Name =
Text_2.Parent = Eproperty
Text_2.BackgroundColor3 = .(, , )
Text_2.BackgroundTransparency =
Text_2.BorderColor3 = .(, , )
Text_2.BorderSizePixel =
Text_2.Position = .(, , -, )
Text_2.Size = .(, , , )
Text_2.Font = .Font.Cartoon
Text_2.Text =
Text_2.TextColor3 = .(, , )
Text_2.TextScaled =
Text_2.TextSize =
Text_2.TextWrapped =
PropertyoEffect.Name =
PropertyoEffect.Parent = Eproperty
PropertyoEffect.BackgroundColor3 = .(, , )
PropertyoEffect.BorderColor3 = .(, , )
PropertyoEffect.BorderSizePixel =
PropertyoEffect.Position = .(, , -, )
PropertyoEffect.Size = .(, , , )
PropertyoEffect.Font = .Font.Unknown
PropertyoEffect.PlaceholderText =
PropertyoEffect.Text =
PropertyoEffect.TextColor3 = .(, , )
PropertyoEffect.TextSize =
PropertyoEffect.TextWrapped =
PropertyoEffect.TextScaled = ismobile
UICorner_16.Parent = PropertyoEffect
Execute_2.Name =
Execute_2.Parent = Effects
Execute_2.BackgroundColor3 = .(, , )
Execute_2.BorderColor3 = .(, , )
Execute_2.BorderSizePixel =
Execute_2.Position = .(, , , )
Execute_2.Size = .(, , , )
Execute_2.Font = .Font.Cartoon
Execute_2.Text =
Execute_2.TextColor3 = .(, , )
Execute_2.TextScaled =
Execute_2.TextSize =
Execute_2.TextStrokeTransparency =
Execute_2.TextWrapped =
UICorner_17.Parent = Execute_2
EValue.Name =
EValue.Parent = Effects
EValue.BackgroundColor3 = .(, , )
EValue.BackgroundTransparency =
EValue.BorderColor3 = .(, , )
EValue.BorderSizePixel =
EValue.Position = .(, , , )
EValue.Size = .(, , , )
Text_3.Name =
Text_3.Parent = EValue
Text_3.BackgroundColor3 = .(, , )
Text_3.BackgroundTransparency =
Text_3.BorderColor3 = .(, , )
Text_3.BorderSizePixel =
Text_3.Position = .(-, , -, )
Text_3.Size = .(, , , )
Text_3.Font = .Font.Cartoon
Text_3.Text =
Text_3.TextColor3 = .(, , )
Text_3.TextScaled =
Text_3.TextSize =
Text_3.TextWrapped =
EffectBox.Name =
EffectBox.Parent = EValue
EffectBox.BackgroundColor3 = .(, , )
EffectBox.BorderColor3 = .(, , )
EffectBox.BorderSizePixel =
EffectBox.Position = .(-, , -, )
EffectBox.Size = .(, , , )
EffectBox.Font = .Font.Unknown
EffectBox.PlaceholderColor3 = .(, , )
EffectBox.PlaceholderText =
EffectBox.Text =
EffectBox.TextColor3 = .(, , )
EffectBox.TextSize =
EffectBox.TextScaled = ismobile
EffectBox.TextWrapped =
UICorner_18.Parent = EffectBox
ColorSelection_2.Name =
ColorSelection_2.Parent = EValue
ColorSelection_2.BackgroundColor3 = .(, , )
ColorSelection_2.BackgroundTransparency =
ColorSelection_2.BorderColor3 = .(, , )
ColorSelection_2.BorderSizePixel =
ColorSelection_2.Position = .(-, , -, )
ColorSelection_2.Size = .(, , , )
ColorSelection_2.Visible =
Red_2.Name =
Red_2.Parent = ColorSelection_2
Red_2.BackgroundColor3 = .(, , )
Red_2.BorderColor3 = .(, , )
Red_2.BorderSizePixel =
Red_2.Position = .(, , , )
Red_2.Size = .(, , , )
Red_2.Font = .Font.Unknown
Red_2.PlaceholderColor3 = .(, , )
Red_2.PlaceholderText =
Red_2.Text =
Red_2.TextColor3 = .(, , )
Red_2.TextScaled = ismobile
Red_2.TextSize =
Red_2.TextWrapped =
UICorner_19.Parent = Red_2
Green_2.Name =
Green_2.Parent = ColorSelection_2
Green_2.BackgroundColor3 = .(, , )
Green_2.BorderColor3 = .(, , )
Green_2.BorderSizePixel =
Green_2.Position = .(, , , )
Green_2.Size = .(, , , )
Green_2.Font = .Font.Unknown
Green_2.PlaceholderColor3 = .(, , )
Green_2.PlaceholderText =
Green_2.Text =
Green_2.TextScaled = ismobile
Green_2.TextColor3 = .(, , )
Green_2.TextSize =
Green_2.TextWrapped =
UICorner_20.Parent = Green_2
UITextSizeConstraint_2.Parent = Green_2
UITextSizeConstraint_2.MaxTextSize =
Blue_2.Name =
Blue_2.Parent = ColorSelection_2
Blue_2.BackgroundColor3 = .(, , )
Blue_2.BorderColor3 = .(, , )
Blue_2.BorderSizePixel =
Blue_2.Position = .(, , , )
Blue_2.Size = .(, , , )
Blue_2.Font = .Font.Unknown
Blue_2.PlaceholderColor3 = .(, , )
Blue_2.PlaceholderText =
Blue_2.Text =
Blue_2.TextColor3 = .(, , )
Blue_2.TextScaled = ismobile
Blue_2.TextSize =
Blue_2.TextWrapped =
UICorner_21.Parent = Blue_2
Selected_2.Name =
Selected_2.Parent = Effects
Selected_2.BackgroundColor3 = .(, , )
Selected_2.BorderColor3 = .(, , )
Selected_2.BorderSizePixel =
Selected_2.Position = .(, , , )
Selected_2.Size = .(, , , )
UICorner_22.CornerRadius = .(, )
UICorner_22.Parent = Selected_2
Number_2.Name =
Number_2.Parent = Selected_2
Number_2.BackgroundColor3 = .(, , )
Number_2.BorderColor3 = .(, , )
Number_2.BorderSizePixel =
Number_2.Position = .(, , , )
Number_2.Size = .(, , , )
Number_2.Font = .Font.Ubuntu
Number_2.Text =
Number_2.TextColor3 = .(, , )
Number_2.TextScaled =
Number_2.TextSize =
Number_2.TextWrapped =
UICorner_23.Parent = Number_2
String_2.Name =
String_2.Parent = Selected_2
String_2.BackgroundColor3 = .(, , )
String_2.BorderColor3 = .(, , )
String_2.BorderSizePixel =
String_2.Position = .(, , , )
String_2.Size = .(, , , )
String_2.Font = .Font.Ubuntu
String_2.Text =
String_2.TextColor3 = .(, , )
String_2.TextScaled =
String_2.TextSize =
String_2.TextWrapped =
UICorner_24.Parent = String_2
Bool_2.Name =
Bool_2.Parent = Selected_2
Bool_2.BackgroundColor3 = .(, , )
Bool_2.BorderColor3 = .(, , )
Bool_2.BorderSizePixel =
Bool_2.Position = .(, , , )
Bool_2.Size = .(, , , )
Bool_2.Font = .Font.Ubuntu
Bool_2.Text =
Bool_2.TextColor3 = .(, , )
Bool_2.TextScaled =
Bool_2.TextSize =
Bool_2.TextWrapped =
UICorner_25.Parent = Bool_2
Colour_2.Name =
Colour_2.Parent = Selected_2
Colour_2.BackgroundColor3 = .(, , )
Colour_2.BorderColor3 = .(, , )
Colour_2.BorderSizePixel =
Colour_2.Position = .(, , , )
Colour_2.Size = .(, , , )
Colour_2.Font = .Font.Ubuntu
Colour_2.Text =
Colour_2.TextColor3 = .(, , )
Colour_2.TextScaled =
Colour_2.TextSize =
Colour_2.TextWrapped =
UICorner_26.Parent = Colour_2
EffectsOpen.Name =
EffectsOpen.Parent = MainFrame
EffectsOpen.BackgroundColor3 = .(, , )
EffectsOpen.BorderColor3 = .(, , )
EffectsOpen.BorderSizePixel =
EffectsOpen.Position = .(, , , )
EffectsOpen.Size = .(, , , )
EffectsOpen.Font = .Font.Cartoon
EffectsOpen.Text =
EffectsOpen.TextColor3 = .(, , )
EffectsOpen.TextScaled =
EffectsOpen.TextSize =
EffectsOpen.TextStrokeTransparency =
EffectsOpen.TextWrapped =
UICorner_27.Parent = EffectsOpen
TextLabel.Parent = TopBar
TextLabel.BackgroundColor3 = .(, , )
TextLabel.BackgroundTransparency =
TextLabel.BorderColor3 = .(, , )
TextLabel.BorderSizePixel =
TextLabel.Position = .(, , , )
TextLabel.Size = .(, , , )
TextLabel.Font = .Font.Cartoon
TextLabel.Text =
TextLabel.TextColor3 = .(, , )
TextLabel.TextScaled =
TextLabel.TextSize =
TextLabel.TextWrapped =
X.Name =
X.Parent = TopBar
X.BackgroundColor3 = .(, , )
X.BackgroundTransparency =
X.BorderColor3 = .(, , )
X.BorderSizePixel =
X.Position = .(, , , )
X.Size = .(, , , )
X.Font = .Font.Unknown
X.Text =
X.TextColor3 = .(, , )
X.TextScaled =
X.TextSize =
X.TextStrokeTransparency =
X.TextWrapped =
nothing.Name =
nothing.Parent = TopBar
nothing.BackgroundColor3 = .(, , )
nothing.BorderColor3 = .(, , )
nothing.BorderSizePixel =
nothing.Position = .(-, , , )
nothing.Size = .(, , , )
UICorner_28.Parent = TopBar
UIAspectRatioConstraint.Parent = TopBar
UIAspectRatioConstraint.AspectRatio =
reffect.Parent = I1IiII1
r.Parent = I1IiII1
b.Parent = I1IiII1
g.Parent = I1IiII1
r1.Parent = I1IiII1
g1.Parent = I1IiII1
b1.Parent = I1IiII1
r.Name =
g.Name =
b.Name =
r1.Name =
g1.Name =
b1.Name =
reffect.Name =
nmb.Parent = I1IiII1
nmb.Name =
par.Parent = I1IiII1
par.Name =
pr.Parent = I1IiII1
pr.Name =
rproperty.Parent = I1IiII1
rproperty.Name =
str.Parent = I1IiII1
bool.Parent = I1IiII1
nub.Parent = I1IiII1
tri.Parent = I1IiII1
boo.Parent = I1IiII1
col.Parent = I1IiII1
lour.Parent = I1IiII1
nmb.Name =
str.Name =
bool.Name =
nub.Name =
tri.Name =
boo.Name =
col.Name =
lour.Name =
TopBar.Draggable =
color = .(, , )
A =
value1 =
value2 =
Active =
returnedpart =
returnedeffect =
AvatarArt = .()
AvatarArt.Name =
AvatarArt.Parent = Credits
AvatarArt.BackgroundTransparency =
AvatarArt.Position = .(, , , )
AvatarArt.Size = .(, , , )
avatarData = {
{,,,,,,,,,,,,,,,,,,,,,,,},
{,,,,,,,,,,,,,,,,,,,,,,,},
{,,,,,,,,,,,,,,,,,,,,,,,},
{,,,,,,,,,,,,,,,,,,,,,,,},
{,,,,,,,,,,,,,,,,,,,,,,,},
{,,,,,,,,,,,,,,,,,,,,,,,},
{,,,,,,,,,,,,,,,,,,,,,,,},
{,,,,,,,,,,,,,,,,,,,,,,,},
{,,,,,,,,,,,,,,,,,,,,,,,},
{,,,,,,,,,,,,,,,,,,,,,,,},
{,,,,,,,,,,,,,,,,,,,,,,,},
{,,,,,,,,,,,,,,,,,,,,,,,},
{,,,,,,,,,,,,,,,,,,,,,,,},
{,,,,,,,,,,,,,,,,,,,,,,,},
{,,,,,,,,,,,,,,,,,,,,,,,},
{,,,,,,,,,,,,,,,,,,,,,,,},
{,,,,,,,,,,,,,,,,,,,,,,,},
{,,,,,,,,,,,,,,,,,,,,,,,},
}
row = , #avatarData
col = , #avatarData[row]
hex = avatarData[row][col]
px = .()
px.Name = .. row .. .. col
px.Parent = AvatarArt
px.BackgroundColor3 = .(
.(hex / ) % ,
.(hex / ) % ,
hex %
)
px.BorderSizePixel =
px.Size = .(, , , )
px.Position = .(, (col - ) * , , (row - ) * )
()
lassoMode =
selectedParts = {}
ghostParts = {}
lassoHighlights = {}
stealOffset = .(, , )
ghostCount =
lassoDragging =
lassoStartX =
lassoStartY =
lassoEndX =
lassoEndY =
ghostFolder =
stealAddObject =
stealMoveObject =
stealPaintObject =
(()
evts = :():(, )
evts
stealAddObject = evts:(, )
stealMoveObject = evts:(, )
stealPaintObject = evts:(, )
)
()
ghostFolder ghostFolder.Parent
ghostFolder = :()
ghostFolder
ghostFolder = .()
ghostFolder.Name =
ghostFolder.Parent =
ghostFolder
(src)
gf = ()
gf
g = .()
g.Name = .. src.Name
g.Size = src.Size
g.CFrame = src.CFrame + stealOffset
g.Color = src.Color
g.Material = src.Material
g.Anchored =
g.CanCollide =
g.Transparency =
g.CastShadow =
g.Parent = gf
box = .()
box.Color3 = .(, , )
box.LineThickness =
box.Adornee = g
box.Parent = g
hl = .()
hl.Adornee = g
hl.FillColor3 = .(, , )
hl.FillTransparency =
hl.OutlineColor3 = .(, , )
hl.OutlineTransparency =
hl.Parent = g
ghostParts[g] = src
ghostCount = ghostCount +
g
()
g, _ (ghostParts)
(() g:() )
ghostParts = {}
ghostCount =
ghostFolder ghostFolder.Parent
(() ghostFolder:() )
ghostFolder =
()
p, hl (lassoHighlights)
(() hl:() )
lassoHighlights = {}
selectedParts = {}
()
stealOffset = .(, , )
(delta)
stealOffset = stealOffset + delta
g, _ (ghostParts)
g g.Parent
(() g.CFrame = g.CFrame + delta )
StealFrame = .()
StealFrame.Name =
StealFrame.Parent = I1IiII1
StealFrame.BackgroundColor3 = .(, , )
StealFrame.BorderColor3 = .(, , )
StealFrame.BorderSizePixel =
StealFrame.Position = .(, , , )
StealFrame.Size = .(, , , )
StealFrame.Draggable =
StealFrame.Active =
StealFrame.Visible =
.(, StealFrame).CornerRadius = .(, )
STBar = .()
STBar.Size = .(, , , )
STBar.BackgroundColor3 = .(, , )
STBar.BorderSizePixel =
STBar.Parent = StealFrame
stC = .()
stC.CornerRadius = .(, )
stC.Parent = STBar
stFix = .()
stFix.Size = .(, , , )
stFix.Position = .(, , , -)
stFix.BackgroundColor3 = .(, , )
stFix.BorderSizePixel =
stFix.Parent = STBar
STTxt = .()
STTxt.Size = .(, -, , )
STTxt.Position = .(, , , )
STTxt.BackgroundTransparency =
STTxt.TextColor3 = .(, , )
STTxt.Font = .Font.GothamBold
STTxt.Text =
STTxt.TextScaled =
STTxt.TextXAlignment = .TextXAlignment.Left
STTxt.Parent = STBar
STClose = .()
STClose.Size = .(, , , )
STClose.Position = .(, -, , )
STClose.BackgroundColor3 = .(, , )
STClose.Text =
STClose.TextColor3 = .(, , )
STClose.Font = .Font.GothamBold
STClose.TextScaled =
STClose.Parent = STBar
.(, STClose).CornerRadius = .(, )
STClose.MouseButton1Click:(()
StealFrame.Visible =
lassoMode =
LassoBtn.Text =
LassoBtn.BackgroundColor3 = .(, , )
)
SC = .()
SC.Size = .(, -, , -)
SC.Position = .(, , , )
SC.BackgroundTransparency =
SC.Parent = StealFrame
RemoteLbl = .()
RemoteLbl.Size = .(, , , )
RemoteLbl.Position = .(, , , )
RemoteLbl.BackgroundTransparency =
RemoteLbl.Font = .Font.Gotham
RemoteLbl.TextSize =
RemoteLbl.TextXAlignment = .TextXAlignment.Left
stealAddObject stealMoveObject
RemoteLbl.Text =
RemoteLbl.TextColor3 = .(, , )
RemoteLbl.Text =
RemoteLbl.TextColor3 = .(, , )
RemoteLbl.Parent = SC
LassoBtn = .()
LassoBtn.Size = .(, , , )
LassoBtn.Position = .(, , , )
LassoBtn.BackgroundColor3 = .(, , )
LassoBtn.TextColor3 = .(, , )
LassoBtn.Font = .Font.GothamBold
LassoBtn.Text =
LassoBtn.TextScaled =
.(, LassoBtn).CornerRadius = .(, )
LassoBtn.Parent = SC
LassoBtn.MouseButton1Click:(()
lassoMode = lassoMode
lassoMode
LassoBtn.Text =
LassoBtn.BackgroundColor3 = .(, , )
LassoBtn.Text =
LassoBtn.BackgroundColor3 = .(, , )
)
SelCountLabel = .()
SelCountLabel.Size = .(, , , )
SelCountLabel.Position = .(, , , )
SelCountLabel.BackgroundTransparency =
SelCountLabel.TextColor3 = .(, , )
SelCountLabel.Font = .Font.Gotham
SelCountLabel.Text =
SelCountLabel.TextScaled =
SelCountLabel.TextXAlignment = .TextXAlignment.Left
SelCountLabel.Parent = SC
StepLbl = .()
StepLbl.Size = .(, , , )
StepLbl.Position = .(, , , )
StepLbl.BackgroundTransparency =
StepLbl.TextColor3 = .(, , )
StepLbl.Font = .Font.Gotham
StepLbl.Text =
StepLbl.TextScaled =
StepLbl.TextXAlignment = .TextXAlignment.Left
StepLbl.Parent = SC
StepBox = .()
StepBox.Size = .(, , , )
StepBox.Position = .(, , , )
StepBox.BackgroundColor3 = .(, , )
StepBox.TextColor3 = .(, , )
StepBox.Font = .Font.GothamBold
StepBox.Text =
StepBox.TextScaled =
StepBox.PlaceholderText =
.(, StepBox).CornerRadius = .(, )
StepBox.Parent = SC
ClearBtn = .()
ClearBtn.Size = .(, , , )
ClearBtn.Position = .(, , , )
ClearBtn.BackgroundColor3 = .(, , )
ClearBtn.TextColor3 = .(, , )
ClearBtn.Font = .Font.GothamBold
ClearBtn.Text =
ClearBtn.TextScaled =
.(, ClearBtn).CornerRadius = .(, )
ClearBtn.Parent = SC
ClearBtn.MouseButton1Click:(()
()
SelCountLabel.Text =
StealStatus.Text =
StealStatus.TextColor3 = .(, , )
)
arrowDefs = {
{text = , dir = .(, , ), col = , row = },
{text = , dir = .(, , -), col = , row = },
{text = , dir = .(-, , ), col = , row = },
{text = , dir = .(, , ), col = , row = },
{text = , dir = .(, , ), col = , row = },
{text = , dir = .(, -, ), col = , row = },
}
_, def (arrowDefs)
btn = .()
btn.Size = .(, , , )
btn.Position = .(def.col * , , , + def.row * )
btn.BackgroundColor3 = .(, , )
btn.TextColor3 = .(, , )
btn.Font = .Font.GothamBold
btn.Text = def.text
btn.TextScaled =
.(, btn).CornerRadius = .(, )
btn.Parent = SC
btn.MouseButton1Click:(()
step = (StepBox.Text)
(def.dir * step)
)
StealStatus = .()
StealStatus.Size = .(, , , )
StealStatus.Position = .(, , , )
StealStatus.BackgroundColor3 = .(, , )
StealStatus.TextColor3 = .(, , )
StealStatus.Font = .Font.Gotham
StealStatus.Text =
StealStatus.TextScaled =
StealStatus.TextWrapped =
.(, StealStatus).CornerRadius = .(, )
StealStatus.Parent = SC
StealExecBtn = .()
StealExecBtn.Size = .(, , , )
StealExecBtn.Position = .(, , , )
StealExecBtn.BackgroundColor3 = .(, , )
StealExecBtn.TextColor3 = .(, , )
StealExecBtn.Font = .Font.GothamBold
StealExecBtn.Text =
StealExecBtn.TextScaled =
StealExecBtn.TextStrokeTransparency =
.(, StealExecBtn).CornerRadius = .(, )
StealExecBtn.Parent = SC
StealExecBtn.MouseButton1Click:(()
ghostCount ==
StealStatus.Text =
StealStatus.TextColor3 = .(, , )
stealAddObject
StealStatus.Text =
StealStatus.TextColor3 = .(, , )
(() (, .(, , )) )
StealStatus.Text =
StealStatus.TextColor3 = .(, , )
(()
plr = :().LocalPlayer
myObby = .Obbies:(plr.Name)
myObby
StealStatus.Text =
StealStatus.TextColor3 = .(, , )
partsFolder = myObby:()
if partsFolder then partsFolder = partsFolder:FindFirstChild("Parts") end
if not partsFolder then
StealStatus.Text = "ERROR: No Items/Parts folder!"
StealStatus.TextColor3 = Color3.new(1, 0, 0)
return
end
local count = 0
local failed = 0
local beforeCount = #partsFolder:GetChildren()
-- Sort ghosts into a list so we can iterate in order
local ghostList = {}
for ghost, src in pairs(ghostParts) do
if ghost and ghost.Parent and src and src.Parent then
table.insert(ghostList, {ghost = ghost, src = src})
end
end
for _, entry in ipairs(ghostList) do
local ghost = entry.ghost
local src = entry.src
if not ghost or not ghost.Parent then
failed = failed + 1
continue
end
local ok, err = pcall(function()
-- STEP 1: Create part server-side via AddObject
stealAddObject:InvokeServer("Part", ghost.CFrame)
task.wait(0.12)
-- STEP 2: Find the newly created part
local newPart = nil
local allParts = partsFolder:GetChildren()
for i = #allParts, 1, -1 do
if allParts[i]:IsA("BasePart") and allParts[i].Name == "Part" then
newPart = allParts[i]
break
end
end
if not newPart then
-- Fallback: try any new BasePart
for i = #allParts, math.max(1, beforeCount), -1 do
if allParts[i]:IsA("BasePart") then
newPart = allParts[i]
break
end
end
end
if not newPart then
error("Part not found after AddObject")
end
-- STEP 3: Set size + confirm position via MoveObject
if stealMoveObject then
stealMoveObject:InvokeServer({{newPart, ghost.CFrame, src.Size}})
end
-- STEP 4: Set appearance via PaintObject
if stealPaintObject then
pcall(function() stealPaintObject:InvokeServer({newPart}, "Color", tostring(src.BrickColor)) end)
pcall(function() stealPaintObject:InvokeServer({newPart}, "Material", src.Material.Name) end)
pcall(function() stealPaintObject:InvokeServer({newPart}, "Transparency", tostring(src.Transparency)) end)
end
count = count + 1
beforeCount = #partsFolder:GetChildren()
end)
if not ok then
failed = failed + 1
pcall(function() customOutput("[STEAL] Fail: " .. tostring(err), Color3.new(1, 0.5, 0)) end)
end
task.wait(0.05)
end
if count > 0 then
local msg = "Stolen " .. count .. " parts!"
if failed > 0 then msg = msg .. " (" .. failed .. " failed)" end
StealStatus.Text = msg
StealStatus.TextColor3 = Color3.fromRGB(0, 255, 100)
pcall(function()
customOutput("[STEAL] " .. msg, Color3.fromRGB(0, 255, 100))
end)
else
StealStatus.Text = "0 parts stolen! (" .. failed .. " failed)"
StealStatus.TextColor3 = Color3.new(1, 0, 0)
end
clearGhosts()
clearSelection()
SelCountLabel.Text = "Ghosts: 0"
end)
end)
-- STEAL ALL IN VIEW (no lasso needed)
local StealAllBtn = Instance.new("TextButton")
StealAllBtn.Size = UDim2.new(1, 0, 0, 30)
StealAllBtn.Position = UDim2.new(0, 0, 0, 262)
StealAllBtn.BackgroundColor3 = Color3.fromRGB(130, 30, 30)
StealAllBtn.TextColor3 = Color3.new(1, 1, 1)
StealAllBtn.Font = Enum.Font.GothamBold
StealAllBtn.Text = "STEAL ALL IN VIEW"
StealAllBtn.TextScaled = true
StealAllBtn.TextStrokeTransparency = 0.5
Instance.new("UICorner", StealAllBtn).CornerRadius = UDim.new(0, 6)
StealAllBtn.Parent = SC
StealAllBtn.MouseButton1Click:Connect(function()
if not stealAddObject then
StealStatus.Text = "ERROR: AddObject missing!"
StealStatus.TextColor3 = Color3.new(1, 0, 0)
return
end
StealStatus.Text = "Scanning view..."
StealStatus.TextColor3 = Color3.fromRGB(255, 200, 0)
spawn(function()
local plr = game:GetService("Players").LocalPlayer
local myObby = workspace.Obbies:FindFirstChild(plr.Name)
if not myObby then
StealStatus.Text = "ERROR: No obby! Make one first"
StealStatus.TextColor3 = Color3.new(1, 0, 0)
return
end
local partsFolder = myObby:FindFirstChild("Items")
if partsFolder then partsFolder = partsFolder:FindFirstChild("Parts") end
if not partsFolder then
StealStatus.Text = "ERROR: No Parts folder!"
StealStatus.TextColor3 = Color3.new(1, 0, 0)
return
end
local count = 0
local failed = 0
local skipped = 0
local checked = 0
local beforeCount = #partsFolder:GetChildren()
local cam = workspace.CurrentCamera
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("BasePart") then
checked = checked + 1
-- Skip own obby parts only
if myObby and obj:IsDescendantOf(myObby) then
skipped = skipped + 1
else
local stealOk = pcall(function()
stealAddObject:InvokeServer("Part", obj.CFrame)
task.wait(0.12)
local newPart = nil
local allP = partsFolder:GetChildren()
for i = #allP, 1, -1 do
if allP[i]:IsA("BasePart") and allP[i].Name == "Part" then
newPart = allP[i]
break
end
end
if stealMoveObject and newPart then
stealMoveObject:InvokeServer({{newPart, obj.CFrame, obj.Size}})
end
if stealPaintObject and newPart then
pcall(function() stealPaintObject:InvokeServer({newPart}, "Color", tostring(obj.BrickColor)) end)
pcall(function() stealPaintObject:InvokeServer({newPart}, "Material", obj.Material.Name) end)
pcall(function() stealPaintObject:InvokeServer({newPart}, "Transparency", tostring(obj.Transparency)) end)
end
count = count + 1
beforeCount = #partsFolder:GetChildren()
end)
if not stealOk then failed = failed + 1 end
task.wait(0.03)
end
end
end
if count > 0 then
local msg = "Stolen " .. count .. "/" .. checked .. " parts!"
if failed > 0 then msg = msg .. " (" .. failed .. " fail)" end
StealStatus.Text = msg
StealStatus.TextColor3 = Color3.fromRGB(0, 255, 100)
pcall(function() customOutput("[STEAL ALL] " .. msg, Color3.fromRGB(0, 255, 100)) end)
else
StealStatus.Text = "Checked " .. checked .. " parts, stole 0 (" .. failed .. " err)"
StealStatus.TextColor3 = Color3.fromRGB(255, 150, 0)
pcall(function() customOutput("[STEAL ALL] checked=" .. checked .. " count=0 failed=" .. failed, Color3.fromRGB(255, 150, 0)) end)
end
end)
end)
-- ==================== BOX LASSO SELECTION ====================
local LassoBoxFrame = Instance.new("Frame")
LassoBoxFrame.Name = "LassoBox"
LassoBoxFrame.Parent = I1IiII1
LassoBoxFrame.BackgroundColor3 = Color3.fromRGB(0, 255, 100)
LassoBoxFrame.BackgroundTransparency = 0.85
LassoBoxFrame.BorderColor3 = Color3.fromRGB(0, 255, 100)
LassoBoxFrame.BorderSizePixel = 2
LassoBoxFrame.Visible = false
LassoBoxFrame.ZIndex = 100
local LassoCornerSize = 12
local corners = {
{name = "TL", anchor = {0, 0}, dirX = 1, dirY = 1},
{name = "TR", anchor = {1, 0}, dirX = -1, dirY = 1},
{name = "BL", anchor = {0, 1}, dirX = 1, dirY = -1},
{name = "BR", anchor = {1, 1}, dirX = -1, dirY = -1},
}
for _, c in ipairs(corners) do
local hLine = Instance.new("Frame")
hLine.Name = "CornerH_" .. c.name
hLine.Parent = LassoBoxFrame
hLine.BackgroundColor3 = Color3.fromRGB(0, 255, 100)
hLine.BorderSizePixel = 0
hLine.BackgroundTransparency = 0
hLine.Size = UDim2.new(0, LassoCornerSize, 0, 2)
hLine.Position = UDim2.new(c.anchor[1], c.dirX == 1 and 0 or -LassoCornerSize, c.anchor[2], c.dirY == 1 and 0 or -1)
hLine.ZIndex = 101
local vLine = Instance.new("Frame")
vLine.Name = "CornerV_" .. c.name
vLine.Parent = LassoBoxFrame
vLine.BackgroundColor3 = Color3.fromRGB(0, 255, 100)
vLine.BorderSizePixel = 0
vLine.BackgroundTransparency = 0
vLine.Size = UDim2.new(0, 2, 0, LassoCornerSize)
vLine.Position = UDim2.new(c.anchor[1], c.dirX == 1 and 0 or -1, c.anchor[2], c.dirY == 1 and 0 or -LassoCornerSize)
vLine.ZIndex = 101
end
local LassoInfoLabel = Instance.new("TextLabel")
LassoInfoLabel.Parent = I1IiII1
LassoInfoLabel.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
LassoInfoLabel.BackgroundTransparency = 0.3
LassoInfoLabel.TextColor3 = Color3.fromRGB(0, 255, 100)
LassoInfoLabel.Font = Enum.Font.GothamBold
LassoInfoLabel.TextSize = 13
LassoInfoLabel.Size = UDim2.new(0, 180, 0, 22)
LassoInfoLabel.Position = UDim2.new(0, 10, 0, 10)
LassoInfoLabel.Text = ""
LassoInfoLabel.Visible = false
LassoInfoLabel.ZIndex = 102
local function updateLassoBox()
local minX = math.min(lassoStartX, lassoEndX)
local minY = math.min(lassoStartY, lassoEndY)
local maxX = math.max(lassoStartX, lassoEndX)
local maxY = math.max(lassoStartY, lassoEndY)
local w = maxX - minX
local h = maxY - minY
LassoBoxFrame.Position = UDim2.new(0, minX, 0, minY)
LassoBoxFrame.Size = UDim2.new(0, w, 0, h)
LassoInfoLabel.Text = math.floor(w) .. " x " .. math.floor(h) .. " px"
end
local function pointInRect(px, py)
local minX = math.min(lassoStartX, lassoEndX)
local minY = math.min(lassoStartY, lassoEndY)
local maxX = math.max(lassoStartX, lassoEndX)
local maxY = math.max(lassoStartY, lassoEndY)
return px >= minX and px <= maxX and py >= minY and py <= maxY
end
local function isPartInLasso(part)
local cam = workspace.CurrentCamera
if not cam then return false end
local ok, result = pcall(function()
return cam:WorldToScreenPoint(part.Position)
end)
if not ok or not result then return false end
if result.Z <= 0 then return false end -- behind camera
-- Convert lasso coords (screen space from GetMouseLocation) to viewport space
-- by subtracting GUI inset, then compare directly with W2SP (already viewport space)
local inset = game:GetService("GuiService"):GetGuiInset()
local vpX = result.X
local vpY = result.Y
local lx1 = math.min(lassoStartX, lassoEndX) - inset.X
local ly1 = math.min(lassoStartY, lassoEndY) - inset.Y
local lx2 = math.max(lassoStartX, lassoEndX) - inset.X
local ly2 = math.max(lassoStartY, lassoEndY) - inset.Y
return vpX >= lx1 and vpX <= lx2 and vpY >= ly1 and vpY <= ly2
end
local function selectPartsInLasso()
local rectW = math.abs(lassoEndX - lassoStartX)
local rectH = math.abs(lassoEndY - lassoStartY)
if rectW < 5 or rectH < 5 then
StealStatus.Text = "Drag bigger! (" .. math.floor(rectW) .. "x" .. math.floor(rectH) .. ")"
return 0
end
local count = 0
local skippedAlready = 0
local totalParts = 0
local errors = 0
local lastErr = ""
-- Get all parts first, then process
local allDesc = {}
local getOk, getErr = pcall(function()
allDesc = workspace:GetDescendants()
end)
if not getOk then
StealStatus.Text = "ERROR: GetDescendants died: " .. tostring(getErr)
StealStatus.TextColor3 = Color3.new(1, 0, 0)
return 0
end
for i = 1, #allDesc do
local obj = allDesc[i]
if obj:IsA("BasePart") then
totalParts = totalParts + 1
if selectedParts[obj] then
skippedAlready = skippedAlready + 1
else
local ok, err = pcall(function()
selectedParts[obj] = obj.CFrame
local hl = Instance.new("Highlight")
hl.Adornee = obj
hl.FillColor3 = Color3.fromRGB(0, 255, 100)
hl.FillTransparency = 0.7
hl.OutlineColor3 = Color3.fromRGB(0, 255, 0)
hl.OutlineTransparency = 0
hl.Parent = obj
lassoHighlights[obj] = hl
createGhost(obj)
end)
if ok then
count = count + 1
else
errors = errors + 1
lastErr = tostring(err)
end
end
end
end
-- Build detailed status
local msg = "Found:" .. totalParts .. " New:" .. count .. " Err:" .. errors
if lastErr ~= "" then
msg = msg .. "\n" .. lastErr:sub(1, 40)
end
StealStatus.Text = msg
StealStatus.TextColor3 = count > 0 and Color3.fromRGB(0, 255, 100) or Color3.fromRGB(255, 150, 0)
pcall(function()
customOutput("[LASSO] " .. msg, count > 0 and Color3.fromRGB(0, 255, 100) or Color3.fromRGB(255, 100, 0))
end)
return count
end
-- ==================== END LASSO SELECTION ====================
-- Steal Obby button on main panel
local StealOpenBtn = Instance.new("TextButton")
StealOpenBtn.Name = "StealOpenBtn"
StealOpenBtn.Parent = MainFrame
StealOpenBtn.BackgroundColor3 = Color3.fromRGB(150, 40, 40)
StealOpenBtn.BorderColor3 = Color3.fromRGB(200, 200, 200)
StealOpenBtn.BorderSizePixel = 0
StealOpenBtn.Position = UDim2.new(0.048, 0, 0.88, 0)
StealOpenBtn.Size = UDim2.new(0.45, 0, 0.04, 0)
StealOpenBtn.Font = Enum.Font.Cartoon
StealOpenBtn.Text = "Steal Obby"
StealOpenBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
StealOpenBtn.TextScaled = true
StealOpenBtn.TextStrokeTransparency = 0
StealOpenBtn.TextWrapped = true
Instance.new("UICorner", StealOpenBtn).CornerRadius = UDim.new(0, 6)
StealOpenBtn.MouseButton1Click:Connect(function()
StealFrame.Visible = not StealFrame.Visible
if not StealFrame.Visible then
lassoMode = false
LassoBtn.Text = "Lasso: OFF"
LassoBtn.BackgroundColor3 = Color3.fromRGB(42, 42, 42)
end
end)
-- Lasso input handlers
local lassoMouse = game:GetService("Players").LocalPlayer:GetMouse()
local function isOverStealUI()
if StealFrame.Visible == false then return false end
local mp = uis:GetMouseLocation()
local sp = StealFrame.AbsolutePosition
local ss = StealFrame.AbsoluteSize
return mp.X >= sp.X and mp.X <= sp.X + ss.X and mp.Y >= sp.Y and mp.Y <= sp.Y + ss.Y
end
lassoMouse.Button1Down:Connect(function()
if not lassoMode then return end
if isOverStealUI() then return end
local mp = uis:GetMouseLocation()
lassoDragging = true
lassoStartX = mp.X
lassoStartY = mp.Y
lassoEndX = lassoStartX
lassoEndY = lassoStartY
LassoBoxFrame.Visible = true
LassoInfoLabel.Visible = true
LassoInfoLabel.Text = "Dragging..."
end)
lassoMouse.Move:Connect(function()
if not lassoDragging then return end
local mp = uis:GetMouseLocation()
lassoEndX = mp.X
lassoEndY = mp.Y
updateLassoBox()
end)
game:GetService("RunService").RenderStepped:Connect(function()
if not lassoDragging then return end
local mp = uis:GetMouseLocation()
lassoEndX = mp.X
lassoEndY = mp.Y
updateLassoBox()
end)
lassoMouse.Button1Up:Connect(function()
if not lassoDragging then return end
lassoDragging = false
LassoBoxFrame.Visible = false
LassoInfoLabel.Visible = false
local newCount = selectPartsInLasso()
SelCountLabel.Text = "Ghosts: " .. ghostCount
-- selectPartsInLasso already set StealStatus with debug info
if newCount > 0 then
StealStatus.TextColor3 = Color3.fromRGB(0, 255, 100)
end
pcall(function()
customOutput("[LASSO] +" .. newCount .. " parts, total: " .. ghostCount, Color3.fromRGB(0, 255, 100))
end)
end)
-- ==================== END STEAL OBBY ====================
end -- buildStealSystem
local ok, err = pcall(buildStealSystem)
if not ok then
-- Show error ON SCREEN so user can actually see it
local errLabel = Instance.new("TextLabel")
errLabel.Size = UDim2.new(0, 400, 0, 200)
errLabel.Position = UDim2.new(0.5, -200, 0.5, -100)
errLabel.BackgroundColor3 = Color3.fromRGB(40, 0, 0)
errLabel.TextColor3 = Color3.new(1, 1, 1)
errLabel.Font = Enum.Font.GothamBold
errLabel.TextScaled = true
errLabel.TextWrapped = true
errLabel.Text = "STEAL SYSTEM CRASHED:\n" .. tostring(err)
errLabel.ZIndex = 9999
errLabel.Parent = I1IiII1
Instance.new("UICorner", errLabel).CornerRadius = UDim.new(0, 8)
pcall(function()
customOutput("[STEAL] Error: " .. tostring(err), Color3.new(1, 0, 0))
end)
end
-- ==================== INSPECTOR (FIXED - direct remote calls) ====================
local InspectorFrame = Instance.new("Frame")
InspectorFrame.Name = "InspectorFrame"
InspectorFrame.Parent = I1IiII1
InspectorFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
InspectorFrame.BorderColor3 = Color3.fromRGB(0, 0, 0)
InspectorFrame.Position = UDim2.new(0.6, 0, 0.2, 0)
InspectorFrame.Size = UDim2.new(0, 340, 0, 600)
InspectorFrame.Draggable = true
InspectorFrame.Active = true
InspectorFrame.Visible = false
Instance.new("UICorner", InspectorFrame).CornerRadius = UDim.new(0, 10)
local InspectTitle = Instance.new("TextLabel")
InspectTitle.Parent = InspectorFrame
InspectTitle.Size = UDim2.new(1, -30, 0, 30)
InspectTitle.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
InspectTitle.TextColor3 = Color3.new(1, 1, 1)
InspectTitle.Font = Enum.Font.GothamBold
InspectTitle.Text = "Inspecting: None"
InspectTitle.TextScaled = true
Instance.new("UICorner", InspectTitle).CornerRadius = UDim.new(0, 10)
local InspectClose = Instance.new("TextButton")
InspectClose.Parent = InspectorFrame
InspectClose.Size = UDim2.new(0, 30, 0, 30)
InspectClose.Position = UDim2.new(1, -30, 0, 0)
InspectClose.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
InspectClose.Text = "X"
InspectClose.TextColor3 = Color3.new(1, 1, 1)
InspectClose.Font = Enum.Font.GothamBold
InspectClose.TextScaled = true
Instance.new("UICorner", InspectClose).CornerRadius = UDim.new(0, 10)
InspectClose.MouseButton1Click:Connect(function() InspectorFrame.Visible = false end)
local InspectScroll = Instance.new("ScrollingFrame")
InspectScroll.Parent = InspectorFrame
InspectScroll.Size = UDim2.new(1, -10, 1, -40)
InspectScroll.Position = UDim2.new(0, 5, 0, 35)
InspectScroll.BackgroundTransparency = 1
InspectScroll.ScrollBarThickness = 6
InspectScroll.ScrollBarImageColor3 = Color3.fromRGB(100, 100, 100)
InspectScroll.CanvasSize = UDim2.new(0, 0, 0, 0)
InspectScroll.AutomaticCanvasSize = Enum.AutomaticSize.Y
local InspectLayout = Instance.new("UIListLayout")
InspectLayout.Parent = InspectScroll
InspectLayout.Padding = UDim.new(0, 5)
local selectedPartRef = nil
local persistentOverrides = {}
local forceOverrideEnabled = true
local function addInspectorRow(propName, defaultVal, valType)
local row = Instance.new("Frame")
row.Size = UDim2.new(1, 0, 0, 28)
row.BackgroundColor3 = Color3.fromRGB(45, 45, 45)
row.Parent = InspectScroll
Instance.new("UICorner", row).CornerRadius = UDim.new(0, 5)
local label = Instance.new("TextLabel")
label.Size = UDim2.new(0.4, 0, 1, 0)
label.BackgroundTransparency = 1
label.Text = propName
label.TextColor3 = Color3.new(1, 1, 1)
label.Font = Enum.Font.GothamBold
label.TextScaled = true
label.TextXAlignment = Enum.TextXAlignment.Left
label.Parent = row
local box = Instance.new("TextBox")
box.Size = UDim2.new(0.38, 0, 0.7, 0)
box.Position = UDim2.new(0.4, 0, 0.15, 0)
box.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
box.TextColor3 = Color3.new(1, 1, 1)
box.Text = tostring(defaultVal)
box.Font = Enum.Font.Gotham
box.TextScaled = true
box.Parent = row
Instance.new("UICorner", box).CornerRadius = UDim.new(0, 4)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0.22, 0, 0.7, 0)
btn.Position = UDim2.new(0.78, 0, 0.15, 0)
btn.BackgroundColor3 = Color3.fromRGB(0, 120, 0)
btn.Text = "Set"
btn.TextColor3 = Color3.new(1, 1, 1)
btn.Font = Enum.Font.GothamBold
btn.TextScaled = true
btn.Parent = row
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 4)
btn.MouseButton1Click:Connect(function()
if not selectedPartRef or not selectedPartRef.Parent then
pcall(function()
customOutput("No part selected!", Color3.new(1, 0, 0))
end)
return
end
local rawVal = box.Text
local typedVal = rawVal
if valType == "NumberValue" then
typedVal = tonumber(rawVal)
if typedVal == nil then
pcall(function()
customOutput("Invalid number: " .. rawVal, Color3.new(1, 0, 0))
end)
return
end
elseif valType == "BoolValue" then
if rawVal == "true" then typedVal = true
elseif rawVal == "false" then typedVal = false
else
pcall(function()
customOutput("Invalid bool (use true/false): " .. rawVal, Color3.new(1, 0, 0))
end)
return
end
end
local function applyLocal()
pcall(function()
if propName == "Transparency" then selectedPartRef.Transparency = typedVal
elseif propName == "Reflectance" then selectedPartRef.Reflectance = typedVal
elseif propName == "Anchored" then selectedPartRef.Anchored = typedVal
elseif propName == "CanCollide" then selectedPartRef.CanCollide = typedVal
elseif propName == "CastShadow" then selectedPartRef.CastShadow = typedVal
elseif propName == "Massless" then selectedPartRef.Massless = typedVal
elseif propName == "Size X" then selectedPartRef.Size = Vector3.new(typedVal, selectedPartRef.Size.Y, selectedPartRef.Size.Z)
elseif propName == "Size Y" then selectedPartRef.Size = Vector3.new(selectedPartRef.Size.X, typedVal, selectedPartRef.Size.Z)
elseif propName == "Size Z" then selectedPartRef.Size = Vector3.new(selectedPartRef.Size.X, selectedPartRef.Size.Y, typedVal)
elseif propName == "Position X" then selectedPartRef.Position = Vector3.new(typedVal, selectedPartRef.Position.Y, selectedPartRef.Position.Z)
elseif propName == "Position Y" then selectedPartRef.Position = Vector3.new(selectedPartRef.Position.X, typedVal, selectedPartRef.Position.Z)
elseif propName == "Position Z" then selectedPartRef.Position = Vector3.new(selectedPartRef.Position.X, selectedPartRef.Position.Y, typedVal)
elseif propName == "Orientation X" then selectedPartRef.Orientation = Vector3.new(typedVal, selectedPartRef.Orientation.Y, selectedPartRef.Orientation.Z)
elseif propName == "Orientation Y" then selectedPartRef.Orientation = Vector3.new(selectedPartRef.Orientation.X, typedVal, selectedPartRef.Orientation.Z)
elseif propName == "Orientation Z" then selectedPartRef.Orientation = Vector3.new(selectedPartRef.Orientation.X, selectedPartRef.Orientation.Y, typedVal)
elseif propName == "Velocity X" then selectedPartRef.Velocity = Vector3.new(typedVal, selectedPartRef.Velocity.Y, selectedPartRef.Velocity.Z)
elseif propName == "Velocity Y" then selectedPartRef.Velocity = Vector3.new(selectedPartRef.Velocity.X, typedVal, selectedPartRef.Velocity.Z)
elseif propName == "Velocity Z" then selectedPartRef.Velocity = Vector3.new(selectedPartRef.Velocity.X, selectedPartRef.Velocity.Y, typedVal)
elseif propName == "RotVelocity X" then selectedPartRef.RotVelocity = Vector3.new(typedVal, selectedPartRef.RotVelocity.Y, selectedPartRef.RotVelocity.Z)
elseif propName == "RotVelocity Y" then selectedPartRef.RotVelocity = Vector3.new(selectedPartRef.RotVelocity.X, typedVal, selectedPartRef.RotVelocity.Z)
elseif propName == "RotVelocity Z" then selectedPartRef.RotVelocity = Vector3.new(selectedPartRef.RotVelocity.X, selectedPartRef.RotVelocity.Y, typedVal)
elseif propName == "CanQuery" then selectedPartRef.CanQuery = typedVal
elseif propName == "CanTouch" then selectedPartRef.CanTouch = typedVal
elseif propName == "Name" then selectedPartRef.Name = rawVal
elseif propName == "Material" then
local m = Enum.Material[rawVal]
if m then selectedPartRef.Material = m end
elseif propName == "Color R" then selectedPartRef.Color = Color3.new(typedVal/255, selectedPartRef.Color.G, selectedPartRef.Color.B)
elseif propName == "Color G" then selectedPartRef.Color = Color3.new(selectedPartRef.Color.R, typedVal/255, selectedPartRef.Color.B)
elseif propName == "Color B" then selectedPartRef.Color = Color3.new(selectedPartRef.Color.R, selectedPartRef.Color.G, typedVal/255)
elseif propName == "BrickColor" then
local bc = BrickColor.new(rawVal)
if bc then selectedPartRef.BrickColor = bc; selectedPartRef.Color = bc.Color end
end
end)
end
applyLocal()
-- Use tryUncapValue (same as UNCAP ONCE button) for server-sided changes
local hMode, _ = getPartType(selectedPartRef, propName)
local valObj = findValueObjectDeep(selectedPartRef, propName)
tryUncapValue(selectedPartRef, propName, typedVal, rawVal, valType, valObj, hMode)
applyLocal()
pcall(function()
customOutput(
"Set " .. propName .. " = " .. tostring(typedVal) .. " [local+uncap server]", color
)
end)
end)
end
local function stripValSuffix(name)
local s = name:gsub("Val$", "")
s = s:gsub("Value$", "")
return s
end
local function sendATTStep3(bhvr, part, handlerMode, propName)
pcall(function()
bhvr:InvokeServer({part}, handlerMode, propName)
end)
-- Don't try stripped names for ATT — the exact propName is what the server expects
-- (e.g. "GravityVal" is valid but "Gravity" is not an ATT category)
if handlerMode ~= "ATT" then
local stripped = stripValSuffix(propName)
if stripped ~= propName then
pcall(function()
bhvr:InvokeServer({part}, handlerMode, stripped)
end)
end
end
end
-- Map GPT property names to their Options category (from RemoteSpy logs)
-- Default is "Options-Fly" (the universal GPT selector)
-- Only override for properties that use a different category
local gptOptionMap = {
["CameraMaxZoom"] = "Camera-MaxZoom",
["Camera Max Zoom"] = "Camera-MaxZoom",
["Camera-MaxZoom"] = "Camera-MaxZoom",
["MaxZoom"] = "Camera-MaxZoom",
}
local function getGPTCategory(propName)
-- Try direct match first
if gptOptionMap[propName] then return gptOptionMap[propName] end
-- Strip Val/Value suffix and try again
local stripped = propName:gsub("Val$", ""):gsub("Value$", "")
if gptOptionMap[stripped] then return gptOptionMap[stripped] end
-- Default: Options-Fly (the universal GPT selector)
return "Options-Fly"
end
local propMap = {
["Speed"] = "S", ["Damage"] = "D", ["Button Time"] = "BT",
["Time"] = "BT", ["Click Radius"] = "Cd", ["Click radius"] = "Cd",
["Fade time"] = "F", ["Fading time"] = "F",
["Respawn time"] = "T", ["fade respawn time"] = "T",
["Falling time"] = "fT", ["Falling Delay"] = "fD", ["Fall Delay"] = "fD",
["Falling Time"] = "fT", ["Fall Time"] = "fT",
["Falling Speed"] = "fs", ["Fall Speed"] = "fs",
["Healing"] = "H", ["Heal"] = "H",
["Bounce"] = "J", ["Bounce power"] = "J", ["JumpLimit"] = "J",
["Music speed"] = "MS", ["Music start time"] = "MSt",
["Music Volume"] = "MV", ["Volume"] = "MV",
["Debounce"] = "Pd", ["Spin Axis"] = "A", ["Easing Style"] = "E",
["Spin distance"] = "sD", ["Spin Time"] = "sT", ["Spin time"] = "sT",
["Spin Offset"] = "sO", ["Offset Spin"] = "sO", ["Spn Offset"] = "sO",
["Slipperiness"] = "Sl",
["Kill Bricks"] = "K", ["Climb"] = "C", ["Gravity"] = "G", ["GravityVal"] = "G",
["Friction"] = "Ff", ["Spin Speed"] = "B", ["Water Speed"] = "WS",
["Noclip"] = "N", ["Invis"] = "I", ["Ice"] = "IC",
["Lava"] = "LV", ["Kill"] = "K", ["Teleport"] = "TP",
["Tween"] = "TW", ["UnAnchor"] = "UA",
["ConveyorSpeed"] = "Z", ["Light Brightness"] = "LB",
["Light Color"] = "LC", ["Light Range"] = "LR",
["Light Face"] = "LF",
}
local function getValueType(v)
if v:IsA("NumberValue") or v:IsA("IntValue") or v:IsA("FloatValue") then return "NumberValue"
elseif v:IsA("StringValue") then return "StringValue"
elseif v:IsA("BoolValue") then return "BoolValue"
elseif v:IsA("Color3Value") then return "ColorValue"
elseif v:IsA("Vector3Value") then return "Vector3Value"
elseif v:IsA("CFrameValue") then return "CFrameValue"
else return "StringValue" end
end
local function getValueString(v)
pcall(function()
if v:IsA("Color3Value") then
local c = v.Value
return math.floor(c.R * 255) .. ", " .. math.floor(c.G * 255) .. ", " .. math.floor(c.B * 255)
elseif v:IsA("Vector3Value") then
local s = v.Value
return math.floor(s.X * 100) / 100 .. ", " .. math.floor(s.Y * 100) / 100 .. ", " .. math.floor(s.Z * 100) / 100
elseif v:IsA("BoolValue") then
return tostring(v.Value)
else
return tostring(v.Value)
end
end)
return tostring(v.Value)
end
local function applyValueToObject(v, rawStr, valType)
pcall(function()
if valType == "NumberValue" then
local n = tonumber(rawStr)
if n then v.Value = n end
elseif valType == "BoolValue" then
if rawStr == "true" then v.Value = true
elseif rawStr == "false" then v.Value = false end
elseif valType == "ColorValue" then
local nums = {}
for num in rawStr:gmatch("-?%d+%.?%d*") do table.insert(nums, tonumber(num)) end
if #nums >= 3 then
v.Value = Color3.new(nums[1] / 255, nums[2] / 255, nums[3] / 255)
end
elseif valType == "StringValue" then
v.Value = rawStr
end
end)
end
local function getPartType(part, propName)
if not part then return "Nothing", false end
local pName = part.Name
local isATT = (pName == "Advanced Tools Part" or pName == "Advanced Part")
local isGPT = (pName == "Global Properties Part" or pName == "Global property part")
if isATT or isGPT then
if propName == "Reflectance" or propName == "Transparency" or propName == "Slipperiness" then
return "Nothing", false
end
if isATT then return "ATT", true end
if isGPT then return "GPT", true end
end
if propMap[propName] then
return "Nothing", true
end
return "Nothing", false
end
local overrideLoopRunning = true
coroutine.resume(coroutine.create(function()
while overrideLoopRunning and wait(2) do
for i = #persistentOverrides, 1, -1 do
local entry = persistentOverrides[i]
if not entry.active or not entry.obj or not entry.obj.Parent then
table.remove(persistentOverrides, i)
else
pcall(function()
applyValueToObject(entry.obj, entry.rawStr, entry.vtype)
end)
end
end
end
end))
local function setPartProperty(part, propName, typedVal, rawStr, valType, valObj)
if valObj then
pcall(function() applyValueToObject(valObj, rawStr, valType) end)
end
spawn(function()
local handlerMode, isActive = getPartType(part, propName)
local results = ""
local success, err = pcall(function()
if handlerMode == "ATT" then
local bhvr = game:GetService("ReplicatedStorage").Events.BehaviourObject
bhvr:InvokeServer({part}, "ATT", propName)
bhvr:InvokeServer({part}, "DefaultNumberValue", typedVal)
sendATTStep3(bhvr, part, "ATT", propName)
wait(0.1)
sendATTStep3(bhvr, part, "ATT", propName)
wait(0.1)
sendATTStep3(bhvr, part, "ATT", propName)
results = "3-step:ATT "
elseif handlerMode == "GPT" then
local bhvr = game:GetService("ReplicatedStorage").Events.BehaviourObject
bhvr:InvokeServer({part}, "GPT", getGPTCategory(propName))
bhvr:InvokeServer({part}, "DefaultNumberValue", typedVal)
sendATTStep3(bhvr, part, "GPT", propName)
wait(0.1)
sendATTStep3(bhvr, part, "GPT", propName)
results = "3-step:GPT "
elseif handlerMode == "Nothing" and isActive == false then
game:GetService("ReplicatedStorage").Events.PaintObject:InvokeServer({part}, propName, typedVal)
results = "PaintObject "
elseif handlerMode == "Nothing" and isActive == true then
local code = propMap[propName]
if code then
game:GetService("ReplicatedStorage").Events.BehaviourObject:InvokeServer({part}, code, typedVal)
results = "Code[" .. code .. "] "
end
end
end)
if not success then
results = "ERR: " .. tostring(err)
end
if valObj and forceOverrideEnabled then
for j = 1, #persistentOverrides do
if persistentOverrides[j].obj == valObj then
persistentOverrides[j].active = false
end
end
table.insert(persistentOverrides, {
obj = valObj, rawStr = rawStr, vtype = valType, active = true
})
results = results .. "[FORCE]"
end
if valObj then
pcall(function() applyValueToObject(valObj, rawStr, valType) end)
end
startPermanentATTLock(part, propName, typedVal, rawStr, valType, valObj, handlerMode)
pcall(function()
customOutput(
"Set " .. propName .. " = " .. tostring(typedVal) .. " [PERMANENT LOCK] " .. results, color
)
end)
end)
end
-- ==================== UNCAPPING BYPASS SYSTEM ====================
local uncapLoopRunning = false
local uncapTarget = nil
-- ==================== PERMANENT ATT LOCK SYSTEM ====================
local attLocks = {}
local function startPermanentATTLock(part, propName, desiredVal, rawStr, valType, valObj, handlerMode)
for i = 1, #attLocks do
if attLocks[i].part == part and attLocks[i].propName == propName and attLocks[i].running then
attLocks[i].desiredVal = desiredVal
attLocks[i].rawStr = rawStr
attLocks[i].valType = valType
attLocks[i].valObj = valObj
return
end
end
local lock = {
part = part, propName = propName, desiredVal = desiredVal,
rawStr = rawStr, valType = valType, valObj = valObj,
handlerMode = handlerMode, running = true
}
table.insert(attLocks, lock)
coroutine.resume(coroutine.create(function()
local remote = game:GetService("ReplicatedStorage"):FindFirstChild("Events")
if not remote then lock.running = false return end
local bhvr = remote:FindFirstChild("BehaviourObject")
local paint = remote:FindFirstChild("PaintObject")
local isATT = (handlerMode == "ATT" or handlerMode == "GPT")
local cat = "Skybox"
if handlerMode == "GPT" then cat = getGPTCategory(propName)
elseif handlerMode == "ATT" then cat = propName end
local code = propMap[propName]
local strippedName = stripValSuffix(propName)
if not code then code = propMap[strippedName] end
local count = 0
while lock.running and part and part.Parent do
count = count + 1
if valObj and valObj.Parent then
pcall(function() applyValueToObject(valObj, rawStr, valType) end)
end
if isATT and bhvr then
pcall(function()
local dnv = part:FindFirstChild("DefaultNumberValue")
if dnv then
if dnv:IsA("NumberValue") then
dnv.Value = desiredVal
elseif dnv:IsA("StringValue") then
dnv.Value = tostring(desiredVal)
end
end
end)
end
if count % 5 == 0 then
if isATT and bhvr then
pcall(function()
bhvr:InvokeServer({part}, handlerMode, cat)
bhvr:InvokeServer({part}, "DefaultNumberValue", desiredVal)
sendATTStep3(bhvr, part, handlerMode, propName)
end)
else
if code and bhvr then
pcall(function() bhvr:InvokeServer({part}, code, desiredVal) end)
end
if bhvr then
pcall(function() bhvr:InvokeServer({part}, propName, desiredVal) end)
end
if paint then
pcall(function() paint:InvokeServer({part}, propName, desiredVal) end)
end
end
end
if count % 100 == 0 and code and strippedName ~= propName and bhvr then
pcall(function() bhvr:InvokeServer({part}, code, desiredVal) end)
pcall(function() bhvr:InvokeServer({part}, strippedName, desiredVal) end)
end
wait(1)
end
lock.running = false
end))
pcall(function()
customOutput(
"[LOCK] Permanent lock started for " .. propName .. " = " .. tostring(desiredVal), Color3.fromRGB(0, 255, 100)
)
end)
end
local function stopAllATTLocks()
for i = 1, #attLocks do
attLocks[i].running = false
end
attLocks = {}
end
local function stopATTLock(part, propName)
for i = #attLocks, 1, -1 do
if attLocks[i].part == part and attLocks[i].propName == propName then
attLocks[i].running = false
table.remove(attLocks, i)
end
end
end
local function findValueObjectDeep(parent, targetName)
local result = nil
pcall(function()
local kids = parent:GetChildren()
for i = 1, #kids do
local child = kids[i]
if child:IsA("ValueBase") and child.Name == targetName then
result = child
break
end
if not result then
local isContainer = false
pcall(function()
if child:IsA("Folder") or child:IsA("Configuration") or child:IsA("Model") then
isContainer = true
end
end)
if isContainer then
result = findValueObjectDeep(child, targetName)
if result then break end
end
end
end
end)
return result
end
local function tryDirectChildEdit(part, propName, desiredVal, rawStr, valType)
local found = false
pcall(function()
local kids = part:GetChildren()
for i = 1, #kids do
local child = kids[i]
if child:IsA("NumberValue") then
local nameMatch = (child.Name == propName)
local valueMatch = false
pcall(function()
if type(desiredVal) == "number" then
valueMatch = (math.abs(child.Value - desiredVal) < 1)
end
end)
if nameMatch or valueMatch then
pcall(function() child.Value = desiredVal end)
found = true
end
end
if child:IsA("StringValue") and type(desiredVal) == "string" then
if child.Name == propName then
pcall(function() child.Value = desiredVal end)
found = true
end
end
if child:IsA("IntValue") then
if child.Name == propName then
pcall(function() child.Value = desiredVal end)
found = true
end
end
if not found then
local isContainer = false
pcall(function()
if child:IsA("Folder") or child:IsA("Configuration") or child:IsA("Model") then
isContainer = true
end
end)
if isContainer then
local nested = findValueObjectDeep(child, propName)
if nested then
pcall(function() applyValueToObject(nested, rawStr, valType) end)
found = true
end
end
end
end
end)
return found
end
local function tryEditDefaultNumberValue(part, desiredVal)
local found = false
pcall(function()
local dnv = part:FindFirstChild("DefaultNumberValue")
if dnv then
if dnv:IsA("NumberValue") or dnv:IsA("IntValue") or dnv:IsA("FloatValue") then
pcall(function() dnv.Value = desiredVal end)
found = true
elseif dnv:IsA("StringValue") then
pcall(function() dnv.Value = tostring(desiredVal) end)
found = true
end
end
end)
return found
end
local function tryRapidFire(part, handlerMode, propName, desiredVal, count)
local cat = "Skybox"
if handlerMode == "GPT" then cat = getGPTCategory(propName)
elseif handlerMode == "ATT" then cat = propName end
local hits = 0
local remote = game:GetService("ReplicatedStorage"):FindFirstChild("Events")
local bhvr = remote and remote:FindFirstChild("BehaviourObject")
if not bhvr then return 0 end
pcall(function()
for i = 1, count do
bhvr:InvokeServer({part}, handlerMode, cat)
bhvr:InvokeServer({part}, "DefaultNumberValue", desiredVal)
sendATTStep3(bhvr, part, handlerMode, propName)
hits = hits + 1
end
end)
return hits
end
local function tryStringBypass(part, handlerMode, propName, desiredVal, rawStr)
local cat = "Skybox"
if handlerMode == "GPT" then cat = getGPTCategory(propName)
elseif handlerMode == "ATT" then cat = propName end
local remote = game:GetService("ReplicatedStorage"):FindFirstChild("Events")
if not remote then return false end
local bhvr = remote:FindFirstChild("BehaviourObject")
if not bhvr then return false end
local ok = false
pcall(function()
bhvr:InvokeServer({part}, handlerMode, cat)
bhvr:InvokeServer({part}, "DefaultNumberValue", rawStr)
sendATTStep3(bhvr, part, handlerMode, propName)
ok = true
end)
return ok
end
local function tryUncapValue(part, propName, desiredVal, rawStr, valType, valObj, handlerMode)
pcall(function()
customOutput(
"[UNCAP] Starting bypass for " .. propName .. " = " .. tostring(desiredVal) .. " (" .. handlerMode .. ")", Color3.fromRGB(255, 165, 0)
)
end)
if valObj then
pcall(function() applyValueToObject(valObj, rawStr, valType) end)
end
local remote = game:GetService("ReplicatedStorage"):FindFirstChild("Events")
if not remote then
pcall(function()
customOutput("[UNCAP] No Events folder found!", Color3.new(1, 0, 0))
end)
return
end
if handlerMode == "ATT" or handlerMode == "GPT" then
local cat = "Skybox"
if handlerMode == "GPT" then cat = getGPTCategory(propName)
elseif handlerMode == "ATT" then cat = propName end
local bhvr = remote:FindFirstChild("BehaviourObject")
if bhvr then
pcall(function()
bhvr:InvokeServer({part}, handlerMode, cat)
bhvr:InvokeServer({part}, "DefaultNumberValue", desiredVal)
sendATTStep3(bhvr, part, handlerMode, propName)
end)
wait(0.1)
sendATTStep3(bhvr, part, handlerMode, propName)
wait(0.1)
sendATTStep3(bhvr, part, handlerMode, propName)
end
wait(0.1)
local dnvOk = tryEditDefaultNumberValue(part, desiredVal)
pcall(function()
if dnvOk then
customOutput(
"[UNCAP] Edited DefaultNumberValue directly!", Color3.fromRGB(255, 200, 0)
)
end
end)
local childOk = tryDirectChildEdit(part, propName, desiredVal, rawStr, valType)
pcall(function()
if childOk then
customOutput(
"[UNCAP] Edited child value directly!", Color3.fromRGB(255, 200, 0)
)
end
end)
if type(desiredVal) == "number" then
tryStringBypass(part, handlerMode, propName, desiredVal, rawStr)
wait(0.1)
end
local hits = tryRapidFire(part, handlerMode, propName, desiredVal, 10)
pcall(function()
customOutput(
"[UNCAP] Rapid-fire: " .. hits .. " bursts", Color3.fromRGB(255, 200, 0)
)
end)
wait(0.1)
tryEditDefaultNumberValue(part, desiredVal)
tryDirectChildEdit(part, propName, desiredVal, rawStr, valType)
else
local code = propMap[propName]
local strippedName = nil
if not code then
strippedName = propName:gsub("Val$", "")
strippedName = strippedName:gsub("Value$", "")
code = propMap[strippedName]
end
if code and remote:FindFirstChild("BehaviourObject") then
pcall(function()
remote.BehaviourObject:InvokeServer({part}, code, desiredVal)
end)
pcall(function()
customOutput(
"[UNCAP] Sent via code [" .. code .. "] for " .. propName, Color3.fromRGB(255, 200, 0)
)
end)
end
if remote:FindFirstChild("PaintObject") then
if strippedName then
pcall(function()
remote.PaintObject:InvokeServer({part}, strippedName, desiredVal)
end)
end
pcall(function()
remote.PaintObject:InvokeServer({part}, propName, desiredVal)
end)
end
if remote:FindFirstChild("BehaviourObject") then
if strippedName then
pcall(function()
remote.BehaviourObject:InvokeServer({part}, strippedName, desiredVal)
end)
end
pcall(function()
remote.BehaviourObject:InvokeServer({part}, propName, desiredVal)
end)
end
if type(desiredVal) == "number" and remote:FindFirstChild("BehaviourObject") then
if code then
pcall(function()
remote.BehaviourObject:InvokeServer({part}, code, rawStr)
end)
end
if strippedName then
pcall(function()
remote.BehaviourObject:InvokeServer({part}, strippedName, rawStr)
end)
end
pcall(function()
remote.BehaviourObject:InvokeServer({part}, propName, rawStr)
end)
pcall(function()
customOutput(
"[UNCAP] Sent as string bypass!", Color3.fromRGB(255, 200, 0)
)
end)
end
wait(0.1)
local spamHits = 0
pcall(function()
for i = 1, 10 do
if code and remote:FindFirstChild("BehaviourObject") then
remote.BehaviourObject:InvokeServer({part}, code, desiredVal)
end
if strippedName and remote:FindFirstChild("BehaviourObject") then
remote.BehaviourObject:InvokeServer({part}, strippedName, desiredVal)
end
if remote:FindFirstChild("PaintObject") then
if strippedName then
remote.PaintObject:InvokeServer({part}, strippedName, desiredVal)
end
remote.PaintObject:InvokeServer({part}, propName, desiredVal)
end
spamHits = spamHits + 1
end
end)
pcall(function()
customOutput(
"[UNCAP] Rapid-fire: " .. spamHits .. " bursts", Color3.fromRGB(255, 200, 0)
)
end)
wait(0.1)
tryDirectChildEdit(part, propName, desiredVal, rawStr, valType)
tryEditDefaultNumberValue(part, desiredVal)
end
if valObj then
pcall(function() applyValueToObject(valObj, rawStr, valType) end)
end
if valObj and forceOverrideEnabled then
for j = 1, #persistentOverrides do
if persistentOverrides[j].obj == valObj then
persistentOverrides[j].active = false
end
end
table.insert(persistentOverrides, {
obj = valObj, rawStr = rawStr, vtype = valType, active = true
})
end
pcall(function()
customOutput(
"[UNCAP] All methods complete! Check if value stuck.", Color3.fromRGB(0, 255, 100)
)
end)
end
-- ==================== CLONE LOCK BYPASS ====================
local lastClonedPartRef = nil
local function tryCloneLock(part, propName, desiredVal, rawStr, valType, handlerMode, valObj, gravityMode)
pcall(function()
customOutput(
"[CLONE] Attempting clone lock for " .. propName .. " (gravity=" .. tostring(gravityMode) .. ")", Color3.fromRGB(0, 200, 255)
)
end)
local remote = game:GetService("ReplicatedStorage"):FindFirstChild("Events")
if not remote then return nil end
if not part or not part.Parent then return nil end
local parent = part.Parent
local cframe = part.CFrame
local clone = nil
pcall(function()
if gravityMode then
clone = part:Clone()
if clone then
local cloneValObj = findValueObjectDeep(clone, propName)
if cloneValObj then
pcall(function() applyValueToObject(cloneValObj, rawStr, valType) end)
end
local kids = clone:GetChildren()
for i = 1, #kids do
local child = kids[i]
if child:IsA("ValueBase") and child.Name == propName then
pcall(function() applyValueToObject(child, rawStr, valType) end)
end
local isContainer = false
pcall(function()
if child:IsA("Folder") or child:IsA("Configuration") or child:IsA("Model") then
isContainer = true
end
end)
if isContainer then
local nested = findValueObjectDeep(child, propName)
if nested then
pcall(function() applyValueToObject(nested, rawStr, valType) end)
end
end
end
local cloneDNV = clone:FindFirstChild("DefaultNumberValue")
if cloneDNV then
pcall(function()
if cloneDNV:IsA("NumberValue") then
cloneDNV.Value = desiredVal
elseif cloneDNV:IsA("StringValue") then
cloneDNV.Value = tostring(desiredVal)
end
end)
end
clone.CFrame = cframe
clone.Parent = parent
wait(0.05)
local code = propMap[propName]
local strippedName = propName:gsub("Val$", "")
strippedName = strippedName:gsub("Value$", "")
if not code then code = propMap[strippedName] end
if code and remote:FindFirstChild("BehaviourObject") then
pcall(function()
remote.BehaviourObject:InvokeServer({clone}, code, desiredVal)
end)
end
if remote:FindFirstChild("BehaviourObject") then
pcall(function()
remote.BehaviourObject:InvokeServer({clone}, propName, desiredVal)
end)
if strippedName and strippedName ~= propName then
pcall(function()
remote.BehaviourObject:InvokeServer({clone}, strippedName, desiredVal)
end)
end
end
if remote:FindFirstChild("PaintObject") then
pcall(function()
remote.PaintObject:InvokeServer({clone}, propName, desiredVal)
end)
if strippedName and strippedName ~= propName then
pcall(function()
remote.PaintObject:InvokeServer({clone}, strippedName, desiredVal)
end)
end
end
wait(0.05)
if cloneValObj then
pcall(function() applyValueToObject(cloneValObj, rawStr, valType) end)
end
tryDirectChildEdit(clone, propName, desiredVal, rawStr, valType)
tryEditDefaultNumberValue(clone, desiredVal)
part:Destroy()
pcall(function()
customOutput(
"[CLONE] Gravity clone lock SUCCESS! Value set AFTER clone + parent", Color3.fromRGB(0, 255, 200)
)
end)
end
else
local code = propMap[propName]
local strippedName = propName:gsub("Val$", "")
strippedName = strippedName:gsub("Value$", "")
if not code then code = propMap[strippedName] end
if handlerMode == "ATT" or handlerMode == "GPT" then
local cat = "Skybox"
if handlerMode == "GPT" then cat = getGPTCategory(propName)
elseif handlerMode == "ATT" then cat = propName end
pcall(function()
local bhvr = remote:FindFirstChild("BehaviourObject")
if bhvr then
bhvr:InvokeServer({part}, handlerMode, cat)
bhvr:InvokeServer({part}, "DefaultNumberValue", desiredVal)
sendATTStep3(bhvr, part, handlerMode, propName)
end
end)
else
if code and remote:FindFirstChild("BehaviourObject") then
pcall(function()
remote.BehaviourObject:InvokeServer({part}, code, desiredVal)
end)
end
if remote:FindFirstChild("BehaviourObject") then
pcall(function()
remote.BehaviourObject:InvokeServer({part}, propName, desiredVal)
end)
end
if remote:FindFirstChild("PaintObject") then
pcall(function()
remote.PaintObject:InvokeServer({part}, propName, desiredVal)
end)
end
end
wait(0.05)
if valObj then
pcall(function() applyValueToObject(valObj, rawStr, valType) end)
end
tryDirectChildEdit(part, propName, desiredVal, rawStr, valType)
tryEditDefaultNumberValue(part, desiredVal)
clone = part:Clone()
if clone then
local cloneValObj = findValueObjectDeep(clone, propName)
if cloneValObj then
pcall(function() applyValueToObject(cloneValObj, rawStr, valType) end)
end
tryDirectChildEdit(clone, propName, desiredVal, rawStr, valType)
tryEditDefaultNumberValue(clone, desiredVal)
clone.CFrame = cframe
clone.Parent = parent
part:Destroy()
pcall(function()
customOutput(
"[CLONE] Clone lock SUCCESS! Value frozen on new part", Color3.fromRGB(0, 255, 200)
)
end)
end
end
end)
if clone then
lastClonedPartRef = clone
selectedPartRef = clone
end
return clone
end
local function startUncapLoop()
if uncapLoopRunning then return end
if not uncapTarget then return end
uncapLoopRunning = true
coroutine.resume(coroutine.create(function()
local count = 0
local remote = game:GetService("ReplicatedStorage"):FindFirstChild("Events")
local bhvr = nil
local paint = nil
if remote then
bhvr = remote:FindFirstChild("BehaviourObject")
paint = remote:FindFirstChild("PaintObject")
end
local t = uncapTarget
local code = propMap[t.propName]
local strippedName = t.propName:gsub("Val$", "")
strippedName = strippedName:gsub("Value$", "")
if not code then code = propMap[strippedName] end
local isATT = (t.handlerMode == "ATT" or t.handlerMode == "GPT")
local cat = "Skybox"
if t.handlerMode == "GPT" then cat = getGPTCategory(t.propName)
elseif t.handlerMode == "ATT" then cat = t.propName end
while uncapLoopRunning and uncapTarget and uncapTarget.part and uncapTarget.part.Parent do
count = count + 1
local part = t.part
if t.valObj and t.valObj.Parent then
pcall(function() applyValueToObject(t.valObj, t.rawStr, t.valType) end)
end
if isATT then
pcall(function()
local dnv = part:FindFirstChild("DefaultNumberValue")
if dnv then
if dnv:IsA("NumberValue") then
dnv.Value = t.desiredVal
elseif dnv:IsA("StringValue") then
dnv.Value = tostring(t.desiredVal)
end
end
end)
end
if t.stringMode then
if code and bhvr then
pcall(function() bhvr:InvokeServer({part}, code, t.rawStr) end)
end
if paint then
pcall(function() paint:InvokeServer({part}, t.propName, t.rawStr) end)
end
end
if count % 10 == 0 then
t = uncapTarget
part = t.part
if isATT and bhvr then
pcall(function()
bhvr:InvokeServer({part}, t.handlerMode, cat)
bhvr:InvokeServer({part}, "DefaultNumberValue", t.desiredVal)
sendATTStep3(bhvr, part, t.handlerMode, t.propName)
end)
else
if code and bhvr then
pcall(function() bhvr:InvokeServer({part}, code, t.desiredVal) end)
end
if bhvr then
pcall(function() bhvr:InvokeServer({part}, t.propName, t.desiredVal) end)
end
if paint then
pcall(function() paint:InvokeServer({part}, t.propName, t.desiredVal) end)
end
end
end
if count % 100 == 0 then
t = uncapTarget
tryDirectChildEdit(t.part, t.propName, t.desiredVal, t.rawStr, t.valType)
tryEditDefaultNumberValue(t.part, t.desiredVal)
local freshVal = findValueObjectDeep(t.part, t.propName)
if freshVal then t.valObj = freshVal end
uncapTarget.valObj = t.valObj
end
wait(1)
end
uncapLoopRunning = false
pcall(function()
customOutput(
"[UNCAP] Loop stopped (" .. count .. " ticks)", Color3.fromRGB(255, 165, 0)
)
end)
end))
end
local function scanPartValues(part)
local found = {}
local scanned = {}
local skipClasses = {
["Weld"] = true, ["Snap"] = true, ["Motor6D"] = true,
["WeldConstraint"] = true, ["RodConstraint"] = true,
["BallSocketConstraint"] = true, ["HingeConstraint"] = true,
["AlignPosition"] = true, ["AlignOrientation"] = true,
["Attachment"] = true, ["SurfaceGui"] = true,
["BillboardGui"] = true, ["TouchTransmitter"] = true,
["Script"] = true, ["LocalScript"] = true, ["ModuleScript"] = true,
["RemoteEvent"] = true, ["RemoteFunction"] = true,
["BindableEvent"] = true, ["BindableFunction"] = true,
["UIListLayout"] = true, ["UIGridLayout"] = true,
["UIPadding"] = true, ["UIStroke"] = true, ["UICorner"] = true,
["Frame"] = true, ["ScrollingFrame"] = true,
["TextLabel"] = true, ["TextButton"] = true,
["ImageLabel"] = true, ["ImageButton"] = true,
["TextBox"] = true, ["ViewportFrame"] = true,
["Sound"] = true, ["AudioEmitter"] = true,
["Highlight"] = true, ["SelectionBox"] = true, ["BoxHandleAdornment"] = true,
["ParticleEmitter"] = true, ["Fire"] = true, ["Smoke"] = true, ["Sparkles"] = true,
["PointLight"] = true, ["SurfaceLight"] = true, ["SpotLight"] = true,
["Trail"] = true, ["Beam"] = true,
["BodyVelocity"] = true, ["BodyForce"] = true, ["BodyPosition"] = true,
["BodyGyro"] = true, ["BodyAngularVelocity"] = true, ["BodyThrust"] = true,
["RocketPropulsion"] = true, ["VectorForce"] = true,
}
local function canRecurse(child)
local ok, r = pcall(function()
return child:IsA("Folder") or child:IsA("Configuration") or child:IsA("Model")
or child:IsA("IntValue") or child:IsA("ObjectValue")
end)
return ok and r
end
local function scan(parent, depth)
if not parent or depth > 5 then return end
local ok, kids = pcall(function() return parent:GetChildren() end)
if not ok or not kids then return end
for i = 1, #kids do
local child = kids[i]
local cname = child.ClassName
if not cname then break end
local skip = skipClasses[cname] or false
if not skip then
local ok2, skip2 = pcall(function()
return child:IsA("GuiBase") or child:IsA("BasePart")
or child:IsA("DataModelMesh") or (child:IsA("Decal") or child:IsA("Texture"))
end)
if ok2 and skip2 then skip = true end
end
local shouldRecurse = canRecurse(child)
local key = cname .. child.Name
if not skip then
local isVal = false
pcall(function()
if child:IsA("ValueBase") and not scanned[key] then
scanned[key] = true
table.insert(found, {
name = child.Name, obj = child,
type = getValueType(child), depth = depth,
source = "child", class = cname
})
isVal = true
end
end)
pcall(function()
if child:IsA("ObjectValue") and not scanned[key] then
scanned[key] = true
local refName = "nil"
pcall(function() refName = child.Value and child.Value.Name or "nil" end)
table.insert(found, {
name = child.Name, obj = child,
type = "ObjectValue", depth = depth,
source = "child", class = cname,
displayVal = refName
})
end
end)
end
if shouldRecurse then
scan(child, depth + 1)
end
end
end
scan(part, 0)
return found
end
local function openInspector(part)
selectedPartRef = part
InspectorFrame.Visible = true
InspectTitle.Text = "Inspect: " .. part.Name
for _, child in ipairs(InspectScroll:GetChildren()) do
if child:IsA("Frame") or child:IsA("TextLabel") or child:IsA("TextButton") then
child:Destroy()
end
end
local refreshBtn = Instance.new("TextButton")
refreshBtn.Size = UDim2.new(0.25, 0, 0, 26)
refreshBtn.BackgroundColor3 = Color3.fromRGB(50, 130, 50)
refreshBtn.Text = "Refresh"
refreshBtn.TextColor3 = Color3.new(1, 1, 1)
refreshBtn.Font = Enum.Font.GothamBold
refreshBtn.TextScaled = true
refreshBtn.Parent = InspectScroll
Instance.new("UICorner", refreshBtn).CornerRadius = UDim.new(0, 5)
refreshBtn.MouseButton1Click:Connect(function()
if selectedPartRef and selectedPartRef.Parent then openInspector(selectedPartRef) end
end)
local forceBtn = Instance.new("TextButton")
forceBtn.Size = UDim2.new(0.37, 0, 0, 26)
forceBtn.Position = UDim2.new(0.26, 0, 0, 0)
forceBtn.BackgroundColor3 = forceOverrideEnabled and Color3.fromRGB(180, 50, 50) or Color3.fromRGB(60, 60, 60)
forceBtn.Text = forceOverrideEnabled and "FORCE: ON" or "FORCE: OFF"
forceBtn.TextColor3 = Color3.new(1, 1, 1)
forceBtn.Font = Enum.Font.GothamBold
forceBtn.TextScaled = true
forceBtn.Parent = InspectScroll
Instance.new("UICorner", forceBtn).CornerRadius = UDim.new(0, 5)
forceBtn.MouseButton1Click:Connect(function()
forceOverrideEnabled = not forceOverrideEnabled
forceBtn.BackgroundColor3 = forceOverrideEnabled and Color3.fromRGB(180, 50, 50) or Color3.fromRGB(60, 60, 60)
forceBtn.Text = forceOverrideEnabled and "FORCE: ON" or "FORCE: OFF"
if not forceOverrideEnabled then
for i = 1, #persistentOverrides do
persistentOverrides[i].active = false
end
persistentOverrides = {}
end
pcall(function()
customOutput(
"Force Override: " .. tostring(forceOverrideEnabled), color
)
end)
end)
local clearBtn = Instance.new("TextButton")
clearBtn.Size = UDim2.new(0.37, 0, 0, 26)
clearBtn.Position = UDim2.new(0.63, 0, 0, 0)
clearBtn.BackgroundColor3 = Color3.fromRGB(150, 100, 0)
clearBtn.Text = "Clear (" .. #persistentOverrides .. ")"
clearBtn.TextColor3 = Color3.new(1, 1, 1)
clearBtn.Font = Enum.Font.GothamBold
clearBtn.TextScaled = true
clearBtn.Name = "ClearOverridesBtn"
clearBtn.Parent = InspectScroll
Instance.new("UICorner", clearBtn).CornerRadius = UDim.new(0, 5)
clearBtn.MouseButton1Click:Connect(function()
for i = 1, #persistentOverrides do
persistentOverrides[i].active = false
end
persistentOverrides = {}
clearBtn.Text = "Clear (0)"
pcall(function()
customOutput("Cleared all overrides!", color)
end)
end)
local pTypeStr, _ = getPartType(selectedPartRef, "")
local typeInfo = Instance.new("TextLabel")
typeInfo.Size = UDim2.new(1, 0, 0, 18)
typeInfo.BackgroundTransparency = 1
typeInfo.Text = "Part Type: " .. pTypeStr .. " | Overrides: 0 active"
typeInfo.TextColor3 = Color3.fromRGB(200, 200, 100)
typeInfo.Font = Enum.Font.Gotham
typeInfo.TextScaled = true
typeInfo.Name = "PartTypeInfo"
typeInfo.Parent = InspectScroll
local uncapHeader = Instance.new("TextLabel")
uncapHeader.Size = UDim2.new(1, 0, 0, 22)
uncapHeader.BackgroundTransparency = 1
uncapHeader.Text = "== Uncap Bypass (bypass server limits) =="
uncapHeader.TextColor3 = Color3.fromRGB(255, 140, 0)
uncapHeader.Font = Enum.Font.GothamBold
uncapHeader.TextScaled = true
uncapHeader.Parent = InspectScroll
local uncapRow1 = Instance.new("Frame")
uncapRow1.Size = UDim2.new(1, 0, 0, 26)
uncapRow1.BackgroundColor3 = Color3.fromRGB(45, 35, 20)
uncapRow1.Parent = InspectScroll
Instance.new("UICorner", uncapRow1).CornerRadius = UDim.new(0, 5)
local uncapPropLabel = Instance.new("TextLabel")
uncapPropLabel.Size = UDim2.new(0.25, 0, 1, 0)
uncapPropLabel.BackgroundTransparency = 1
uncapPropLabel.Text = "Property"
uncapPropLabel.TextColor3 = Color3.fromRGB(255, 200, 100)
uncapPropLabel.Font = Enum.Font.GothamBold
uncapPropLabel.TextScaled = true
uncapPropLabel.Parent = uncapRow1
local uncapPropBox = Instance.new("TextBox")
uncapPropBox.Size = UDim2.new(0.73, 0, 0.7, 0)
uncapPropBox.Position = UDim2.new(0.25, 0, 0.15, 0)
uncapPropBox.BackgroundColor3 = Color3.fromRGB(25, 20, 10)
uncapPropBox.TextColor3 = Color3.new(1, 1, 1)
uncapPropBox.PlaceholderText = "e.g. Avatar-MaxHealth"
uncapPropBox.Text = ""
uncapPropBox.Font = Enum.Font.Gotham
uncapPropBox.TextScaled = true
uncapPropBox.Name = "UncapPropBox"
uncapPropBox.Parent = uncapRow1
Instance.new("UICorner", uncapPropBox).CornerRadius = UDim.new(0, 4)
local uncapRow2 = Instance.new("Frame")
uncapRow2.Size = UDim2.new(1, 0, 0, 26)
uncapRow2.BackgroundColor3 = Color3.fromRGB(45, 35, 20)
uncapRow2.Parent = InspectScroll
Instance.new("UICorner", uncapRow2).CornerRadius = UDim.new(0, 5)
local uncapValLabel = Instance.new("TextLabel")
uncapValLabel.Size = UDim2.new(0.25, 0, 1, 0)
uncapValLabel.BackgroundTransparency = 1
uncapValLabel.Text = "Value"
uncapValLabel.TextColor3 = Color3.fromRGB(255, 200, 100)
uncapValLabel.Font = Enum.Font.GothamBold
uncapValLabel.TextScaled = true
uncapValLabel.Parent = uncapRow2
local uncapValBox = Instance.new("TextBox")
uncapValBox.Size = UDim2.new(0.73, 0, 0.7, 0)
uncapValBox.Position = UDim2.new(0.25, 0, 0.15, 0)
uncapValBox.BackgroundColor3 = Color3.fromRGB(25, 20, 10)
uncapValBox.TextColor3 = Color3.new(1, 1, 1)
uncapValBox.PlaceholderText = "e.g. 999999999"
uncapValBox.Text = ""
uncapValBox.Font = Enum.Font.Gotham
uncapValBox.TextScaled = true
uncapValBox.Name = "UncapValBox"
uncapValBox.Parent = uncapRow2
Instance.new("UICorner", uncapValBox).CornerRadius = UDim.new(0, 4)
local uncapTypeRow = Instance.new("Frame")
uncapTypeRow.Size = UDim2.new(1, 0, 0, 26)
uncapTypeRow.BackgroundColor3 = Color3.fromRGB(45, 35, 20)
uncapTypeRow.Parent = InspectScroll
Instance.new("UICorner", uncapTypeRow).CornerRadius = UDim.new(0, 5)
local uncapTypeLabel = Instance.new("TextLabel")
uncapTypeLabel.Size = UDim2.new(0.25, 0, 1, 0)
uncapTypeLabel.BackgroundTransparency = 1
uncapTypeLabel.Text = "Send As"
uncapTypeLabel.TextColor3 = Color3.fromRGB(255, 200, 100)
uncapTypeLabel.Font = Enum.Font.GothamBold
uncapTypeLabel.TextScaled = true
uncapTypeLabel.Parent = uncapTypeRow
local uncapStringMode = false
local uncapNumBtn = Instance.new("TextButton")
uncapNumBtn.Size = UDim2.new(0.36, 0, 0.7, 0)
uncapNumBtn.Position = UDim2.new(0.27, 0, 0.15, 0)
uncapNumBtn.BackgroundColor3 = Color3.fromRGB(0, 150, 0)
uncapNumBtn.Text = "NUMBER"
uncapNumBtn.TextColor3 = Color3.new(1, 1, 1)
uncapNumBtn.Font = Enum.Font.GothamBold
uncapNumBtn.TextScaled = true
uncapNumBtn.Parent = uncapTypeRow
Instance.new("UICorner", uncapNumBtn).CornerRadius = UDim.new(0, 5)
local uncapStrBtn = Instance.new("TextButton")
uncapStrBtn.Size = UDim2.new(0.36, 0, 0.7, 0)
uncapStrBtn.Position = UDim2.new(0.64, 0, 0.15, 0)
uncapStrBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
uncapStrBtn.Text = "STRING"
uncapStrBtn.TextColor3 = Color3.fromRGB(150, 150, 150)
uncapStrBtn.Font = Enum.Font.GothamBold
uncapStrBtn.TextScaled = true
uncapStrBtn.Parent = uncapTypeRow
Instance.new("UICorner", uncapStrBtn).CornerRadius = UDim.new(0, 5)
uncapNumBtn.MouseButton1Click:Connect(function()
uncapStringMode = false
uncapNumBtn.BackgroundColor3 = Color3.fromRGB(0, 150, 0)
uncapNumBtn.TextColor3 = Color3.new(1, 1, 1)
uncapStrBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
uncapStrBtn.TextColor3 = Color3.fromRGB(150, 150, 150)
end)
uncapStrBtn.MouseButton1Click:Connect(function()
uncapStringMode = true
uncapStrBtn.BackgroundColor3 = Color3.fromRGB(0, 100, 200)
uncapStrBtn.TextColor3 = Color3.new(1, 1, 1)
uncapNumBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
uncapNumBtn.TextColor3 = Color3.fromRGB(150, 150, 150)
end)
local uncapRow3 = Instance.new("Frame")
uncapRow3.Size = UDim2.new(1, 0, 0, 30)
uncapRow3.BackgroundTransparency = 1
uncapRow3.Parent = InspectScroll
local uncapOnceBtn = Instance.new("TextButton")
uncapOnceBtn.Size = UDim2.new(0.32, -2, 0.7, 0)
uncapOnceBtn.Position = UDim2.new(0, 0, 0.15, 0)
uncapOnceBtn.BackgroundColor3 = Color3.fromRGB(200, 120, 0)
uncapOnceBtn.Text = "UNCAP ONCE"
uncapOnceBtn.TextColor3 = Color3.new(1, 1, 1)
uncapOnceBtn.Font = Enum.Font.GothamBold
uncapOnceBtn.TextScaled = true
uncapOnceBtn.Parent = uncapRow3
Instance.new("UICorner", uncapOnceBtn).CornerRadius = UDim.new(0, 5)
uncapOnceBtn.MouseButton1Click:Connect(function()
if not selectedPartRef or not selectedPartRef.Parent then
pcall(function()
customOutput("No part selected!", Color3.new(1, 0, 0))
end)
return
end
local pName = uncapPropBox.Text
local rawVal = uncapValBox.Text
if pName == "" or rawVal == "" then
pcall(function()
customOutput("Fill in property + value!", Color3.new(1, 0, 0))
end)
return
end
local typedVal = tonumber(rawVal)
if not typedVal then
typedVal = rawVal
end
local hMode, _ = getPartType(selectedPartRef, pName)
local valObj = findValueObjectDeep(selectedPartRef, pName)
local sendVal = typedVal
local sendType = "NumberValue"
if uncapStringMode then
sendVal = rawVal
sendType = "StringValue"
end
tryUncapValue(selectedPartRef, pName, sendVal, rawVal, sendType, valObj, hMode)
end)
local uncapLoopBtn = Instance.new("TextButton")
uncapLoopBtn.Size = UDim2.new(0.32, -2, 0.7, 0)
uncapLoopBtn.Position = UDim2.new(0.34, 0, 0.15, 0)
uncapLoopBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 0)
uncapLoopBtn.Text = "UNCAP LOOP"
uncapLoopBtn.TextColor3 = Color3.new(1, 1, 1)
uncapLoopBtn.Font = Enum.Font.GothamBold
uncapLoopBtn.TextScaled = true
uncapLoopBtn.Name = "UncapLoopBtn"
uncapLoopBtn.Parent = uncapRow3
Instance.new("UICorner", uncapLoopBtn).CornerRadius = UDim.new(0, 5)
uncapLoopBtn.MouseButton1Click:Connect(function()
if uncapLoopRunning then
uncapLoopRunning = false
uncapTarget = nil
uncapLoopBtn.Text = "UNCAP LOOP"
uncapLoopBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 0)
pcall(function()
customOutput("[UNCAP] Stopped loop", Color3.fromRGB(255, 100, 0))
end)
return
end
if not selectedPartRef or not selectedPartRef.Parent then
pcall(function()
customOutput("No part selected!", Color3.new(1, 0, 0))
end)
return
end
local pName = uncapPropBox.Text
local rawVal = uncapValBox.Text
if pName == "" or rawVal == "" then
pcall(function()
customOutput("Fill in property + value!", Color3.new(1, 0, 0))
end)
return
end
local typedVal = tonumber(rawVal)
if not typedVal then
typedVal = rawVal
end
local hMode, _ = getPartType(selectedPartRef, pName)
local valObj = findValueObjectDeep(selectedPartRef, pName)
local sendVal = typedVal
local sendType = "NumberValue"
if uncapStringMode then
sendVal = rawVal
sendType = "StringValue"
end
uncapTarget = {
part = selectedPartRef,
propName = pName,
desiredVal = sendVal,
valObj = valObj,
handlerMode = hMode,
rawStr = rawVal,
valType = sendType,
stringMode = uncapStringMode
}
tryUncapValue(selectedPartRef, pName, sendVal, rawVal, sendType, valObj, hMode)
startUncapLoop()
uncapLoopBtn.Text = "STOP LOOP"
uncapLoopBtn.BackgroundColor3 = Color3.fromRGB(220, 0, 0)
local modeStr = ""
if uncapStringMode then modeStr = " [STRING mode]" end
pcall(function()
customOutput(
"[UNCAP] Loop started for " .. pName .. " = " .. tostring(sendVal) .. modeStr, Color3.fromRGB(255, 165, 0)
)
end)
end)
local uncapStopBtn = Instance.new("TextButton")
uncapStopBtn.Size = UDim2.new(0.32, -2, 0.7, 0)
uncapStopBtn.Position = UDim2.new(0.68, 0, 0.15, 0)
uncapStopBtn.BackgroundColor3 = Color3.fromRGB(100, 30, 30)
uncapStopBtn.Text = "STOP ALL"
uncapStopBtn.TextColor3 = Color3.new(1, 1, 1)
uncapStopBtn.Font = Enum.Font.GothamBold
uncapStopBtn.TextScaled = true
uncapStopBtn.Parent = uncapRow3
Instance.new("UICorner", uncapStopBtn).CornerRadius = UDim.new(0, 5)
uncapStopBtn.MouseButton1Click:Connect(function()
uncapLoopRunning = false
uncapTarget = nil
stopAllATTLocks()
uncapLoopBtn.Text = "UNCAP LOOP"
uncapLoopBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 0)
pcall(function()
customOutput("[UNCAP] Stopped everything + all permanent locks", Color3.fromRGB(255, 100, 0))
end)
end)
-- ==================== QUICK EFFECT COLORS ====================
local qeHeader = Instance.new("TextLabel")
qeHeader.Size = UDim2.new(1, 0, 0, 22)
qeHeader.BackgroundTransparency = 1
qeHeader.Text = "== Quick Effect Colors (R,G,B) =="
qeHeader.TextColor3 = Color3.fromRGB(0, 200, 255)
qeHeader.Font = Enum.Font.GothamBold
qeHeader.TextScaled = true
qeHeader.Parent = InspectScroll
-- Each entry: {displayName, type, serverProperty [, extraArg]}
-- type = effect name for EffectObject (3-arg), "gear" for BehaviourObject (4-arg)
local quickColorDefs = {
{"Fire Color", "fire", "Color"},
{"Fire Secondary Color", "fire", "SecondaryColor"},
{"Surface Light Color", "surfacelight", "Color"},
{"SpotLight Color", "spotlight", "Color"},
{"Texture Color", "texture", "Color3"},
{"Image Color", "image", "ImageColor3"},
{"Text Color", "text", "TextColor3"},
{"Smoke Color", "smoke", "Color"},
{"Smoke Secondary Color", "smoke", "SecondaryColor"},
{"Outline Color", "outline", "Color3"},
{"Surface Outline Color", "outline", "SurfaceColor3"},
{"Light Color", "light", "Color"},
{"Sparkle Color", "sparkles", "SparkleColor"},
{"Sparkle Secondary Color","sparkles", "SparkleSecondaryColor"},
-- Gear Part colors (use BehaviourObject 4-arg: {part}, "DefaultColor3Value", color, "Color")
{"Flashlight Color", "gear", "DefaultColor3Value", "Color"},
{"Gun Color", "gear", "DefaultColor3Value", "Color"},
-- Lighting colors (2-step: select property, then set DefaultColor3Value)
-- ATT: {part}, "ATT", propName then {part}, "DefaultColor3Value", color
-- GPT: {part}, "GPT", category then {part}, "DefaultColor3Value", color
{"Fog Color", "lighting", "FogColor"},
{"ColorShift Bottom", "lighting", "ColorShiftBottom"},
{"Ambient", "lighting", "Ambient"},
{"Outdoor Ambient", "lighting", "OutdoorAmbient"},
{"ColorShift Top", "lighting", "ColorShiftTop"},
}
local function applyQuickColor(def, colorText)
if not selectedPartRef or not selectedPartRef.Parent then
pcall(function() customOutput("No part selected!", Color3.new(1, 0, 0)) end)
return
end
-- Parse "R,G,B" from textbox
local vals = {}
for num in string.gmatch(colorText, "(-?%d+%.?%d*)") do
table.insert(vals, tonumber(num) or 0)
end
if #vals < 3 then
pcall(function() customOutput("Use format: R,G,B (e.g. 999999,999999,999999)", Color3.new(1, 0, 0)) end)
return
end
local r = vals[1] / 255
local g = vals[2] / 255
local b = vals[3] / 255
local color = Color3.new(r, g, b)
local effectType = def[2]
local serverProp = def[3]
local extraArg = def[4]
pcall(function()
if effectType == "gear" then
-- BehaviourObject 4-arg pattern: {part}, "DefaultColor3Value", color, "Color"
game:GetService("ReplicatedStorage").Events.BehaviourObject:InvokeServer(
{selectedPartRef},
serverProp,
color,
extraArg
)
customOutput("[GEAR] " .. def[1] .. " = " .. vals[1] .. "," .. vals[2] .. "," .. vals[3], Color3.fromRGB(255, 200, 50))
elseif effectType == "lighting" then
-- Direct call matching RemoteSpy: {part}, "DefaultColor3Value", color
game:GetService("ReplicatedStorage").Events.BehaviourObject:InvokeServer(
{selectedPartRef},
"DefaultColor3Value",
color
)
customOutput("[LIGHTING] " .. def[1] .. " = " .. vals[1] .. "," .. vals[2] .. "," .. vals[3], Color3.fromRGB(255, 150, 50))
else
-- EffectObject 3-arg pattern: {part}, effectType, property, color
game:GetService("ReplicatedStorage").Events.EffectObject:InvokeServer(
{selectedPartRef},
effectType,
serverProp,
color
)
customOutput("[FX] " .. effectType .. "." .. serverProp .. " = " .. vals[1] .. "," .. vals[2] .. "," .. vals[3], Color3.fromRGB(0, 255, 200))
end
end)
end
-- ==================== RAINBOW (per-effect, shared state) ====================
local rainbowColors = {
{2.55e27, 65, 159},
{2.55e27, 255, 159},
{2.55e27, 255000000, 159},
{255, 255000000, 159},
{0, 25499999477760, 159},
{0, 25499999477760, 255},
{0, 25499999477760, 25499999477760},
{0, 255, 25499999477760},
{0, 0, 25499999477760},
{255, 0, 25499999477760},
{25500000000, 0, 25499999477760},
{25500000000, 0, 255},
{25500000000, 283333347840, 28333333217280},
}
local rbSelecting = false
local rbParts = {}
local rbNeeded = 13
local rbConn = nil
local rbActiveDef = nil -- which effect def we're rainbowing
local rbStatusLabel = nil
local rbMouse = game:GetService("Players").LocalPlayer:GetMouse()
local function stopRbSelect()
rbSelecting = false
if rbConn then rbConn:Disconnect(); rbConn = nil end
end
local function cleanRbHighlights()
for _, obj in ipairs(workspace:GetDescendants()) do
if obj:IsA("BasePart") then
pcall(function()
local hl = obj:GetAttribute("_rbHL")
if hl then hl:Destroy(); obj:SetAttribute("_rbHL", nil) end
end)
end
end
end
-- This is called when you click RB next to any effect
local function startRainbowForEffect(def, statusLabel)
rbStatusLabel = statusLabel
if rbSelecting then
stopRbSelect()
cleanRbHighlights()
rbParts = {}
rbStatusLabel.Text = "Cancelled"
return
end
rbActiveDef = def
rbParts = {}
rbSelecting = true
cleanRbHighlights()
rbStatusLabel.Text = "RB: Click 11 parts... 0/" .. rbNeeded
rbStatusLabel.TextColor3 = Color3.fromRGB(255, 255, 0)
pcall(function() customOutput("[RAINBOW] Click 11 parts for " .. def[1], Color3.fromRGB(255, 100, 200)) end)
if rbConn then rbConn:Disconnect() end
-- Use rbMouse.Button1Down - fires directly on 3D world clicks
rbConn = rbMouse.Button1Down:Connect(function()
if not rbSelecting then return end
local target = rbMouse.Target
if target and target:IsA("BasePart") then
for _, p in ipairs(rbParts) do
if p == target then return end
end
table.insert(rbParts, target)
-- Highlight (pcall in case game locks Highlight properties)
pcall(function()
local hl = Instance.new("Highlight")
hl.Adornee = target
hl.FillColor3 = Color3.fromRGB(255, 0, 255)
hl.FillTransparency = 0.6
hl.OutlineColor3 = Color3.fromRGB(255, 255, 0)
hl.OutlineTransparency = 0
hl.Parent = target
target:SetAttribute("_rbHL", hl)
end)
local n = #rbParts
rbStatusLabel.Text = "RB: Click 11 parts... " .. n .. "/" .. rbNeeded
if n >= rbNeeded then
stopRbSelect()
rbStatusLabel.Text = "All 11! Rainbowing..."
rbStatusLabel.TextColor3 = Color3.fromRGB(0, 255, 100)
pcall(function() customOutput("[RAINBOW] 11 parts selected! Rainbowing " .. def[1], Color3.fromRGB(0, 255, 100)) end)
-- Start rainbowing in spawn so it doesn't block
spawn(function()
local savedDef = rbActiveDef
local evts = game:GetService("ReplicatedStorage"):FindFirstChild("Events")
if not evts then
rbStatusLabel.Text = "ERROR: No Events!"
return
end
local effectObj = evts:FindFirstChild("EffectObject")
local paintObj = evts:FindFirstChild("PaintObject")
local behavObj = evts:FindFirstChild("BehaviourObject")
local count = 0
for idx = 1, math.min(#rbParts, #rainbowColors) do
local part = rbParts[idx]
if not part or not part.Parent then continue end
-- Highlight current part with the rainbow color
local rc = rainbowColors[idx]
local hlCol = Color3.fromRGB(
math.min(255, math.floor(rc[1] / 1000000)),
math.min(255, math.floor(rc[2] / 1000000)),
math.min(255, math.floor(rc[3] / 1000000))
)
-- Remove old highlight, add new colored one
pcall(function()
local old = part:GetAttribute("_rbHL")
if old then old:Destroy() end
end)
pcall(function()
local newHl = Instance.new("Highlight")
newHl.Adornee = part
newHl.FillColor3 = hlCol
newHl.FillTransparency = 0.4
newHl.OutlineColor3 = Color3.new(1, 1, 1)
newHl.OutlineTransparency = 0
newHl.Parent = part
part:SetAttribute("_rbHL", newHl)
end)
-- Apply the rainbow color to THIS effect only
local col = Color3.new(rc[1] / 255, rc[2] / 255, rc[3] / 255)
local eType = savedDef[2]
local sProp = savedDef[3]
local eArg = savedDef[4]
pcall(function()
if eType == "gear" and behavObj then
behavObj:InvokeServer({part}, sProp, col, eArg)
elseif eType == "lighting" and behavObj then
behavObj:InvokeServer({part}, "DefaultColor3Value", col)
elseif effectObj then
effectObj:InvokeServer({part}, eType, sProp, col)
end
end)
count = count + 1
rbStatusLabel.Text = "RB: " .. def[1] .. " " .. count .. "/" .. rbNeeded
task.wait(1)
end
rbStatusLabel.Text = "RB done! " .. count .. " " .. def[1]
rbStatusLabel.TextColor3 = Color3.fromRGB(0, 255, 100)
pcall(function() customOutput("[RAINBOW] Done! " .. count .. " parts for " .. def[1], Color3.fromRGB(0, 255, 100)) end)
-- Clean highlights
cleanRbHighlights()
end)
end
end
end)
end
-- ==================== END RAINBOW ====================
for i, def in ipairs(quickColorDefs) do
local row = Instance.new("Frame")
row.Size = UDim2.new(1, 0, 0, 26)
row.BackgroundColor3 = Color3.fromRGB(20, 30, 45)
row.Parent = InspectScroll
Instance.new("UICorner", row).CornerRadius = UDim.new(0, 5)
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(0.25, 0, 1, 0)
lbl.BackgroundTransparency = 1
lbl.Text = def[1]
lbl.TextColor3 = Color3.fromRGB(180, 220, 255)
lbl.Font = Enum.Font.GothamBold
lbl.TextScaled = true
lbl.TextXAlignment = Enum.TextXAlignment.Left
lbl.Parent = row
local box = Instance.new("TextBox")
box.Size = UDim2.new(0.35, 0, 0.7, 0)
box.Position = UDim2.new(0.26, 0, 0.15, 0)
box.BackgroundColor3 = Color3.fromRGB(15, 20, 35)
box.TextColor3 = Color3.new(1, 1, 1)
box.PlaceholderText = "R,G,B"
box.Text = ""
box.Font = Enum.Font.Gotham
box.TextScaled = true
box.Parent = row
Instance.new("UICorner", box).CornerRadius = UDim.new(0, 4)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0.12, -2, 0.7, 0)
btn.Position = UDim2.new(0.62, 0, 0.15, 0)
btn.BackgroundColor3 = Color3.fromRGB(0, 130, 180)
btn.Text = "SET"
btn.TextColor3 = Color3.new(1, 1, 1)
btn.Font = Enum.Font.GothamBold
btn.TextScaled = true
btn.Parent = row
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 4)
local rainbowBtn = Instance.new("TextButton")
rainbowBtn.Size = UDim2.new(0.12, -2, 0.7, 0)
rainbowBtn.Position = UDim2.new(0.76, 0, 0.15, 0)
rainbowBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 180)
rainbowBtn.Text = "RB"
rainbowBtn.TextColor3 = Color3.new(1, 1, 1)
rainbowBtn.Font = Enum.Font.GothamBold
rainbowBtn.TextScaled = true
rainbowBtn.Parent = row
Instance.new("UICorner", rainbowBtn).CornerRadius = UDim.new(0, 4)
btn.MouseButton1Click:Connect(function()
applyQuickColor(def, box.Text)
end)
-- Rainbow: click 11 parts, then rainbow this specific effect
rainbowBtn.MouseButton1Click:Connect(function()
startRainbowForEffect(def, box)
end)
end
-- ==================== END QUICK EFFECT COLORS ====================
-- ==================== GRAVITY EDITOR (ATT number) ====================
local gravRow = Instance.new("Frame")
gravRow.Size = UDim2.new(1, 0, 0, 26)
gravRow.BackgroundColor3 = Color3.fromRGB(45, 20, 20)
gravRow.Parent = InspectScroll
Instance.new("UICorner", gravRow).CornerRadius = UDim.new(0, 5)
local gravLbl = Instance.new("TextLabel")
gravLbl.Size = UDim2.new(0.25, 0, 1, 0)
gravLbl.BackgroundTransparency = 1
gravLbl.Text = "Gravity"
gravLbl.TextColor3 = Color3.fromRGB(255, 150, 150)
gravLbl.Font = Enum.Font.GothamBold
gravLbl.TextScaled = true
gravLbl.TextXAlignment = Enum.TextXAlignment.Left
gravLbl.Parent = gravRow
local gravBox = Instance.new("TextBox")
gravBox.Size = UDim2.new(0.35, 0, 0.7, 0)
gravBox.Position = UDim2.new(0.26, 0, 0.15, 0)
gravBox.BackgroundColor3 = Color3.fromRGB(15, 20, 35)
gravBox.TextColor3 = Color3.new(1, 1, 1)
gravBox.PlaceholderText = "Number (e.g. 100)"
gravBox.Text = ""
gravBox.Font = Enum.Font.Gotham
gravBox.TextScaled = true
gravBox.Parent = gravRow
Instance.new("UICorner", gravBox).CornerRadius = UDim.new(0, 4)
local gravBtn = Instance.new("TextButton")
gravBtn.Size = UDim2.new(0.12, -2, 0.7, 0)
gravBtn.Position = UDim2.new(0.62, 0, 0.15, 0)
gravBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 50)
gravBtn.Text = "SET"
gravBtn.TextColor3 = Color3.new(1, 1, 1)
gravBtn.Font = Enum.Font.GothamBold
gravBtn.TextScaled = true
gravBtn.Parent = gravRow
Instance.new("UICorner", gravBtn).CornerRadius = UDim.new(0, 4)
local gravUncapBtn = Instance.new("TextButton")
gravUncapBtn.Size = UDim2.new(0.14, -2, 0.7, 0)
gravUncapBtn.Position = UDim2.new(0.76, 0, 0.15, 0)
gravUncapBtn.BackgroundColor3 = Color3.fromRGB(200, 100, 0)
gravUncapBtn.Text = "UNCAP"
gravUncapBtn.TextColor3 = Color3.new(1, 1, 1)
gravUncapBtn.Font = Enum.Font.GothamBold
gravUncapBtn.TextScaled = true
gravUncapBtn.Parent = gravRow
Instance.new("UICorner", gravUncapBtn).CornerRadius = UDim.new(0, 4)
local function doGravitySet(part, num)
local remote = game:GetService("ReplicatedStorage"):FindFirstChild("Events")
if not remote then
pcall(function() customOutput("[GRAVITY] No Events folder!", Color3.new(1, 0, 0)) end)
return
end
local bhvr = remote:FindFirstChild("BehaviourObject")
if not bhvr then
pcall(function() customOutput("[GRAVITY] No BehaviourObject!", Color3.new(1, 0, 0)) end)
return
end
-- Exact Hydroxide calls: ATT the attribute, then set the value
bhvr:InvokeServer({part}, "ATT", "GravityVal")
bhvr:InvokeServer({part}, "DefaultNumberValue", num)
-- Re-ATT to confirm
bhvr:InvokeServer({part}, "ATT", "GravityVal")
end
gravBtn.MouseButton1Click:Connect(function()
local num = tonumber(gravBox.Text)
if num == nil then
pcall(function() customOutput("Enter a number for gravity!", Color3.new(1, 0, 0)) end)
return
end
if not selectedPartRef or not selectedPartRef.Parent then
pcall(function() customOutput("No part selected!", Color3.new(1, 0, 0)) end)
return
end
-- Capture part by value RIGHT NOW, not inside spawn
local part = selectedPartRef
spawn(function()
local ok, err = pcall(doGravitySet, part, num)
if ok then
pcall(function() customOutput("[GRAVITY] Set to " .. tostring(num), Color3.fromRGB(255, 100, 100)) end)
else
pcall(function() customOutput("[GRAVITY] ERROR: " .. tostring(err), Color3.new(1, 0, 0)) end)
end
end)
end)
gravUncapBtn.MouseButton1Click:Connect(function()
local num = tonumber(gravBox.Text)
if num == nil then num = 0 end
if not selectedPartRef or not selectedPartRef.Parent then
pcall(function() customOutput("No part selected!", Color3.new(1, 0, 0)) end)
return
end
local part = selectedPartRef
local rawStr = gravBox.Text
spawn(function()
local remote = game:GetService("ReplicatedStorage"):FindFirstChild("Events")
local bhvr = remote and remote:FindFirstChild("BehaviourObject")
local paint = remote and remote:FindFirstChild("PaintObject")
if not bhvr then
pcall(function() customOutput("[GRAVITY] No BehaviourObject!", Color3.new(1, 0, 0)) end)
return
end
local m = {}
-- M1: raw string
m[1] = pcall(function()
bhvr:InvokeServer({part}, "ATT", "GravityVal")
bhvr:InvokeServer({part}, "DefaultNumberValue", rawStr)
bhvr:InvokeServer({part}, "ATT", "GravityVal")
end)
wait(0.1)
-- M2: math.huge then value
m[2] = pcall(function()
bhvr:InvokeServer({part}, "ATT", "GravityVal")
bhvr:InvokeServer({part}, "DefaultNumberValue", math.huge)
wait(0.05)
bhvr:InvokeServer({part}, "ATT", "GravityVal")
bhvr:InvokeServer({part}, "DefaultNumberValue", num)
end)
wait(0.1)
-- M3: -math.huge then value
m[3] = pcall(function()
bhvr:InvokeServer({part}, "ATT", "GravityVal")
bhvr:InvokeServer({part}, "DefaultNumberValue", -math.huge)
wait(0.05)
bhvr:InvokeServer({part}, "ATT", "GravityVal")
bhvr:InvokeServer({part}, "DefaultNumberValue", num)
end)
wait(0.1)
-- M4: scientific notation string
m[4] = pcall(function()
bhvr:InvokeServer({part}, "ATT", "GravityVal")
bhvr:InvokeServer({part}, "DefaultNumberValue", string.format("%.20e", num))
end)
wait(0.1)
-- M5: rapid fire 10x
m[5] = pcall(function()
for i = 1, 10 do
bhvr:InvokeServer({part}, "ATT", "GravityVal")
bhvr:InvokeServer({part}, "DefaultNumberValue", num)
end
end)
wait(0.1)
-- M6: string "inf"
m[6] = pcall(function()
bhvr:InvokeServer({part}, "ATT", "GravityVal")
bhvr:InvokeServer({part}, "DefaultNumberValue", "inf")
wait(0.05)
bhvr:InvokeServer({part}, "ATT", "GravityVal")
bhvr:InvokeServer({part}, "DefaultNumberValue", num)
end)
wait(0.1)
-- M7: propMap code "G" directly via BehaviourObject
m[7] = pcall(function()
bhvr:InvokeServer({part}, "G", num)
end)
wait(0.1)
-- M8: PaintObject "GravityVal"
if paint then
m[8] = pcall(function()
paint:InvokeServer({part}, "GravityVal", num)
end)
else
m[8] = false
end
wait(0.1)
-- M9: PaintObject code "G"
if paint then
m[9] = pcall(function()
paint:InvokeServer({part}, "G", num)
end)
else
m[9] = false
end
wait(0.1)
-- M10: BehaviourObject "Gravity" (no Val suffix)
m[10] = pcall(function()
bhvr:InvokeServer({part}, "Gravity", num)
end)
wait(0.1)
-- M11: ATT with 4th arg (value inside ATT call)
m[11] = pcall(function()
bhvr:InvokeServer({part}, "ATT", "GravityVal", num)
end)
wait(0.1)
-- M12: table-wrapped number
m[12] = pcall(function()
bhvr:InvokeServer({part}, "ATT", "GravityVal")
bhvr:InvokeServer({part}, "DefaultNumberValue", {num})
end)
wait(0.1)
-- M13: negative then positive via code "G"
m[13] = pcall(function()
bhvr:InvokeServer({part}, "G", -num)
wait(0.05)
bhvr:InvokeServer({part}, "G", num)
end)
wait(0.1)
-- M14: string DNV then code "G"
m[14] = pcall(function()
bhvr:InvokeServer({part}, "ATT", "GravityVal")
bhvr:InvokeServer({part}, "DefaultNumberValue", rawStr)
wait(0.05)
bhvr:InvokeServer({part}, "G", num)
end)
wait(0.1)
-- M15: 1e308 then value
m[15] = pcall(function()
bhvr:InvokeServer({part}, "ATT", "GravityVal")
bhvr:InvokeServer({part}, "DefaultNumberValue", 1e308)
wait(0.05)
bhvr:InvokeServer({part}, "ATT", "GravityVal")
bhvr:InvokeServer({part}, "DefaultNumberValue", num)
end)
wait(0.1)
-- M16: PaintObject raw string
if paint then
m[16] = pcall(function()
paint:InvokeServer({part}, "GravityVal", rawStr)
end)
else
m[16] = false
end
wait(0.1)
-- M17: Clone trick
m[17] = pcall(function()
bhvr:InvokeServer({part}, "ATT", "GravityVal")
bhvr:InvokeServer({part}, "DefaultNumberValue", num)
local parent = part.Parent
local cf = part.CFrame
local cl = part:Clone()
cl.CFrame = cf
local dnv = cl:FindFirstChild("DefaultNumberValue")
if dnv then
if dnv:IsA("NumberValue") then dnv.Value = num end
if dnv:IsA("StringValue") then dnv.Value = rawStr end
end
local kids = cl:GetChildren()
for i = 1, #kids do
if kids[i].Name == "GravityVal" and kids[i]:IsA("ValueBase") then
pcall(function() kids[i].Value = num end)
end
end
cl.Parent = parent
bhvr:InvokeServer({cl}, "ATT", "GravityVal")
bhvr:InvokeServer({cl}, "DefaultNumberValue", num)
bhvr:InvokeServer({cl}, "G", num)
if paint then
paint:InvokeServer({cl}, "GravityVal", num)
end
wait(0.1)
part:Destroy()
end)
-- Show all results
pcall(function()
customOutput("[GRAVITY] 17 methods for " .. tostring(num), Color3.fromRGB(255, 200, 0))
local names = {
"string", "+inf", "-inf", "sci", "rapid", "inf str",
"code G", "paint GV", "paint G", "Gravity name",
"ATT+4th", "table", "neg G", "str+G",
"1e308", "paint str", "clone"
}
for i = 1, 17 do
if m[i] then
customOutput(" M" .. i .. " " .. names[i] .. ": OK", Color3.fromRGB(0, 200, 0))
else
customOutput(" M" .. i .. " " .. names[i] .. ": ERR", Color3.new(1, 0.3, 0))
end
end
end)
end)
end)
-- ==================== END GRAVITY EDITOR ====================
-- ==================== CAMERA MAXZOOM UNCAP ====================
local cmzHeader = Instance.new("TextLabel")
cmzHeader.Size = UDim2.new(1, 0, 0, 22)
cmzHeader.BackgroundTransparency = 1
cmzHeader.Text = "== Camera MaxZoom Uncap =="
cmzHeader.TextColor3 = Color3.fromRGB(255, 180, 50)
cmzHeader.Font = Enum.Font.GothamBold
cmzHeader.TextScaled = true
cmzHeader.Parent = InspectScroll
local cmzRow = Instance.new("Frame")
cmzRow.Size = UDim2.new(1, 0, 0, 26)
cmzRow.BackgroundColor3 = Color3.fromRGB(50, 40, 20)
cmzRow.Parent = InspectScroll
Instance.new("UICorner", cmzRow).CornerRadius = UDim.new(0, 5)
local cmzLabel = Instance.new("TextLabel")
cmzLabel.Size = UDim2.new(0.25, 0, 1, 0)
cmzLabel.BackgroundTransparency = 1
cmzLabel.Text = "MaxZoom"
cmzLabel.TextColor3 = Color3.fromRGB(255, 200, 100)
cmzLabel.Font = Enum.Font.GothamBold
cmzLabel.TextScaled = true
cmzLabel.Parent = cmzRow
local cmzBox = Instance.new("TextBox")
cmzBox.Size = UDim2.new(0.43, 0, 0.7, 0)
cmzBox.Position = UDim2.new(0.26, 0, 0.15, 0)
cmzBox.BackgroundColor3 = Color3.fromRGB(30, 25, 15)
cmzBox.TextColor3 = Color3.new(1, 1, 1)
cmzBox.PlaceholderText = "e.g. 999999"
cmzBox.Text = "999999"
cmzBox.Font = Enum.Font.Gotham
cmzBox.TextScaled = true
cmzBox.Parent = cmzRow
Instance.new("UICorner", cmzBox).CornerRadius = UDim.new(0, 4)
local cmzBtn = Instance.new("TextButton")
cmzBtn.Size = UDim2.new(0.22, -4, 0.7, 0)
cmzBtn.Position = UDim2.new(0.7, 0, 0.15, 0)
cmzBtn.BackgroundColor3 = Color3.fromRGB(200, 120, 0)
cmzBtn.Text = "SET"
cmzBtn.TextColor3 = Color3.new(1, 1, 1)
cmzBtn.Font = Enum.Font.GothamBold
cmzBtn.TextScaled = true
cmzBtn.Parent = cmzRow
Instance.new("UICorner", cmzBtn).CornerRadius = UDim.new(0, 4)
local cmzLoopBtn = Instance.new("TextButton")
cmzLoopBtn.Size = UDim2.new(0.1, -4, 0.7, 0)
cmzLoopBtn.Position = UDim2.new(0.9, 0, 0.15, 0)
cmzLoopBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 0)
cmzLoopBtn.Text = "LOOP"
cmzLoopBtn.TextColor3 = Color3.new(1, 1, 1)
cmzLoopBtn.Font = Enum.Font.GothamBold
cmzLoopBtn.TextScaled = true
cmzLoopBtn.Parent = cmzRow
Instance.new("UICorner", cmzLoopBtn).CornerRadius = UDim.new(0, 4)
local cmzLoopRunning = false
local function applyCameraMaxZoom()
if not selectedPartRef or not selectedPartRef.Parent then
pcall(function() customOutput("No part selected!", Color3.new(1, 0, 0)) end)
return
end
local rawVal = cmzBox.Text
local desiredVal = tonumber(rawVal)
if not desiredVal then
pcall(function() customOutput("Bad number: " .. rawVal, Color3.new(1, 0, 0)) end)
return
end
local bhvr = game:GetService("ReplicatedStorage").Events.BehaviourObject
-- Step 1: Select Camera-MaxZoom property (from RemoteSpy)
pcall(function()
bhvr:InvokeServer({selectedPartRef}, "GPT", "Camera-MaxZoom")
end)
wait(0.05)
-- Step 2: Set DefaultNumberValue (from RemoteSpy)
pcall(function()
bhvr:InvokeServer({selectedPartRef}, "DefaultNumberValue", desiredVal)
end)
-- Step 3: Try as string bypass (uncap method)
wait(0.05)
pcall(function()
bhvr:InvokeServer({selectedPartRef}, "DefaultNumberValue", rawVal)
end)
-- Step 4: Re-select and set again for good measure
wait(0.05)
pcall(function()
bhvr:InvokeServer({selectedPartRef}, "GPT", "Camera-MaxZoom")
bhvr:InvokeServer({selectedPartRef}, "DefaultNumberValue", desiredVal)
end)
-- Step 5: Direct DefaultNumberValue edit
pcall(function()
local dnv = selectedPartRef:FindFirstChild("DefaultNumberValue")
if dnv and dnv:IsA("NumberValue") then
dnv.Value = desiredVal
elseif dnv and dnv:IsA("StringValue") then
dnv.Value = rawVal
end
end)
pcall(function()
customOutput("[MAXZOOM] Set to " .. desiredVal .. " (server + uncap)", Color3.fromRGB(255, 200, 50))
end)
end
cmzBtn.MouseButton1Click:Connect(applyCameraMaxZoom)
cmzLoopBtn.MouseButton1Click:Connect(function()
if cmzLoopRunning then
cmzLoopRunning = false
cmzLoopBtn.Text = "LOOP"
cmzLoopBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 0)
pcall(function() customOutput("[MAXZOOM] Loop stopped", Color3.fromRGB(255, 100, 0)) end)
return
end
cmzLoopRunning = true
cmzLoopBtn.Text = "STOP"
cmzLoopBtn.BackgroundColor3 = Color3.fromRGB(200, 0, 0)
pcall(function() customOutput("[MAXZOOM] Loop started!", Color3.fromRGB(0, 255, 100)) end)
coroutine.resume(coroutine.create(function()
while cmzLoopRunning and wait(1) do
if not selectedPartRef or not selectedPartRef.Parent then
cmzLoopRunning = false
break
end
applyCameraMaxZoom()
end
if cmzLoopBtn and cmzLoopBtn.Parent then
cmzLoopBtn.Text = "LOOP"
cmzLoopBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 0)
end
end))
end)
-- ==================== END CAMERA MAXZOOM UNCAP ====================
-- ==================== JUMP LIMIT UNCAP ====================
local jlHeader = Instance.new("TextLabel")
jlHeader.Size = UDim2.new(1, 0, 0, 22)
jlHeader.BackgroundTransparency = 1
jlHeader.Text = "== Jump Limit Uncap =="
jlHeader.TextColor3 = Color3.fromRGB(255, 180, 50)
jlHeader.Font = Enum.Font.GothamBold
jlHeader.TextScaled = true
jlHeader.Parent = InspectScroll
local jlRow = Instance.new("Frame")
jlRow.Size = UDim2.new(1, 0, 0, 26)
jlRow.BackgroundColor3 = Color3.fromRGB(50, 40, 20)
jlRow.Parent = InspectScroll
Instance.new("UICorner", jlRow).CornerRadius = UDim.new(0, 5)
local jlLabel = Instance.new("TextLabel")
jlLabel.Size = UDim2.new(0.25, 0, 1, 0)
jlLabel.BackgroundTransparency = 1
jlLabel.Text = "JumpLimit"
jlLabel.TextColor3 = Color3.fromRGB(255, 200, 100)
jlLabel.Font = Enum.Font.GothamBold
jlLabel.TextScaled = true
jlLabel.Parent = jlRow
local jlBox = Instance.new("TextBox")
jlBox.Size = UDim2.new(0.43, 0, 0.7, 0)
jlBox.Position = UDim2.new(0.26, 0, 0.15, 0)
jlBox.BackgroundColor3 = Color3.fromRGB(30, 25, 15)
jlBox.TextColor3 = Color3.new(1, 1, 1)
jlBox.PlaceholderText = "e.g. 999999"
jlBox.Text = "999999"
jlBox.Font = Enum.Font.Gotham
jlBox.TextScaled = true
jlBox.Parent = jlRow
Instance.new("UICorner", jlBox).CornerRadius = UDim.new(0, 4)
local jlBtn = Instance.new("TextButton")
jlBtn.Size = UDim2.new(0.22, -4, 0.7, 0)
jlBtn.Position = UDim2.new(0.7, 0, 0.15, 0)
jlBtn.BackgroundColor3 = Color3.fromRGB(200, 120, 0)
jlBtn.Text = "SET"
jlBtn.TextColor3 = Color3.new(1, 1, 1)
jlBtn.Font = Enum.Font.GothamBold
jlBtn.TextScaled = true
jlBtn.Parent = jlRow
Instance.new("UICorner", jlBtn).CornerRadius = UDim.new(0, 4)
local jlLoopBtn = Instance.new("TextButton")
jlLoopBtn.Size = UDim2.new(0.1, -4, 0.7, 0)
jlLoopBtn.Position = UDim2.new(0.9, 0, 0.15, 0)
jlLoopBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 0)
jlLoopBtn.Text = "LOOP"
jlLoopBtn.TextColor3 = Color3.new(1, 1, 1)
jlLoopBtn.Font = Enum.Font.GothamBold
jlLoopBtn.TextScaled = true
jlLoopBtn.Parent = jlRow
Instance.new("UICorner", jlLoopBtn).CornerRadius = UDim.new(0, 4)
local jlLoopRunning = false
local function applyJumpLimit()
if not selectedPartRef or not selectedPartRef.Parent then
pcall(function() customOutput("No part selected!", Color3.new(1, 0, 0)) end)
return
end
local rawVal = jlBox.Text
local desiredVal = tonumber(rawVal)
if not desiredVal then
pcall(function() customOutput("Bad number: " .. rawVal, Color3.new(1, 0, 0)) end)
return
end
local bhvr = game:GetService("ReplicatedStorage").Events.BehaviourObject
-- Step 1: Direct DefaultNumberValue set (from RemoteSpy)
pcall(function()
bhvr:InvokeServer({selectedPartRef}, "DefaultNumberValue", desiredVal)
end)
-- Step 2: Select property then set (uncap method)
wait(0.05)
pcall(function()
bhvr:InvokeServer({selectedPartRef}, "ATT", "JumpLimit")
bhvr:InvokeServer({selectedPartRef}, "DefaultNumberValue", desiredVal)
end)
-- Step 3: String bypass
wait(0.05)
pcall(function()
bhvr:InvokeServer({selectedPartRef}, "DefaultNumberValue", rawVal)
end)
-- Step 4: Re-select and set again
wait(0.05)
pcall(function()
bhvr:InvokeServer({selectedPartRef}, "ATT", "JumpLimit")
bhvr:InvokeServer({selectedPartRef}, "DefaultNumberValue", desiredVal)
end)
-- Step 5: Direct DefaultNumberValue edit
pcall(function()
local dnv = selectedPartRef:FindFirstChild("DefaultNumberValue")
if dnv and dnv:IsA("NumberValue") then
dnv.Value = desiredVal
elseif dnv and dnv:IsA("StringValue") then
dnv.Value = rawVal
end
end)
pcall(function()
customOutput("[JUMPLIMIT] Set to " .. desiredVal .. " (server + uncap)", Color3.fromRGB(255, 200, 50))
end)
end
jlBtn.MouseButton1Click:Connect(applyJumpLimit)
jlLoopBtn.MouseButton1Click:Connect(function()
if jlLoopRunning then
jlLoopRunning = false
jlLoopBtn.Text = "LOOP"
jlLoopBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 0)
pcall(function() customOutput("[JUMPLIMIT] Loop stopped", Color3.fromRGB(255, 100, 0)) end)
return
end
jlLoopRunning = true
jlLoopBtn.Text = "STOP"
jlLoopBtn.BackgroundColor3 = Color3.fromRGB(200, 0, 0)
pcall(function() customOutput("[JUMPLIMIT] Loop started!", Color3.fromRGB(0, 255, 100)) end)
coroutine.resume(coroutine.create(function()
while jlLoopRunning and wait(1) do
if not selectedPartRef or not selectedPartRef.Parent then
jlLoopRunning = false
break
end
applyJumpLimit()
end
if jlLoopBtn and jlLoopBtn.Parent then
jlLoopBtn.Text = "LOOP"
jlLoopBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 0)
end
end))
end)
-- ==================== END JUMP LIMIT UNCAP ====================
local cloneRow = Instance.new("Frame")
cloneRow.Size = UDim2.new(1, 0, 0, 30)
cloneRow.BackgroundTransparency = 1
cloneRow.Parent = InspectScroll
local cloneLockBtn = Instance.new("TextButton")
cloneLockBtn.Size = UDim2.new(0.48, -2, 0.7, 0)
cloneLockBtn.Position = UDim2.new(0, 0, 0.15, 0)
cloneLockBtn.BackgroundColor3 = Color3.fromRGB(0, 100, 180)
cloneLockBtn.Text = "CLONE LOCK"
cloneLockBtn.TextColor3 = Color3.new(1, 1, 1)
cloneLockBtn.Font = Enum.Font.GothamBold
cloneLockBtn.TextScaled = true
cloneLockBtn.Parent = cloneRow
Instance.new("UICorner", cloneLockBtn).CornerRadius = UDim.new(0, 5)
cloneLockBtn.MouseButton1Click:Connect(function()
if not selectedPartRef or not selectedPartRef.Parent then
pcall(function()
customOutput("No part selected!", Color3.new(1, 0, 0))
end)
return
end
local pName = uncapPropBox.Text
local rawVal = uncapValBox.Text
if pName == "" or rawVal == "" then
pcall(function()
customOutput("Fill in property + value first!", Color3.new(1, 0, 0))
end)
return
end
local typedVal = tonumber(rawVal)
if not typedVal then typedVal = rawVal end
local hMode, _ = getPartType(selectedPartRef, pName)
local valObj = findValueObjectDeep(selectedPartRef, pName)
local isGravity = (pName == "GravityVal" or pName == "Gravity")
local sendVal = typedVal
local sendType = "NumberValue"
if uncapStringMode then
sendVal = rawVal
sendType = "StringValue"
end
tryUncapValue(selectedPartRef, pName, sendVal, rawVal, sendType, valObj, hMode)
wait(0.2)
tryCloneLock(selectedPartRef, pName, sendVal, rawVal, sendType, hMode, valObj, isGravity)
pcall(function()
customOutput(
"[CLONE] Done! Check if value stuck on new part", Color3.fromRGB(0, 255, 200)
)
end)
end)
local gravCloneBtn = Instance.new("TextButton")
gravCloneBtn.Size = UDim2.new(0.48, -2, 0.7, 0)
gravCloneBtn.Position = UDim2.new(0.52, 0, 0.15, 0)
gravCloneBtn.BackgroundColor3 = Color3.fromRGB(0, 150, 100)
gravCloneBtn.Text = "GRAVITY CLONE"
gravCloneBtn.TextColor3 = Color3.new(1, 1, 1)
gravCloneBtn.Font = Enum.Font.GothamBold
gravCloneBtn.TextScaled = true
gravCloneBtn.Parent = cloneRow
Instance.new("UICorner", gravCloneBtn).CornerRadius = UDim.new(0, 5)
gravCloneBtn.MouseButton1Click:Connect(function()
if not selectedPartRef or not selectedPartRef.Parent then
pcall(function()
customOutput("No part selected!", Color3.new(1, 0, 0))
end)
return
end
local pName = uncapPropBox.Text
local rawVal = uncapValBox.Text
if pName == "" or rawVal == "" then
pcall(function()
customOutput("Fill in property + value first!", Color3.new(1, 0, 0))
end)
return
end
local typedVal = tonumber(rawVal)
if not typedVal then typedVal = rawVal end
local hMode, _ = getPartType(selectedPartRef, pName)
local valObj = findValueObjectDeep(selectedPartRef, pName)
local sendVal = typedVal
local sendType = "NumberValue"
if uncapStringMode then
sendVal = rawVal
sendType = "StringValue"
end
tryCloneLock(selectedPartRef, pName, sendVal, rawVal, sendType, hMode, valObj, true)
pcall(function()
customOutput(
"[CLONE] Gravity clone done! Value set AFTER clone + before parent", Color3.fromRGB(0, 255, 200)
)
end)
end)
local function addSectionHeader(text, col)
local h = Instance.new("TextLabel")
h.Size = UDim2.new(1, 0, 0, 22)
h.BackgroundTransparency = 1
h.Text = text
h.TextColor3 = col
h.Font = Enum.Font.GothamBold
h.TextScaled = true
h.Parent = InspectScroll
end
addSectionHeader("== Identity ==", Color3.fromRGB(120, 220, 255))
addInspectorRow("Name", part.Name, "StringValue")
addSectionHeader("== Transform ==", Color3.fromRGB(100, 200, 255))
addInspectorRow("Position X", math.floor(part.Position.X * 100) / 100, "NumberValue")
addInspectorRow("Position Y", math.floor(part.Position.Y * 100) / 100, "NumberValue")
addInspectorRow("Position Z", math.floor(part.Position.Z * 100) / 100, "NumberValue")
addInspectorRow("Orientation X", math.floor(part.Orientation.X * 100) / 100, "NumberValue")
addInspectorRow("Orientation Y", math.floor(part.Orientation.Y * 100) / 100, "NumberValue")
addInspectorRow("Orientation Z", math.floor(part.Orientation.Z * 100) / 100, "NumberValue")
addInspectorRow("Size X", math.floor(part.Size.X * 100) / 100, "NumberValue")
addInspectorRow("Size Y", math.floor(part.Size.Y * 100) / 100, "NumberValue")
addInspectorRow("Size Z", math.floor(part.Size.Z * 100) / 100, "NumberValue")
addSectionHeader("== Velocity ==", Color3.fromRGB(100, 200, 255))
addInspectorRow("Velocity X", math.floor(part.Velocity.X * 100) / 100, "NumberValue")
addInspectorRow("Velocity Y", math.floor(part.Velocity.Y * 100) / 100, "NumberValue")
addInspectorRow("Velocity Z", math.floor(part.Velocity.Z * 100) / 100, "NumberValue")
addInspectorRow("RotVelocity X", math.floor(part.RotVelocity.X * 100) / 100, "NumberValue")
addInspectorRow("RotVelocity Y", math.floor(part.RotVelocity.Y * 100) / 100, "NumberValue")
addInspectorRow("RotVelocity Z", math.floor(part.RotVelocity.Z * 100) / 100, "NumberValue")
addSectionHeader("== Appearance ==", Color3.fromRGB(255, 180, 100))
addInspectorRow("Color R", math.floor(part.Color.R * 255), "NumberValue")
addInspectorRow("Color G", math.floor(part.Color.G * 255), "NumberValue")
addInspectorRow("Color B", math.floor(part.Color.B * 255), "NumberValue")
addInspectorRow("BrickColor", part.BrickColor.Name, "StringValue")
addInspectorRow("Material", tostring(part.Material), "StringValue")
addInspectorRow("Transparency", math.floor(part.Transparency * 100) / 100, "NumberValue")
addInspectorRow("Reflectance", math.floor(part.Reflectance * 100) / 100, "NumberValue")
addInspectorRow("CastShadow", tostring(part.CastShadow), "BoolValue")
addSectionHeader("== Physics ==", Color3.fromRGB(100, 255, 150))
addInspectorRow("Anchored", tostring(part.Anchored), "BoolValue")
addInspectorRow("CanCollide", tostring(part.CanCollide), "BoolValue")
addInspectorRow("Massless", tostring(part.Massless), "BoolValue")
addInspectorRow("CanQuery", tostring(part.CanQuery), "BoolValue")
addInspectorRow("CanTouch", tostring(part.CanTouch), "BoolValue")
pcall(function()
addInspectorRow("CollisionGroup", tostring(part.CollisionGroup), "StringValue")
end)
local foundValues = scanPartValues(part)
local foundCount = #foundValues
local scanHeader = Instance.new("TextLabel")
scanHeader.Size = UDim2.new(1, 0, 0, 22)
scanHeader.BackgroundTransparency = 1
scanHeader.Text = "== Attached Values (" .. foundCount .. " found) =="
scanHeader.TextColor3 = Color3.fromRGB(255, 200, 50)
scanHeader.Font = Enum.Font.GothamBold
scanHeader.TextScaled = true
scanHeader.Parent = InspectScroll
if foundCount == 0 then
local noVals = Instance.new("TextLabel")
noVals.Size = UDim2.new(1, 0, 0, 20)
noVals.BackgroundTransparency = 1
noVals.Text = "No values attached to this part"
noVals.TextColor3 = Color3.fromRGB(150, 150, 150)
noVals.Font = Enum.Font.Gotham
noVals.TextScaled = true
noVals.Parent = InspectScroll
else
local childVals = {}
local attrVals = {}
local objVals = {}
for _, entry in ipairs(foundValues) do
if entry.source == "attribute" then
table.insert(attrVals, entry)
elseif entry.type == "ObjectValue" then
table.insert(objVals, entry)
else
table.insert(childVals, entry)
end
end
if #childVals > 0 then
local cvHeader = Instance.new("TextLabel")
cvHeader.Size = UDim2.new(1, 0, 0, 20)
cvHeader.BackgroundTransparency = 1
cvHeader.Text = "-- Child Values (" .. #childVals .. ") --"
cvHeader.TextColor3 = Color3.fromRGB(255, 220, 100)
cvHeader.Font = Enum.Font.GothamBold
cvHeader.TextScaled = true
cvHeader.Parent = InspectScroll
for i = 1, #childVals do
local entry = childVals[i]
local prefix = ""
if entry.depth > 0 then
prefix = string.rep(" ", math.min(entry.depth, 5)) .. (entry.obj.Parent and entry.obj.Parent.Name or "?") .. "/"
end
local row = Instance.new("Frame")
row.Size = UDim2.new(1, 0, 0, 30)
row.BackgroundColor3 = Color3.fromRGB(50, 42, 30)
row.Parent = InspectScroll
Instance.new("UICorner", row).CornerRadius = UDim.new(0, 5)
local codeLabel = Instance.new("TextLabel")
local mappedCode = propMap[entry.name]
codeLabel.Size = UDim2.new(0, 16, 0.7, 0)
codeLabel.Position = UDim2.new(0, 2, 0.15, 0)
codeLabel.BackgroundColor3 = mappedCode and Color3.fromRGB(0, 120, 0) or Color3.fromRGB(100, 60, 0)
codeLabel.Text = mappedCode or "?"
codeLabel.TextColor3 = Color3.new(1, 1, 1)
codeLabel.Font = Enum.Font.GothamBold
codeLabel.TextScaled = true
codeLabel.Parent = row
Instance.new("UICorner", codeLabel).CornerRadius = UDim.new(0, 8)
local label = Instance.new("TextLabel")
label.Size = UDim2.new(0.40, 0, 1, 0)
label.Position = UDim2.new(0.055, 0, 0, 0)
label.BackgroundTransparency = 1
label.Text = prefix .. entry.name
label.TextColor3 = Color3.fromRGB(255, 220, 100)
label.Font = Enum.Font.GothamBold
label.TextScaled = true
label.TextXAlignment = Enum.TextXAlignment.Left
label.TextTruncate = Enum.TextTruncate.AtEnd
label.Parent = row
local typeTag = Instance.new("TextLabel")
typeTag.Size = UDim2.new(0.12, 0, 0.4, 0)
typeTag.Position = UDim2.new(0.46, 0, 0.3, 0)
typeTag.BackgroundTransparency = 1
typeTag.Text = entry.type
typeTag.TextColor3 = Color3.fromRGB(150, 150, 180)
typeTag.Font = Enum.Font.Gotham
typeTag.TextScaled = true
typeTag.Parent = row
local box = Instance.new("TextBox")
box.Size = UDim2.new(0.26, 0, 0.7, 0)
box.Position = UDim2.new(0.58, 0, 0.15, 0)
box.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
box.TextColor3 = Color3.new(1, 1, 1)
box.Text = getValueString(entry.obj)
box.Font = Enum.Font.Gotham
box.TextScaled = true
box.Name = "ScanVal_" .. i
Instance.new("UICorner", box).CornerRadius = UDim.new(0, 4)
box.Parent = row
local setBtn = Instance.new("TextButton")
setBtn.Size = UDim2.new(0.12, 0, 0.7, 0)
setBtn.Position = UDim2.new(0.86, 0, 0.15, 0)
setBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 0)
setBtn.Text = "Set"
setBtn.TextColor3 = Color3.new(1, 1, 1)
setBtn.Font = Enum.Font.GothamBold
setBtn.TextScaled = true
setBtn.Parent = row
Instance.new("UICorner", setBtn).CornerRadius = UDim.new(0, 4)
local valObj = entry.obj
local valName = entry.name
local valType = entry.type
setBtn.MouseButton1Click:Connect(function()
if not valObj or not valObj.Parent then
pcall(function()
customOutput("Value object gone!", Color3.new(1, 0, 0))
end)
return
end
if not selectedPartRef or not selectedPartRef.Parent then
pcall(function()
customOutput("Part gone!", Color3.new(1, 0, 0))
end)
return
end
local rawVal = box.Text
local typedVal = rawVal
if valType == "NumberValue" then
typedVal = tonumber(rawVal)
if not typedVal then
pcall(function()
customOutput("Bad number: " .. rawVal, Color3.new(1, 0, 0))
end)
return
end
elseif valType == "BoolValue" then
if rawVal == "true" then typedVal = true
elseif rawVal == "false" then typedVal = false
else
pcall(function()
customOutput("Bad bool (true/false): " .. rawVal, Color3.new(1, 0, 0))
end)
return
end
end
-- Use tryUncapValue (same as UNCAP ONCE) for server-sided changes
local hMode, _ = getPartType(selectedPartRef, valName)
tryUncapValue(selectedPartRef, valName, typedVal, rawVal, valType, valObj, hMode)
pcall(function()
customOutput(
"Set " .. valName .. " = " .. tostring(typedVal) .. " [local+server]", color
)
end)
end)
end
end
if #attrVals > 0 then
local attrHeader = Instance.new("TextLabel")
attrHeader.Size = UDim2.new(1, 0, 0, 20)
attrHeader.BackgroundTransparency = 1
attrHeader.Text = "-- Attributes (" .. #attrVals .. ") --"
attrHeader.TextColor3 = Color3.fromRGB(100, 255, 180)
attrHeader.Font = Enum.Font.GothamBold
attrHeader.TextScaled = true
attrHeader.Parent = InspectScroll
for i = 1, #attrVals do
local entry = attrVals[i]
local row = Instance.new("Frame")
row.Size = UDim2.new(1, 0, 0, 30)
row.BackgroundColor3 = Color3.fromRGB(30, 50, 45)
row.Parent = InspectScroll
Instance.new("UICorner", row).CornerRadius = UDim.new(0, 5)
local codeLabel = Instance.new("TextLabel")
local mappedCode = propMap[entry.name]
codeLabel.Size = UDim2.new(0, 16, 0.7, 0)
codeLabel.Position = UDim2.new(0, 2, 0.15, 0)
codeLabel.BackgroundColor3 = mappedCode and Color3.fromRGB(0, 120, 0) or Color3.fromRGB(0, 80, 100)
codeLabel.Text = mappedCode or "A"
codeLabel.TextColor3 = Color3.new(1, 1, 1)
codeLabel.Font = Enum.Font.GothamBold
codeLabel.TextScaled = true
codeLabel.Parent = row
Instance.new("UICorner", codeLabel).CornerRadius = UDim.new(0, 8)
local parentInfo = ""
if entry.parentName then parentInfo = entry.parentName .. "." end
local label = Instance.new("TextLabel")
label.Size = UDim2.new(0.40, 0, 1, 0)
label.Position = UDim2.new(0.055, 0, 0, 0)
label.BackgroundTransparency = 1
label.Text = parentInfo .. entry.name
label.TextColor3 = Color3.fromRGB(130, 255, 200)
label.Font = Enum.Font.GothamBold
label.TextScaled = true
label.TextXAlignment = Enum.TextXAlignment.Left
label.TextTruncate = Enum.TextTruncate.AtEnd
label.Parent = row
local typeTag = Instance.new("TextLabel")
typeTag.Size = UDim2.new(0.12, 0, 0.4, 0)
typeTag.Position = UDim2.new(0.46, 0, 0.3, 0)
typeTag.BackgroundTransparency = 1
typeTag.Text = "Attr"
typeTag.TextColor3 = Color3.fromRGB(80, 200, 150)
typeTag.Font = Enum.Font.Gotham
typeTag.TextScaled = true
typeTag.Parent = row
local box = Instance.new("TextBox")
box.Size = UDim2.new(0.26, 0, 0.7, 0)
box.Position = UDim2.new(0.58, 0, 0.15, 0)
box.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
box.TextColor3 = Color3.new(1, 1, 1)
box.Text = tostring(entry.attrValue)
box.Font = Enum.Font.Gotham
box.TextScaled = true
box.Name = "AttrVal_" .. i
Instance.new("UICorner", box).CornerRadius = UDim.new(0, 4)
box.Parent = row
local setBtn = Instance.new("TextButton")
setBtn.Size = UDim2.new(0.12, 0, 0.7, 0)
setBtn.Position = UDim2.new(0.86, 0, 0.15, 0)
setBtn.BackgroundColor3 = Color3.fromRGB(0, 100, 80)
setBtn.Text = "Set"
setBtn.TextColor3 = Color3.new(1, 1, 1)
setBtn.Font = Enum.Font.GothamBold
setBtn.TextScaled = true
setBtn.Parent = row
Instance.new("UICorner", setBtn).CornerRadius = UDim.new(0, 4)
local attrOwner = entry.obj
local attrName = entry.name
local attrType = entry.type
setBtn.MouseButton1Click:Connect(function()
if not attrOwner or not attrOwner.Parent then
pcall(function()
customOutput("Owner gone!", Color3.new(1, 0, 0))
end)
return
end
if not selectedPartRef or not selectedPartRef.Parent then
pcall(function()
customOutput("Part gone!", Color3.new(1, 0, 0))
end)
return
end
local rawVal = box.Text
local typedVal = rawVal
if attrType == "NumberValue" then
typedVal = tonumber(rawVal)
if not typedVal then
pcall(function()
customOutput("Bad number: " .. rawVal, Color3.new(1, 0, 0))
end)
return
end
elseif attrType == "BoolValue" then
if rawVal == "true" then typedVal = true
elseif rawVal == "false" then typedVal = false
else
pcall(function()
customOutput("Bad bool (true/false): " .. rawVal, Color3.new(1, 0, 0))
end)
return
end
elseif attrType == "ColorValue" then
local nums = {}
for num in rawVal:gmatch("-?%d+%.?%d*") do table.insert(nums, tonumber(num)) end
if #nums >= 3 then
typedVal = Color3.new(nums[1]/255, nums[2]/255, nums[3]/255)
else
pcall(function()
customOutput("Bad color (R,G,B): " .. rawVal, Color3.new(1, 0, 0))
end)
return
end
end
pcall(function() attrOwner:SetAttribute(attrName, typedVal) end)
setPartProperty(selectedPartRef, attrName, typedVal, rawVal, attrType, nil)
pcall(function() attrOwner:SetAttribute(attrName, typedVal) end)
pcall(function()
customOutput(
"Attr " .. attrName .. " = " .. tostring(typedVal) .. " [local+server]", color
)
end)
end)
end
end
if #objVals > 0 then
local objHeader = Instance.new("TextLabel")
objHeader.Size = UDim2.new(1, 0, 0, 20)
objHeader.BackgroundTransparency = 1
objHeader.Text = "-- Object References (" .. #objVals .. ") --"
objHeader.TextColor3 = Color3.fromRGB(200, 150, 255)
objHeader.Font = Enum.Font.GothamBold
objHeader.TextScaled = true
objHeader.Parent = InspectScroll
for i = 1, #objVals do
local entry = objVals[i]
local row = Instance.new("Frame")
row.Size = UDim2.new(1, 0, 0, 26)
row.BackgroundColor3 = Color3.fromRGB(40, 35, 55)
row.Parent = InspectScroll
Instance.new("UICorner", row).CornerRadius = UDim.new(0, 5)
local label = Instance.new("TextLabel")
label.Size = UDim2.new(0.65, 0, 1, 0)
label.BackgroundTransparency = 1
label.Text yay i fixed it, kinda

Universal