-- Serviços local Players = game:GetService("Players") local RunService = game:GetService("RunService") local LocalPlayer = Players.LocalPlayer -- Variáveis local aimbotActive = false local wallCheckActive = false local espActive = false local targetPart = "HumanoidRootPart" local customTargetEnabled = false -- GUI principal local screenGui = Instance.new("ScreenGui", game.CoreGui) screenGui.Name = "GunGui" local frame = Instance.new("Frame", screenGui) frame.Size = UDim2.new(0, 350, 0, 450) frame.Position = UDim2.new(0, 100, 0, 100) frame.BackgroundColor3 = Color3.fromRGB(15, 15, 70) frame.BorderSizePixel = 0 frame.Active = true frame.Draggable = true Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 15) local title = Instance.new("TextLabel", frame) title.Size = UDim2.new(1, 0, 0, 40) title.Text = "Gun GUI" title.BackgroundTransparency = 1 title.TextColor3 = Color3.new(1,1,1) title.Font = Enum.Font.GothamBold title.TextSize = 26 -- Tabs local tab1Btn = Instance.new("TextButton", frame) tab1Btn.Size = UDim2.new(0.5, 0, 0, 35) tab1Btn.Position = UDim2.new(0, 0, 0, 40) tab1Btn.Text = "Principal" tab1Btn.BackgroundColor3 = Color3.fromRGB(50, 50, 150) tab1Btn.TextColor3 = Color3.new(1,1,1) tab1Btn.Font = Enum.Font.GothamBold tab1Btn.TextSize = 18 local tab2Btn = Instance.new("TextButton", frame) tab2Btn.Size = UDim2.new(0.5, 0, 0, 35) tab2Btn.Position = UDim2.new(0.5, 0, 0, 40) tab2Btn.Text = "Config Aimbot" tab2Btn.BackgroundColor3 = Color3.fromRGB(50, 50, 150) tab2Btn.TextColor3 = Color3.new(1,1,1) tab2Btn.Font = Enum.Font.GothamBold tab2Btn.TextSize = 18 local tab1Frame = Instance.new("Frame", frame) tab1Frame.Size = UDim2.new(1, 0, 1, -75) tab1Frame.Position = UDim2.new(0, 0, 0, 75) tab1Frame.BackgroundColor3 = Color3.fromRGB(30, 30, 90) tab1Frame.Visible = true local tab2Frame = Instance.new("Frame", frame) tab2Frame.Size = UDim2.new(1, 0, 1, -75) tab2Frame.Position = UDim2.new(0, 0, 0, 75) tab2Frame.BackgroundColor3 = Color3.fromRGB(30, 30, 90) tab2Frame.Visible = false -- Função botão padrão local function criarBotao(pai, texto, yPos, func) local btn = Instance.new("TextButton", pai) btn.Size = UDim2.new(0.9, 0, 0, 40) btn.Position = UDim2.new(0.05, 0, 0, yPos) btn.Text = texto btn.BackgroundColor3 = Color3.fromRGB(70, 70, 180) btn.TextColor3 = Color3.new(1,1,1) btn.Font = Enum.Font.GothamBold btn.TextSize = 20 Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 10) btn.MouseButton1Click:Connect(func) end -- Botões aba 1 criarBotao(tab1Frame, "Ativar/Desativar Aimbot", 20, function() aimbotActive = not aimbotActive end) criarBotao(tab1Frame, "Ativar/Desativar Wall Check", 70, function() wallCheckActive = not wallCheckActive end) criarBotao(tab1Frame, "Ativar/Desativar ESP", 120, function() espActive = not espActive end) -- Botões aba 2 criarBotao(tab2Frame, "Ativar/Desativar Mira Customizada", 20, function() customTargetEnabled = not customTargetEnabled end) criarBotao(tab2Frame, "Mira na Head", 70, function() targetPart = "Head" end) criarBotao(tab2Frame, "Mira no Torso", 120, function() targetPart = "Torso" end) criarBotao(tab2Frame, "Mira no HumanoidRootPart", 170, function() targetPart = "HumanoidRootPart" end) criarBotao(tab2Frame, "Mira Randomizada", 220, function() local parts = {"Head", "Torso", "HumanoidRootPart"} targetPart = parts[math.random(#parts)] end) -- Alternar abas local function mudarTab(tab) local c1 = Color3.fromRGB(70, 70, 180) local c2 = Color3.fromRGB(50, 50, 150) tab1Frame.Visible = tab == 1 tab2Frame.Visible = tab == 2 tab1Btn.BackgroundColor3 = tab == 1 and c1 or c2 tab2Btn.BackgroundColor3 = tab == 2 and c1 or c2 end tab1Btn.MouseButton1Click:Connect(function() mudarTab(1) end) tab2Btn.MouseButton1Click:Connect(function() mudarTab(2) end) mudarTab(1) -- Aimbot local aimConn local function isVisible(part) local origin = workspace.CurrentCamera.CFrame.Position local direction = (part.Position - origin).Unit * 500 local params = RaycastParams.new() params.FilterDescendantsInstances = {LocalPlayer.Character} params.FilterType = Enum.RaycastFilterType.Blacklist local result = workspace:Raycast(origin, direction, params) return result and result.Instance:IsDescendantOf(part.Parent) end local function updateAimbot() if aimConn then aimConn:Disconnect() end if not aimbotActive then return end aimConn = RunService.RenderStepped:Connect(function() local cam = workspace.CurrentCamera local closest, dist = nil, math.huge for _, plr in ipairs(Players:GetPlayers()) do if plr ~= LocalPlayer and plr.Character and plr.Character:FindFirstChild(targetPart) then local part = plr.Character[targetPart] if wallCheckActive and not isVisible(part) then continue end local screen, onScreen = cam:WorldToViewportPoint(part.Position) if onScreen then local d = (Vector2.new(screen.X, screen.Y) - cam.ViewportSize / 2).Magnitude if d < dist then closest = part dist = d end end end end if closest then cam.CFrame = CFrame.new(cam.CFrame.Position, closest.Position) end end) end coroutine.wrap(function() while true do updateAimbot() wait(0.2) end end)() -- ESP local espLines, espBoxes = {}, {} local function criarEsp(plr) if espLines[plr] then return end local line = Drawing.new("Line") line.Color = Color3.fromRGB(0, 150, 255) line.Thickness = 2 espLines[plr] = line local box = Drawing.new("Square") box.Color = Color3.fromRGB(0, 150, 255) box.Thickness = 2 espBoxes[plr] = box end local function removerEsp(plr) if espLines[plr] then espLines[plr]:Remove() espLines[plr] = nil end if espBoxes[plr] then espBoxes[plr]:Remove() espBoxes[plr] = nil end end RunService.RenderStepped:Connect(function() if not espActive then for plr in pairs(espLines) do removerEsp(plr) end return end local cam = workspace.CurrentCamera for _, plr in ipairs(Players:GetPlayers()) do if plr ~= LocalPlayer and plr.Character and plr.Character:FindFirstChild("HumanoidRootPart") then criarEsp(plr) local root = plr.Character.HumanoidRootPart local pos, onScreen = cam:WorldToViewportPoint(root.Position) if onScreen then local center = cam.ViewportSize / 2 espLines[plr].From = center espLines[plr].To = Vector2.new(pos.X, pos.Y) espLines[plr].Visible = true espBoxes[plr].Size = Vector2.new(40, 40) espBoxes[plr].Position = Vector2.new(pos.X - 20, pos.Y - 20) espBoxes[plr].Visible = true else espLines[plr].Visible = false espBoxes[plr].Visible = false end else removerEsp(plr) end end end) -- Botão de fechar local closeBtn = Instance.new("TextButton", frame) closeBtn.Size = UDim2.new(0, 35, 0, 35) closeBtn.Position = UDim2.new(1, -40, 0, 5) closeBtn.BackgroundColor3 = Color3.fromRGB(180, 60, 60) closeBtn.TextColor3 = Color3.new(1,1,1) closeBtn.Font = Enum.Font.GothamBold closeBtn.TextSize = 20 closeBtn.Text = "X" Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0, 8) -- Botão para reabrir GUI local reopenBtn = Instance.new("TextButton", screenGui) reopenBtn.Size = UDim2.new(0, 60, 0, 60) reopenBtn.Position = UDim2.new(0, 10, 1, -70) reopenBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 90) reopenBtn.TextColor3 = Color3.new(1,1,1) reopenBtn.Font = Enum.Font.GothamBold reopenBtn.Text = "GUI" reopenBtn.TextSize = 18 reopenBtn.Visible = false Instance.new("UICorner", reopenBtn).CornerRadius = UDim.new(0, 12) closeBtn.MouseButton1Click:Connect(function() frame.Visible = false reopenBtn.Visible = true end) reopenBtn.MouseButton1Click:Connect(function() frame.Visible = true reopenBtn.Visible = false end)