local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local LocalPlayer = Players.LocalPlayer -- State Tracking for Toggles local Toggles = { Convert = false, Claim = false, Upgrade = false } -- Create Main ScreenGui local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "CashMenuGui" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") -- Top-Right Reopen UI Button (for when main frame is closed) local OpenCloseBtn = Instance.new("TextButton") OpenCloseBtn.Name = "OpenCloseButton" OpenCloseBtn.Size = UDim2.new(0, 80, 0, 30) OpenCloseBtn.Position = UDim2.new(1, -90, 0, 10) OpenCloseBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 45) OpenCloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255) OpenCloseBtn.Text = "Toggle UI" OpenCloseBtn.Font = Enum.Font.SourceSansBold OpenCloseBtn.TextSize = 14 OpenCloseBtn.Parent = ScreenGui local ToggleCorner = Instance.new("UICorner") ToggleCorner.CornerRadius = UDim.new(0, 6) ToggleCorner.Parent = OpenCloseBtn -- Main Menu Frame local Frame = Instance.new("Frame") Frame.Size = UDim2.new(0, 220, 0, 210) Frame.Position = UDim2.new(0.5, -110, 0.4, -105) Frame.BackgroundColor3 = Color3.fromRGB(25, 25, 30) Frame.BorderSizePixel = 0 Frame.Active = true Frame.Draggable = true Frame.Parent = ScreenGui local FrameCorner = Instance.new("UICorner") FrameCorner.CornerRadius = UDim.new(0, 8) FrameCorner.Parent = Frame -- Red Cross (X) Close Button local CloseCrossBtn = Instance.new("TextButton") CloseCrossBtn.Name = "CloseCrossBtn" CloseCrossBtn.Size = UDim2.new(0, 24, 0, 24) CloseCrossBtn.Position = UDim2.new(1, -29, 0, 5) CloseCrossBtn.BackgroundColor3 = Color3.fromRGB(180, 40, 40) CloseCrossBtn.TextColor3 = Color3.fromRGB(255, 255, 255) CloseCrossBtn.Text = "X" CloseCrossBtn.Font = Enum.Font.SourceSansBold CloseCrossBtn.TextSize = 14 CloseCrossBtn.Parent = Frame local CrossCorner = Instance.new("UICorner") CrossCorner.CornerRadius = UDim.new(0, 4) CrossCorner.Parent = CloseCrossBtn -- Title local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, 0, 0, 35) Title.BackgroundTransparency = 1 Title.Text = "CASH AUTO MENU" Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.TextSize = 16 Title.Font = Enum.Font.SourceSansBold Title.Parent = Frame -- Layout local UIListLayout = Instance.new("UIListLayout") UIListLayout.Parent = Frame UIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder UIListLayout.Padding = UDim.new(0, 10) -- Helper to Create Buttons local function createToggleButton(name, text, layoutOrder) local button = Instance.new("TextButton") button.Name = name button.Size = UDim2.new(0, 190, 0, 40) button.BackgroundColor3 = Color3.fromRGB(45, 45, 55) button.TextColor3 = Color3.fromRGB(200, 200, 200) button.Text = text .. " [OFF]" button.Font = Enum.Font.SourceSansSemibold button.TextSize = 14 button.LayoutOrder = layoutOrder button.Parent = Frame local btnCorner = Instance.new("UICorner") btnCorner.CornerRadius = UDim.new(0, 6) btnCorner.Parent = button return button end local ConvertBtn = createToggleButton("ConvertCash", "Auto Convert Cash", 1) local ClaimBtn = createToggleButton("ClaimCash", "Auto Claim Cash", 2) local UpgradeBtn = createToggleButton("UpgradeCash", "Auto Upgrade Cash", 3) -- Close Button (Red X) Click Logic CloseCrossBtn.MouseButton1Click:Connect(function() Frame.Visible = false end) -- Reopen UI Button Click Logic OpenCloseBtn.MouseButton1Click:Connect(function() Frame.Visible = not Frame.Visible end) -- Handle Toggle Visuals and Auto Loops local function setupToggle(button, toggleKey, baseText, actionCallback) button.MouseButton1Click:Connect(function() Toggles[toggleKey] = not Toggles[toggleKey] if Toggles[toggleKey] then button.BackgroundColor3 = Color3.fromRGB(46, 139, 87) button.TextColor3 = Color3.fromRGB(255, 255, 255) button.Text = baseText .. " [ON]" task.spawn(function() while Toggles[toggleKey] do actionCallback() task.wait(1) end end) else button.BackgroundColor3 = Color3.fromRGB(45, 45, 55) button.TextColor3 = Color3.fromRGB(200, 200, 200) button.Text = baseText .. " [OFF]" end end) end -- 1. Auto Convert Cash Logic setupToggle(ConvertBtn, "Convert", "Auto Convert Cash", function() local success, err = pcall(function() local Event = ReplicatedStorage:WaitForChild("LaunderingRemotes"):WaitForChild("RequestLaunder") Event:FireServer("WashingMachine") end) if not success then warn("Convert error:", err) end end) -- 2. Auto Claim Cash Logic setupToggle(ClaimBtn, "Claim", "Auto Claim Cash", function() local success, err = pcall(function() local Event = ReplicatedStorage:WaitForChild("PrinterRemotes"):WaitForChild("RequestAction") Event:FireServer("RustyPrinter", "Claim") end) if not success then warn("Claim error:", err) end end) -- 3. Auto Upgrade Cash Logic setupToggle(UpgradeBtn, "Upgrade", "Auto Upgrade Cash", function() local success, err = pcall(function() local Event = ReplicatedStorage:WaitForChild("PrinterRemotes"):WaitForChild("RequestAction") Event:FireServer("RustyPrinter", "Upgrade") end) if not success then warn("Upgrade error:", err) end end)