local player = game.Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") local UserInputService = game:GetService("UserInputService") -- Create the main ScreenGui local screenGui = Instance.new("ScreenGui") screenGui.Name = "CustomSettingsMenu" screenGui.ResetOnSpawn = false screenGui.Parent = playerGui -- Create the background frame local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 250, 0, 200) mainFrame.Position = UDim2.new(0.5, -125, 0.5, -100) mainFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 35) mainFrame.BorderSizePixel = 0 mainFrame.Active = true -- Required for dragging mainFrame.Parent = screenGui local uiCorner = Instance.new("UICorner") uiCorner.CornerRadius = UDim.new(0, 8) uiCorner.Parent = mainFrame local topText = Instance.new("TextLabel") topText.Size = UDim2.new(1, 0, 0, 30) -- 100% width, 30px height topText.Position = UDim2.new(0, 0, 0, 0) -- Top left corner topText.BackgroundTransparency = 1 -- Hides the label's default white background topText.TextColor3 = Color3.fromRGB(255, 255, 255) topText.Text = "Device Crasher Menu" topText.Font = Enum.Font.GothamBlack topText.TextSize = 16 topText.Parent = mainFrame -- 1. Bottom Right Text (Watermark) local bottomRightText = Instance.new("TextLabel") bottomRightText.Name = "BottomRightText" bottomRightText.Size = UDim2.new(0, 100, 0, 20) bottomRightText.AnchorPoint = Vector2.new(1, 1) bottomRightText.Position = UDim2.new(1, -5, 1, -5) bottomRightText.BackgroundTransparency = 1 bottomRightText.TextColor3 = Color3.fromRGB(150, 150, 150) bottomRightText.TextXAlignment = Enum.TextXAlignment.Right bottomRightText.Text = "v1.0 by Hu2s3y" bottomRightText.Font = Enum.Font.Gotham bottomRightText.TextSize = 11 bottomRightText.Parent = mainFrame -- 2. Bottom Left Text (Status) local bottomLeftText = Instance.new("TextLabel") bottomLeftText.Name = "BottomLeftText" bottomLeftText.Size = UDim2.new(0, 100, 0, 20) bottomLeftText.AnchorPoint = Vector2.new(0, 1) bottomLeftText.Position = UDim2.new(0, 5, 1, -5) bottomLeftText.BackgroundTransparency = 1 bottomLeftText.TextColor3 = Color3.fromRGB(150, 150, 150) bottomLeftText.TextXAlignment = Enum.TextXAlignment.Left bottomLeftText.Text = "different game different method" bottomLeftText.Font = Enum.Font.Gotham bottomLeftText.TextSize = 11 bottomLeftText.Parent = mainFrame -- State variables local currentMethod = 1 local maxMethods = 4 local isLooping = false -- ========================================== -- 1. METHOD SELECTION BUTTON -- ========================================== local methodBtn = Instance.new("TextButton") methodBtn.Size = UDim2.new(1, -20, 0, 40) methodBtn.Position = UDim2.new(0, 10, 0, 20) methodBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) methodBtn.TextColor3 = Color3.fromRGB(255, 255, 255) methodBtn.Text = "Method: " .. currentMethod methodBtn.Font = Enum.Font.GothamBold methodBtn.TextSize = 14 methodBtn.Parent = mainFrame local methodCorner = Instance.new("UICorner") methodCorner.CornerRadius = UDim.new(0, 4) methodCorner.Parent = methodBtn methodBtn.MouseButton1Click:Connect(function() currentMethod = currentMethod + 1 if currentMethod > maxMethods then currentMethod = 1 end methodBtn.Text = "Method: " .. currentMethod end) -- ========================================== -- 2. EXECUTE ONCE BUTTON -- ========================================== local executeBtn = Instance.new("TextButton") executeBtn.Size = UDim2.new(1, -20, 0, 40) executeBtn.Position = UDim2.new(0, 10, 0, 70) executeBtn.BackgroundColor3 = Color3.fromRGB(50, 100, 150) executeBtn.TextColor3 = Color3.fromRGB(255, 255, 255) executeBtn.Text = "Execute Once" executeBtn.Font = Enum.Font.GothamBold executeBtn.TextSize = 14 executeBtn.Parent = mainFrame local executeCorner = Instance.new("UICorner") executeCorner.CornerRadius = UDim.new(0, 4) executeCorner.Parent = executeBtn executeBtn.MouseButton1Click:Connect(function() print("Executing Method " .. currentMethod .. " ONCE") if currentMethod == 1 then -- [ Paste Method 1 One-Time Logic Here ] local Lighting = game:GetService("Lighting"); local Player = game.Players.LocalPlayer; local Character = Player.Character; local Humanoid = Character and Character:FindFirstChildWhichIsA("Humanoid"); local Valid = Character and Character:QueryDescendants("BasePart") or {}; task.spawn(function() while Character and Character.Parent do for Index, Current in Valid do sethiddenproperty(Current, "PhysicsRepRootPart", Valid[Index + 1] or Valid[1]); end; task.wait(); end; end); task.wait(0.1); for Iteration = 1, 5 do replicatesignal(Humanoid.ServerBreakJoints); replicatesignal(Humanoid.ServerResetCharacter); end; task.wait(0.35); for Iteration = 1, 9e9 do replicatesignal(Humanoid.ServerBreakJoints); replicatesignal(Humanoid.ServerResetCharacter); Character.Parent = LightingService; task.wait(0.01); end;local Lighting = game:GetService("Lighting"); local Player = game.Players.LocalPlayer; local Character = Player.Character; local Humanoid = Character and Character:FindFirstChildWhichIsA("Humanoid"); local Valid = Character and Character:QueryDescendants("BasePart") or {}; task.spawn(function() while Character and Character.Parent do for Index, Current in Valid do sethiddenproperty(Current, "PhysicsRepRootPart", Valid[Index + 1] or Valid[1]); end; task.wait(); end; end); task.wait(0.1); for Iteration = 1, 5 do replicatesignal(Humanoid.ServerBreakJoints); replicatesignal(Humanoid.ServerResetCharacter); end; task.wait(0.35); for Iteration = 1, 9e9 do replicatesignal(Humanoid.ServerBreakJoints); replicatesignal(Humanoid.ServerResetCharacter); Character.Parent = LightingService; task.wait(0.01); end; elseif currentMethod == 2 then -- [ Paste Method 2 One-Time Logic Here ] local Lighting = game:GetService("Lighting"); local Player = game.Players.LocalPlayer; local Character = Player.Character; local Humanoid = Character and Character:FindFirstChildWhichIsA("Humanoid"); local Valid = Character and Character:QueryDescendants("BasePart") or {}; task.spawn(function() while Character and Character.Parent do for Index, Current in Valid do sethiddenproperty(Current, "PhysicsRepRootPart", Valid[Index + 1] or Valid[1]); end; task.wait(); end; end); task.wait(0.1); for Iteration = 1, 5 do replicatesignal(Humanoid.ServerBreakJoints); replicatesignal(Humanoid.ServerResetCharacter); end; task.wait(0.35); for Iteration = 1, 9e9 do replicatesignal(Humanoid.ServerBreakJoints); replicatesignal(Humanoid.ServerResetCharacter); Character.Parent = LightingService; task.wait(0.01); end; elseif currentMethod == 3 then -- [ Paste Method 3 One-Time Logic Here ] local Player = game.Players.LocalPlayer; local Character = Player.Character local Humanoid = Character and Character:FindFirstChildWhichIsA("Humanoid"); local Valid = Character and Character:QueryDescendants("BasePart") or {}; replicatesignal(Humanoid.ServerResetCharacter); for i=1,1e5 do if Character and Character.Parent then for i=3,1000 do for Index, Current in Valid do sethiddenproperty(Current, "PhysicsRepRootPart", Valid[Index + 1] or Valid[1]); end; end task.wait() else break end end elseif currentMethod == 4 then -- [ Paste Method 4 One-Time Logic Here ] local Player = game.Players.LocalPlayer; local Character = Player.Character; local Humanoid = Character and Character:FindFirstChildWhichIsA("Humanoid"); local Valid = Character and Character:QueryDescendants("BasePart") or {}; replicatesignal(Humanoid.ServerResetCharacter); for i=1,1e5 do if Character and Character.Parent then for i=1,333 do for Index, Current in Valid do sethiddenproperty(Current, "PhysicsRepRootPart", Valid[Index + 1] or Valid[1]); end; end task.wait() else break end end end end) -- ========================================== -- 3. LOOP TOGGLE BUTTON -- ========================================== local toggleBtn = Instance.new("TextButton") toggleBtn.Size = UDim2.new(1, -20, 0, 40) toggleBtn.Position = UDim2.new(0, 10, 0, 120) toggleBtn.BackgroundColor3 = Color3.fromRGB(150, 50, 50) toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255) toggleBtn.Text = "Loop: OFF" toggleBtn.Font = Enum.Font.GothamBold toggleBtn.TextSize = 14 toggleBtn.Parent = mainFrame local toggleCorner = Instance.new("UICorner") toggleCorner.CornerRadius = UDim.new(0, 4) toggleCorner.Parent = toggleBtn toggleBtn.MouseButton1Click:Connect(function() isLooping = not isLooping if isLooping then toggleBtn.Text = "Loop: ON" toggleBtn.BackgroundColor3 = Color3.fromRGB(50, 150, 50) task.spawn(function() while isLooping do if currentMethod == 1 then -- [ Paste Method 1 Loop Logic Here ] local Lighting = game:GetService("Lighting"); local Player = game.Players.LocalPlayer; local Character = Player.Character; local Humanoid = Character and Character:FindFirstChildWhichIsA("Humanoid"); local Valid = Character and Character:QueryDescendants("BasePart") or {}; task.spawn(function() while Character and Character.Parent do for Index, Current in Valid do sethiddenproperty(Current, "PhysicsRepRootPart", Valid[Index + 1] or Valid[1]); end; task.wait(); end; end); task.wait(0.1); for Iteration = 1, 5 do replicatesignal(Humanoid.ServerBreakJoints); replicatesignal(Humanoid.ServerResetCharacter); end; task.wait(0.35); for Iteration = 1, 9e9 do replicatesignal(Humanoid.ServerBreakJoints); replicatesignal(Humanoid.ServerResetCharacter); Character.Parent = LightingService; task.wait(0.01); end;local Lighting = game:GetService("Lighting"); local Player = game.Players.LocalPlayer; local Character = Player.Character; local Humanoid = Character and Character:FindFirstChildWhichIsA("Humanoid"); local Valid = Character and Character:QueryDescendants("BasePart") or {}; task.spawn(function() while Character and Character.Parent do for Index, Current in Valid do sethiddenproperty(Current, "PhysicsRepRootPart", Valid[Index + 1] or Valid[1]); end; task.wait(); end; end); task.wait(0.1); for Iteration = 1, 5 do replicatesignal(Humanoid.ServerBreakJoints); replicatesignal(Humanoid.ServerResetCharacter); end; task.wait(0.35); for Iteration = 1, 9e9 do replicatesignal(Humanoid.ServerBreakJoints); replicatesignal(Humanoid.ServerResetCharacter); Character.Parent = LightingService; task.wait(0.01); end; elseif currentMethod == 2 then -- [ Paste Method 2 Loop Logic Here ] local Lighting = game:GetService("Lighting"); local Player = game.Players.LocalPlayer; local Character = Player.Character; local Humanoid = Character and Character:FindFirstChildWhichIsA("Humanoid"); local Valid = Character and Character:QueryDescendants("BasePart") or {}; task.spawn(function() while Character and Character.Parent do for Index, Current in Valid do sethiddenproperty(Current, "PhysicsRepRootPart", Valid[Index + 1] or Valid[1]); end; task.wait(); end; end); task.wait(0.1); for Iteration = 1, 5 do replicatesignal(Humanoid.ServerBreakJoints); replicatesignal(Humanoid.ServerResetCharacter); end; task.wait(0.35); for Iteration = 1, 9e9 do replicatesignal(Humanoid.ServerBreakJoints); replicatesignal(Humanoid.ServerResetCharacter); Character.Parent = LightingService; task.wait(0.01); end; elseif currentMethod == 3 then -- [ Paste Method 3 Loop Logic Here ] local Player = game.Players.LocalPlayer; local Character = Player.Character local Humanoid = Character and Character:FindFirstChildWhichIsA("Humanoid"); local Valid = Character and Character:QueryDescendants("BasePart") or {}; replicatesignal(Humanoid.ServerResetCharacter); for i=1,1e5 do if Character and Character.Parent then for i=3,1000 do for Index, Current in Valid do sethiddenproperty(Current, "PhysicsRepRootPart", Valid[Index + 1] or Valid[1]); end; end task.wait() else break end end elseif currentMethod == 4 then -- [ Paste Method 4 Loop Logic Here ] local Player = game.Players.LocalPlayer; local Character = Player.Character; local Humanoid = Character and Character:FindFirstChildWhichIsA("Humanoid"); local Valid = Character and Character:QueryDescendants("BasePart") or {}; replicatesignal(Humanoid.ServerResetCharacter); for i=1,1e5 do if Character and Character.Parent then for i=1,333 do for Index, Current in Valid do sethiddenproperty(Current, "PhysicsRepRootPart", Valid[Index + 1] or Valid[1]); end; end task.wait() else break end end end task.wait(0.1) -- Loop speed end end) else toggleBtn.Text = "Loop: OFF" toggleBtn.BackgroundColor3 = Color3.fromRGB(150, 50, 50) end end) -- ========================================== -- 4. DRAG TO MOVE LOGIC -- ========================================== local dragging local dragInput local dragStart local startPos local function update(input) local delta = input.Position - dragStart mainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end mainFrame.InputBegan:Connect(function(input) -- Start dragging when clicking or touching the main frame if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = mainFrame.Position -- Stop dragging if the mouse is released input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) mainFrame.InputChanged:Connect(function(input) -- Capture the input object when the mouse moves if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) -- Update the frame position based on the delta if input == dragInput and dragging then update(input) end end)