local Players = game:GetService("Players") local Workspace = game:GetService("Workspace") local ReplicatedStorage = game:GetService("ReplicatedStorage") local RunService = game:GetService("RunService") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local LocalPlayer = Players.LocalPlayer local KatzHub = {} KatzHub.__index = KatzHub local autofarmEnabled = false local teleportFarmEnabled = false local autofarmConnection = nil local teleportFarmConnection = nil local guiElements = {} function KatzHub:CreateGUI() if game.PlayerGui:FindFirstChild("KatzHub") then game.PlayerGui.KatzHub:Destroy() end local screenGui = Instance.new("ScreenGui") screenGui.Name = "KatzHub" screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling screenGui.Parent = game:GetService("PlayerGui") guiElements.ScreenGui = screenGui local mainFrame = Instance.new("Frame") mainFrame.Name = "MainFrame" mainFrame.Size = UDim2.new(0, 350, 0, 250) mainFrame.Position = UDim2.new(0.5, -175, 0.5, -125) mainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) mainFrame.BorderSizePixel = 0 mainFrame.Active = true mainFrame.Draggable = true mainFrame.Parent = screenGui guiElements.MainFrame = mainFrame local mainFrameCorner = Instance.new("UICorner") mainFrameCorner.CornerRadius = UDim.new(0, 8) mainFrameCorner.Parent = mainFrame local titleBar = Instance.new("Frame") titleBar.Name = "TitleBar" titleBar.Size = UDim2.new(1, 0, 0, 30) titleBar.BackgroundColor3 = Color3.fromRGB(20, 20, 20) titleBar.BorderSizePixel = 0 titleBar.Parent = mainFrame local titleBarCorner = Instance.new("UICorner") titleBarCorner.CornerRadius = UDim.new(0, 8) titleBarCorner.Parent = titleBar local titleLabel = Instance.new("TextLabel") titleLabel.Name = "Title" titleLabel.Size = UDim2.new(1, 0, 1, 0) titleLabel.Position = UDim2.new(0, 10, 0, 0) titleLabel.BackgroundTransparency = 1 titleLabel.Text = "Katz Hub" titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255) titleLabel.TextSize = 14 titleLabel.Font = Enum.Font.GothamBold titleLabel.TextXAlignment = Enum.TextXAlignment.Left titleLabel.Parent = titleBar local closeButton = Instance.new("TextButton") closeButton.Name = "CloseButton" closeButton.Size = UDim2.new(0, 30, 0, 30) closeButton.Position = UDim2.new(1, -30, 0, 0) closeButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40) closeButton.BorderSizePixel = 0 closeButton.Text = "X" closeButton.TextColor3 = Color3.fromRGB(255, 255, 255) closeButton.TextSize = 14 closeButton.Font = Enum.Font.GothamBold closeButton.Parent = titleBar local closeButtonCorner = Instance.new("UICorner") closeButtonCorner.Parent = closeButton local minimizeButton = Instance.new("TextButton") minimizeButton.Name = "MinimizeButton" minimizeButton.Size = UDim2.new(0, 30, 0, 30) minimizeButton.Position = UDim2.new(1, -60, 0, 0) minimizeButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40) minimizeButton.BorderSizePixel = 0 minimizeButton.Text = "_" minimizeButton.TextColor3 = Color3.fromRGB(255, 255, 255) minimizeButton.TextSize = 14 minimizeButton.Font = Enum.Font.GothamBold minimizeButton.Parent = titleBar local minimizeButtonCorner = Instance.new("UICorner") minimizeButtonCorner.Parent = minimizeButton local contentFrame = Instance.new("Frame") contentFrame.Name = "Content" contentFrame.Size = UDim2.new(1, 0, 1, -30) contentFrame.Position = UDim2.new(0, 0, 0, 30) contentFrame.BackgroundTransparency = 1 contentFrame.Parent = mainFrame guiElements.Content = contentFrame local autofarmButton = Instance.new("TextButton") autofarmButton.Name = "AutofarmButton" autofarmButton.Size = UDim2.new(0, 250, 0, 40) autofarmButton.Position = UDim2.new(0.5, -125, 0.2, 0) autofarmButton.BackgroundColor3 = Color3.fromRGB(60, 60, 60) autofarmButton.BorderSizePixel = 0 autofarmButton.Text = "AUTOFARM: OFF" autofarmButton.TextColor3 = Color3.fromRGB(255, 100, 100) autofarmButton.TextSize = 16 autofarmButton.Font = Enum.Font.GothamBold autofarmButton.Parent = contentFrame guiElements.AutofarmButton = autofarmButton local autofarmButtonCorner = Instance.new("UICorner") autofarmButtonCorner.Parent = autofarmButton local teleportFarmButton = Instance.new("TextButton") teleportFarmButton.Name = "TeleportFarmButton" teleportFarmButton.Size = UDim2.new(0, 250, 0, 40) teleportFarmButton.Position = UDim2.new(0.5, -125, 0.5, 0) teleportFarmButton.BackgroundColor3 = Color3.fromRGB(60, 60, 60) teleportFarmButton.BorderSizePixel = 0 teleportFarmButton.Text = "TELEPORT FARM: OFF" teleportFarmButton.TextColor3 = Color3.fromRGB(255, 100, 100) teleportFarmButton.TextSize = 16 teleportFarmButton.Font = Enum.Font.GothamBold teleportFarmButton.Parent = contentFrame guiElements.TeleportFarmButton = teleportFarmButton local teleportFarmButtonCorner = Instance.new("UICorner") teleportFarmButtonCorner.Parent = teleportFarmButton local statusLabel = Instance.new("TextLabel") statusLabel.Name = "StatusLabel" statusLabel.Size = UDim2.new(1, -20, 0, 20) statusLabel.Position = UDim2.new(0, 10, 1, -30) statusLabel.BackgroundTransparency = 1 statusLabel.Text = "Status: Desativado" statusLabel.TextColor3 = Color3.fromRGB(200, 200, 200) statusLabel.TextSize = 12 statusLabel.Font = Enum.Font.GothamBold statusLabel.TextXAlignment = Enum.TextXAlignment.Left statusLabel.Parent = contentFrame guiElements.StatusLabel = statusLabel closeButton.MouseButton1Click:Connect(function() screenGui:Destroy() self:StopAll() end) minimizeButton.MouseButton1Click:Connect(function() contentFrame.Visible = not contentFrame.Visible end) autofarmButton.MouseButton1Click:Connect(function() autofarmEnabled = not autofarmEnabled if autofarmEnabled then self:StartAutofarm() else self:StopAutofarm() end end) teleportFarmButton.MouseButton1Click:Connect(function() teleportFarmEnabled = not teleportFarmEnabled if teleportFarmEnabled then self:StartTeleportFarm() else self:StopTeleportFarm() end end) end function KatzHub:GetAllAliveZombies() local aliveZombies = {} if Workspace:FindFirstChild("enemies") then for _, zombie in pairs(Workspace.enemies:GetChildren()) do if zombie:FindFirstChild("Humanoid") and zombie.Humanoid.Health > 0 then table.insert(aliveZombies, zombie) end end end return aliveZombies end function KatzHub:FindNearestZombie() local nearestZombie = nil local minDistance = math.huge local playerRoot = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if not playerRoot then return nil end local aliveZombies = self:GetAllAliveZombies() for _, zombie in pairs(aliveZombies) do local zombieRoot = zombie:FindFirstChild("HumanoidRootPart") if zombieRoot then local distance = (playerRoot.Position - zombieRoot.Position).Magnitude if distance < minDistance then minDistance = distance nearestZombie = zombie end end end return nearestZombie, minDistance end function KatzHub:TeleportBehindHead(zombie) local playerChar = LocalPlayer.Character if not playerChar or not playerChar:FindFirstChild("HumanoidRootPart") then return false end local zombieHead = zombie:FindFirstChild("Head") if not zombieHead then return false end local targetCFrame = CFrame.new(zombieHead.Position) * CFrame.new(0, 3, 0) + zombieHead.CFrame.LookVector * -5 playerChar.HumanoidRootPart.CFrame = CFrame.new(targetCFrame.p, zombieHead.Position) return true end function KatzHub:ShootZombie(zombie) local playerChar = LocalPlayer.Character if not playerChar or not playerChar:FindFirstChild("HumanoidRootPart") then return false end local zombieHead = zombie:FindFirstChild("Head") if not zombieHead then return false end local gunRemote = ReplicatedStorage:FindFirstChild("Gun") if gunRemote then local args = { [1] = { [Enum.NormalId.Top] = Vector3.new(0, 3, 0), Direction = (zombieHead.Position - playerChar.HumanoidRootPart.Position).Unit, Hit = zombieHead, Name = "Toxic", Sibling = "Head", Pos = zombieHead, Origin = zombieHead.Position, Gun = "Gun" } } gunRemote:FireServer(unpack(args)) return true end return false end function KatzHub:IsZombieDead(zombie) if zombie and zombie:FindFirstChild("Humanoid") then return zombie.Humanoid.Health <= 0 end return true end function KatzHub:StartAutofarm() if autofarmConnection then autofarmConnection:Disconnect() autofarmConnection = nil end autofarmEnabled = true guiElements.AutofarmButton.Text = "AUTOFARM: ON" guiElements.AutofarmButton.TextColor3 = Color3.fromRGB(100, 255, 100) guiElements.StatusLabel.Text = "Status: Procurando zombies..." local currentTarget = nil autofarmConnection = RunService.Heartbeat:Connect(function() if not autofarmEnabled then return end local nearestZombie, distance = self:FindNearestZombie() if nearestZombie then if not currentTarget or self:IsZombieDead(currentTarget) or nearestZombie ~= currentTarget then currentTarget = nearestZombie guiElements.StatusLabel.Text = "Status: Target encontrado - " .. currentTarget.Name end self:ShootZombie(currentTarget) else currentTarget = nil guiElements.StatusLabel.Text = "Status: Nenhum zombie vivo encontrado" end end) end function KatzHub:StopAutofarm() if autofarmConnection then autofarmConnection:Disconnect() autofarmConnection = nil end autofarmEnabled = false guiElements.AutofarmButton.Text = "AUTOFARM: OFF" guiElements.AutofarmButton.TextColor3 = Color3.fromRGB(255, 100, 100) guiElements.StatusLabel.Text = "Status: Desativado" end function KatzHub:StartTeleportFarm() if teleportFarmConnection then teleportFarmConnection:Disconnect() teleportFarmConnection = nil end teleportFarmEnabled = true guiElements.TeleportFarmButton.Text = "TELEPORT FARM: ON" guiElements.TeleportFarmButton.TextColor3 = Color3.fromRGB(100, 255, 100) guiElements.StatusLabel.Text = "Status: Teleport Farm Ativo" teleportFarmConnection = RunService.Heartbeat:Connect(function() if not teleportFarmEnabled then return end local nearestZombie = self:FindNearestZombie() if nearestZombie then self:TeleportBehindHead(nearestZombie) self:ShootZombie(nearestZombie) wait(0.1) else guiElements.StatusLabel.Text = "Status: Nenhum zombie vivo encontrado" end end) end function KatzHub:StopTeleportFarm() if teleportFarmConnection then teleportFarmConnection:Disconnect() teleportFarmConnection = nil end teleportFarmEnabled = false guiElements.TeleportFarmButton.Text = "TELEPORT FARM: OFF" guiElements.TeleportFarmButton.TextColor3 = Color3.fromRGB(255, 100, 100) guiElements.StatusLabel.Text = "Status: Desativado" end function KatzHub:StopAll() self:StopAutofarm() self:StopTeleportFarm() autofarmEnabled = false teleportFarmEnabled = false end function KatzHub:Init() self:CreateGUI() print("Katz Hub inicializado") end KatzHub:Init()