-- Glitched Part Panel v27 local debugging = 0 debugging = 1 coroutine.resume(coroutine.create(function() while wait(1) do if debugging == 1 then break elseif debugging == 2 then break end end end)) local uis = game:GetService("UserInputService") local ismobile = uis.TouchEnabled local I1IiII1 = Instance.new("ScreenGui") local TopBar = Instance.new("Frame") local MainFrame = Instance.new("Frame") local UICorner = Instance.new("UICorner") local pannel = Instance.new("Frame") local Part = Instance.new("Frame") local text = Instance.new("TextLabel") local TextBox = Instance.new("TextBox") local UICorner_2 = Instance.new("UICorner") local Property = Instance.new("Frame") local text_2 = Instance.new("TextLabel") local propertye = Instance.new("TextBox") local UICorner_3 = Instance.new("UICorner") local Value = Instance.new("Frame") local Text = Instance.new("TextLabel") local NumberValue = Instance.new("TextBox") local UICorner_4 = Instance.new("UICorner") local ColorSelection = Instance.new("Frame") local Red = Instance.new("TextBox") local UICorner_5 = Instance.new("UICorner") local Green = Instance.new("TextBox") local UICorner_6 = Instance.new("UICorner") local Blue = Instance.new("TextBox") local UICorner_7 = Instance.new("UICorner") local Execute = Instance.new("TextButton") local UICorner_8 = Instance.new("UICorner") local Selected = Instance.new("Frame") local UICorner_9 = Instance.new("UICorner") local NumberBtn = Instance.new("TextButton") local UICorner_10 = Instance.new("UICorner") local StringBtn = Instance.new("TextButton") local UICorner_11 = Instance.new("UICorner") local BoolBtn = Instance.new("TextButton") local UICorner_12 = Instance.new("UICorner") local ColourBtn = Instance.new("TextButton") local UICorner_13 = Instance.new("UICorner") local NameLabel = Instance.new("TextLabel") local UITextSizeConstraint = Instance.new("UITextSizeConstraint") local CreditsOpen = Instance.new("TextButton") local UICorner_14 = Instance.new("UICorner") local Credits = Instance.new("Frame") local lostaccountkw_roblox = Instance.new("TextLabel") local context = Instance.new("TextLabel") local SiperStrengh35974 = Instance.new("TextLabel") local context_2 = Instance.new("TextLabel") local e = Instance.new("Frame") local Effects = Instance.new("Frame") local Effect = Instance.new("Frame") local text_3 = Instance.new("TextLabel") local EBox = Instance.new("TextBox") local UICorner_15 = Instance.new("UICorner") local Eproperty = Instance.new("Frame") local Text_2 = Instance.new("TextLabel") local PropertyoEffect = Instance.new("TextBox") local UICorner_16 = Instance.new("UICorner") local Execute_2 = Instance.new("TextButton") local UICorner_17 = Instance.new("UICorner") local EValue = Instance.new("Frame") local Text_3 = Instance.new("TextLabel") local EffectBox = Instance.new("TextBox") local UICorner_18 = Instance.new("UICorner") local ColorSelection_2 = Instance.new("Frame") local Red_2 = Instance.new("TextBox") local UICorner_19 = Instance.new("UICorner") local Green_2 = Instance.new("TextBox") local UICorner_20 = Instance.new("UICorner") local UITextSizeConstraint_2 = Instance.new("UITextSizeConstraint") local Blue_2 = Instance.new("TextBox") local UICorner_21 = Instance.new("UICorner") local Selected_2 = Instance.new("Frame") local UICorner_22 = Instance.new("UICorner") local Number_2 = Instance.new("TextButton") local UICorner_23 = Instance.new("UICorner") local String_2 = Instance.new("TextButton") local UICorner_24 = Instance.new("UICorner") local Bool_2 = Instance.new("TextButton") local UICorner_25 = Instance.new("UICorner") local Colour_2 = Instance.new("TextButton") local UICorner_26 = Instance.new("UICorner") local EffectsOpen = Instance.new("TextButton") local UICorner_27 = Instance.new("UICorner") local TextLabel = Instance.new("TextLabel") local X = Instance.new("TextButton") local nothing = Instance.new("Frame") local UICorner_28 = Instance.new("UICorner") local UIAspectRatioConstraint = Instance.new("UIAspectRatioConstraint") local TNT_tp = Instance.new("TextLabel") local context_3 = Instance.new("TextLabel") local UITextSizeConstraint_3 = Instance.new("UITextSizeConstraint") local UITextSizeConstraint_4 = Instance.new("UITextSizeConstraint") UIAspectRatioConstraint.AspectRatio = 14.556 local color = Color3.new(0.584604, 0.491824, 0.828419) -- ==================== VISIBLE OUTPUT LOG (copyable TextBox) ==================== local OutputLogFrame = Instance.new("Frame") OutputLogFrame.Name = "OutputLog" OutputLogFrame.Parent = I1IiII1 OutputLogFrame.BackgroundColor3 = Color3.fromRGB(18, 18, 22) OutputLogFrame.BorderColor3 = Color3.fromRGB(100, 70, 160) OutputLogFrame.BorderSizePixel = 2 OutputLogFrame.Position = UDim2.new(0.01, 0, 0.42, 0) OutputLogFrame.Size = UDim2.new(0, 340, 0, 300) OutputLogFrame.Visible = true OutputLogFrame.ZIndex = 100 OutputLogFrame.Active = true OutputLogFrame.Draggable = true Instance.new("UICorner", OutputLogFrame).CornerRadius = UDim.new(0, 10) -- Title bar local OutputTitleBar = Instance.new("Frame") OutputTitleBar.Name = "TitleBar" OutputTitleBar.Parent = OutputLogFrame OutputTitleBar.BackgroundColor3 = Color3.fromRGB(45, 30, 70) OutputTitleBar.Size = UDim2.new(1, 0, 0, 32) OutputTitleBar.ZIndex = 102 Instance.new("UICorner", OutputTitleBar).CornerRadius = UDim.new(0, 10) local OutputTitleLabel = Instance.new("TextLabel") OutputTitleLabel.Parent = OutputTitleBar OutputTitleLabel.Size = UDim2.new(0.55, 0, 1, 0) OutputTitleLabel.Position = UDim2.new(0.02, 0, 0, 0) OutputTitleLabel.BackgroundTransparency = 1 OutputTitleLabel.Text = "Output Log (select + copy)" OutputTitleLabel.TextColor3 = Color3.fromRGB(220, 190, 255) OutputTitleLabel.Font = Enum.Font.GothamBold OutputTitleLabel.TextScaled = true OutputTitleLabel.TextXAlignment = Enum.TextXAlignment.Left OutputTitleLabel.ZIndex = 103 -- Copy All button local CopyAllBtn = Instance.new("TextButton") CopyAllBtn.Name = "CopyAll" CopyAllBtn.Parent = OutputTitleBar CopyAllBtn.Size = UDim2.new(0.13, 0, 0.65, 0) CopyAllBtn.Position = UDim2.new(0.58, 0, 0.175, 0) CopyAllBtn.BackgroundColor3 = Color3.fromRGB(0, 110, 60) CopyAllBtn.Text = "Copy All" CopyAllBtn.TextColor3 = Color3.new(1, 1, 1) CopyAllBtn.Font = Enum.Font.GothamBold CopyAllBtn.TextScaled = true CopyAllBtn.ZIndex = 103 Instance.new("UICorner", CopyAllBtn).CornerRadius = UDim.new(0, 5) -- Clear button local OutputClearBtn2 = Instance.new("TextButton") OutputClearBtn2.Name = "ClearLog" OutputClearBtn2.Parent = OutputTitleBar OutputClearBtn2.Size = UDim2.new(0.1, 0, 0.65, 0) OutputClearBtn2.Position = UDim2.new(0.72, 0, 0.175, 0) OutputClearBtn2.BackgroundColor3 = Color3.fromRGB(140, 40, 40) OutputClearBtn2.Text = "Clear" OutputClearBtn2.TextColor3 = Color3.new(1, 1, 1) OutputClearBtn2.Font = Enum.Font.GothamBold OutputClearBtn2.TextScaled = true OutputClearBtn2.ZIndex = 103 Instance.new("UICorner", OutputClearBtn2).CornerRadius = UDim.new(0, 5) -- Hide/Show button local OutputHideBtn = Instance.new("TextButton") OutputHideBtn.Name = "ToggleLog" OutputHideBtn.Parent = OutputTitleBar OutputHideBtn.Size = UDim2.new(0.12, 0, 0.65, 0) OutputHideBtn.Position = UDim2.new(0.84, 0, 0.175, 0) OutputHideBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 80) OutputHideBtn.Text = "Hide" OutputHideBtn.TextColor3 = Color3.new(1, 1, 1) OutputHideBtn.Font = Enum.Font.GothamBold OutputHideBtn.TextScaled = true OutputHideBtn.ZIndex = 103 Instance.new("UICorner", OutputHideBtn).CornerRadius = UDim.new(0, 5) OutputHideBtn.MouseButton1Click:Connect(function() OutputLogFrame.Visible = not OutputLogFrame.Visible OutputHideBtn.Text = OutputLogFrame.Visible and "Hide" or "Show" end) -- The actual log text (TextBox = selectable + copyable) local LogTextBox = Instance.new("TextBox") LogTextBox.Name = "LogText" LogTextBox.Parent = OutputLogFrame LogTextBox.Size = UDim2.new(1, -10, 1, -40) LogTextBox.Position = UDim2.new(0, 5, 0, 35) LogTextBox.BackgroundColor3 = Color3.fromRGB(12, 12, 16) LogTextBox.BorderColor3 = Color3.fromRGB(60, 50, 80) LogTextBox.BorderSizePixel = 1 LogTextBox.TextColor3 = Color3.fromRGB(220, 220, 220) LogTextBox.PlaceholderText = "Output will appear here..." LogTextBox.PlaceholderColor3 = Color3.fromRGB(80, 80, 80) LogTextBox.Font = Enum.Font.Code LogTextBox.TextSize = 13 LogTextBox.TextXAlignment = Enum.TextXAlignment.Left LogTextBox.TextYAlignment = Enum.TextYAlignment.Top LogTextBox.TextWrapped = true LogTextBox.ClearTextOnFocus = false LogTextBox.MultiLine = true LogTextBox.ZIndex = 101 LogTextBox.Text = "" Instance.new("UICorner", LogTextBox).CornerRadius = UDim.new(0, 6) -- Helper: color3 to hex string for rich text local function c3toHex(c) return string.format("#%02X%02X%02X", math.clamp(math.floor(c.R * 255), 0, 255), math.clamp(math.floor(c.G * 255), 0, 255), math.clamp(math.floor(c.B * 255), 0, 255)) end local logLines = {} local logFullText = "" local MAX_LOG_LINES = 300 local RichTextEnabled = true local function customOutput(msg, msgColor) local text = tostring(msg) local hex = c3toHex(msgColor or Color3.new(1, 1, 1)) local line = "[" .. hex .. "]" .. text .. "[/color]" table.insert(logLines, line) if #logLines > MAX_LOG_LINES then table.remove(logLines, 1) end logFullText = table.concat(logLines, "\n") -- Only update TextBox text (not RichText) to keep it copyable as plain text LogTextBox.Text = table.concat(logLines, "\n") -- Auto-scroll to bottom pcall(function() LogTextBox.CursorPosition = #LogTextBox.Text + 1 end) end -- Copy All button: puts text in box so user can Ctrl+A then Ctrl+C CopyAllBtn.MouseButton1Click:Connect(function() -- Select all text in the TextBox so user can just Ctrl+C to copy pcall(function() LogTextBox:CaptureFocus() LogTextBox.CursorPosition = 1 -- Roblox TextBox doesn't have a native SelectAll, so we select via CursorPosition + selection -- Instead, we store the clean text so the user can just triple-click or drag-select local rawLines = {} for _, l in ipairs(logLines) do local clean = l:gsub("%[/?color%]", "") table.insert(rawLines, clean) end local fullText = table.concat(rawLines, "\n") -- Put clean text (no tags) into the box for easy copying LogTextBox.Text = fullText LogTextBox.CursorPosition = #fullText + 1 end) -- Flash the button to confirm CopyAllBtn.BackgroundColor3 = Color3.fromRGB(0, 220, 80) CopyAllBtn.Text = "Select All!" customOutput("[TIP] Press Ctrl+A then Ctrl+C to copy all text!", Color3.fromRGB(255, 255, 100)) task.delay(3, function() pcall(function() CopyAllBtn.BackgroundColor3 = Color3.fromRGB(0, 110, 60) CopyAllBtn.Text = "Copy All" end) end) end) -- Clear button OutputClearBtn2.MouseButton1Click:Connect(function() logLines = {} logFullText = "" LogTextBox.Text = "" customOutput("[CLEAR] Log cleared.", Color3.fromRGB(255, 180, 80)) end) -- Welcome messages customOutput("=== Glitched Parts Panel v27 ===", Color3.fromRGB(100, 200, 255)) customOutput("Output log active. Use Copy All to grab text.", Color3.fromRGB(180, 180, 180)) -- ==================== END OUTPUT LOG ==================== local nmb = Instance.new("NumberValue") local str = Instance.new("StringValue") local bool = Instance.new("BoolValue") local col = Instance.new("Color3Value") local r = Instance.new("NumberValue") local g = Instance.new("NumberValue") local b = Instance.new("NumberValue") local nub = Instance.new("NumberValue") local tri = Instance.new("StringValue") local boo = Instance.new("BoolValue") local lour = Instance.new("Color3Value") local r1 = Instance.new("NumberValue") local g1 = Instance.new("NumberValue") local b1 = Instance.new("NumberValue") local par = Instance.new("StringValue") local pr = Instance.new("StringValue") local rproperty = Instance.new("StringValue") local reffect = Instance.new("StringValue") local crediton = true local ef = Instance.new("StringValue") local efpr = Instance.new("StringValue") I1IiII1.Name = "I1IiI!iI1" I1IiII1.Parent = game.CoreGui I1IiII1.ZIndexBehavior = Enum.ZIndexBehavior.Sibling UITextSizeConstraint_3.Parent = SiperStrengh35974 UITextSizeConstraint_3.MaxTextSize = 31 UITextSizeConstraint_4.Parent = lostaccountkw_roblox UITextSizeConstraint_4.MaxTextSize = 31 TopBar.Name = "TopBar" TopBar.Parent = I1IiII1 TopBar.Active = true TopBar.BackgroundColor3 = Color3.fromRGB(39, 39, 39) TopBar.BorderColor3 = Color3.fromRGB(0, 0, 0) TopBar.BorderSizePixel = 0 TopBar.Position = UDim2.new(0.424056202, 0, 0.283737034, 0) TopBar.Size = UDim2.new(0.172519743, 0, 0.0233564023, 0) TopBar.ZIndex = 9 MainFrame.Name = "MainFrame" MainFrame.Parent = TopBar MainFrame.BackgroundColor3 = Color3.fromRGB(48, 48, 48) MainFrame.BorderColor3 = Color3.fromRGB(0, 0, 0) MainFrame.BorderSizePixel = 0 MainFrame.Position = UDim2.new(-0.00170991616, 0, 0.996037245, 0) MainFrame.Size = UDim2.new(1.00000012, 0, 18.5185184, 0) UICorner.CornerRadius = UDim.new(0, 25) if ismobile == true then UICorner.CornerRadius = UDim.new(0, 12.5) end UICorner.Parent = MainFrame pannel.Name = "pannel" pannel.Parent = MainFrame pannel.BackgroundColor3 = Color3.fromRGB(255, 255, 255) pannel.BackgroundTransparency = 1.000 pannel.BorderColor3 = Color3.fromRGB(0, 0, 0) pannel.BorderSizePixel = 0 pannel.Position = UDim2.new(-0.00254452927, 0, 0.141962156, 0) pannel.Size = UDim2.new(1.0025444, 0, 0.722000003, 0) pannel.ZIndex = 5 Part.Name = "Part" Part.Parent = pannel Part.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Part.BackgroundTransparency = 1.000 Part.BorderColor3 = Color3.fromRGB(0, 0, 0) Part.BorderSizePixel = 0 Part.Position = UDim2.new(0.101522841, 0, 0.0529100224, 0) Part.Size = UDim2.new(0.799492359, 0, 0.174515232, 0) text.Name = "text" text.Parent = Part text.BackgroundColor3 = Color3.fromRGB(255, 255, 255) text.BackgroundTransparency = 1.000 text.BorderColor3 = Color3.fromRGB(0, 0, 0) text.BorderSizePixel = 0 text.Position = UDim2.new(0.0317460336, 0, -0.538095117, 0) text.Size = UDim2.new(0.96825397, 0, 0.492063493, 0) text.Font = Enum.Font.Cartoon text.Text = "Click 'Select' then click a part to open Inspector" text.TextColor3 = Color3.fromRGB(255, 255, 255) text.TextScaled = true text.TextSize = 14.000 text.TextWrapped = true local SelectButton = Instance.new("TextButton") SelectButton.Name = "SelectButton" SelectButton.Parent = Part SelectButton.BackgroundColor3 = Color3.fromRGB(42, 42, 42) SelectButton.BorderColor3 = Color3.fromRGB(0, 0, 0) SelectButton.BorderSizePixel = 0 SelectButton.Position = UDim2.new(0.0317460336, 0, 0.0809519961, 0) SelectButton.Size = UDim2.new(0.25, 0, 0.571428597, 0) SelectButton.Font = Enum.Font.Cartoon SelectButton.Text = "Select" SelectButton.TextColor3 = Color3.fromRGB(255, 255, 255) SelectButton.TextScaled = true SelectButton.TextSize = 14.000 SelectButton.TextWrapped = true Instance.new("UICorner", SelectButton).CornerRadius = UDim.new(0, 6) -- DUMP BUTTON - dumps all ValueObjects + data from selected part to output log local DumpButton = Instance.new("TextButton") DumpButton.Name = "DumpButton" DumpButton.Parent = Part DumpButton.BackgroundColor3 = Color3.fromRGB(180, 60, 20) DumpButton.BorderColor3 = Color3.fromRGB(255, 100, 0) DumpButton.BorderSizePixel = 2 DumpButton.Position = UDim2.new(0.29, 0, 0.0809519961, 0) DumpButton.Size = UDim2.new(0.15, 0, 0.571428597, 0) DumpButton.Font = Enum.Font.GothamBold DumpButton.Text = "DUMP" DumpButton.TextColor3 = Color3.fromRGB(255, 255, 100) DumpButton.TextScaled = true DumpButton.TextStrokeTransparency = 0.3 Instance.new("UICorner", DumpButton).CornerRadius = UDim.new(0, 6) TextBox.Parent = Part TextBox.BackgroundColor3 = Color3.fromRGB(39, 39, 39) TextBox.BorderColor3 = Color3.fromRGB(0, 0, 0) TextBox.BorderSizePixel = 0 TextBox.Position = UDim2.new(0.46, 0, 0.0809519961, 0) TextBox.Size = UDim2.new(0.52, 0, 0.571428597, 0) TextBox.Font = Enum.Font.Unknown TextBox.PlaceholderText = "Or type here..." TextBox.Text = "" TextBox.TextColor3 = Color3.fromRGB(254, 254, 254) TextBox.TextSize = 14.000 TextBox.TextWrapped = true TextBox.TextScaled = ismobile UICorner_2.Parent = TextBox Property.Name = "Property" Property.Parent = pannel Property.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Property.BackgroundTransparency = 1.000 Property.BorderColor3 = Color3.fromRGB(0, 0, 0) Property.BorderSizePixel = 0 Property.Position = UDim2.new(0.0507614203, 0, 0.272344679, 0) Property.Size = UDim2.new(0.895939112, 0, 0.180055395, 0) text_2.Name = "text" text_2.Parent = Property text_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255) text_2.BackgroundTransparency = 1.000 text_2.BorderColor3 = Color3.fromRGB(0, 0, 0) text_2.BorderSizePixel = 0 text_2.Position = UDim2.new(-0.0056657223, 0, -0.484371245, 0) text_2.Size = UDim2.new(1.02832866, 0, 0.446153849, 0) text_2.Font = Enum.Font.Cartoon text_2.Text = "Type in here the property you want. e.g: ColorContrast" text_2.TextColor3 = Color3.fromRGB(255, 255, 255) text_2.TextScaled = true text_2.TextSize = 14.000 text_2.TextWrapped = true propertye.Name = "propertye" propertye.Parent = Property propertye.BackgroundColor3 = Color3.fromRGB(39, 39, 39) propertye.BorderColor3 = Color3.fromRGB(0, 0, 0) propertye.BorderSizePixel = 0 propertye.Position = UDim2.new(0.0424929187, 0, 0.129792675, 0) propertye.Size = UDim2.new(0.951841354, 0, 0.538461566, 0) propertye.Font = Enum.Font.Unknown propertye.PlaceholderText = "String" propertye.Text = "" propertye.TextColor3 = Color3.fromRGB(254, 254, 254) propertye.TextSize = 14.000 propertye.TextWrapped = true propertye.TextScaled = ismobile UICorner_3.Parent = propertye Value.Name = "Value" Value.Parent = pannel Value.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Value.BackgroundTransparency = 1.000 Value.BorderColor3 = Color3.fromRGB(0, 0, 0) Value.BorderSizePixel = 0 Value.Position = UDim2.new(0.0507614203, 0, 0.521237016, 0) Value.Size = UDim2.new(0.895939112, 0, 0.224376738, 0) Text.Name = "Text" Text.Parent = Value Text.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Text.BackgroundTransparency = 1.000 Text.BorderColor3 = Color3.fromRGB(0, 0, 0) Text.BorderSizePixel = 0 Text.Position = UDim2.new(-0.00283286115, 0, -0.458729684, 0) Text.Size = UDim2.new(1.02832866, 0, 0.358024687, 0) Text.Font = Enum.Font.Cartoon Text.Text = "Select a value first, then put a value. " Text.TextColor3 = Color3.fromRGB(255, 255, 255) Text.TextScaled = true Text.TextSize = 14.000 Text.TextWrapped = true NumberValue.Name = "NumberValue" NumberValue.Parent = Value NumberValue.BackgroundColor3 = Color3.fromRGB(39, 39, 39) NumberValue.BorderColor3 = Color3.fromRGB(0, 0, 0) NumberValue.BorderSizePixel = 0 NumberValue.Position = UDim2.new(0.0056657223, 0, 0.0262782723, 0) NumberValue.Size = UDim2.new(1.02549577, 0, 0.432098776, 0) NumberValue.Font = Enum.Font.Unknown NumberValue.PlaceholderText = "Select at the bottom" NumberValue.Text = "" NumberValue.TextColor3 = Color3.fromRGB(254, 254, 254) NumberValue.TextSize = 14.000 NumberValue.TextWrapped = true NumberValue.TextScaled = ismobile UICorner_4.Parent = NumberValue ColorSelection.Name = "ColorSelection" ColorSelection.Parent = Value ColorSelection.BackgroundColor3 = Color3.fromRGB(255, 255, 255) ColorSelection.BackgroundTransparency = 1.000 ColorSelection.BorderColor3 = Color3.fromRGB(0, 0, 0) ColorSelection.BorderSizePixel = 0 ColorSelection.Position = UDim2.new(-0.0197368432, 0, -1.47619045, 0) ColorSelection.Size = UDim2.new(0.872521341, 0, 0.358024687, 0) ColorSelection.Visible = false Red.Name = "Red" Red.Parent = ColorSelection Red.BackgroundColor3 = Color3.fromRGB(39, 39, 39) Red.BorderColor3 = Color3.fromRGB(0, 0, 0) Red.BorderSizePixel = 0 Red.Position = UDim2.new(0.058441557, 0, 4.27586222, 0) Red.Size = UDim2.new(0.30844155, 0, 1, 0) Red.Font = Enum.Font.Unknown Red.PlaceholderColor3 = Color3.fromRGB(255, 187, 188) Red.PlaceholderText = "R" Red.Text = "" Red.TextColor3 = Color3.fromRGB(255, 255, 255) Red.TextScaled = ismobile Red.TextSize = 14.000 Red.TextWrapped = true UICorner_5.Parent = Red Green.Name = "Green" Green.Parent = ColorSelection Green.BackgroundColor3 = Color3.fromRGB(39, 39, 39) Green.BorderColor3 = Color3.fromRGB(0, 0, 0) Green.BorderSizePixel = 0 Green.Position = UDim2.new(0.451298714, 0, 4.27586222, 0) Green.Size = UDim2.new(0.30844155, 0, 1, 0) Green.Font = Enum.Font.Unknown Green.PlaceholderColor3 = Color3.fromRGB(178, 190, 178) Green.PlaceholderText = "G" Green.Text = "" Green.TextColor3 = Color3.fromRGB(255, 255, 255) Green.TextScaled = ismobile Green.TextSize = 14.000 Green.TextWrapped = true UICorner_6.Parent = Green Blue.Name = "Blue" Blue.Parent = ColorSelection Blue.BackgroundColor3 = Color3.fromRGB(39, 39, 39) Blue.BorderColor3 = Color3.fromRGB(0, 0, 0) Blue.BorderSizePixel = 0 Blue.Position = UDim2.new(0.850649357, 0, 4.27586222, 0) Blue.Size = UDim2.new(0.30844155, 0, 1, 0) Blue.Font = Enum.Font.Unknown Blue.PlaceholderColor3 = Color3.fromRGB(178, 178, 200) Blue.PlaceholderText = "B" Blue.Text = "" Blue.TextColor3 = Color3.fromRGB(255, 255, 255) Blue.TextScaled = ismobile Blue.TextSize = 14.000 Blue.TextWrapped = true UICorner_7.Parent = Blue Execute.Name = "Execute" Execute.Parent = pannel Execute.BackgroundColor3 = Color3.fromRGB(42, 42, 42) Execute.BorderColor3 = Color3.fromRGB(0, 0, 0) Execute.BorderSizePixel = 0 Execute.Position = UDim2.new(0.228426397, 0, 0.918639779, 0) Execute.Size = UDim2.new(0.573604047, 0, 0.0720221624, 0) Execute.Font = Enum.Font.Cartoon Execute.Text = "Execute" Execute.TextColor3 = Color3.fromRGB(255, 255, 255) Execute.TextScaled = true Execute.TextSize = 14.000 Execute.TextStrokeTransparency = 0.000 Execute.TextWrapped = true UICorner_8.Parent = Execute Selected.Name = "Selected" Selected.Parent = pannel Selected.BackgroundColor3 = Color3.fromRGB(39, 39, 39) Selected.BorderColor3 = Color3.fromRGB(0, 0, 0) Selected.BorderSizePixel = 0 Selected.Position = UDim2.new(0.0634517744, 0, 0.66204989, 0) Selected.Size = UDim2.new(0.911167502, 0, 0.149584487, 0) UICorner_9.CornerRadius = UDim.new(0, 18) UICorner_9.Parent = Selected NumberBtn.Name = "NumberBtn" NumberBtn.Parent = Selected NumberBtn.BackgroundColor3 = Color3.fromRGB(33, 33, 33) NumberBtn.BorderColor3 = Color3.fromRGB(0, 0, 0) NumberBtn.BorderSizePixel = 0 NumberBtn.Position = UDim2.new(0.0529247895, 0, 0.166666672, 0) NumberBtn.Size = UDim2.new(0.194986075, 0, 0.666666687, 0) NumberBtn.Font = Enum.Font.Ubuntu NumberBtn.Text = "NumberValue" NumberBtn.TextColor3 = Color3.fromRGB(255, 255, 255) NumberBtn.TextScaled = true NumberBtn.TextSize = 14.000 NumberBtn.TextWrapped = true UICorner_10.Parent = NumberBtn StringBtn.Name = "StringBtn" StringBtn.Parent = Selected StringBtn.BackgroundColor3 = Color3.fromRGB(33, 33, 33) StringBtn.BorderColor3 = Color3.fromRGB(0, 0, 0) StringBtn.BorderSizePixel = 0 StringBtn.Position = UDim2.new(0.292479128, 0, 0.166666672, 0) StringBtn.Size = UDim2.new(0.194986075, 0, 0.666666687, 0) StringBtn.Font = Enum.Font.Ubuntu StringBtn.Text = "StringValue" StringBtn.TextColor3 = Color3.fromRGB(255, 255, 255) StringBtn.TextScaled = true StringBtn.TextSize = 14.000 StringBtn.TextWrapped = true UICorner_11.Parent = StringBtn BoolBtn.Name = "BoolBtn" BoolBtn.Parent = Selected BoolBtn.BackgroundColor3 = Color3.fromRGB(33, 33, 33) BoolBtn.BorderColor3 = Color3.fromRGB(0, 0, 0) BoolBtn.BorderSizePixel = 0 BoolBtn.Position = UDim2.new(0.768802226, 0, 0.166666672, 0) BoolBtn.Size = UDim2.new(0.194986075, 0, 0.666666687, 0) BoolBtn.Font = Enum.Font.Ubuntu BoolBtn.Text = "BoolValue" BoolBtn.TextColor3 = Color3.fromRGB(255, 255, 255) BoolBtn.TextScaled = true BoolBtn.TextSize = 14.000 BoolBtn.TextWrapped = true UICorner_12.Parent = BoolBtn ColourBtn.Name = "ColourBtn" ColourBtn.Parent = Selected ColourBtn.BackgroundColor3 = Color3.fromRGB(33, 33, 33) ColourBtn.BorderColor3 = Color3.fromRGB(0, 0, 0) ColourBtn.BorderSizePixel = 0 ColourBtn.Position = UDim2.new(0.545961022, 0, 0.166666672, 0) ColourBtn.Size = UDim2.new(0.194986075, 0, 0.666666687, 0) ColourBtn.Font = Enum.Font.Ubuntu ColourBtn.Text = "ColorValue" ColourBtn.TextColor3 = Color3.fromRGB(255, 255, 255) ColourBtn.TextScaled = true ColourBtn.TextSize = 14.000 ColourBtn.TextWrapped = true UICorner_13.Parent = ColourBtn NameLabel.Name = "NameLabel" NameLabel.Parent = MainFrame NameLabel.BackgroundColor3 = Color3.fromRGB(255, 255, 255) NameLabel.BackgroundTransparency = 1.000 NameLabel.BorderColor3 = Color3.fromRGB(0, 0, 0) NameLabel.BorderSizePixel = 0 NameLabel.Position = UDim2.new(0.0458015278, 0, 0.0465377793, 0) NameLabel.Size = UDim2.new(0.936386704, 0, 0.0500000007, 0) NameLabel.Font = Enum.Font.Ubuntu NameLabel.Text = "glitched parts creator HUD" NameLabel.FontFace.Bold = true NameLabel.TextColor3 = Color3.fromRGB(255, 255, 255) NameLabel.TextScaled = true NameLabel.TextSize = 14.000 NameLabel.TextWrapped = true UITextSizeConstraint.Parent = NameLabel UITextSizeConstraint.MaxTextSize = 25 CreditsOpen.Name = "CreditsOpen" CreditsOpen.Parent = MainFrame CreditsOpen.BackgroundColor3 = Color3.fromRGB(42, 42, 42) CreditsOpen.BorderColor3 = Color3.fromRGB(253, 253, 253) CreditsOpen.BorderSizePixel = 0 CreditsOpen.Position = UDim2.new(0.0483460575, 0, 0.877192974, 0) CreditsOpen.Size = UDim2.new(0.356234074, 0, 0.0500000007, 0) CreditsOpen.Font = Enum.Font.Cartoon CreditsOpen.Text = "Open Credits" CreditsOpen.TextColor3 = Color3.fromRGB(255, 255, 255) CreditsOpen.TextScaled = true CreditsOpen.TextSize = 14.000 CreditsOpen.TextStrokeTransparency = 0.000 CreditsOpen.TextWrapped = true UICorner_14.Parent = CreditsOpen Credits.Name = "Credits" Credits.Parent = MainFrame Credits.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Credits.BackgroundTransparency = 1.000 Credits.BorderColor3 = Color3.fromRGB(0, 0, 0) Credits.BorderSizePixel = 0 Credits.Position = UDim2.new(-0.00254452927, 0, 0.104848631, 0) Credits.Size = UDim2.new(1.0025444, 0, 0.572000027, 0) Credits.Visible = false lostaccountkw_roblox.Name = "lostaccountkw_roblox" lostaccountkw_roblox.Parent = Credits lostaccountkw_roblox.BackgroundColor3 = Color3.fromRGB(255, 255, 255) lostaccountkw_roblox.BackgroundTransparency = 1.000 lostaccountkw_roblox.BorderColor3 = Color3.fromRGB(0, 0, 0) lostaccountkw_roblox.BorderSizePixel = 0 lostaccountkw_roblox.Position = UDim2.new(0.0330723785, 0, 0.144848049, 0) lostaccountkw_roblox.Size = UDim2.new(0.934010148, 0, 0.108391605, 0) lostaccountkw_roblox.Font = Enum.Font.Cartoon lostaccountkw_roblox.Text = "lostaccountkw_roblox" lostaccountkw_roblox.TextColor3 = Color3.fromRGB(255, 255, 255) lostaccountkw_roblox.TextScaled = true lostaccountkw_roblox.TextSize = 14.000 lostaccountkw_roblox.TextWrapped = true context.Name = "context" context.Parent = lostaccountkw_roblox context.BackgroundColor3 = Color3.fromRGB(255, 255, 255) context.BackgroundTransparency = 1.000 context.BorderColor3 = Color3.fromRGB(0, 0, 0) context.BorderSizePixel = 0 context.Position = UDim2.new(-0.00225365674, 0, 0.985093653, 0) context.Size = UDim2.new(1, 0, 0.54838711, 0) context.Font = Enum.Font.Cartoon context.Text = "Owner - gui maker and reflect script creator" context.TextColor3 = Color3.fromRGB(255, 255, 255) context.TextScaled = true context.TextSize = 14.000 context.TextWrapped = true SiperStrengh35974.Name = "SiperStrengh35974" SiperStrengh35974.Parent = Credits SiperStrengh35974.BackgroundColor3 = Color3.fromRGB(255, 255, 255) SiperStrengh35974.BackgroundTransparency = 1.000 SiperStrengh35974.BorderColor3 = Color3.fromRGB(0, 0, 0) SiperStrengh35974.BorderSizePixel = 0 SiperStrengh35974.Position = UDim2.new(0.0330723785, 0, 0.462308377, 0) SiperStrengh35974.Size = UDim2.new(0.934010148, 0, 0.108391605, 0) SiperStrengh35974.Font = Enum.Font.Cartoon SiperStrengh35974.Text = "SiperStrengh35974" SiperStrengh35974.TextColor3 = Color3.fromRGB(255, 255, 255) SiperStrengh35974.TextScaled = true SiperStrengh35974.TextSize = 14.000 SiperStrengh35974.TextWrapped = true context_2.Name = "context" context_2.Parent = SiperStrengh35974 context_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255) context_2.BackgroundTransparency = 1.000 context_2.BorderColor3 = Color3.fromRGB(0, 0, 0) context_2.BorderSizePixel = 0 context_2.Position = UDim2.new(-0.00225365674, 0, 0.985093653, 0) context_2.Size = UDim2.new(1, 0, 0.54838711) context_2.Font = Enum.Font.Cartoon context_2.Text = "Co-owner - made the other scripts" context_2.TextColor3 = Color3.fromRGB(255, 255, 255) context_2.TextScaled = true context_2.TextSize = 14.000 context_2.TextWrapped = true TNT_tp.Name = "TNT_tp" TNT_tp.Parent = Credits TNT_tp.BackgroundColor3 = Color3.fromRGB(255, 255, 255) TNT_tp.BackgroundTransparency = 1.000 TNT_tp.BorderColor3 = Color3.fromRGB(0, 0, 0) TNT_tp.BorderSizePixel = 0 TNT_tp.Position = UDim2.new(0.0305343084, 0, 0.749021709, 0) TNT_tp.Size = UDim2.new(0.934010148, 0, 0.108391605, 0) TNT_tp.Font = Enum.Font.Cartoon TNT_tp.Text = "TNT_tp" TNT_tp.TextColor3 = Color3.fromRGB(255, 255, 255) TNT_tp.TextScaled = true TNT_tp.TextSize = 14.000 TNT_tp.TextWrapped = true context_3.Name = "context" context_3.Parent = TNT_tp context_3.BackgroundColor3 = Color3.fromRGB(255, 255, 255) context_3.BackgroundTransparency = 1.000 context_3.BorderColor3 = Color3.fromRGB(0, 0, 0) context_3.BorderSizePixel = 0 context_3.Position = UDim2.new(-0.00225365674, 0, 0.985093653, 0) context_3.Size = UDim2.new(1, 0, 0.54838711, 0) context_3.Font = Enum.Font.Cartoon context_3.Text = "Special Thanks- Tester and created the loadstring" context_3.TextColor3 = Color3.fromRGB(255, 255, 255) context_3.TextScaled = true context_3.TextSize = 14.000 context_3.TextWrapped = true e.Name = "e" e.Parent = MainFrame e.BackgroundColor3 = Color3.fromRGB(48, 48, 48) e.BorderColor3 = Color3.fromRGB(0, 0, 0) e.BorderSizePixel = 0 e.Position = UDim2.new(0.00231615221, 0, -0.0265151523, 0) e.Size = UDim2.new(0.99999994, 0, 0.0260000005, 0) Effects.Name = "Effects" Effects.Parent = MainFrame Effects.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Effects.BackgroundTransparency = 1.000 Effects.BorderColor3 = Color3.fromRGB(0, 0, 0) Effects.BorderSizePixel = 0 Effects.Position = UDim2.new(-0.00254452927, 0, 0.141962156, 0) Effects.Size = UDim2.new(1.0025444, 0, 0.716000021, 0) Effects.Visible = false Effects.ZIndex = 5 Effect.Name = "Effect" Effect.Parent = Effects Effect.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Effect.BackgroundTransparency = 1.000 Effect.BorderColor3 = Color3.fromRGB(0, 0, 0) Effect.BorderSizePixel = 0 Effect.Position = UDim2.new(0.0507614203, 0, 0.272344679, 0) Effect.Size = UDim2.new(0.895939171, 0, 0.181564242, 0) text_3.Name = "text" text_3.Parent = Effect text_3.BackgroundColor3 = Color3.fromRGB(255, 255, 255) text_3.BackgroundTransparency = 1.000 text_3.BorderColor3 = Color3.fromRGB(0, 0, 0) text_3.BorderSizePixel = 0 text_3.Position = UDim2.new(0.00283286115, 0, -1.46153843, 0) text_3.Size = UDim2.new(1.02832866, 0, 0.369230777, 0) text_3.Font = Enum.Font.Cartoon text_3.Text = "Type in here the effect" text_3.TextColor3 = Color3.fromRGB(255, 255, 255) text_3.TextScaled = true text_3.TextSize = 14.000 text_3.TextWrapped = true EBox.Name = "EBox" EBox.Parent = Effect EBox.BackgroundColor3 = Color3.fromRGB(39, 39, 39) EBox.BorderColor3 = Color3.fromRGB(0, 0, 0) EBox.BorderSizePixel = 0 EBox.Position = UDim2.new(0.0708215311, 0, -0.899755836, 0) EBox.Size = UDim2.new(0.864022672, 0, 0.446153849, 0) EBox.Font = Enum.Font.Unknown EBox.PlaceholderText = "String" EBox.Text = "" EBox.TextColor3 = Color3.fromRGB(254, 254, 254) EBox.TextSize = 14.000 EBox.TextWrapped = true EBox.TextScaled = ismobile UICorner_15.Parent = EBox Eproperty.Name = "Eproperty" Eproperty.Parent = Effects Eproperty.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Eproperty.BackgroundTransparency = 1.000 Eproperty.BorderColor3 = Color3.fromRGB(0, 0, 0) Eproperty.BorderSizePixel = 0 Eproperty.Position = UDim2.new(0.0507614203, 0, 0.521237016, 0) Eproperty.Size = UDim2.new(0.895939171, 0, 0.226256981, 0) Text_2.Name = "Text" Text_2.Parent = Eproperty Text_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Text_2.BackgroundTransparency = 1.000 Text_2.BorderColor3 = Color3.fromRGB(0, 0, 0) Text_2.BorderSizePixel = 0 Text_2.Position = UDim2.new(0.00283286115, 0, -1.33527291, 0) Text_2.Size = UDim2.new(1.02832866, 0, 0.358024687, 0) Text_2.Font = Enum.Font.Cartoon Text_2.Text = "Type in here the property of the effect you're changing:" Text_2.TextColor3 = Color3.fromRGB(255, 255, 255) Text_2.TextScaled = true Text_2.TextSize = 14.000 Text_2.TextWrapped = true PropertyoEffect.Name = "PropertyoEffect" PropertyoEffect.Parent = Eproperty PropertyoEffect.BackgroundColor3 = Color3.fromRGB(39, 39, 39) PropertyoEffect.BorderColor3 = Color3.fromRGB(0, 0, 0) PropertyoEffect.BorderSizePixel = 0 PropertyoEffect.Position = UDim2.new(0.0821529776, 0, -0.80088222, 0) PropertyoEffect.Size = UDim2.new(0.864022672, 0, 0.358024687, 0) PropertyoEffect.Font = Enum.Font.Unknown PropertyoEffect.PlaceholderText = "String" PropertyoEffect.Text = "" PropertyoEffect.TextColor3 = Color3.fromRGB(254, 254, 254) PropertyoEffect.TextSize = 14.000 PropertyoEffect.TextWrapped = true PropertyoEffect.TextScaled = ismobile UICorner_16.Parent = PropertyoEffect Execute_2.Name = "Execute" Execute_2.Parent = Effects Execute_2.BackgroundColor3 = Color3.fromRGB(42, 42, 42) Execute_2.BorderColor3 = Color3.fromRGB(0, 0, 0) Execute_2.BorderSizePixel = 0 Execute_2.Position = UDim2.new(0.215736046, 0, 0.913940609, 0) Execute_2.Size = UDim2.new(0.573604047, 0, 0.0726256967, 0) Execute_2.Font = Enum.Font.Cartoon Execute_2.Text = "Execute" Execute_2.TextColor3 = Color3.fromRGB(255, 255, 255) Execute_2.TextScaled = true Execute_2.TextSize = 14.000 Execute_2.TextStrokeTransparency = 0.000 Execute_2.TextWrapped = true UICorner_17.Parent = Execute_2 EValue.Name = "EValue" EValue.Parent = Effects EValue.BackgroundColor3 = Color3.fromRGB(255, 255, 255) EValue.BackgroundTransparency = 1.000 EValue.BorderColor3 = Color3.fromRGB(0, 0, 0) EValue.BorderSizePixel = 0 EValue.Position = UDim2.new(0.121826947, 0, 0.729717553, 0) EValue.Size = UDim2.new(0.771573603, 0, 0.117318437, 0) Text_3.Name = "Text" Text_3.Parent = EValue Text_3.BackgroundColor3 = Color3.fromRGB(255, 255, 255) Text_3.BackgroundTransparency = 1.000 Text_3.BorderColor3 = Color3.fromRGB(0, 0, 0) Text_3.BorderSizePixel = 0 Text_3.Position = UDim2.new(-0.0592105277, 0, -2.32204485, 0) Text_3.Size = UDim2.new(1.13486838, 0, 0.690476179, 0) Text_3.Font = Enum.Font.Cartoon Text_3.Text = "Select a value first, then type a value there" Text_3.TextColor3 = Color3.fromRGB(255, 255, 255) Text_3.TextScaled = true Text_3.TextSize = 14.000 Text_3.TextWrapped = true EffectBox.Name = "EffectBox" EffectBox.Parent = EValue EffectBox.BackgroundColor3 = Color3.fromRGB(39, 39, 39) EffectBox.BorderColor3 = Color3.fromRGB(0, 0, 0) EffectBox.BorderSizePixel = 0 EffectBox.Position = UDim2.new(-0.00711943023, 0, -1.45961213, 0) EffectBox.Size = UDim2.new(1.00328946, 0, 0.690476179, 0) EffectBox.Font = Enum.Font.Unknown EffectBox.PlaceholderColor3 = Color3.fromRGB(178, 178, 178) EffectBox.PlaceholderText = "Select at the bottom." EffectBox.Text = "" EffectBox.TextColor3 = Color3.fromRGB(254, 254, 254) EffectBox.TextSize = 14.000 EffectBox.TextScaled = ismobile EffectBox.TextWrapped = true UICorner_18.Parent = EffectBox ColorSelection_2.Name = "ColorSelection" ColorSelection_2.Parent = EValue ColorSelection_2.BackgroundColor3 = Color3.fromRGB(255, 255, 255) ColorSelection_2.BackgroundTransparency = 1.000 ColorSelection_2.BorderColor3 = Color3.fromRGB(0, 0, 0) ColorSelection_2.BorderSizePixel = 0 ColorSelection_2.Position = UDim2.new(-0.0197368432, 0, -1.47619045, 0) ColorSelection_2.Size = UDim2.new(1.01315796, 0, 0.690476179, 0) ColorSelection_2.Visible = false Red_2.Name = "Red" Red_2.Parent = ColorSelection_2 Red_2.BackgroundColor3 = Color3.fromRGB(39, 39, 39) Red_2.BorderColor3 = Color3.fromRGB(0, 0, 0) Red_2.BorderSizePixel = 0 Red_2.Position = UDim2.new(0.0227272734, 0, 0, 0) Red_2.Size = UDim2.new(0.30844155, 0, 1, 0) Red_2.Font = Enum.Font.Unknown Red_2.PlaceholderColor3 = Color3.fromRGB(255, 187, 188) Red_2.PlaceholderText = "R" Red_2.Text = "" Red_2.TextColor3 = Color3.fromRGB(255, 255, 255) Red_2.TextScaled = ismobile Red_2.TextSize = 14.000 Red_2.TextWrapped = true UICorner_19.Parent = Red_2 Green_2.Name = "Green" Green_2.Parent = ColorSelection_2 Green_2.BackgroundColor3 = Color3.fromRGB(39, 39, 39) Green_2.BorderColor3 = Color3.fromRGB(0, 0, 0) Green_2.BorderSizePixel = 0 Green_2.Position = UDim2.new(0.366883129, 0, 0, 0) Green_2.Size = UDim2.new(0.30844155, 0, 1, 0) Green_2.Font = Enum.Font.Unknown Green_2.PlaceholderColor3 = Color3.fromRGB(178, 190, 178) Green_2.PlaceholderText = "G" Green_2.Text = "" Green_2.TextScaled = ismobile Green_2.TextColor3 = Color3.fromRGB(255, 255, 255) Green_2.TextSize = 14.000 Green_2.TextWrapped = true UICorner_20.Parent = Green_2 UITextSizeConstraint_2.Parent = Green_2 UITextSizeConstraint_2.MaxTextSize = 29 Blue_2.Name = "Blue" Blue_2.Parent = ColorSelection_2 Blue_2.BackgroundColor3 = Color3.fromRGB(39, 39, 39) Blue_2.BorderColor3 = Color3.fromRGB(0, 0, 0) Blue_2.BorderSizePixel = 0 Blue_2.Position = UDim2.new(0.704545438, 0, 0, 0) Blue_2.Size = UDim2.new(0.30844155, 0, 1, 0) Blue_2.Font = Enum.Font.Unknown Blue_2.PlaceholderColor3 = Color3.fromRGB(178, 178, 200) Blue_2.PlaceholderText = "B" Blue_2.Text = "" Blue_2.TextColor3 = Color3.fromRGB(255, 255, 255) Blue_2.TextScaled = ismobile Blue_2.TextSize = 14.000 Blue_2.TextWrapped = true UICorner_21.Parent = Blue_2 Selected_2.Name = "Selected" Selected_2.Parent = Effects Selected_2.BackgroundColor3 = Color3.fromRGB(39, 39, 39) Selected_2.BorderColor3 = Color3.fromRGB(0, 0, 0) Selected_2.BorderSizePixel = 0 Selected_2.Position = UDim2.new(0.0583756343, 0, 0.659256577, 0) Selected_2.Size = UDim2.new(0.911167502, 0, 0.150837988, 0) UICorner_22.CornerRadius = UDim.new(0, 18) UICorner_22.Parent = Selected_2 Number_2.Name = "Number" Number_2.Parent = Selected_2 Number_2.BackgroundColor3 = Color3.fromRGB(33, 33, 33) Number_2.BorderColor3 = Color3.fromRGB(0, 0, 0) Number_2.BorderSizePixel = 0 Number_2.Position = UDim2.new(0.0529247895, 0, 0.166666672, 0) Number_2.Size = UDim2.new(0.194986075, 0, 0.666666687, 0) Number_2.Font = Enum.Font.Ubuntu Number_2.Text = "NumberValue" Number_2.TextColor3 = Color3.fromRGB(255, 255, 255) Number_2.TextScaled = true Number_2.TextSize = 14.000 Number_2.TextWrapped = true UICorner_23.Parent = Number_2 String_2.Name = "String" String_2.Parent = Selected_2 String_2.BackgroundColor3 = Color3.fromRGB(33, 33, 33) String_2.BorderColor3 = Color3.fromRGB(0, 0, 0) String_2.BorderSizePixel = 0 String_2.Position = UDim2.new(0.281337082, 0, 0.166666672, 0) String_2.Size = UDim2.new(0.194986075, 0, 0.666666687, 0) String_2.Font = Enum.Font.Ubuntu String_2.Text = "StringValue" String_2.TextColor3 = Color3.fromRGB(255, 255, 255) String_2.TextScaled = true String_2.TextSize = 14.000 String_2.TextWrapped = true UICorner_24.Parent = String_2 Bool_2.Name = "Bool" Bool_2.Parent = Selected_2 Bool_2.BackgroundColor3 = Color3.fromRGB(33, 33, 33) Bool_2.BorderColor3 = Color3.fromRGB(0, 0, 0) Bool_2.BorderSizePixel = 0 Bool_2.Position = UDim2.new(0.752089202, 0, 0.166666672, 0) Bool_2.Size = UDim2.new(0.194986075, 0, 0.666666687, 0) Bool_2.Font = Enum.Font.Ubuntu Bool_2.Text = "BoolValue" Bool_2.TextColor3 = Color3.fromRGB(255, 255, 255) Bool_2.TextScaled = true Bool_2.TextSize = 14.000 Bool_2.TextWrapped = true UICorner_25.Parent = Bool_2 Colour_2.Name = "Colour" Colour_2.Parent = Selected_2 Colour_2.BackgroundColor3 = Color3.fromRGB(33, 33, 33) Colour_2.BorderColor3 = Color3.fromRGB(0, 0, 0) Colour_2.BorderSizePixel = 0 Colour_2.Position = UDim2.new(0.532033443, 0, 0.166666672, 0) Colour_2.Size = UDim2.new(0.194986075, 0, 0.666666687, 0) Colour_2.Font = Enum.Font.Ubuntu Colour_2.Text = "ColorValue" Colour_2.TextColor3 = Color3.fromRGB(255, 255, 255) Colour_2.TextScaled = true Colour_2.TextSize = 14.000 Colour_2.TextWrapped = true UICorner_26.Parent = Colour_2 EffectsOpen.Name = "EffectsOpen" EffectsOpen.Parent = MainFrame EffectsOpen.BackgroundColor3 = Color3.fromRGB(42, 42, 42) EffectsOpen.BorderColor3 = Color3.fromRGB(253, 253, 253) EffectsOpen.BorderSizePixel = 0 EffectsOpen.Position = UDim2.new(0.61323154, 0, 0.877192974, 0) EffectsOpen.Size = UDim2.new(0.356234074, 0, 0.0500000007, 0) EffectsOpen.Font = Enum.Font.Cartoon EffectsOpen.Text = "Open Effects" EffectsOpen.TextColor3 = Color3.fromRGB(255, 255, 255) EffectsOpen.TextScaled = true EffectsOpen.TextSize = 14.000 EffectsOpen.TextStrokeTransparency = 0.000 EffectsOpen.TextWrapped = true UICorner_27.Parent = EffectsOpen TextLabel.Parent = TopBar TextLabel.BackgroundColor3 = Color3.fromRGB(255, 255, 255) TextLabel.BackgroundTransparency = 1.000 TextLabel.BorderColor3 = Color3.fromRGB(0, 0, 0) TextLabel.BorderSizePixel = 0 TextLabel.Position = UDim2.new(0.000606158283, 0, 0, 0) TextLabel.Size = UDim2.new(0.694656491, 0, 0.740740716, 0) TextLabel.Font = Enum.Font.Cartoon TextLabel.Text = "Version 0.4 (ui by lostaccountkw_roblox)" TextLabel.TextColor3 = Color3.fromRGB(255, 255, 255) TextLabel.TextScaled = true TextLabel.TextSize = 14.000 TextLabel.TextWrapped = true X.Name = "X" X.Parent = TopBar X.BackgroundColor3 = Color3.fromRGB(255, 255, 255) X.BackgroundTransparency = 1.000 X.BorderColor3 = Color3.fromRGB(0, 0, 0) X.BorderSizePixel = 0 X.Position = UDim2.new(0.936386764, 0, 0, 0) X.Size = UDim2.new(0.063613236, 0, 0.740740716, 0) X.Font = Enum.Font.Unknown X.Text = "X" X.TextColor3 = Color3.fromRGB(255, 255, 255) X.TextScaled = true X.TextSize = 14.000 X.TextStrokeTransparency = 0.000 X.TextWrapped = true nothing.Name = "nothing" nothing.Parent = TopBar nothing.BackgroundColor3 = Color3.fromRGB(48, 48, 48) nothing.BorderColor3 = Color3.fromRGB(0, 0, 0) nothing.BorderSizePixel = 0 nothing.Position = UDim2.new(-0.00254452927, 0, 0.92592591, 0) nothing.Size = UDim2.new(1.00254464, 0, 0.888888896, 0) UICorner_28.Parent = TopBar UIAspectRatioConstraint.Parent = TopBar UIAspectRatioConstraint.AspectRatio = 14.556 reffect.Parent = I1IiII1 r.Parent = I1IiII1 b.Parent = I1IiII1 g.Parent = I1IiII1 r1.Parent = I1IiII1 g1.Parent = I1IiII1 b1.Parent = I1IiII1 r.Name = "RedPart" g.Name = "GreenPart" b.Name = "BluePart" r1.Name = "RedEffect" g1.Name = "GreenEffect" b1.Name = "BlueEffect" reffect.Name = "Renameffect" nmb.Parent = I1IiII1 nmb.Name = "PartNumber" par.Parent = I1IiII1 par.Name = "PartValue" pr.Parent = I1IiII1 pr.Name = "PropertyValue" rproperty.Parent = I1IiII1 rproperty.Name = "Rename" str.Parent = I1IiII1 bool.Parent = I1IiII1 nub.Parent = I1IiII1 tri.Parent = I1IiII1 boo.Parent = I1IiII1 col.Parent = I1IiII1 lour.Parent = I1IiII1 nmb.Name = "Partnumber" str.Name = "PartString" bool.Name = "PartBool" nub.Name = "EffectNumber" tri.Name = "EffectString" boo.Name = "EffectBool" col.Name = "PartColor" lour.Name = "EffetColor" TopBar.Draggable = true local color = Color3.new(0, 1, 0) local A = false local value1 = "NumberValue" local value2 = "NumberValue" local Active = false local returnedpart = "NumberValue" local returnedeffect = "NumberValue" -- ==================== PIXEL ART AVATAR ==================== local AvatarArt = Instance.new("Frame") AvatarArt.Name = "AvatarArt" AvatarArt.Parent = Credits AvatarArt.BackgroundTransparency = 1 AvatarArt.Position = UDim2.new(0.35, 0, 0.01, 0) AvatarArt.Size = UDim2.new(0, 100, 0, 72) local avatarData = { {0x515D6C,0x1A1E23,0x0B0A09,0x0A0807,0x321B16,0xC76C51,0xFDCCA1,0xFFE4C3,0xFFF0E0,0x61281B,0x080300,0x120604,0x050200,0x050200,0x070300,0x090300,0x572418,0xFEECD9,0xFFE4C5,0xFFE5CA,0xFFE3D1,0xFFE4C9,0xFFF7E0,0xFFF6E2}, {0x7C8DA2,0x353C46,0x080504,0x110503,0x782B1C,0xF19D75,0xFFF1D1,0xFFF6E1,0xFFF8EF,0x6A392F,0x050200,0x030100,0x030100,0x040200,0x070200,0x180401,0x7A382B,0xFFF0E5,0xFFFAF2,0xFFFAEC,0xFFF5E1,0xFFF8E5,0xFFF6E8,0xF9BE9B}, {0x90A3C2,0x434757,0x44110B,0xD95F3C,0xFEC080,0xFFF0D8,0xFFF1DC,0xFFE8CD,0xFFF7EC,0x682E21,0x0A0302,0x080100,0x170301,0x700905,0xA31B11,0xF46140,0xFFD4A2,0xFFFCF0,0xFFFCF1,0xFFFCEE,0xFFEED0,0xF39360,0xDA7E60,0x8B3A29}, {0xC2C8D5,0xC58482,0xF47640,0xFFF0B3,0xFFD2B2,0xFFD8C8,0xFFE7D4,0xFFF7E5,0xFFF6EB,0xFBDCD0,0xF67D64,0xF45D36,0xF77449,0xFD8E54,0xFE8A3C,0xFFCD8F,0xFFDCAA,0xFFF5D6,0xFFF2C7,0xFED8B0,0xD56543,0x722A1E,0x2F0E08,0x25120E}, {0xBD9FAF,0xE4B4B3,0xEFABA1,0xF5AC95,0xF5B7A2,0xF5B9A7,0xF5C5B8,0xF6CEBD,0xF6DAC0,0xF7DDB9,0xFEEDDD,0xFFCD6D,0xFFC177,0xFB9454,0xF06938,0xE45E3A,0xF8C9B8,0xFBDABF,0xEFB8AC,0xCF9997,0x856E7C,0x6A6577,0x42465A,0x394157}, {0x9B798B,0xB47B83,0xBE6C70,0xC56360,0xD3706B,0xDA6E65,0xE28074,0xEEA294,0xF5BDAA,0xF6D0AF,0xF3B4A6,0xF4BAAB,0xF9D4C7,0xF8D2C7,0xF3C6BB,0xF2C9C0,0xFBDEC9,0xEFBDB3,0xC79A9B,0x826F7B,0x5E5D71,0x475167,0x364159,0x384460}, {0x766D83,0x7A6275,0x5E4658,0x6C4959,0x5F3B4B,0x7A5563,0x82525F,0xA3727C,0xD09C9F,0xE7B7B1,0xEFB9AF,0xF8CCBD,0xF9DBCA,0xFADDCC,0xF9D0C0,0xF0C2B8,0xD9A5A1,0xB99298,0x80717D,0x5B5D70,0x5D657A,0x333B51,0x313B53,0x536583}, {0x697690,0x616987,0x49526D,0x3A3E59,0x2D3148,0x2F344C,0x2F3248,0x3F4257,0x5B5164,0x7C6674,0xA07D87,0xBC9298,0xCE9B9C,0xD4A2A2,0xCEA2A3,0xA98188,0x856D78,0x625F6E,0x666C7F,0x7F8798,0x3F495F,0x3D465E,0x3E4861,0x53617E}, {0x8C9EB9,0x7285A8,0x5F749A,0x596C93,0x3F4D6C,0x343F5B,0x26314A,0x242E47,0x465168,0x484E64,0x4C495D,0x5D576A,0x6B6575,0x5E596A,0x5D5769,0x4D4B5D,0x4D5165,0x343D51,0x3D455B,0x333B52,0x434E67,0x394664,0x425070,0x5C6A87}, {0x8290A8,0x8DA0BC,0x8DA6CA,0x7C92B7,0x536382,0x3E4F72,0x2D3A58,0x435377,0x2C3550,0x2E3850,0x5A6579,0x465065,0x2B344A,0x374156,0x353E53,0x343B50,0x31394E,0x242D48,0x353D52,0x424E6A,0x424C69,0x485674,0x5D6D8D,0x7586A0}, {0x7F8CA5,0x7F93B0,0x8CA0BD,0x7A8BA6,0x7B91B5,0x546B96,0x6D82AB,0x627494,0x37425D,0x374264,0x46516E,0x525D7A,0x3A445F,0x333F54,0x343F59,0x4A536F,0x4A5472,0x5D6D98,0x495374,0x46526C,0x5E6787,0x566281,0x788AAA,0x6B7996}, {0x6A7993,0x77859E,0x718099,0x7184A9,0x6F88AF,0x738CB8,0x94ABD3,0x7B96C1,0x5A6B96,0x5D7498,0x6F7FA6,0x6D7D9D,0x7192CB,0x7C9DD7,0x84A0C7,0x9BABC9,0x9AA9C6,0xADBCCF,0xA7B3D9,0x8696BC,0x63719E,0x737EA6,0x7483A2,0x707E9A}, {0x6E7B93,0x727F94,0x6A7992,0x7587A4,0x7D96BA,0x819CC1,0x8FA0C6,0x9FB4D2,0x8891B7,0x8B99C4,0xAFADCC,0xB0AACE,0xBCADCB,0xCEDBF4,0xBFB9D5,0xA5A2C7,0xB0B0D2,0xC1C9E1,0xBABDD7,0xABB9D4,0x69739C,0x6A7596,0x737E9A,0x6C7990}, {0x5E6B84,0x586882,0x647288,0x697486,0x84889C,0x9D939C,0xB4A0AF,0xBDAEC5,0xD4BEC0,0xEBCBDC,0xFDEFEE,0xFFF7F4,0xFFFAF6,0xFFFDFE,0xFFF9F7,0xFEEBE4,0xF0DBD4,0xDDBEDC,0xC2A4A4,0xB0A5B7,0x9D94AB,0x9F9DA3,0x6E7488,0x807C84}, {0x44424D,0x4B4B59,0x848891,0x6F7A90,0x9FA1A8,0xA59496,0xAD9091,0xB994A5,0xDFB2A9,0xFCD7BD,0xFFF7F2,0xFFFEF9,0xFFFFFB,0xFFFFFE,0xFFFEF9,0xFFFBF4,0xFDE2E1,0xE3A89D,0xBE9D95,0xBAA0AA,0xA0858D,0xA2959B,0x777B8F,0x6E738E}, {0x454450,0x4F535D,0x707A8E,0x767789,0x9F9DA1,0xA3989A,0x95807F,0xA27C7D,0xD99B96,0xE8B09D,0xFEE2C4,0xFFF7E5,0xFFFDF6,0xFFFCFB,0xFFF9F2,0xFFF2E3,0xEFB89F,0xDAA596,0xAD868D,0xA17F83,0x9D8B8E,0xB3ADB2,0x8A8DA3,0x717586}, {0x434450,0x4D4E5A,0x5D6375,0x515F77,0x93909B,0x9A8E93,0x958689,0x957A79,0xAB8382,0xC28C85,0xD99C91,0xF2C1AC,0xFDDCC3,0xFAD9C8,0xF9D1BC,0xEAB4A5,0xD0A29A,0xBB9596,0xAA8888,0xA18C91,0x86818C,0x888C9E,0x7A7E91,0x636979}, {0x47444D,0x4F4F5B,0x5D6171,0x6D7285,0x8E8D9D,0x9C96A3,0x91858A,0x988385,0x9B7F7D,0xA68582,0xAC8482,0xB17E7A,0xCE9F95,0xC9A29E,0xD6AEA6,0xBC9799,0xB19195,0xB89FA1,0xA99AA2,0x9A8E97,0x9D9395,0x787C8B,0x646B76,0x525663}, } for row = 1, #avatarData do for col = 1, #avatarData[row] do local hex = avatarData[row][col] local px = Instance.new("Frame") px.Name = "px_" .. row .. "_" .. col px.Parent = AvatarArt px.BackgroundColor3 = Color3.fromRGB( math.floor(hex / 65536) % 256, math.floor(hex / 256) % 256, hex % 256 ) px.BorderSizePixel = 0 px.Size = UDim2.new(0, 4, 0, 4) px.Position = UDim2.new(0, (col - 1) * 4, 0, (row - 1) * 4) end end -- ==================== STEAL OBBY (LASSO + SERVER-SIDE STEAL) ==================== -- Wrapped in a function to avoid Lua 5.1's 200 local variable limit local function buildStealSystem() -- State local lassoMode = false local selectedParts = {} -- {[part] = originalCFrame} local ghostParts = {} -- {[ghost] = sourcePart} local lassoHighlights = {} -- {[part] = Highlight object} local stealOffset = Vector3.new(0, 0, 0) local ghostCount = 0 local lassoDragging = false local lassoStartX = 0 local lassoStartY = 0 local lassoEndX = 0 local lassoEndY = 0 local ghostFolder = nil -- Find remotes (AddObject + MoveObject = the key to actually creating parts) local stealAddObject = nil local stealMoveObject = nil local stealPaintObject = nil pcall(function() local evts = game:GetService("ReplicatedStorage"):WaitForChild("Events", 5) if evts then stealAddObject = evts:WaitForChild("AddObject", 3) stealMoveObject = evts:WaitForChild("MoveObject", 3) stealPaintObject = evts:WaitForChild("PaintObject", 3) end end) local function ensureGhostFolder() -- Parent ghosts to workspace directly so the server doesn't nuke them if not ghostFolder or not ghostFolder.Parent then ghostFolder = workspace:FindFirstChild("_StealGhosts") if not ghostFolder then ghostFolder = Instance.new("Folder") ghostFolder.Name = "_StealGhosts" ghostFolder.Parent = workspace end end return ghostFolder end local function createGhost(src) local gf = ensureGhostFolder() if not gf then return nil end local g = Instance.new("Part") g.Name = "Ghost_" .. src.Name g.Size = src.Size g.CFrame = src.CFrame + stealOffset g.Color = src.Color g.Material = src.Material g.Anchored = true g.CanCollide = false g.Transparency = 0.3 g.CastShadow = false g.Parent = gf local box = Instance.new("SelectionBox") box.Color3 = Color3.fromRGB(0, 255, 100) box.LineThickness = 0.05 box.Adornee = g box.Parent = g -- Also add a Highlight for extra visibility local hl = Instance.new("Highlight") hl.Adornee = g hl.FillColor3 = Color3.fromRGB(0, 255, 100) hl.FillTransparency = 0.6 hl.OutlineColor3 = Color3.fromRGB(0, 255, 0) hl.OutlineTransparency = 0 hl.Parent = g ghostParts[g] = src ghostCount = ghostCount + 1 return g end local function clearGhosts() for g, _ in pairs(ghostParts) do pcall(function() g:Destroy() end) end ghostParts = {} ghostCount = 0 if ghostFolder and ghostFolder.Parent then pcall(function() ghostFolder:Destroy() end) end ghostFolder = nil end local function clearSelection() for p, hl in pairs(lassoHighlights) do pcall(function() hl:Destroy() end) end lassoHighlights = {} selectedParts = {} clearGhosts() stealOffset = Vector3.new(0, 0, 0) -- Note: don't set StealStatus here - it's declared later in this scope -- The callers (Clear button, steal handler) set it themselves end local function moveGhosts(delta) stealOffset = stealOffset + delta for g, _ in pairs(ghostParts) do if g and g.Parent then pcall(function() g.CFrame = g.CFrame + delta end) end end end -- ==================== STANDALONE STEAL MENU ==================== local StealFrame = Instance.new("Frame") StealFrame.Name = "StealFrame" StealFrame.Parent = I1IiII1 StealFrame.BackgroundColor3 = Color3.fromRGB(22, 22, 28) StealFrame.BorderColor3 = Color3.fromRGB(80, 30, 30) StealFrame.BorderSizePixel = 1 StealFrame.Position = UDim2.new(0.02, 0, 0.12, 0) StealFrame.Size = UDim2.new(0, 265, 0, 510) StealFrame.Draggable = true StealFrame.Active = true StealFrame.Visible = false Instance.new("UICorner", StealFrame).CornerRadius = UDim.new(0, 10) -- Title bar local STBar = Instance.new("Frame") STBar.Size = UDim2.new(1, 0, 0, 32) STBar.BackgroundColor3 = Color3.fromRGB(160, 35, 35) STBar.BorderSizePixel = 0 STBar.Parent = StealFrame local stC = Instance.new("UICorner") stC.CornerRadius = UDim.new(0, 10) stC.Parent = STBar local stFix = Instance.new("Frame") stFix.Size = UDim2.new(1, 0, 0, 12) stFix.Position = UDim2.new(0, 0, 1, -12) stFix.BackgroundColor3 = Color3.fromRGB(160, 35, 35) stFix.BorderSizePixel = 0 stFix.Parent = STBar local STTxt = Instance.new("TextLabel") STTxt.Size = UDim2.new(1, -36, 1, 0) STTxt.Position = UDim2.new(0, 8, 0, 0) STTxt.BackgroundTransparency = 1 STTxt.TextColor3 = Color3.new(1, 1, 1) STTxt.Font = Enum.Font.GothamBold STTxt.Text = " STEAL OBBY" STTxt.TextScaled = true STTxt.TextXAlignment = Enum.TextXAlignment.Left STTxt.Parent = STBar local STClose = Instance.new("TextButton") STClose.Size = UDim2.new(0, 28, 0, 28) STClose.Position = UDim2.new(1, -30, 0, 2) STClose.BackgroundColor3 = Color3.fromRGB(200, 45, 45) STClose.Text = "X" STClose.TextColor3 = Color3.new(1, 1, 1) STClose.Font = Enum.Font.GothamBold STClose.TextScaled = true STClose.Parent = STBar Instance.new("UICorner", STClose).CornerRadius = UDim.new(0, 6) STClose.MouseButton1Click:Connect(function() StealFrame.Visible = false lassoMode = false LassoBtn.Text = "Lasso: OFF" LassoBtn.BackgroundColor3 = Color3.fromRGB(42, 42, 42) end) -- Content area local SC = Instance.new("Frame") SC.Size = UDim2.new(1, -14, 1, -40) SC.Position = UDim2.new(0, 7, 0, 36) SC.BackgroundTransparency = 1 SC.Parent = StealFrame -- Remote status local RemoteLbl = Instance.new("TextLabel") RemoteLbl.Size = UDim2.new(1, 0, 0, 16) RemoteLbl.Position = UDim2.new(0, 0, 0, 0) RemoteLbl.BackgroundTransparency = 1 RemoteLbl.Font = Enum.Font.Gotham RemoteLbl.TextSize = 9 RemoteLbl.TextXAlignment = Enum.TextXAlignment.Left if stealAddObject and stealMoveObject then RemoteLbl.Text = "Remotes: OK (AddObject + MoveObject)" RemoteLbl.TextColor3 = Color3.fromRGB(0, 200, 80) else RemoteLbl.Text = "Remotes: MISSING AddObject/MoveObject!" RemoteLbl.TextColor3 = Color3.new(1, 0, 0) end RemoteLbl.Parent = SC -- Lasso toggle local LassoBtn = Instance.new("TextButton") LassoBtn.Size = UDim2.new(1, 0, 0, 28) LassoBtn.Position = UDim2.new(0, 0, 0, 18) LassoBtn.BackgroundColor3 = Color3.fromRGB(42, 42, 42) LassoBtn.TextColor3 = Color3.new(1, 1, 1) LassoBtn.Font = Enum.Font.GothamBold LassoBtn.Text = "Lasso: OFF" LassoBtn.TextScaled = true Instance.new("UICorner", LassoBtn).CornerRadius = UDim.new(0, 6) LassoBtn.Parent = SC LassoBtn.MouseButton1Click:Connect(function() lassoMode = not lassoMode if lassoMode then LassoBtn.Text = "Lasso: ON (drag to box)" LassoBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 0) else LassoBtn.Text = "Lasso: OFF" LassoBtn.BackgroundColor3 = Color3.fromRGB(42, 42, 42) end end) -- Selected count local SelCountLabel = Instance.new("TextLabel") SelCountLabel.Size = UDim2.new(1, 0, 0, 18) SelCountLabel.Position = UDim2.new(0, 0, 0, 48) SelCountLabel.BackgroundTransparency = 1 SelCountLabel.TextColor3 = Color3.fromRGB(180, 180, 180) SelCountLabel.Font = Enum.Font.Gotham SelCountLabel.Text = "Ghosts: 0" SelCountLabel.TextScaled = true SelCountLabel.TextXAlignment = Enum.TextXAlignment.Left SelCountLabel.Parent = SC -- Step + Clear row local StepLbl = Instance.new("TextLabel") StepLbl.Size = UDim2.new(0.28, 0, 0, 22) StepLbl.Position = UDim2.new(0, 0, 0, 68) StepLbl.BackgroundTransparency = 1 StepLbl.TextColor3 = Color3.fromRGB(150, 150, 150) StepLbl.Font = Enum.Font.Gotham StepLbl.Text = "Step:" StepLbl.TextScaled = true StepLbl.TextXAlignment = Enum.TextXAlignment.Left StepLbl.Parent = SC local StepBox = Instance.new("TextBox") StepBox.Size = UDim2.new(0.25, 0, 0, 22) StepBox.Position = UDim2.new(0.28, 0, 0, 68) StepBox.BackgroundColor3 = Color3.fromRGB(50, 50, 50) StepBox.TextColor3 = Color3.new(1, 1, 1) StepBox.Font = Enum.Font.GothamBold StepBox.Text = "5" StepBox.TextScaled = true StepBox.PlaceholderText = "studs" Instance.new("UICorner", StepBox).CornerRadius = UDim.new(0, 4) StepBox.Parent = SC local ClearBtn = Instance.new("TextButton") ClearBtn.Size = UDim2.new(0.25, 0, 0, 22) ClearBtn.Position = UDim2.new(0.72, 0, 0, 68) ClearBtn.BackgroundColor3 = Color3.fromRGB(150, 40, 40) ClearBtn.TextColor3 = Color3.new(1, 1, 1) ClearBtn.Font = Enum.Font.GothamBold ClearBtn.Text = "Clear" ClearBtn.TextScaled = true Instance.new("UICorner", ClearBtn).CornerRadius = UDim.new(0, 4) ClearBtn.Parent = SC ClearBtn.MouseButton1Click:Connect(function() clearSelection() SelCountLabel.Text = "Ghosts: 0" StealStatus.Text = "Cleared." StealStatus.TextColor3 = Color3.fromRGB(150, 150, 150) end) -- 6 Arrow buttons (3x2 grid) local arrowDefs = { {text = "Fwd (+Z)", dir = Vector3.new(0, 0, 1), col = 0, row = 0}, {text = "Back (-Z)", dir = Vector3.new(0, 0, -1), col = 1, row = 0}, {text = "Left (-X)", dir = Vector3.new(-1, 0, 0), col = 0, row = 1}, {text = "Right (+X)", dir = Vector3.new(1, 0, 0), col = 1, row = 1}, {text = "Up (+Y)", dir = Vector3.new(0, 1, 0), col = 0, row = 2}, {text = "Down (-Y)", dir = Vector3.new(0, -1, 0), col = 1, row = 2}, } for _, def in ipairs(arrowDefs) do local btn = Instance.new("TextButton") btn.Size = UDim2.new(0.47, 0, 0, 26) btn.Position = UDim2.new(def.col * 0.51, 0, 0, 95 + def.row * 30) btn.BackgroundColor3 = Color3.fromRGB(55, 55, 75) btn.TextColor3 = Color3.new(1, 1, 1) btn.Font = Enum.Font.GothamBold btn.Text = def.text btn.TextScaled = true Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 5) btn.Parent = SC btn.MouseButton1Click:Connect(function() local step = tonumber(StepBox.Text) or 5 moveGhosts(def.dir * step) end) end -- Status label local StealStatus = Instance.new("TextLabel") StealStatus.Size = UDim2.new(1, 0, 0, 32) StealStatus.Position = UDim2.new(0, 0, 0, 185) StealStatus.BackgroundColor3 = Color3.fromRGB(35, 35, 40) StealStatus.TextColor3 = Color3.fromRGB(150, 150, 150) StealStatus.Font = Enum.Font.Gotham StealStatus.Text = "Lasso parts, then hit STEAL" StealStatus.TextScaled = true StealStatus.TextWrapped = true Instance.new("UICorner", StealStatus).CornerRadius = UDim.new(0, 5) StealStatus.Parent = SC -- CORE: Server-side steal using AddObject + MoveObject + PaintObject local StealExecBtn = Instance.new("TextButton") StealExecBtn.Size = UDim2.new(1, 0, 0, 36) StealExecBtn.Position = UDim2.new(0, 0, 0, 222) StealExecBtn.BackgroundColor3 = Color3.fromRGB(180, 40, 40) StealExecBtn.TextColor3 = Color3.new(1, 1, 1) StealExecBtn.Font = Enum.Font.GothamBold StealExecBtn.Text = "STEAL PARTS" StealExecBtn.TextScaled = true StealExecBtn.TextStrokeTransparency = 0 Instance.new("UICorner", StealExecBtn).CornerRadius = UDim.new(0, 6) StealExecBtn.Parent = SC StealExecBtn.MouseButton1Click:Connect(function() if ghostCount == 0 then StealStatus.Text = "No ghosts! Lasso parts first" StealStatus.TextColor3 = Color3.new(1, 0, 0) return end if not stealAddObject then StealStatus.Text = "ERROR: AddObject remote missing!" StealStatus.TextColor3 = Color3.new(1, 0, 0) pcall(function() customOutput("[STEAL] AddObject remote not found!", Color3.new(1, 0, 0)) end) return end StealStatus.Text = "Stealing..." 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 found!" 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 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 ==================== -- ==================== 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 = entry.name .. " -> " .. (entry.displayVal or "nil") label.TextColor3 = Color3.fromRGB(200, 170, 255) 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.25, 0, 0.6, 0) typeTag.Position = UDim2.new(0.7, 0, 0.2, 0) typeTag.BackgroundTransparency = 1 typeTag.Text = entry.obj.ClassName typeTag.TextColor3 = Color3.fromRGB(160, 140, 200) typeTag.Font = Enum.Font.Gotham typeTag.TextScaled = true typeTag.TextTruncate = Enum.TextTruncate.AtEnd typeTag.Parent = row end end end local manualHeader = Instance.new("TextLabel") manualHeader.Size = UDim2.new(1, 0, 0, 22) manualHeader.BackgroundTransparency = 1 manualHeader.Text = "-- Set Any Property Manually --" manualHeader.TextColor3 = Color3.fromRGB(255, 120, 120) manualHeader.Font = Enum.Font.GothamBold manualHeader.TextScaled = true manualHeader.Parent = InspectScroll local customRow1 = Instance.new("Frame") customRow1.Size = UDim2.new(1, 0, 0, 28) customRow1.BackgroundColor3 = Color3.fromRGB(45, 45, 45) customRow1.Parent = InspectScroll Instance.new("UICorner", customRow1).CornerRadius = UDim.new(0, 5) local cpLabel = Instance.new("TextLabel") cpLabel.Size = UDim2.new(0.4, 0, 1, 0) cpLabel.BackgroundTransparency = 1 cpLabel.Text = "Prop Name" cpLabel.TextColor3 = Color3.new(1, 1, 1) cpLabel.Font = Enum.Font.GothamBold cpLabel.TextScaled = true cpLabel.Parent = customRow1 local cpBox = Instance.new("TextBox") cpBox.Size = UDim2.new(0.6, 0, 0.7, 0) cpBox.Position = UDim2.new(0.4, 0, 0.15, 0) cpBox.BackgroundColor3 = Color3.fromRGB(25, 25, 25) cpBox.TextColor3 = Color3.new(1, 1, 1) cpBox.PlaceholderText = "e.g. Speed, Damage" cpBox.Text = "" cpBox.Font = Enum.Font.Gotham cpBox.TextScaled = true cpBox.Name = "CustomPropBox" cpBox.Parent = customRow1 Instance.new("UICorner", cpBox).CornerRadius = UDim.new(0, 4) local customRow2 = Instance.new("Frame") customRow2.Size = UDim2.new(1, 0, 0, 28) customRow2.BackgroundColor3 = Color3.fromRGB(45, 45, 45) customRow2.Parent = InspectScroll Instance.new("UICorner", customRow2).CornerRadius = UDim.new(0, 5) local cvLabel = Instance.new("TextLabel") cvLabel.Size = UDim2.new(0.4, 0, 1, 0) cvLabel.BackgroundTransparency = 1 cvLabel.Text = "Value" cvLabel.TextColor3 = Color3.new(1, 1, 1) cvLabel.Font = Enum.Font.GothamBold cvLabel.TextScaled = true cvLabel.Parent = customRow2 local cvBox = Instance.new("TextBox") cvBox.Size = UDim2.new(0.6, 0, 0.7, 0) cvBox.Position = UDim2.new(0.4, 0, 0.15, 0) cvBox.BackgroundColor3 = Color3.fromRGB(25, 25, 25) cvBox.TextColor3 = Color3.new(1, 1, 1) cvBox.PlaceholderText = "Value..." cvBox.Text = "" cvBox.Font = Enum.Font.Gotham cvBox.TextScaled = true cvBox.Name = "CustomValBox" cvBox.Parent = customRow2 Instance.new("UICorner", cvBox).CornerRadius = UDim.new(0, 4) local typeRow = Instance.new("Frame") typeRow.Size = UDim2.new(1, 0, 0, 28) typeRow.BackgroundColor3 = Color3.fromRGB(35, 35, 35) typeRow.Parent = InspectScroll Instance.new("UICorner", typeRow).CornerRadius = UDim.new(0, 5) local tBtn1 = Instance.new("TextButton") tBtn1.Size = UDim2.new(0.25, -2, 0.7, 0) tBtn1.Position = UDim2.new(0, 2, 0.15, 0) tBtn1.BackgroundColor3 = Color3.fromRGB(60, 130, 200) tBtn1.Text = "Num" tBtn1.TextColor3 = Color3.new(1, 1, 1) tBtn1.Font = Enum.Font.GothamBold tBtn1.TextScaled = true tBtn1.Parent = typeRow local tBtn2 = Instance.new("TextButton") tBtn2.Size = UDim2.new(0.25, -2, 0.7, 0) tBtn2.Position = UDim2.new(0.25, 2, 0.15, 0) tBtn2.BackgroundColor3 = Color3.fromRGB(40, 40, 40) tBtn2.Text = "Str" tBtn2.TextColor3 = Color3.new(1, 1, 1) tBtn2.Font = Enum.Font.GothamBold tBtn2.TextScaled = true tBtn2.Parent = typeRow local tBtn3 = Instance.new("TextButton") tBtn3.Size = UDim2.new(0.25, -2, 0.7, 0) tBtn3.Position = UDim2.new(0.5, 2, 0.15, 0) tBtn3.BackgroundColor3 = Color3.fromRGB(40, 40, 40) tBtn3.Text = "Bool" tBtn3.TextColor3 = Color3.new(1, 1, 1) tBtn3.Font = Enum.Font.GothamBold tBtn3.TextScaled = true tBtn3.Parent = typeRow local tBtn4 = Instance.new("TextButton") tBtn4.Size = UDim2.new(0.25, -2, 0.7, 0) tBtn4.Position = UDim2.new(0.75, 2, 0.15, 0) tBtn4.BackgroundColor3 = Color3.fromRGB(40, 40, 40) tBtn4.Text = "Col" tBtn4.TextColor3 = Color3.new(1, 1, 1) tBtn4.Font = Enum.Font.GothamBold tBtn4.TextScaled = true tBtn4.Parent = typeRow local selectedCustomType = "NumberValue" local function highlightType(btn) tBtn1.BackgroundColor3 = Color3.fromRGB(40, 40, 40) tBtn2.BackgroundColor3 = Color3.fromRGB(40, 40, 40) tBtn3.BackgroundColor3 = Color3.fromRGB(40, 40, 40) tBtn4.BackgroundColor3 = Color3.fromRGB(40, 40, 40) btn.BackgroundColor3 = Color3.fromRGB(60, 130, 200) end tBtn1.MouseButton1Click:Connect(function() selectedCustomType = "NumberValue"; highlightType(tBtn1) end) tBtn2.MouseButton1Click:Connect(function() selectedCustomType = "StringValue"; highlightType(tBtn2) end) tBtn3.MouseButton1Click:Connect(function() selectedCustomType = "BoolValue"; highlightType(tBtn3) end) tBtn4.MouseButton1Click:Connect(function() selectedCustomType = "ColorValue"; highlightType(tBtn4) end) local execBtn = Instance.new("TextButton") execBtn.Size = UDim2.new(1, 0, 0, 35) execBtn.BackgroundColor3 = Color3.fromRGB(180, 40, 40) execBtn.Text = "EXECUTE CUSTOM PROPERTY" execBtn.TextColor3 = Color3.new(1, 1, 1) execBtn.Font = Enum.Font.GothamBold execBtn.TextScaled = true execBtn.Parent = InspectScroll Instance.new("UICorner", execBtn).CornerRadius = UDim.new(0, 5) execBtn.MouseButton1Click:Connect(function() if not selectedPartRef or not selectedPartRef.Parent then return end local pName = cpBox.Text local pVal = cvBox.Text if pName == "" or pVal == "" then return end local typedVal = pVal if selectedCustomType == "NumberValue" then typedVal = tonumber(pVal) if typedVal == nil then return end elseif selectedCustomType == "BoolValue" then if pVal == "true" then typedVal = true elseif pVal == "false" then typedVal = false else return end elseif selectedCustomType == "ColorValue" then local nums = {} for num in pVal: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 return end end setPartProperty(selectedPartRef, pName, typedVal, pVal, selectedCustomType, nil) pcall(function() customOutput("Custom: " .. pName .. " = " .. tostring(typedVal) .. " [local+server]", color) end) end) local effectsHeader = Instance.new("TextLabel") effectsHeader.Size = UDim2.new(1, 0, 0, 22) effectsHeader.BackgroundTransparency = 1 effectsHeader.Text = "== Part Effects ==" effectsHeader.TextColor3 = Color3.fromRGB(200, 100, 255) effectsHeader.Font = Enum.Font.GothamBold effectsHeader.TextScaled = true effectsHeader.Parent = InspectScroll -- Helper to create an effect property row with label, textbox, and Set button -- Maps effect ClassName to the string the server's EffectObject expects local fxClassToServerType = { ["Fire"] = "fire", ["Smoke"] = "smoke", ["Sparkles"] = "sparkles", ["ParticleEmitter"] = "particleEmitter", ["PointLight"] = "pointLight", ["SurfaceLight"] = "surfaceLight", ["SpotLight"] = "spotLight", ["Trail"] = "trail", ["Beam"] = "beam", } -- Maps our display prop names to the Roblox property name the server expects local fxPropToServerProp = { ["Size"] = "Size", ["Heat"] = "Heat", ["Opacity"] = "Opacity", ["RiseVelocity"] = "RiseVelocity", ["Dissipate"] = "Dissipate", ["SparklesPerSec"] = "SparklesPerSecond", ["Brightness"] = "Brightness", ["Range"] = "Range", ["Shadows"] = "Shadows", ["Face"] = "Face", ["Angle"] = "Angle", ["Lifetime"] = "Lifetime", ["MinLength"] = "MinLength", ["LightEmission"] = "LightEmission", ["LightInfluence"] = "LightInfluence", ["WidthScale"] = "WidthScale", ["Width0"] = "Width0", ["Width1"] = "Width1", ["FadeTime"] = "FadeTime", ["Enabled"] = "Enabled", ["Rate"] = "Rate", ["Speed"] = "Speed", ["SpreadAngle"] = "SpreadAngle", ["EmissionDir"] = "EmissionDirection", ["RotSpeed"] = "RotSpeed", ["Texture"] = "Texture", ["TimeScale"] = "TimeScale", } -- Color sub-properties need special handling: we send the combined Color3 value -- under "Color" or "SparkleColor" or "SecondaryColor" local fxColorProps = { ["Color R"] = "Color", ["Color G"] = "Color", ["Color B"] = "Color", ["SecColor R"] = "SecondaryColor", ["SecColor G"] = "SecondaryColor", ["SecColor B"] = "SecondaryColor", } local function addEffectRow(fxObj, propLabel, currentVal, setterFn, effectClass) local eRow = Instance.new("Frame") eRow.Size = UDim2.new(1, 0, 0, 26) eRow.BackgroundColor3 = Color3.fromRGB(40, 30, 50) eRow.Parent = InspectScroll Instance.new("UICorner", eRow).CornerRadius = UDim.new(0, 5) local eLabel = Instance.new("TextLabel") eLabel.Size = UDim2.new(0.40, 0, 1, 0) eLabel.BackgroundTransparency = 1 eLabel.Text = propLabel eLabel.TextColor3 = Color3.fromRGB(220, 180, 255) eLabel.Font = Enum.Font.GothamBold eLabel.TextScaled = true eLabel.TextXAlignment = Enum.TextXAlignment.Left eLabel.Parent = eRow local eBox = Instance.new("TextBox") eBox.Size = UDim2.new(0.35, 0, 0.7, 0) eBox.Position = UDim2.new(0.40, 0, 0.15, 0) eBox.BackgroundColor3 = Color3.fromRGB(25, 20, 35) eBox.TextColor3 = Color3.new(1, 1, 1) eBox.Text = tostring(currentVal) eBox.Font = Enum.Font.Gotham eBox.TextScaled = true eBox.Parent = eRow Instance.new("UICorner", eBox).CornerRadius = UDim.new(0, 4) local eSetBtn = Instance.new("TextButton") eSetBtn.Size = UDim2.new(0.22, 0, 0.7, 0) eSetBtn.Position = UDim2.new(0.76, 0, 0.15, 0) eSetBtn.BackgroundColor3 = Color3.fromRGB(120, 50, 180) eSetBtn.Text = "Set" eSetBtn.TextColor3 = Color3.new(1, 1, 1) eSetBtn.Font = Enum.Font.GothamBold eSetBtn.TextScaled = true eSetBtn.Parent = eRow Instance.new("UICorner", eSetBtn).CornerRadius = UDim.new(0, 4) eSetBtn.MouseButton1Click:Connect(function() if not fxObj or not fxObj.Parent then return end -- Step 1: Apply locally pcall(function() setterFn(eBox.Text) end) -- Step 2: Send to server exactly like the built-in exeffect() does -- Set the game's internal part tracking so server knows which part pcall(function() if selectedPartRef and selectedPartRef.Parent then par.Value = selectedPartRef.Name TextBox.Text = selectedPartRef.Name end end) local serverFxType = fxClassToServerType[effectClass] or effectClass:lower() -- Determine the server property name local serverProp = fxPropToServerProp[propLabel] if not serverProp then serverProp = propLabel -- fallback to display name end -- Check if this is a color sub-property (R/G/B of Color, SecondaryColor) local colorTarget = fxColorProps[propLabel] local rawVal = eBox.Text local sendVal = nil if colorTarget then -- For color R/G/B, we need to send the full Color3 to "Color" local num = tonumber(rawVal) if num then -- Read current color from the effect object local ok, currentColor = pcall(function() if colorTarget == "SecondaryColor" then return fxObj.SecondaryColor elseif effectClass == "Sparkles" then return fxObj.SparkleColor else return fxObj.Color end end) if ok and currentColor then if propLabel:find("R") then sendVal = Color3.new(num / 255, currentColor.G, currentColor.B) elseif propLabel:find("G") then sendVal = Color3.new(currentColor.R, num / 255, currentColor.B) else sendVal = Color3.new(currentColor.R, currentColor.G, num / 255) end serverProp = colorTarget -- For Sparkles, the server property is likely "SparkleColor" if effectClass == "Sparkles" and colorTarget == "Color" then serverProp = "SparkleColor" end end end elseif serverProp == "Shadows" or serverProp == "Dissipate" or serverProp == "Enabled" then -- Bool properties if rawVal:lower() == "true" then sendVal = true elseif rawVal:lower() == "false" then sendVal = false end else -- Number properties sendVal = tonumber(rawVal) end -- Set up the game's value objects exactly like exeffect() expects if sendVal ~= nil then pcall(function() -- Set the effect type ef.Value = serverFxType reffect.Value = serverFxType -- Set the property name efpr.Value = serverProp -- Set the value into the appropriate value object if type(sendVal) == "number" then value2 = "NumberValue" nub.Value = sendVal returnedeffect = nub elseif type(sendVal) == "boolean" then value2 = "BoolValue" boo.Value = sendVal returnedeffect = boo elseif typeof(sendVal) == "Color3" then value2 = "ColorValue" lour.Value = sendVal returnedeffect = lour else value2 = "StringValue" tri.Value = tostring(sendVal) returnedeffect = tri end end) -- Now fire EffectObject with the part reference so server knows target pcall(function() game:GetService("ReplicatedStorage").Events.EffectObject:InvokeServer( {selectedPartRef}, -- send part ref so server knows which part serverFxType, serverProp, sendVal ) end) customOutput( "[FX SERVER] " .. serverFxType .. "." .. serverProp .. " = " .. tostring(sendVal), Color3.fromRGB(100, 255, 150) ) else customOutput( "[FX LOCAL] " .. propLabel .. " = " .. rawVal .. " (could not parse for server)", Color3.fromRGB(255, 200, 100) ) end end) end -- Helper to round for display local function r2(n) return math.floor(n * 100 + 0.5) / 100 end -- Scan all effect children and build editable rows local hasEffects = false pcall(function() for _, kid in pairs(part:GetChildren()) do local fxName = kid.Name local fxClass = kid.ClassName -- Effect title row (clickable to delete) if kid:IsA("ParticleEmitter") or kid:IsA("Fire") or kid:IsA("Smoke") or kid:IsA("Sparkles") or kid:IsA("PointLight") or kid:IsA("SurfaceLight") or kid:IsA("SpotLight") or kid:IsA("Trail") or kid:IsA("Beam") then hasEffects = true -- Title row with delete button local titleRow = Instance.new("Frame") titleRow.Size = UDim2.new(1, 0, 0, 26) titleRow.BackgroundColor3 = Color3.fromRGB(55, 35, 70) titleRow.Parent = InspectScroll Instance.new("UICorner", titleRow).CornerRadius = UDim.new(0, 5) local tLabel = Instance.new("TextLabel") tLabel.Size = UDim2.new(0.70, 0, 1, 0) tLabel.BackgroundTransparency = 1 tLabel.Text = fxName .. " (" .. fxClass .. ")" tLabel.TextColor3 = Color3.fromRGB(255, 200, 255) tLabel.Font = Enum.Font.GothamBold tLabel.TextScaled = true tLabel.TextXAlignment = Enum.TextXAlignment.Left tLabel.Parent = titleRow local delBtn = Instance.new("TextButton") delBtn.Size = UDim2.new(0.28, 0, 0.7, 0) delBtn.Position = UDim2.new(0.70, 0, 0.15, 0) delBtn.BackgroundColor3 = Color3.fromRGB(150, 30, 30) delBtn.Text = "Delete" delBtn.TextColor3 = Color3.new(1, 1, 1) delBtn.Font = Enum.Font.GothamBold delBtn.TextScaled = true delBtn.Parent = titleRow Instance.new("UICorner", delBtn).CornerRadius = UDim.new(0, 4) delBtn.MouseButton1Click:Connect(function() pcall(function() kid:Destroy() end) pcall(function() customOutput( "Deleted " .. fxName, Color3.fromRGB(255, 80, 80) ) end) if selectedPartRef and selectedPartRef.Parent then openInspector(selectedPartRef) end end) -- Now build property rows per effect type if kid:IsA("ParticleEmitter") then addEffectRow(kid, "Rate", r2(kid.Rate), function(v) local n = tonumber(v) if n then kid.Rate = n end end, "ParticleEmitter") addEffectRow(kid, "Lifetime Min", r2(kid.Lifetime.Min), function(v) local n = tonumber(v) if n then kid.Lifetime = NumberRange.new(n, kid.Lifetime.Max) end end, "ParticleEmitter") addEffectRow(kid, "Lifetime Max", r2(kid.Lifetime.Max), function(v) local n = tonumber(v) if n then kid.Lifetime = NumberRange.new(kid.Lifetime.Min, n) end end, "ParticleEmitter") addEffectRow(kid, "Speed Min", r2(kid.Speed.Min), function(v) local n = tonumber(v) if n then kid.Speed = NumberRange.new(n, kid.Speed.Max) end end, "ParticleEmitter") addEffectRow(kid, "Speed Max", r2(kid.Speed.Max), function(v) local n = tonumber(v) if n then kid.Speed = NumberRange.new(kid.Speed.Min, n) end end, "ParticleEmitter") addEffectRow(kid, "SpreadAngle X", r2(kid.SpreadAngle.X), function(v) local n = tonumber(v) if n then kid.SpreadAngle = Vector2.new(n, kid.SpreadAngle.Y) end end, "ParticleEmitter") addEffectRow(kid, "SpreadAngle Y", r2(kid.SpreadAngle.Y), function(v) local n = tonumber(v) if n then kid.SpreadAngle = Vector2.new(kid.SpreadAngle.X, n) end end, "ParticleEmitter") addEffectRow(kid, "Size X", r2(kid.Size.X.Offset), function(v) local n = tonumber(v) if n then kid.Size = NumberSequence.new({ NumberSequenceKeypoint.new(0, n), NumberSequenceKeypoint.new(1, n) }) end end, "ParticleEmitter") addEffectRow(kid, "Color R", math.floor(kid.Color.Keypoints[1].Value.R * 255), function(v) local n = tonumber(v) if n and kid.Color.Keypoints[1] then local c = kid.Color.Keypoints[1].Value kid.Color = ColorSequence.new(Color3.new(n/255, c.G, c.B)) end end, "ParticleEmitter") addEffectRow(kid, "Color G", math.floor(kid.Color.Keypoints[1].Value.G * 255), function(v) local n = tonumber(v) if n and kid.Color.Keypoints[1] then local c = kid.Color.Keypoints[1].Value kid.Color = ColorSequence.new(Color3.new(c.R, n/255, c.B)) end end, "ParticleEmitter") addEffectRow(kid, "Color B", math.floor(kid.Color.Keypoints[1].Value.B * 255), function(v) local n = tonumber(v) if n and kid.Color.Keypoints[1] then local c = kid.Color.Keypoints[1].Value kid.Color = ColorSequence.new(Color3.new(c.R, c.G, n/255)) end end, "ParticleEmitter") addEffectRow(kid, "Transparency Min", r2(kid.Transparency.Keypoints[1].Value), function(v) local n = tonumber(v) if n then kid.Transparency = NumberSequence.new({ NumberSequenceKeypoint.new(0, n), NumberSequenceKeypoint.new(1, n) }) end end, "ParticleEmitter") addEffectRow(kid, "LightEmission", r2(kid.LightEmission), function(v) local n = tonumber(v) if n then kid.LightEmission = n end end, "ParticleEmitter") addEffectRow(kid, "LightInfluence", r2(kid.LightInfluence), function(v) local n = tonumber(v) if n then kid.LightInfluence = n end end, "ParticleEmitter") addEffectRow(kid, "EmissionDir", tostring(kid.EmissionDirection), function(v) local n = tonumber(v) if n then kid.EmissionDirection = n end end, "ParticleEmitter") addEffectRow(kid, "RotSpeed Min", r2(kid.RotSpeed.Min), function(v) local n = tonumber(v) if n then kid.RotSpeed = NumberRange.new(n, kid.RotSpeed.Max) end end, "ParticleEmitter") addEffectRow(kid, "RotSpeed Max", r2(kid.RotSpeed.Max), function(v) local n = tonumber(v) if n then kid.RotSpeed = NumberRange.new(kid.RotSpeed.Min, n) end end, "ParticleEmitter") addEffectRow(kid, "Texture", kid.Texture or "", function(v) kid.Texture = v end, "ParticleEmitter") elseif kid:IsA("Fire") then addEffectRow(kid, "Size", r2(kid.Size), function(v) local n = tonumber(v) if n then kid.Size = n end end, "Fire") addEffectRow(kid, "Heat", r2(kid.Heat), function(v) local n = tonumber(v) if n then kid.Heat = n end end, "Fire") addEffectRow(kid, "Color R", math.floor(kid.Color.R * 255), function(v) local n = tonumber(v) if n then kid.Color = Color3.new(n/255, kid.Color.G, kid.Color.B) end end, "Fire") addEffectRow(kid, "Color G", math.floor(kid.Color.G * 255), function(v) local n = tonumber(v) if n then kid.Color = Color3.new(kid.Color.R, n/255, kid.Color.B) end end, "Fire") addEffectRow(kid, "Color B", math.floor(kid.Color.B * 255), function(v) local n = tonumber(v) if n then kid.Color = Color3.new(kid.Color.R, kid.Color.G, n/255) end end, "Fire") addEffectRow(kid, "SecColor R", math.floor(kid.SecondaryColor.R * 255), function(v) local n = tonumber(v) if n then kid.SecondaryColor = Color3.new(n/255, kid.SecondaryColor.G, kid.SecondaryColor.B) end end, "Fire") addEffectRow(kid, "SecColor G", math.floor(kid.SecondaryColor.G * 255), function(v) local n = tonumber(v) if n then kid.SecondaryColor = Color3.new(kid.SecondaryColor.R, n/255, kid.SecondaryColor.B) end end, "Fire") addEffectRow(kid, "SecColor B", math.floor(kid.SecondaryColor.B * 255), function(v) local n = tonumber(v) if n then kid.SecondaryColor = Color3.new(kid.SecondaryColor.R, kid.SecondaryColor.G, n/255) end end, "Fire") elseif kid:IsA("Smoke") then addEffectRow(kid, "Opacity", r2(kid.Opacity), function(v) local n = tonumber(v) if n then kid.Opacity = n end end, "Smoke") addEffectRow(kid, "RiseVelocity", r2(kid.RiseVelocity), function(v) local n = tonumber(v) if n then kid.RiseVelocity = n end end, "Smoke") addEffectRow(kid, "Dissipate", tostring(kid.Dissipate), function(v) if v == "true" then kid.Dissipate = true elseif v == "false" then kid.Dissipate = false end end, "Smoke") addEffectRow(kid, "Color R", math.floor(kid.Color.R * 255), function(v) local n = tonumber(v) if n then kid.Color = Color3.new(n/255, kid.Color.G, kid.Color.B) end end, "Smoke") addEffectRow(kid, "Color G", math.floor(kid.Color.G * 255), function(v) local n = tonumber(v) if n then kid.Color = Color3.new(kid.Color.R, n/255, kid.Color.B) end end, "Smoke") addEffectRow(kid, "Color B", math.floor(kid.Color.B * 255), function(v) local n = tonumber(v) if n then kid.Color = Color3.new(kid.Color.R, kid.Color.G, n/255) end end, "Smoke") elseif kid:IsA("Sparkles") then addEffectRow(kid, "SparklesPerSec", r2(kid.SparklesPerSecond), function(v) local n = tonumber(v) if n then kid.SparklesPerSecond = n end end, "Sparkles") addEffectRow(kid, "Color R", math.floor(kid.SparkleColor.R * 255), function(v) local n = tonumber(v) if n then kid.SparkleColor = Color3.new(n/255, kid.SparkleColor.G, kid.SparkleColor.B) end end, "Sparkles") addEffectRow(kid, "Color G", math.floor(kid.SparkleColor.G * 255), function(v) local n = tonumber(v) if n then kid.SparkleColor = Color3.new(kid.SparkleColor.R, n/255, kid.SparkleColor.B) end end, "Sparkles") addEffectRow(kid, "Color B", math.floor(kid.SparkleColor.B * 255), function(v) local n = tonumber(v) if n then kid.SparkleColor = Color3.new(kid.SparkleColor.R, kid.SparkleColor.G, n/255) end end, "Sparkles") elseif kid:IsA("PointLight") then addEffectRow(kid, "Brightness", r2(kid.Brightness), function(v) local n = tonumber(v) if n then kid.Brightness = n end end, "PointLight") addEffectRow(kid, "Range", r2(kid.Range), function(v) local n = tonumber(v) if n then kid.Range = n end end, "PointLight") addEffectRow(kid, "Color R", math.floor(kid.Color.R * 255), function(v) local n = tonumber(v) if n then kid.Color = Color3.new(n/255, kid.Color.G, kid.Color.B) end end, "PointLight") addEffectRow(kid, "Color G", math.floor(kid.Color.G * 255), function(v) local n = tonumber(v) if n then kid.Color = Color3.new(kid.Color.R, n/255, kid.Color.B) end end, "PointLight") addEffectRow(kid, "Color B", math.floor(kid.Color.B * 255), function(v) local n = tonumber(v) if n then kid.Color = Color3.new(kid.Color.R, kid.Color.G, n/255) end end, "PointLight") addEffectRow(kid, "Shadows", tostring(kid.Shadows), function(v) if v == "true" then kid.Shadows = true elseif v == "false" then kid.Shadows = false end end, "PointLight") elseif kid:IsA("SurfaceLight") then addEffectRow(kid, "Brightness", r2(kid.Brightness), function(v) local n = tonumber(v) if n then kid.Brightness = n end end, "SurfaceLight") addEffectRow(kid, "Range", r2(kid.Range), function(v) local n = tonumber(v) if n then kid.Range = n end end, "SurfaceLight") addEffectRow(kid, "Color R", math.floor(kid.Color.R * 255), function(v) local n = tonumber(v) if n then kid.Color = Color3.new(n/255, kid.Color.G, kid.Color.B) end end, "SurfaceLight") addEffectRow(kid, "Color G", math.floor(kid.Color.G * 255), function(v) local n = tonumber(v) if n then kid.Color = Color3.new(kid.Color.R, n/255, kid.Color.B) end end, "SurfaceLight") addEffectRow(kid, "Color B", math.floor(kid.Color.B * 255), function(v) local n = tonumber(v) if n then kid.Color = Color3.new(kid.Color.R, kid.Color.G, n/255) end end, "SurfaceLight") addEffectRow(kid, "Face", tostring(kid.Face), function(v) pcall(function() kid.Face = Enum.NormalId[v] end) end, "SurfaceLight") elseif kid:IsA("SpotLight") then addEffectRow(kid, "Brightness", r2(kid.Brightness), function(v) local n = tonumber(v) if n then kid.Brightness = n end end, "SpotLight") addEffectRow(kid, "Range", r2(kid.Range), function(v) local n = tonumber(v) if n then kid.Range = n end end, "SpotLight") addEffectRow(kid, "Angle", r2(kid.Angle), function(v) local n = tonumber(v) if n then kid.Angle = n end end, "SpotLight") addEffectRow(kid, "Color R", math.floor(kid.Color.R * 255), function(v) local n = tonumber(v) if n then kid.Color = Color3.new(n/255, kid.Color.G, kid.Color.B) end end, "SpotLight") addEffectRow(kid, "Color G", math.floor(kid.Color.G * 255), function(v) local n = tonumber(v) if n then kid.Color = Color3.new(kid.Color.R, n/255, kid.Color.B) end end, "SpotLight") addEffectRow(kid, "Color B", math.floor(kid.Color.B * 255), function(v) local n = tonumber(v) if n then kid.Color = Color3.new(kid.Color.R, kid.Color.G, n/255) end end, "SpotLight") addEffectRow(kid, "Face", tostring(kid.Face), function(v) pcall(function() kid.Face = Enum.NormalId[v] end) end, "SpotLight") elseif kid:IsA("Trail") then addEffectRow(kid, "Lifetime", r2(kid.Lifetime), function(v) local n = tonumber(v) if n then kid.Lifetime = NumberRange.new(n) end end, "Trail") addEffectRow(kid, "MinLength", r2(kid.MinLength), function(v) local n = tonumber(v) if n then kid.MinLength = n end end, "Trail") addEffectRow(kid, "Face", tostring(kid.Face), function(v) pcall(function() kid.Face = Enum.NormalId[v] end) end, "Trail") addEffectRow(kid, "LightEmission", r2(kid.LightEmission), function(v) local n = tonumber(v) if n then kid.LightEmission = n end end, "Trail") addEffectRow(kid, "LightInfluence", r2(kid.LightInfluence), function(v) local n = tonumber(v) if n then kid.LightInfluence = n end end, "Trail") addEffectRow(kid, "WidthScale", r2(kid.WidthScale), function(v) local n = tonumber(v) if n then kid.WidthScale = n end end, "Trail") elseif kid:IsA("Beam") then addEffectRow(kid, "Width0", r2(kid.Width0), function(v) local n = tonumber(v) if n then kid.Width0 = n end end, "Beam") addEffectRow(kid, "Width1", r2(kid.Width1), function(v) local n = tonumber(v) if n then kid.Width1 = n end end, "Beam") addEffectRow(kid, "Face", tostring(kid.Face), function(v) pcall(function() kid.Face = Enum.NormalId[v] end) end, "Beam") addEffectRow(kid, "LightEmission", r2(kid.LightEmission), function(v) local n = tonumber(v) if n then kid.LightEmission = n end end, "Beam") addEffectRow(kid, "LightInfluence", r2(kid.LightInfluence), function(v) local n = tonumber(v) if n then kid.LightInfluence = n end end, "Beam") addEffectRow(kid, "FadeTime", r2(kid.Transparency.Keypoints[1].Value), function(v) local n = tonumber(v) if n then kid.Transparency = NumberSequence.new({ NumberSequenceKeypoint.new(0, 0), NumberSequenceKeypoint.new(1, n) }) end end, "Beam") addEffectRow(kid, "Color R", math.floor(kid.Color.Keypoints[1].Value.R * 255), function(v) local n = tonumber(v) if n and kid.Color.Keypoints[1] then local c = kid.Color.Keypoints[1].Value kid.Color = ColorSequence.new(Color3.new(n/255, c.G, c.B)) end end, "Beam") addEffectRow(kid, "Color G", math.floor(kid.Color.Keypoints[1].Value.G * 255), function(v) local n = tonumber(v) if n and kid.Color.Keypoints[1] then local c = kid.Color.Keypoints[1].Value kid.Color = ColorSequence.new(Color3.new(c.R, n/255, c.B)) end end, "Beam") addEffectRow(kid, "Color B", math.floor(kid.Color.Keypoints[1].Value.B * 255), function(v) local n = tonumber(v) if n and kid.Color.Keypoints[1] then local c = kid.Color.Keypoints[1].Value kid.Color = ColorSequence.new(Color3.new(c.R, c.G, n/255)) end end, "Beam") end -- closes if/elseif chain (ParticleEmitter/Fire/Smoke/etc) end -- closes if kid:IsA() effect check end -- closes for loop end) -- closes pcall(function()) if not hasEffects then local noFx = Instance.new("TextLabel") noFx.Size = UDim2.new(1, 0, 0, 20) noFx.BackgroundTransparency = 1 noFx.Text = "No effects on this part" noFx.TextColor3 = Color3.fromRGB(150, 150, 150) noFx.Font = Enum.Font.Gotham noFx.TextScaled = true noFx.Parent = InspectScroll end -- Add effect creation buttons local addFxHeader = Instance.new("TextLabel") addFxHeader.Size = UDim2.new(1, 0, 0, 20) addFxHeader.BackgroundTransparency = 1 addFxHeader.Text = "-- Add New Effect --" addFxHeader.TextColor3 = Color3.fromRGB(200, 100, 255) addFxHeader.Font = Enum.Font.GothamBold addFxHeader.TextScaled = true addFxHeader.Parent = InspectScroll local addFxTypes = { {name = "Particle", cls = "ParticleEmitter"}, {name = "Fire", cls = "Fire"}, {name = "Smoke", cls = "Smoke"}, {name = "Sparkles", cls = "Sparkles"}, {name = "PointLight", cls = "PointLight"}, {name = "SurfLight", cls = "SurfaceLight"}, {name = "SpotLight", cls = "SpotLight"}, } for i, fxDef in ipairs(addFxTypes) do local fxBtn = Instance.new("TextButton") fxBtn.Size = UDim2.new(0.14, -2, 0, 24) fxBtn.Position = UDim2.new((i - 1) * 0.143, 0, 0, 0) fxBtn.BackgroundColor3 = Color3.fromRGB(70, 40, 100) fxBtn.Text = fxDef.name fxBtn.TextColor3 = Color3.new(1, 1, 1) fxBtn.Font = Enum.Font.GothamBold fxBtn.TextScaled = true fxBtn.Parent = InspectScroll Instance.new("UICorner", fxBtn).CornerRadius = UDim.new(0, 4) fxBtn.MouseButton1Click:Connect(function() pcall(function() local newFx = Instance.new(fxDef.cls) newFx.Parent = selectedPartRef -- Tell the server to create this effect too (server-sided) local serverFxType = fxClassToServerType[fxDef.cls] or fxDef.cls:lower() if selectedPartRef and selectedPartRef.Parent then par.Value = selectedPartRef.Name TextBox.Text = selectedPartRef.Name reffect.Value = serverFxType ef.Value = serverFxType efpr.Value = "Enabled" boo.Value = true returnedeffect = boo value2 = "BoolValue" game:GetService("ReplicatedStorage").Events.EffectObject:InvokeServer( {selectedPartRef}, serverFxType, "Enabled", true ) end end) pcall(function() customOutput( "Added " .. fxDef.cls .. " to " .. selectedPartRef.Name .. " [SERVER]", Color3.fromRGB(100, 255, 150) ) end) if selectedPartRef and selectedPartRef.Parent then openInspector(selectedPartRef) end end) end task.wait() InspectScroll.CanvasSize = UDim2.new(0, 0, 0, InspectLayout.AbsoluteContentSize.Y + 20) end -- ==================== DUMP FUNCTION ==================== local function dumpPartData(part) if not part or not part.Parent then customOutput("[DUMP] No part selected! Click Select first, then click a part.", Color3.fromRGB(255, 80, 80)) return end customOutput("========== DUMP: " .. part.Name .. " ==========", Color3.fromRGB(255, 200, 50)) customOutput("Class: " .. part.ClassName .. " | Path: " .. tostring(part:GetFullName()), Color3.fromRGB(200, 200, 200)) -- Basic properties customOutput("--- Basic Properties ---", Color3.fromRGB(100, 200, 255)) customOutput("Name: " .. part.Name, Color3.fromRGB(180, 220, 255)) customOutput("Size: " .. tostring(part.Size), Color3.fromRGB(180, 220, 255)) customOutput("Position: " .. tostring(part.Position), Color3.fromRGB(180, 220, 255)) customOutput("Orientation: " .. tostring(part.Orientation), Color3.fromRGB(180, 220, 255)) customOutput("Anchored: " .. tostring(part.Anchored), Color3.fromRGB(180, 220, 255)) customOutput("CanCollide: " .. tostring(part.CanCollide), Color3.fromRGB(180, 220, 255)) customOutput("Transparency: " .. tostring(part.Transparency), Color3.fromRGB(180, 220, 255)) customOutput("Material: " .. tostring(part.Material), Color3.fromRGB(180, 220, 255)) customOutput("Color: " .. tostring(part.Color), Color3.fromRGB(180, 220, 255)) customOutput("BrickColor: " .. part.BrickColor.Name, Color3.fromRGB(180, 220, 255)) -- ALL children - ValueObjects, effects, meshes, etc. customOutput("--- All Children (" .. #part:GetChildren() .. " total) ---", Color3.fromRGB(100, 255, 150)) local function dumpRecursive(parent, indent, depth) if depth > 6 then return end local ok, kids = pcall(function() return parent:GetChildren() end) if not ok then return end for i = 1, #kids do local child = kids[i] local prefix = string.rep(" ", indent) local className = child.ClassName or "?" -- ValueObjects - show name, class, value pcall(function() if child:IsA("ValueBase") then local valStr = "nil" if child:IsA("NumberValue") then valStr = tostring(child.Value) elseif child:IsA("StringValue") then valStr = "\"" .. child.Value .. "\"" elseif child:IsA("BoolValue") then valStr = tostring(child.Value) elseif child:IsA("Color3Value") then valStr = tostring(child.Value) elseif child:IsA("Vector3Value") then valStr = tostring(child.Value) elseif child:IsA("CFrameValue") then valStr = tostring(child.Value) elseif child:IsA("ObjectValue") or child:IsA("IntValue") then valStr = tostring(child.Value) end customOutput(prefix .. "[VALUE] " .. child.Name .. " (" .. className .. ") = " .. valStr, Color3.fromRGB(255, 255, 100)) elseif child:IsA("Fire") or child:IsA("Smoke") or child:IsA("Sparkles") then customOutput(prefix .. "[EFFECT] " .. child.Name .. " (" .. className .. ")", Color3.fromRGB(255, 130, 130)) -- dump effect properties pcall(function() for _, prop in ipairs({"Size","Heat","Opacity","Color","SecondaryColor","TimeScale","Speed","Lifetime","Rate","SpreadAngle","Enabled"}) do local ok2, val = pcall(function() return child[prop] end) if ok2 then customOutput(prefix .. " ." .. prop .. " = " .. tostring(val), Color3.fromRGB(255, 170, 170)) end end end) elseif child:IsA("PointLight") or child:IsA("SurfaceLight") then customOutput(prefix .. "[LIGHT] " .. child.Name .. " (" .. className .. ")", Color3.fromRGB(255, 255, 130)) pcall(function() for _, prop in ipairs({"Brightness","Color","Range","Enabled","Shadows"}) do local ok2, val = pcall(function() return child[prop] end) if ok2 then customOutput(prefix .. " ." .. prop .. " = " .. tostring(val), Color3.fromRGB(255, 255, 180)) end end end) elseif child:IsA("ParticleEmitter") then customOutput(prefix .. "[PARTICLE] " .. child.Name .. " (" .. className .. ")", Color3.fromRGB(130, 255, 255)) pcall(function() for _, prop in ipairs({"Rate","Lifetime","Speed","SpreadAngle","Color","Size","Transparency","Enabled","EmissionDirection","LightEmission"}) do local ok2, val = pcall(function() return child[prop] end) if ok2 then customOutput(prefix .. " ." .. prop .. " = " .. tostring(val), Color3.fromRGB(180, 255, 255)) end end end) elseif child:IsA("SpecialMesh") then customOutput(prefix .. "[MESH] " .. child.Name .. " (" .. className .. ") MeshId=" .. tostring(child.MeshId) .. " Tex=" .. tostring(child.TextureID), Color3.fromRGB(200, 150, 255)) elseif child:IsA("Decal") or child:IsA("Texture") then customOutput(prefix .. "[" .. className .. "] " .. child.Name .. " = " .. tostring(child.Texture), Color3.fromRGB(180, 180, 255)) elseif child:IsA("Attachment") then customOutput(prefix .. "[ATTACH] " .. child.Name .. " (" .. className .. ") Pos=" .. tostring(child.Position), Color3.fromRGB(150, 200, 200)) elseif child:IsA("Sound") then customOutput(prefix .. "[SOUND] " .. child.Name .. " = " .. tostring(child.SoundId) .. " Vol=" .. tostring(child.Volume), Color3.fromRGB(200, 200, 150)) else customOutput(prefix .. "[OTHER] " .. child.Name .. " (" .. className .. ")", Color3.fromRGB(180, 180, 180)) end end) -- recurse into folders/configurations pcall(function() if child:IsA("Folder") or child:IsA("Configuration") or child:IsA("Model") then dumpRecursive(child, indent + 1, depth + 1) end end) end end dumpRecursive(part, 0, 0) -- Attributes customOutput("--- Attributes ---", Color3.fromRGB(255, 150, 255)) local attrs = {} pcall(function() for name, val in pairs(part:GetAttributes()) do table.insert(attrs, {name = name, val = val}) end end) if #attrs == 0 then customOutput(" (none)", Color3.fromRGB(120, 120, 120)) else for _, a in ipairs(attrs) do customOutput(" " .. a.name .. " (" .. typeof(a.val) .. ") = " .. tostring(a.val), Color3.fromRGB(255, 180, 255)) end end customOutput("========== END DUMP ==========", Color3.fromRGB(255, 200, 50)) end -- Part selection logic local selectMode = false local mouse = game.Players.LocalPlayer:GetMouse() SelectButton.MouseButton1Click:Connect(function() selectMode = not selectMode if selectMode then SelectButton.Text = "Click Part..." SelectButton.BackgroundColor3 = Color3.fromRGB(0, 130, 0) TextBox.Text = "" else SelectButton.Text = "Select" SelectButton.BackgroundColor3 = Color3.fromRGB(42, 42, 42) end end) DumpButton.MouseButton1Click:Connect(function() dumpPartData(selectedPartRef) end) uis.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then if selectMode then local target = mouse.Target if target and target:IsA("BasePart") then selectMode = false SelectButton.Text = "Select" SelectButton.BackgroundColor3 = Color3.fromRGB(42, 42, 42) TextBox.Text = target.Name openInspector(target) end end end end) -- ==================== END INSPECTOR ==================== Number_2.MouseButton1Click:Connect(function() ColorSelection_2.Visible = false; EffectBox.Visible = true; value2 = "NumberValue" end) String_2.MouseButton1Click:Connect(function() ColorSelection_2.Visible = false; EffectBox.Visible = true; value2 = "StringValue" end) Bool_2.MouseButton1Click:Connect(function() ColorSelection_2.Visible = false; EffectBox.Visible = true; value2 = "BoolValue" end) Colour_2.MouseButton1Click:Connect(function() value2 = "ColorValue"; ColorSelection_2.Visible = true; EffectBox.Visible = false end) ColourBtn.MouseButton1Click:Connect(function() ColorSelection.Visible = true; NumberValue.Visible = false; value1 = "ColorValue" end) NumberBtn.MouseButton1Click:Connect(function() ColorSelection.Visible = false; NumberValue.Visible = true; value1 = "NumberValue" end) StringBtn.MouseButton1Click:Connect(function() ColorSelection.Visible = false; NumberValue.Visible = true; value1 = "StringValue" end) BoolBtn.MouseButton1Click:Connect(function() ColorSelection.Visible = false; NumberValue.Visible = true; value1 = "BoolValue" end) EffectsOpen.MouseButton1Click:Connect(function() if A == false then Effects.Visible = false; pannel.Visible = true; Credits.Visible = false; EffectsOpen.Text = "Open Effects"; A = true else Effects.Visible = true; pannel.Visible = false; Credits.Visible = false; CreditsOpen.Text = "Open Credits"; EffectsOpen.Text = "Close Effects"; crediton = true; A = false end end) CreditsOpen.MouseButton1Click:Connect(function() if crediton == false then Effects.Visible = false; pannel.Visible = true; Credits.Visible = false; CreditsOpen.Text = "Open Credits"; crediton = true else Effects.Visible = false; pannel.Visible = false; Credits.Visible = true; EffectsOpen.Text = "Open Effects"; CreditsOpen.Text = "Close Credits"; A = true; crediton = false end end) local propertyhandler = Instance.new("StringValue") propertyhandler.Parent = I1IiII1 propertyhandler.Name = "propertyhandlerValue" propertyhandler.Value = "Nothing" X.MouseButton1Click:Connect(function() I1IiII1:Destroy() end) function exepart() local plr = game.Players.LocalPlayer local part = {workspace.Obbies[plr.Name].Items:FindFirstChild(par.Value, true)} local current = returnedpart.Value local success, err = pcall(function() if propertyhandler.Value == "ATT" then game:GetService("ReplicatedStorage").Events.BehaviourObject:InvokeServer(part, propertyhandler.Value, pr.Value) game:GetService("ReplicatedStorage").Events.BehaviourObject:InvokeServer(part, "DefaultNumberValue", current) game:GetService("ReplicatedStorage").Events.BehaviourObject:InvokeServer(part, propertyhandler.Value, pr.Value) elseif propertyhandler.Value == "GPT" then game:GetService("ReplicatedStorage").Events.BehaviourObject:InvokeServer(part, propertyhandler.Value, getGPTCategory(pr.Value)) game:GetService("ReplicatedStorage").Events.BehaviourObject:InvokeServer(part, "DefaultNumberValue", current) game:GetService("ReplicatedStorage").Events.BehaviourObject:InvokeServer(part, propertyhandler.Value, pr.Value) elseif propertyhandler.Value == "Nothing" and Active == false then game:GetService("ReplicatedStorage").Events.PaintObject:InvokeServer(part, pr.Value, current) elseif propertyhandler.Value == "Nothing" and Active == true then game:GetService("ReplicatedStorage").Events.BehaviourObject:InvokeServer(part, rproperty.Value, current) end end) if success then customOutput("Executed!", color) else customOutput("Error: "..tostring(err), Color3.new(1,0,0)) end end function exeffect() local effect = {} local current = returnedeffect.Value pcall(function() game:GetService("ReplicatedStorage").Events.EffectObject:InvokeServer(effect, reffect.Value, efpr.Value, current) end) customOutput("Executed!", color) end coroutine.resume(coroutine.create(function() while wait() do pr.Value = propertye.Text par.Value = TextBox.Text ef.Value = EBox.Text efpr.Value = PropertyoEffect.Text r.Value = Red.Text g.Value = Green.Text b.Value = Blue.Text r1.Value = Red_2.Text g1.Value = Green_2.Text b1.Value = Blue_2.Text end end)) coroutine.resume(coroutine.create(function() while wait() do if EffectBox.Text == "true" and value2 == "BoolValue" then boo.Value = true elseif EffectBox.Text == "false" and value2 == "BoolValue" then boo.Value = false elseif NumberValue.Text == "true" and value1 == "BoolValue" then bool.Value = true elseif NumberValue.Text == "false" and value1 == "BoolValue" then bool.Value = false end end end)) coroutine.resume(coroutine.create(function() while wait() do if ef.Value == "fire" or ef.Value == "Fire" then reffect.Value = "fire" elseif ef.Value == "sparkles" or ef.Value == "Sparkles" then reffect.Value = "sparkles" elseif ef.Value == "light" or ef.Value == "Light" then reffect.Value = "light" elseif ef.Value == "pointlight" or ef.Value == "PointLight" then reffect.Value = "pointLight" elseif ef.Value == "surfacelight" or ef.Value == "SurfaceLight" then reffect.Value = "surfaceLight" elseif ef.Value == "outline" or ef.Value == "Outline" then reffect.Value = "outline" else reffect.Value = "wtf is that??????????" end end end)) coroutine.resume(coroutine.create(function() while wait() do if par.Value == "Conveyour" and pr.Value == "Speed" then rproperty.Value = "S"; Active = true elseif par.Value == "Conveyor" and pr.Value == "Speed" then rproperty.Value = "S"; Active = true elseif pr.Value == "Damage" then rproperty.Value = "D"; Active = true elseif pr.Value == "Button Time" or pr.Value == "Time" then rproperty.Value = "BT"; Active = true elseif pr.Value == "Click radius" or pr.Value == "Click Radius" then rproperty.Value = "Cd"; Active = true elseif pr.Value == "Fade time" or pr.Value =="Fading time" then rproperty.Value = "F"; Active = true elseif par.Value == "Fading part" and pr.Value == "fade respawn time" or pr.Value == "Respawn time" then rproperty.Value = "T"; Active = true elseif pr.Value == "Falling time" then rproperty.Value = "fT"; Active = true elseif pr.Value == "Falling Delay" or pr.Value == "Fall Delay" then rproperty.Value = "fD"; Active = true elseif pr.Value == "Falling Time" or pr.Value == "Fall Time" then rproperty.Value = "fT"; Active = true elseif pr.Value == "Falling Speed" or pr.Value == "Fall Speed" then rproperty.Value = "fs"; Active = true elseif pr.Value == "Healing" or pr.Value == "Heal" then rproperty.Value = "H"; Active = true elseif pr.Value == "Bounce" or pr.Value == "Bounce power" then rproperty.Value = "J"; Active = true elseif pr.Value == "Music speed" then rproperty.Value = "MS"; Active = true elseif pr.Value == "Music start time" then rproperty.Value = "MSt"; Active = true elseif pr.Value == "Music Volume" or pr.Value == "Volume" then rproperty.Value = "MV"; Active = true elseif par.Value == "Speed Pad" and pr.Value == "Speed" then rproperty.Value = "Z"; Active = true elseif pr.Value == "Debounce" then rproperty.Value = "Pd"; Active = true elseif pr.Value == "Spin Axis" then rproperty.Value = "A"; Active = true elseif pr.Value == "Easing Style" then rproperty.Value = "E"; Active = true elseif pr.Value == "Spin distance" then rproperty.Value = "sD"; Active = true elseif pr.Value == "Spn Offset" or pr.Value == "Offset Spin" then rproperty.Value = "sO"; Active = true elseif pr.Value == "Spin Time" or pr.Value == "Spin time" then rproperty.Value = "sT"; Active = true else rproperty.Value = "None"; Active = false end end end)) coroutine.resume(coroutine.create(function() while wait() do if value2 == "NumberValue" then nub.Value = EffectBox.Text; returnedeffect = nub elseif value2 == "StringValue" then tri.Value = EffectBox.Text; returnedeffect = tri elseif value2 == "BoolValue" then boo.Value = EffectBox.Text; returnedeffect = boo elseif value2 == "ColorValue" then lour.Value = Color3.new(r1.Value, g1.Value, b1.Value); returnedeffect = lour end end end)) coroutine.resume(coroutine.create(function() while wait() do if value1 == "NumberValue" then nmb.Value = NumberValue.Text; returnedpart = nmb elseif value1 == "StringValue" then str.Value = NumberValue.Text; returnedpart = str elseif value1 == "BoolValue" then bool.Value = true; returnedpart = bool elseif value1 == "ColorValue" then col.Value = Color3.new(r.Value, g.Value, b.Value); returnedpart = col end end end)) coroutine.resume(coroutine.create(function() while wait() do if par.Value == "Advanced Tools Part" or par.Value == "Advanced Part" then if pr.Value == "Reflectance" or pr.Value == "Transparency" or pr.Value == "Slipperiness" then propertyhandler.Value = "Nothing" else propertyhandler.Value = "ATT" end elseif par.Value == "Global Properties Part" or par.Value == "Global property part" then if pr.Value == "Reflectance" or pr.Value == "Transparency" or pr.Value == "Slipperiness" then propertyhandler.Value = "Nothing" else propertyhandler.Value = "GPT" end else propertyhandler.Value = "Nothing" end end end)) Execute_2.MouseButton1Click:Connect(function() exeffect() end) -- ==================== cEffects SYSTEM ==================== -- Fires cEffects1.Update remote: Fire(PropertyName, Value, EffectName) function execCEffects() local prop = PropertyoEffect.Text local val = EffectBox.Text local name = reffect.Value if prop == "" or val == "" or name == "" then game:GetService("Players").LocalPlayer.PlayerGui.LocalOutput:Fire("Fill in all fields!", Color3.new(1, 0, 0)) return end local typedVal = val if value2 == "NumberValue" then typedVal = tonumber(val) or val elseif value2 == "BoolValue" then if val == "true" then typedVal = true elseif val == "false" then typedVal = false end elseif value2 == "ColorValue" then typedVal = Color3.new((tonumber(Red_2.Text) or 0)/255, (tonumber(Green_2.Text) or 0)/255, (tonumber(Blue_2.Text) or 0)/255) end local success, err = pcall(function() local remote = game:GetService("Players").LocalPlayer.PlayerGui.Edit.PropertiesFrame.ScrollingFrame.cEffects1.Update remote:Fire(prop, typedVal, name) end) if success then game:GetService("Players").LocalPlayer.PlayerGui.LocalOutput:Fire("cEffects: " .. prop .. " = " .. tostring(typedVal) .. " (" .. name .. ")", Color3.new(0, 1, 0)) else game:GetService("Players").LocalPlayer.PlayerGui.LocalOutput:Fire("cEffects Error: " .. tostring(err), Color3.new(1, 0, 0)) end end function cEffectsPreset(prop, val, name) local success, err = pcall(function() local remote = game:GetService("Players").LocalPlayer.PlayerGui.Edit.PropertiesFrame.ScrollingFrame.cEffects1.Update remote:Fire(prop, val, name) end) if success then game:GetService("Players").LocalPlayer.PlayerGui.LocalOutput:Fire("cEffects: " .. prop .. " = " .. tostring(val) .. " (" .. name .. ")", Color3.new(0, 1, 0)) else game:GetService("Players").LocalPlayer.PlayerGui.LocalOutput:Fire("cEffects Error: " .. tostring(err), Color3.new(1, 0, 0)) end end -- cEffects Execute Button local CEffectsBtn = Instance.new("TextButton") CEffectsBtn.Name = "CEffectsBtn" CEffectsBtn.Parent = Effects CEffectsBtn.BackgroundColor3 = Color3.fromRGB(42, 42, 42) CEffectsBtn.BorderSizePixel = 0 CEffectsBtn.Text = "cEffects" CEffectsBtn.TextColor3 = Color3.fromRGB(0, 255, 170) CEffectsBtn.Font = Enum.Font.Cartoon CEffectsBtn.TextScaled = true CEffectsBtn.TextStrokeTransparency = 0 CEffectsBtn.TextWrapped = true CEffectsBtn.Size = UDim2.new(0.28, 0, 0.055, 0) CEffectsBtn.Position = UDim2.new(0.04, 0, 1.01, 0) local CEffectsCorner = Instance.new("UICorner") CEffectsCorner.CornerRadius = UDim.new(0, 6) CEffectsCorner.Parent = CEffectsBtn CEffectsBtn.MouseButton1Click:Connect(function() execCEffects() end) -- cEffects SPAM (x10) Button local CEffectsSpamBtn = Instance.new("TextButton") CEffectsSpamBtn.Name = "CEffectsSpamBtn" CEffectsSpamBtn.Parent = Effects CEffectsSpamBtn.BackgroundColor3 = Color3.fromRGB(80, 30, 30) CEffectsSpamBtn.BorderSizePixel = 0 CEffectsSpamBtn.Text = "cEffects SPAM (x10)" CEffectsSpamBtn.TextColor3 = Color3.fromRGB(255, 100, 100) CEffectsSpamBtn.Font = Enum.Font.Cartoon CEffectsSpamBtn.TextScaled = true CEffectsSpamBtn.TextStrokeTransparency = 0 CEffectsSpamBtn.TextWrapped = true CEffectsSpamBtn.Size = UDim2.new(0.30, 0, 0.055, 0) CEffectsSpamBtn.Position = UDim2.new(0.35, 0, 1.01, 0) local CEffectsSpamCorner = Instance.new("UICorner") CEffectsSpamCorner.CornerRadius = UDim.new(0, 6) CEffectsSpamCorner.Parent = CEffectsSpamBtn CEffectsSpamBtn.MouseButton1Click:Connect(function() local prop = PropertyoEffect.Text local val = EffectBox.Text local name = reffect.Value if prop == "" or val == "" or name == "" then game:GetService("Players").LocalPlayer.PlayerGui.LocalOutput:Fire("Fill in all fields!", Color3.new(1, 0, 0)) return end local typedVal = val if value2 == "NumberValue" then typedVal = tonumber(val) or val elseif value2 == "BoolValue" then if val == "true" then typedVal = true elseif val == "false" then typedVal = false end elseif value2 == "ColorValue" then typedVal = Color3.new((tonumber(Red_2.Text) or 0)/255, (tonumber(Green_2.Text) or 0)/255, (tonumber(Blue_2.Text) or 0)/255) end for i = 1, 10 do pcall(function() local remote = game:GetService("Players").LocalPlayer.PlayerGui.Edit.PropertiesFrame.ScrollingFrame.cEffects1.Update remote:Fire(prop, typedVal, name) end) end game:GetService("Players").LocalPlayer.PlayerGui.LocalOutput:Fire("cEffects SPAM x10: " .. prop .. " = " .. tostring(typedVal) .. " (" .. name .. ")", Color3.new(0, 1, 0)) end) -- cEffects RAMP Button local CEffectsRampBtn = Instance.new("TextButton") CEffectsRampBtn.Name = "CEffectsRampBtn" CEffectsRampBtn.Parent = Effects CEffectsRampBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 80) CEffectsRampBtn.BorderSizePixel = 0 CEffectsRampBtn.Text = "cEffects RAMP" CEffectsRampBtn.TextColor3 = Color3.fromRGB(100, 150, 255) CEffectsRampBtn.Font = Enum.Font.Cartoon CEffectsRampBtn.TextScaled = true CEffectsRampBtn.TextStrokeTransparency = 0 CEffectsRampBtn.TextWrapped = true CEffectsRampBtn.Size = UDim2.new(0.28, 0, 0.055, 0) CEffectsRampBtn.Position = UDim2.new(0.68, 0, 1.01, 0) local CEffectsRampCorner = Instance.new("UICorner") CEffectsRampCorner.CornerRadius = UDim.new(0, 6) CEffectsRampCorner.Parent = CEffectsRampBtn CEffectsRampBtn.MouseButton1Click:Connect(function() local prop = PropertyoEffect.Text local name = reffect.Value if prop == "" or name == "" then game:GetService("Players").LocalPlayer.PlayerGui.LocalOutput:Fire("Fill in property and effect name!", Color3.new(1, 0, 0)) return end game:GetService("Players").LocalPlayer.PlayerGui.LocalOutput:Fire("cEffects RAMP: " .. prop .. " 0->1000 (" .. name .. ")", Color3.fromRGB(255, 255, 100)) for v = 0, 1000, 50 do pcall(function() local remote = game:GetService("Players").LocalPlayer.PlayerGui.Edit.PropertiesFrame.ScrollingFrame.cEffects1.Update remote:Fire(prop, v, name) end) end game:GetService("Players").LocalPlayer.PlayerGui.LocalOutput:Fire("cEffects RAMP complete! (" .. name .. ")", Color3.new(0, 1, 0)) end) -- ==================== cEffects PRESETS ==================== -- Header label local CEffectsHeader = Instance.new("TextLabel") CEffectsHeader.Name = "CEffectsHeader" CEffectsHeader.Parent = Effects CEffectsHeader.BackgroundTransparency = 1 CEffectsHeader.Text = "~ cEffects PRESETS ~" CEffectsHeader.TextColor3 = Color3.fromRGB(0, 255, 170) CEffectsHeader.Font = Enum.Font.Cartoon CEffectsHeader.TextScaled = true CEffectsHeader.TextStrokeTransparency = 0 CEffectsHeader.TextWrapped = true CEffectsHeader.Size = UDim2.new(1, 0, 0.04, 0) CEffectsHeader.Position = UDim2.new(0, 0, 1.08, 0) -- Preset button helper local presetY = 1.14 local presetCol = 0 local cEffectsPresets = { {"Fire Heat=25", "Heat", 25, "fire", Color3.fromRGB(120, 40, 10)}, {"Fire Heat=999", "Heat", 999, "fire", Color3.fromRGB(160, 20, 10)}, {"Fire Size=50", "Size", 50, "fire", Color3.fromRGB(100, 40, 10)}, {"Fire Size=999", "Size", 999, "fire", Color3.fromRGB(140, 20, 10)}, {"Fire On=true", "Enabled", true, "fire", Color3.fromRGB(20, 100, 20)}, {"Fire On=false", "Enabled", false, "fire", Color3.fromRGB(100, 20, 20)}, {"Smoke Op=1", "Opacity", 1, "smoke", Color3.fromRGB(60, 60, 80)}, {"Smoke Size=999", "Size", 999, "smoke", Color3.fromRGB(50, 50, 70)}, {"Sparkles On", "Enabled", true, "sparkles", Color3.fromRGB(80, 60, 100)}, {"Light Brt=100", "Brightness", 100, "pointLight", Color3.fromRGB(90, 90, 30)}, } for i = 1, #cEffectsPresets do local pData = cEffectsPresets[i] local pBtn = Instance.new("TextButton") pBtn.Name = "CEffectPreset_" .. i pBtn.Parent = Effects pBtn.BackgroundColor3 = Color3.fromRGB(33, 33, 33) pBtn.BorderSizePixel = 0 pBtn.Text = pData[1] pBtn.TextColor3 = Color3.fromRGB(255, 255, 255) pBtn.Font = Enum.Font.Ubuntu pBtn.TextScaled = true pBtn.TextStrokeTransparency = 0.5 pBtn.TextWrapped = true pBtn.Size = UDim2.new(0.30, 0, 0.05, 0) pBtn.Position = UDim2.new(0.04 + presetCol * 0.33, 0, presetY, 0) local pCorner = Instance.new("UICorner") pCorner.CornerRadius = UDim.new(0, 6) pCorner.Parent = pBtn -- Store closure properly local pProp = pData[2] local pVal = pData[3] local pName = pData[4] pBtn.MouseButton1Click:Connect(function() cEffectsPreset(pProp, pVal, pName) end) -- Hover color feedback pBtn.MouseEnter:Connect(function() pBtn.BackgroundColor3 = pData[5] end) pBtn.MouseLeave:Connect(function() pBtn.BackgroundColor3 = Color3.fromRGB(33, 33, 33) end) presetCol = presetCol + 1 if presetCol >= 3 then presetCol = 0 presetY = presetY + 0.06 end end -- ==================== END cEffects SYSTEM ==================== Execute.MouseButton1Click:Connect(function() exepart() end) debugging = 2