local toggle = false local touchToggle = false local RunService = game:GetService("RunService") local ScreenGui = Instance.new("ScreenGui") local MainMenu = Instance.new("Frame") local ToggleButton = Instance.new("TextButton") local TouchToggleButton = Instance.new("TextButton") MainMenu.Size = UDim2.new(0, 200, 0, 150) MainMenu.Position = UDim2.new(0.5, -100, 0.5, -75) MainMenu.BackgroundColor3 = Color3.new(0.1, 0.1, 0.1) MainMenu.BackgroundTransparency = 0.3 MainMenu.BorderSizePixel = 0 MainMenu.Parent = ScreenGui ToggleButton.Size = UDim2.new(0, 150, 0, 50) ToggleButton.Position = UDim2.new(0.5, -75, 0, 10) ToggleButton.Text = "OFF" ToggleButton.BackgroundColor3 = Color3.new(0.4, 0.4, 1) ToggleButton.TextScaled = true ToggleButton.Parent = MainMenu TouchToggleButton.Size = UDim2.new(0, 150, 0, 50) TouchToggleButton.Position = UDim2.new(0.5, -75, 0, 70) TouchToggleButton.Text = "Auto materials OFF" TouchToggleButton.BackgroundColor3 = Color3.new(1, 0.4, 0.4) TouchToggleButton.TextScaled = true TouchToggleButton.Parent = MainMenu ScreenGui.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui") local function startRolling() while toggle do game:GetService("ReplicatedStorage").Remotes.Functions.Roll:InvokeServer("") wait(0.19) end end local function activateTouchTransmitters() while touchToggle do for _, material in pairs(workspace.SpawnedMaterials:GetChildren()) do local touchTransmitter = material:FindFirstChild("TouchInterest") if touchTransmitter then firetouchinterest(game.Players.LocalPlayer.Character.PrimaryPart, material, 0) wait(0.1) firetouchinterest(game.Players.LocalPlayer.Character.PrimaryPart, material, 1) end end wait(0.5) end end ToggleButton.MouseButton1Click:Connect(function() toggle = not toggle ToggleButton.Text = toggle and "ON" or "OFF" if toggle then startRolling() end end) TouchToggleButton.MouseButton1Click:Connect(function() touchToggle = not touchToggle TouchToggleButton.Text = touchToggle and "Auto materials ON" or "Auto materials OFF" if touchToggle then activateTouchTransmitters() end end) local dragging local dragInput local dragStart local startPos local function update(input) local delta = input.Position - dragStart MainMenu.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end MainMenu.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = MainMenu.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) MainMenu.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then dragInput = input end end) game:GetService("UserInputService").InputChanged:Connect(function(input) if dragging and input == dragInput then update(input) end end)