-- VonniBack V1 - Dynamic Dig Anywhere + Info Tab + Destroy Button local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") local digging = false local terrain = workspace:WaitForChild("Terrain") -- Finds Dig RemoteEvent in Backpack or Character (no equip needed) local function getDigRemote() for _, container in {player.Backpack, player.Character} do if container then local tool = container:FindFirstChild("Dig") if tool and tool:IsA("Tool") then local remote = tool:FindFirstChild("RemoteEvent") if remote then return remote end end end end return nil end local function startDynamicDig(btn) if digging then return end digging = true btn.Text = "DIGGING... (60s)" btn.BackgroundColor3 = Color3.fromRGB(255, 140, 0) local stroke = btn:FindFirstChildOfClass("UIStroke") if stroke then stroke.Color = Color3.fromRGB(255, 200, 80) end task.spawn(function() local start = tick() while digging and tick() - start < 60 do local remote = getDigRemote() if remote and player.Character then local root = player.Character:FindFirstChild("HumanoidRootPart") if root then local digPos = root.Position + Vector3.new(0, -2, -4) local cf = CFrame.new(digPos) * CFrame.Angles(math.rad(-80), 0, 0) remote:FireServer(terrain, cf) end end task.wait(0.001) end digging = false if btn and btn.Parent then btn.Text = "Start Dynamic Dig (60s)" btn.BackgroundColor3 = Color3.fromRGB(40, 200, 90) if stroke then stroke.Color = Color3.fromRGB(80, 255, 140) end end end) end -- GUI creation local screenGui = Instance.new("ScreenGui") screenGui.Name = "AntBacs" screenGui.ResetOnSpawn = false screenGui.Parent = playerGui local main = Instance.new("Frame") main.Size = UDim2.new(0, 380, 0, 480) main.Position = UDim2.new(0.5, -190, 1.1, 0) main.BackgroundColor3 = Color3.fromRGB(20, 20, 32) main.BorderSizePixel = 0 main.Visible = false main.Parent = screenGui local uc = Instance.new("UICorner"); uc.CornerRadius = UDim.new(0, 14); uc.Parent = main local us = Instance.new("UIStroke"); us.Color = Color3.fromRGB(80,80,140); us.Thickness = 1.5; us.Transparency = 0.5; us.Parent = main -- Title local title = Instance.new("TextLabel") title.Size = UDim2.new(1,0,0,50) title.BackgroundTransparency = 1 title.Text = "AntBacs" title.TextColor3 = Color3.fromRGB(220,220,255) title.TextScaled = true title.Font = Enum.Font.GothamBold title.Parent = main -- Tabs container local tabsFrame = Instance.new("Frame") tabsFrame.Size = UDim2.new(1,-20,0,45) tabsFrame.Position = UDim2.new(0,10,0,55) tabsFrame.BackgroundColor3 = Color3.fromRGB(30,30,45) tabsFrame.BorderSizePixel = 0 tabsFrame.Parent = main local tabsCorner = Instance.new("UICorner"); tabsCorner.CornerRadius = UDim.new(0,10); tabsCorner.Parent = tabsFrame local tabsList = Instance.new("UIListLayout") tabsList.FillDirection = Enum.FillDirection.Horizontal tabsList.HorizontalAlignment = Enum.HorizontalAlignment.Center tabsList.Padding = UDim.new(0,8) tabsList.Parent = tabsFrame -- Scroll area local scroll = Instance.new("ScrollingFrame") scroll.Size = UDim2.new(1,-20,1,-115) scroll.Position = UDim2.new(0,10,0,105) scroll.BackgroundTransparency = 1 scroll.ScrollBarThickness = 5 scroll.ScrollBarImageColor3 = Color3.fromRGB(90,90,150) scroll.CanvasSize = UDim2.new(0,0,0,0) scroll.Parent = main -- Tab creation helper local currentTab = nil local function createTabButton(name) local btn = Instance.new("TextButton") btn.Size = UDim2.new(0, 100, 1, 0) btn.BackgroundColor3 = Color3.fromRGB(40,40,55) btn.Text = name btn.TextColor3 = Color3.fromRGB(180,180,220) btn.Font = Enum.Font.GothamSemibold btn.TextScaled = true btn.Parent = tabsFrame local c = Instance.new("UICorner"); c.CornerRadius = UDim.new(0,8); c.Parent = btn return btn end local builderTab = createTabButton("Builder") local infoTab = createTabButton("Info") -- Make first tab active by default builderTab.BackgroundColor3 = Color3.fromRGB(60,60,90) builderTab.TextColor3 = Color3.fromRGB(255,255,255) -- Content clear helper local function clearScroll() for _, child in scroll:GetChildren() do if child:IsA("GuiObject") then child:Destroy() end end end -- Builder tab content (Dynamic Dig) local function loadBuilderTab() clearScroll() local list = Instance.new("UIListLayout") list.Padding = UDim.new(0, 15) list.SortOrder = Enum.SortOrder.LayoutOrder list.Parent = scroll list:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() scroll.CanvasSize = UDim2.new(0,0,0,list.AbsoluteContentSize.Y + 30) end) local digBtn = Instance.new("TextButton") digBtn.Size = UDim2.new(1,0,0,70) digBtn.BackgroundColor3 = Color3.fromRGB(40, 200, 90) digBtn.Text = "Start Dynamic Dig (10s)" digBtn.TextColor3 = Color3.new(1,1,1) digBtn.Font = Enum.Font.GothamBold digBtn.TextSize = 22 digBtn.Parent = scroll local bc = Instance.new("UICorner"); bc.CornerRadius = UDim.new(0,12); bc.Parent = digBtn local bs = Instance.new("UIStroke") bs.Color = Color3.fromRGB(80,255,140) bs.Thickness = 2 bs.Transparency = 0.3 bs.Parent = digBtn digBtn.MouseButton1Click:Connect(function() startDynamicDig(digBtn) end) end -- Info tab content local function loadInfoTab() clearScroll() local infoText = [[ Current Features (January 2026): • Dynamic Auto-Dig - Digs automatically in front of your character - Works almost anywhere on the map - you need to equip the Dig/Shovel tool - Tool can stay in Backpack - 0.1 second interval (fast) - Automatically stops after 10 seconds • GUI Controls - Press M to show/hide the interface - Draggable by title bar - Two tabs: Builder & Info • Current limitations - Only one active feature (dynamic digging) - No additional exploits implemented yet Use responsibly. ]] local label = Instance.new("TextLabel") label.Size = UDim2.new(1, -20, 0, 400) label.Position = UDim2.new(0,10,0,10) label.BackgroundTransparency = 1 label.Text = infoText label.TextColor3 = Color3.fromRGB(200, 200, 230) label.TextSize = 16 label.TextXAlignment = Enum.TextXAlignment.Left label.TextYAlignment = Enum.TextYAlignment.Top label.TextWrapped = true label.Font = Enum.Font.GothamSemibold label.Parent = scroll end -- Tab switching builderTab.MouseButton1Click:Connect(function() builderTab.BackgroundColor3 = Color3.fromRGB(60,60,90) builderTab.TextColor3 = Color3.fromRGB(255,255,255) infoTab.BackgroundColor3 = Color3.fromRGB(40,40,55) infoTab.TextColor3 = Color3.fromRGB(180,180,220) loadBuilderTab() end) infoTab.MouseButton1Click:Connect(function() infoTab.BackgroundColor3 = Color3.fromRGB(60,60,90) infoTab.TextColor3 = Color3.fromRGB(255,255,255) builderTab.BackgroundColor3 = Color3.fromRGB(40,40,55) builderTab.TextColor3 = Color3.fromRGB(180,180,220) loadInfoTab() end) -- Draggable local dragging, dragInput, dragStart, startPos title.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = main.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) UserInputService.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement and dragging then local delta = input.Position - dragStart main.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) -- Toggle with M local normalPos = UDim2.new(0.5, -190, 0.5, -240) local hiddenPos = UDim2.new(0.5, -190, 1.1, 0) local function toggleGui() if main.Visible then TweenService:Create(main, TweenInfo.new(0.4, Enum.EasingStyle.Quint), {Position = hiddenPos}):Play() task.delay(0.45, function() main.Visible = false end) else main.Visible = true main.Position = hiddenPos TweenService:Create(main, TweenInfo.new(0.4, Enum.EasingStyle.Quint), {Position = normalPos}):Play() end end UserInputService.InputBegan:Connect(function(input, gp) if gp then return end if input.KeyCode == Enum.KeyCode.M then toggleGui() end end) -- Destroy button at the bottom local destroyBtn = Instance.new("TextButton") destroyBtn.Size = UDim2.new(1, -40, 0, 40) destroyBtn.Position = UDim2.new(0, 20, 1, -60) destroyBtn.BackgroundColor3 = Color3.fromRGB(180, 40, 40) destroyBtn.Text = "DESTROY GUI (permanent until re-execute)" destroyBtn.TextColor3 = Color3.new(1,1,1) destroyBtn.Font = Enum.Font.GothamBold destroyBtn.TextSize = 16 destroyBtn.Parent = main local dc = Instance.new("UICorner"); dc.CornerRadius = UDim.new(0,10); dc.Parent = destroyBtn destroyBtn.MouseButton1Click:Connect(function() screenGui:Destroy() end) -- Initial tab loadBuilderTab() print("VonniBack V1 loaded - Press M to toggle • Dynamic dig anywhere • Info tab ")