local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Camera = workspace.CurrentCamera local LocalPlayer = Players.LocalPlayer local AimbotEnabled = false local AimbotActive = true local Target = nil local AimPart = "Head" local ESPMode = "Off" local ESPBoxes = {} local TeamNameLabels = {} local HealthBars = {} local HealthBarBackgrounds = {} local HealthBarBorders = {} local HealthTextLabels = {} local ItemLabels = {} local Highlights = {} local ShowTeamNames = false local ShowTeamESP = true local screenGui = Instance.new("ScreenGui") screenGui.Name = "PlayerInfoGui" screenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") screenGui.ResetOnSpawn = false local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 300, 0, 110) frame.Position = UDim2.new(1, -310, 0, 10) frame.BackgroundTransparency = 0.5 frame.BackgroundColor3 = Color3.fromRGB(50, 50, 50) frame.BorderSizePixel = 0 frame.Parent = screenGui local usernameLabel = Instance.new("TextLabel") usernameLabel.Size = UDim2.new(0.33, 0, 0.33, 0) usernameLabel.Position = UDim2.new(0, 0, 0, 0) usernameLabel.BackgroundTransparency = 1 usernameLabel.TextColor3 = Color3.fromRGB(255, 255, 255) usernameLabel.TextScaled = true usernameLabel.Text = "Username: " .. LocalPlayer.Name usernameLabel.Font = Enum.Font.RobotoMono usernameLabel.Parent = frame local fpsLabel = Instance.new("TextLabel") fpsLabel.Size = UDim2.new(0.33, 0, 0.33, 0) fpsLabel.Position = UDim2.new(0.33, 0, 0, 0) fpsLabel.BackgroundTransparency = 1 fpsLabel.TextColor3 = Color3.fromRGB(255, 255, 255) fpsLabel.TextScaled = true fpsLabel.Text = "FPS: 0" fpsLabel.Font = Enum.Font.RobotoMono fpsLabel.Parent = frame local pingLabel = Instance.new("TextLabel") pingLabel.Size = UDim2.new(0.33, 0, 0.33, 0) pingLabel.Position = UDim2.new(0.66, 0, 0, 0) pingLabel.BackgroundTransparency = 1 pingLabel.TextColor3 = Color3.fromRGB(255, 255, 255) pingLabel.TextScaled = true pingLabel.Text = "Ping: 0 ms" pingLabel.Font = Enum.Font.RobotoMono pingLabel.Parent = frame local creditLabel = Instance.new("TextLabel") creditLabel.Size = UDim2.new(1, 0, 0.33, 0) creditLabel.Position = UDim2.new(0, 0, 0.33, 0) creditLabel.BackgroundTransparency = 1 creditLabel.TextColor3 = Color3.fromRGB(0, 255, 255) creditLabel.TextScaled = true creditLabel.Text = "Made by VPNS" creditLabel.Font = Enum.Font.RobotoMono creditLabel.Parent = frame local controlsLabel = Instance.new("TextLabel") controlsLabel.Size = UDim2.new(1, 0, 0.33, 0) controlsLabel.Position = UDim2.new(0, 0, 0.66, 0) controlsLabel.BackgroundTransparency = 1 controlsLabel.TextColor3 = Color3.fromRGB(255, 255, 255) controlsLabel.TextScaled = true controlsLabel.Text = "Controls: [T] Names | [Q] Box ESP | [H] Highlight ESP | [E] Aim Part | [K] Aimbot On/Off | [N] Team ESP | [RMB] Aimbot" controlsLabel.Font = Enum.Font.RobotoMono controlsLabel.Parent = frame local lastTime = tick() local frameCount = 0 local fps = 0 RunService.RenderStepped:Connect(function() frameCount = frameCount + 1 local currentTime = tick() if currentTime - lastTime >= 1 then fps = math.floor(frameCount / (currentTime - lastTime)) frameCount = 0 lastTime = currentTime fpsLabel.Text = "FPS: " .. fps end end) local function updatePing() while true do local ping = math.floor(LocalPlayer:GetNetworkPing() * 1000) pingLabel.Text = "Ping: " .. ping .. " ms" wait(1) end end spawn(updatePing) local function createESPBox(player) if ESPBoxes[player] then ESPBoxes[player]:Remove() if TeamNameLabels[player] then TeamNameLabels[player]:Remove() end if HealthBars[player] then HealthBars[player]:Remove() end if HealthBarBackgrounds[player] then HealthBarBackgrounds[player]:Remove() end if HealthBarBorders[player] then HealthBarBorders[player]:Remove() end if HealthTextLabels[player] then HealthTextLabels[player]:Remove() end if ItemLabels[player] then ItemLabels[player]:Remove() end if Highlights[player] then Highlights[player]:Destroy() end end local box = Drawing.new("Square") box.Visible = false box.Thickness = 2 box.Color = Color3.fromRGB(255, 255, 255) box.Filled = false ESPBoxes[player] = box local label = Drawing.new("Text") label.Visible = false label.Size = 20 label.Center = true label.Outline = true label.Color = Color3.fromRGB(255, 255, 255) label.Text = player.Name .. (player.Team and " (" .. player.Team.Name .. ")" or "") TeamNameLabels[player] = label local healthBarBackground = Drawing.new("Square") healthBarBackground.Visible = false healthBarBackground.Thickness = 1 healthBarBackground.Color = Color3.fromRGB(50, 50, 50) healthBarBackground.Filled = true HealthBarBackgrounds[player] = healthBarBackground local healthBarBorder = Drawing.new("Square") healthBarBorder.Visible = false healthBarBorder.Thickness = 1 healthBarBorder.Color = Color3.fromRGB(255, 255, 255) healthBarBorder.Filled = false HealthBarBorders[player] = healthBarBorder local healthBar = Drawing.new("Square") healthBar.Visible = false healthBar.Thickness = 1 healthBar.Color = Color3.fromRGB(0, 255, 0) healthBar.Filled = true HealthBars[player] = healthBar local healthText = Drawing.new("Text") healthText.Visible = false healthText.Size = 18 healthText.Center = true healthText.Outline = true healthText.Color = Color3.fromRGB(255, 255, 255) healthText.Text = "100/100" HealthTextLabels[player] = healthText local itemLabel = Drawing.new("Text") itemLabel.Visible = false itemLabel.Size = 16 itemLabel.Center = true itemLabel.Outline = true itemLabel.Color = Color3.fromRGB(255, 255, 255) itemLabel.Text = "None" ItemLabels[player] = itemLabel local highlight = Instance.new("Highlight") highlight.Enabled = false highlight.FillTransparency = 1 highlight.OutlineColor = Color3.fromRGB(0, 255, 0) highlight.OutlineTransparency = 0 highlight.Adornee = player.Character highlight.Parent = game.CoreGui Highlights[player] = highlight RunService.RenderStepped:Connect(function() if not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") or not player.Character:FindFirstChild("Humanoid") then box.Visible = false label.Visible = false healthBar.Visible = false healthBarBackground.Visible = false healthBarBorder.Visible = false healthText.Visible = false itemLabel.Visible = false highlight.Enabled = false return end local rootPart = player.Character.HumanoidRootPart local humanoid = player.Character.Humanoid local screenPos, onScreen = Camera:WorldToViewportPoint(rootPart.Position) highlight.Adornee = player.Character local heldItem = "None" if player.Character:FindFirstChildOfClass("Tool") then heldItem = player.Character:FindFirstChildOfClass("Tool").Name end if onScreen and (ShowTeamESP or player.Team ~= LocalPlayer.Team) then local healthRatio = humanoid.Health / humanoid.MaxHealth local healthColor = Color3.fromRGB(255 * (1 - healthRatio), 255 * healthRatio, 0) if ESPMode == "Box" then local sizeY = 3 local sizeX = 2 local topLeft = Camera:WorldToViewportPoint(rootPart.Position + Vector3.new(-sizeX, sizeY, 0)) local bottomRight = Camera:WorldToViewportPoint(rootPart.Position + Vector3.new(sizeX, -sizeY, 0)) box.Size = Vector2.new( math.abs(bottomRight.X - topLeft.X), math.abs(bottomRight.Y - topLeft.Y) ) box.Position = Vector2.new( math.min(topLeft.X, bottomRight.X), math.min(topLeft.Y, bottomRight.Y) ) box.Color = Color3.fromRGB(255, 255, 255) box.Visible = true local labelPos = Camera:WorldToViewportPoint(rootPart.Position + Vector3.new(0, 3.5, 0)) label.Position = Vector2.new(labelPos.X, labelPos.Y) label.Text = player.Name .. (player.Team and " (" .. player.Team.Name .. ")" or "") label.Visible = ShowTeamNames itemLabel.Position = Vector2.new(labelPos.X, labelPos.Y + 20) itemLabel.Text = heldItem itemLabel.Visible = ShowTeamNames local healthBarWidth = 80 local healthBarHeight = 8 local healthBarPos = Camera:WorldToViewportPoint(rootPart.Position + Vector3.new(0, 4, 0)) healthBarBackground.Size = Vector2.new(healthBarWidth + 4, healthBarHeight + 4) healthBarBackground.Position = Vector2.new(healthBarPos.X - healthBarWidth / 2 - 2, healthBarPos.Y - healthBarHeight / 2 - 2) healthBarBackground.Visible = ShowTeamNames healthBarBorder.Size = Vector2.new(healthBarWidth + 4, healthBarHeight + 4) healthBarBorder.Position = Vector2.new(healthBarPos.X - healthBarWidth / 2 - 2, healthBarPos.Y - healthBarHeight / 2 - 2) healthBarBorder.Visible = ShowTeamNames healthBar.Size = Vector2.new(healthBarWidth * healthRatio, healthBarHeight) healthBar.Position = Vector2.new(healthBarPos.X - healthBarWidth / 2, healthBarPos.Y - healthBarHeight / 2) healthBar.Color = healthColor healthBar.Visible = ShowTeamNames healthText.Position = Vector2.new(healthBarPos.X, healthBarPos.Y - healthBarHeight / 2 - 12) healthText.Text = math.floor(humanoid.Health) .. "/" .. math.floor(humanoid.MaxHealth) healthText.Visible = ShowTeamNames highlight.Enabled = false elseif ESPMode == "Highlight" then highlight.OutlineColor = healthColor highlight.Enabled = true local labelPos = Camera:WorldToViewportPoint(rootPart.Position + Vector3.new(0, 3.5, 0)) label.Position = Vector2.new(labelPos.X, labelPos.Y) label.Text = player.Name .. (player.Team and " (" .. player.Team.Name .. ")" or "") label.Visible = ShowTeamNames itemLabel.Position = Vector2.new(labelPos.X, labelPos.Y + 20) itemLabel.Text = heldItem itemLabel.Visible = ShowTeamNames local healthBarWidth = 80 local healthBarHeight = 8 local healthBarPos = Camera:WorldToViewportPoint(rootPart.Position + Vector3.new(0, 4, 0)) healthBarBackground.Size = Vector2.new(healthBarWidth + 4, healthBarHeight + 4) healthBarBackground.Position = Vector2.new(healthBarPos.X - healthBarWidth / 2 - 2, healthBarPos.Y - healthBarHeight / 2 - 2) healthBarBackground.Visible = ShowTeamNames healthBarBorder.Size = Vector2.new(healthBarWidth + 4, healthBarHeight + 4) healthBarBorder.Position = Vector2.new(healthBarPos.X - healthBarWidth / 2 - 2, healthBarPos.Y - healthBarHeight / 2 - 2) healthBarBorder.Visible = ShowTeamNames healthBar.Size = Vector2.new(healthBarWidth * healthRatio, healthBarHeight) healthBar.Position = Vector2.new(healthBarPos.X - healthBarWidth / 2, healthBarPos.Y - healthBarHeight / 2) healthBar.Color = healthColor healthBar.Visible = ShowTeamNames healthText.Position = Vector2.new(healthBarPos.X, healthBarPos.Y - healthBarHeight / 2 - 12) healthText.Text = math.floor(humanoid.Health) .. "/" .. math.floor(humanoid.MaxHealth) healthText.Visible = ShowTeamNames else box.Visible = false label.Visible = false healthBar.Visible = false healthBarBackground.Visible = false healthBarBorder.Visible = false healthText.Visible = false itemLabel.Visible = false highlight.Enabled = false end else box.Visible = false label.Visible = false healthBar.Visible = false healthBarBackground.Visible = false healthBarBorder.Visible = false healthText.Visible = false itemLabel.Visible = false highlight.Enabled = false end end) end UserInputService.InputBegan:Connect(function(input, gpe) if input.KeyCode == Enum.KeyCode.T and not gpe then ShowTeamNames = not ShowTeamNames end end) local function getNearestTarget() local closest, shortest = nil, math.huge for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild(AimPart) then if ShowTeamESP or player.Team ~= LocalPlayer.Team then local humanoid = player.Character:FindFirstChild("Humanoid") if humanoid and humanoid.Health > 0 then local pos, onScreen = Camera:WorldToViewportPoint(player.Character[AimPart].Position) if onScreen then local dist = (Vector2.new(pos.X, pos.Y) - UserInputService:GetMouseLocation()).Magnitude if dist < shortest then shortest = dist closest = player.Character[AimPart] end end end end end end return closest end UserInputService.InputBegan:Connect(function(input, gpe) if input.UserInputType == Enum.UserInputType.MouseButton2 and AimbotActive then AimbotEnabled = not AimbotEnabled Target = AimbotEnabled and getNearestTarget() or nil UserInputService.MouseBehavior = AimbotEnabled and Enum.MouseBehavior.LockCenter or Enum.MouseBehavior.Default end end) UserInputService.InputBegan:Connect(function(input, gpe) if input.KeyCode == Enum.KeyCode.E and not gpe then AimPart = AimPart == "Head" and "HumanoidRootPart" or "Head" Target = getNearestTarget() end end) UserInputService.InputBegan:Connect(function(input, gpe) if input.KeyCode == Enum.KeyCode.Q and not gpe then if ESPMode == "Box" then ESPMode = "Off" else ESPMode = "Box" end end end) UserInputService.InputBegan:Connect(function(input, gpe) if input.KeyCode == Enum.KeyCode.H and not gpe then if ESPMode == "Highlight" then ESPMode = "Off" else ESPMode = "Highlight" end end end) UserInputService.InputBegan:Connect(function(input, gpe) if input.KeyCode == Enum.KeyCode.K and not gpe then AimbotActive = not AimbotActive AimbotEnabled = false Target = nil UserInputService.MouseBehavior = Enum.MouseBehavior.Default end end) UserInputService.InputBegan:Connect(function(input, gpe) if input.KeyCode == Enum.KeyCode.N and not gpe then ShowTeamESP = not ShowTeamESP if AimbotEnabled then Target = getNearestTarget() end end end) RunService.RenderStepped:Connect(function() if AimbotEnabled and Target then local human = Target.Parent:FindFirstChild("Humanoid") if human and human.Health > 0 then Camera.CFrame = CFrame.new(Camera.CFrame.Position, Target.Position) else AimbotEnabled = false Target = nil UserInputService.MouseBehavior = Enum.MouseBehavior.Default end end end) for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer then createESPBox(player) end end Players.PlayerAdded:Connect(function(player) if player ~= LocalPlayer then createESPBox(player) end end) Players.PlayerRemoving:Connect(function(player) if ESPBoxes[player] then ESPBoxes[player]:Remove() ESPBoxes[player] = nil end if TeamNameLabels[player] then TeamNameLabels[player]:Remove() TeamNameLabels[player] = nil end if HealthBars[player] then HealthBars[player]:Remove() HealthBars[player] = nil end if HealthBarBackgrounds[player] then HealthBarBackgrounds[player]:Remove() HealthBarBackgrounds[player] = nil end if HealthBarBorders[player] then HealthBarBorders[player]:Remove() HealthBarBorders[player] = nil end if HealthTextLabels[player] then HealthTextLabels[player]:Remove() HealthTextLabels[player] = nil end if ItemLabels[player] then ItemLabels[player]:Remove() ItemLabels[player] = nil end if Highlights[player] then Highlights[player]:Destroy() Highlights[player] = nil end end)