if getgenv().VoidESP_Kill then pcall(getgenv().VoidESP_Kill) end local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local CoreGui = game:GetService("CoreGui") local LocalPlayer = Players.LocalPlayer local Camera = workspace.CurrentCamera local configs = { espLigado = true, modoAtual = "Jogadores", linhasLigadas = true, velocidadeAlvo = 50 } local espCacheJogadores = {} local espCachePartes = {} local conexoes = {} local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "VoidESP_GUI" ScreenGui.ResetOnSpawn = false local sucesso, _ = pcall(function() ScreenGui.Parent = CoreGui end) if not sucesso then ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") end local MainFrame = Instance.new("Frame") MainFrame.Name = "Main" MainFrame.Size = UDim2.new(0, 140, 0, 120) MainFrame.Position = UDim2.new(0, 20, 0, 20) MainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20) MainFrame.BorderSizePixel = 0 MainFrame.BackgroundTransparency = 0.1 MainFrame.Active = true MainFrame.Draggable = true MainFrame.Parent = ScreenGui local UICorner = Instance.new("UICorner") UICorner.CornerRadius = UDim.new(0, 6) UICorner.Parent = MainFrame local CreditLabel = Instance.new("TextLabel") CreditLabel.Name = "Credit" CreditLabel.Size = UDim2.new(1, 0, 0, 22) CreditLabel.BackgroundTransparency = 1 CreditLabel.Text = ".gg/HYzMEcFDwg" CreditLabel.TextColor3 = Color3.fromRGB(180, 180, 180) CreditLabel.TextSize = 13 CreditLabel.Font = Enum.Font.Code CreditLabel.Parent = MainFrame CreditLabel.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then setclipboard("https://discord.gg/HYzMEcFDwg") CreditLabel.Text = "✓ Copiado!" task.delay(1.5, function() if CreditLabel then CreditLabel.Text = ".gg/HYzMEcFDwg" end end) end end) local ToggleButton = Instance.new("TextButton") ToggleButton.Name = "Toggle" ToggleButton.Size = UDim2.new(1, -16, 0, 32) ToggleButton.Position = UDim2.new(0, 8, 0, 28) ToggleButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40) ToggleButton.Text = "ON" ToggleButton.TextColor3 = Color3.fromRGB(0, 255, 100) ToggleButton.TextSize = 14 ToggleButton.Font = Enum.Font.GothamBold ToggleButton.Parent = MainFrame local ToggleCorner = Instance.new("UICorner") ToggleCorner.CornerRadius = UDim.new(0, 5) ToggleCorner.Parent = ToggleButton local function updateToggleVisual() if configs.espLigado then ToggleButton.Text = "ON" ToggleButton.TextColor3 = Color3.fromRGB(0, 255, 100) ToggleButton.BackgroundColor3 = Color3.fromRGB(40, 70, 40) else ToggleButton.Text = "OFF" ToggleButton.TextColor3 = Color3.fromRGB(255, 80, 80) ToggleButton.BackgroundColor3 = Color3.fromRGB(70, 40, 40) end end ToggleButton.MouseButton1Click:Connect(function() configs.espLigado = not configs.espLigado updateToggleVisual() end) updateToggleVisual() local SliderLabel = Instance.new("TextLabel") SliderLabel.Name = "SliderLabel" SliderLabel.Size = UDim2.new(1, -16, 0, 15) SliderLabel.Position = UDim2.new(0, 8, 0, 68) SliderLabel.BackgroundTransparency = 1 SliderLabel.Text = "Velocidade: " .. configs.velocidadeAlvo SliderLabel.TextColor3 = Color3.fromRGB(200, 200, 200) SliderLabel.TextSize = 11 SliderLabel.Font = Enum.Font.Gotham SliderLabel.TextXAlignment = Enum.TextXAlignment.Left SliderLabel.Parent = MainFrame local SliderButton = Instance.new("TextButton") SliderButton.Name = "Slider" SliderButton.Size = UDim2.new(1, -16, 0, 14) SliderButton.Position = UDim2.new(0, 8, 0, 88) SliderButton.BackgroundColor3 = Color3.fromRGB(45, 45, 45) SliderButton.Text = "" SliderButton.AutoButtonColor = false SliderButton.Parent = MainFrame local SliderCorner = Instance.new("UICorner") SliderCorner.CornerRadius = UDim.new(0, 4) SliderCorner.Parent = SliderButton local SliderBar = Instance.new("Frame") SliderBar.Name = "Bar" local pctInicial = (configs.velocidadeAlvo - 16) / (200 - 16) SliderBar.Size = UDim2.new(pctInicial, 0, 1, 0) SliderBar.BackgroundColor3 = Color3.fromRGB(0, 150, 255) SliderBar.BorderSizePixel = 0 SliderBar.Parent = SliderButton local BarCorner = Instance.new("UICorner") BarCorner.CornerRadius = UDim.new(0, 4) BarCorner.Parent = SliderBar local arrastandoSlider = false local function atualizarSlider(input) local minWalk, maxWalk = 16, 200 local mouseX = input.Position.X local buttonLeft = SliderButton.AbsolutePosition.X local buttonWidth = SliderButton.AbsoluteSize.X local percent = math.clamp((mouseX - buttonLeft) / buttonWidth, 0, 1) SliderBar.Size = UDim2.new(percent, 0, 1, 0) configs.velocidadeAlvo = math.round(minWalk + (percent * (maxWalk - minWalk))) SliderLabel.Text = "Velocidade: " .. configs.velocidadeAlvo if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then LocalPlayer.Character.Humanoid.WalkSpeed = configs.velocidadeAlvo end end table.insert(conexoes, SliderButton.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then arrastandoSlider = true atualizarSlider(input) end end)) table.insert(conexoes, UserInputService.InputChanged:Connect(function(input) if arrastandoSlider and input.UserInputType == Enum.UserInputType.MouseMovement then atualizarSlider(input) end end)) table.insert(conexoes, UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then arrastandoSlider = false end end)) local loopAtivo = true task.spawn(function() while loopAtivo do local character = LocalPlayer.Character if character then local humanoid = character:FindFirstChild("Humanoid") if humanoid and humanoid.Health > 0 then humanoid.WalkSpeed = configs.velocidadeAlvo humanoid.JumpPower = 50 end end task.wait(5) end end) local function criarElementosESP(ehJogador, instancia) local highlight = Instance.new("Highlight") highlight.FillTransparency = 1 highlight.OutlineTransparency = 0 highlight.Enabled = false if ehJogador then local sucesso = pcall(function() highlight.Parent = CoreGui end) if not sucesso then highlight.Parent = LocalPlayer:WaitForChild("PlayerGui") end else highlight.Parent = instancia end local linha = Drawing.new("Line") linha.Visible = false linha.Thickness = 1.5 linha.Transparency = 1 return { Highlight = highlight, Linha = linha, RemovidoEm = nil, ParteFantasma = nil, UltimaPosicao = nil } end local function adicionarJogador(jogador) if jogador == LocalPlayer or espCacheJogadores[jogador] then return end espCacheJogadores[jogador] = criarElementosESP(true, nil) end local function removerJogador(jogador) if espCacheJogadores[jogador] then if espCacheJogadores[jogador].Highlight then espCacheJogadores[jogador].Highlight:Destroy() end if espCacheJogadores[jogador].Linha then espCacheJogadores[jogador].Linha:Remove() end espCacheJogadores[jogador] = nil end end for _, jogador in ipairs(Players:GetPlayers()) do adicionarJogador(jogador) end table.insert(conexoes, Players.PlayerAdded:Connect(adicionarJogador)) table.insert(conexoes, Players.PlayerRemoving:Connect(removerJogador)) local function checarEAdicionarParte(instancia) if instancia:IsA("BasePart") then local nomeMinusculo = string.lower(instancia.Name) if string.find(nomeMinusculo, "impact") or string.find(nomeMinusculo, "inpact") then if not espCachePartes[instancia] then espCachePartes[instancia] = criarElementosESP(false, instancia) end end end end local function removerParte(instancia) if espCachePartes[instancia] and not espCachePartes[instancia].RemovidoEm then local cache = espCachePartes[instancia] cache.RemovidoEm = os.clock() local sucesso, pos, size = pcall(function() return instancia.Position, instancia.Size end) if sucesso then cache.UltimaPosicao = pos local fantasma = Instance.new("Part") fantasma.Size = size fantasma.Position = pos fantasma.Anchored = true fantasma.CanCollide = false fantasma.Transparency = 1 fantasma.Parent = workspace cache.ParteFantasma = fantasma if cache.Highlight then cache.Highlight.Parent = fantasma end else if cache.Highlight then cache.Highlight:Destroy() end if cache.Linha then cache.Linha:Remove() end espCachePartes[instancia] = nil end end end for _, inst in ipairs(workspace:GetDescendants()) do checarEAdicionarParte(inst) end table.insert(conexoes, workspace.DescendantAdded:Connect(checarEAdicionarParte)) table.insert(conexoes, workspace.DescendantRemoving:Connect(removerParte)) local renderConnection = RunService.RenderStepped:Connect(function() local modoJogadores = configs.espLigado and configs.modoAtual == "Jogadores" local modoPartes = configs.espLigado and configs.modoAtual == "Partes" for jogador, cache in pairs(espCacheJogadores) do local character = jogador.Character local vivo = character and character:FindFirstChild("HumanoidRootPart") and character:FindFirstChild("Humanoid") and character.Humanoid.Health > 0 if modoJogadores and vivo then local hrp = character.HumanoidRootPart local posTela, naTela = Camera:WorldToViewportPoint(hrp.Position) cache.Highlight.Adornee = character cache.Highlight.OutlineColor = Color3.fromRGB(255, 0, 0) cache.Highlight.Enabled = true if configs.linhasLigadas and naTela then cache.Linha.From = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y) cache.Linha.To = Vector2.new(posTela.X, posTela.Y) cache.Linha.Color = Color3.fromRGB(255, 0, 0) cache.Linha.Visible = true else cache.Linha.Visible = false end else cache.Highlight.Enabled = false cache.Highlight.Adornee = nil cache.Linha.Visible = false end end for instancia, cache in pairs(espCachePartes) do local tempoExcedido = false if cache.RemovidoEm then if os.clock() - cache.RemovidoEm >= 30 then tempoExcedido = true end end if tempoExcedido then if cache.Highlight then cache.Highlight:Destroy() end if cache.Linha then cache.Linha:Remove() end if cache.ParteFantasma then cache.ParteFantasma:Destroy() end espCachePartes[instancia] = nil else if modoPartes then local posAlvo = cache.UltimaPosicao if not cache.RemovidoEm then pcall(function() posAlvo = instancia.Position end) end if posAlvo then local posTela, naTela = Camera:WorldToViewportPoint(posAlvo) if cache.RemovidoEm then cache.Highlight.Adornee = cache.ParteFantasma else cache.Highlight.Adornee = instancia end cache.Highlight.OutlineColor = Color3.fromRGB(0, 255, 0) cache.Highlight.Enabled = true if configs.linhasLigadas and naTela then cache.Linha.From = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y) cache.Linha.To = Vector2.new(posTela.X, posTela.Y) cache.Linha.Color = Color3.fromRGB(0, 255, 0) cache.Linha.Visible = true else cache.Linha.Visible = false end else cache.Highlight.Enabled = false cache.Highlight.Adornee = nil cache.Linha.Visible = false end else cache.Highlight.Enabled = false cache.Highlight.Adornee = nil cache.Linha.Visible = false end end end end) table.insert(conexoes, renderConnection) local inputConnection = UserInputService.InputBegan:Connect(function(input, processado) if processado then return end if input.KeyCode == Enum.KeyCode.P then configs.espLigado = not configs.espLigado updateToggleVisual() elseif input.KeyCode == Enum.KeyCode.O then if configs.modoAtual == "Jogadores" then configs.modoAtual = "Partes" else configs.modoAtual = "Jogadores" end elseif input.KeyCode == Enum.KeyCode.M then configs.linhasLigadas = not configs.linhasLigadas end end) table.insert(conexoes, inputConnection) getgenv().VoidESP_Kill = function() loopAtivo = false for _, conn in ipairs(conexoes) do if conn and conn.Disconnect then pcall(function() conn:Disconnect() end) end end for _, cache in pairs(espCacheJogadores) do if cache.Highlight then pcall(function() cache.Highlight:Destroy() end) end if cache.Linha then pcall(function() cache.Linha:Remove() end) end end for _, cache in pairs(espCachePartes) do if cache.Highlight then pcall(function() cache.Highlight:Destroy() end) end if cache.Linha then pcall(function() cache.Linha:Remove() end) end if cache.ParteFantasma then pcall(function() cache.ParteFantasma:Destroy() end) end end if ScreenGui then ScreenGui:Destroy() end table.clear(espCacheJogadores) table.clear(espCachePartes) table.clear(conexoes) getgenv().VoidESP_Kill = nil end