do local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local Players = game:GetService("Players") local Camera = workspace.CurrentCamera local LocalPlayer = Players.LocalPlayer local FOV = 120 local AimbotEnabled = true local MenuVisible = false local TargetPart = "Head" local TeamCheck = false local WallCheck = true local Smoothness = 0 local ESPTracers = true local ESPNames = false local ESPChams = true local ESPTeamCheck = false ---------------------------------------------------------------- -- FOV CIRCLE ---------------------------------------------------------------- local FOVCircle = Drawing.new("Circle") FOVCircle.Visible = true FOVCircle.Thickness =10 FOVCircle.Color = Color3.fromRGB(128, 0, 0) FOVCircle.Filled = false FOVCircle.Radius = FOV FOVCircle.Position = Camera.ViewportSize / 2 ---------------------------------------------------------------- -- TARGET SELECTION ---------------------------------------------------------------- local function getTargetPart(character) if TargetPart == "Torso" then return character:FindFirstChild("UpperTorso") or character:FindFirstChild("Torso") end return character:FindFirstChild(TargetPart) end local function wallCheck(part) if not WallCheck then return true end local origin = Camera.CFrame.Position local direction = part.Position - origin local params = RaycastParams.new() params.FilterType = Enum.RaycastFilterType.Exclude params.FilterDescendantsInstances = { LocalPlayer.Character } local result = workspace:Raycast(origin, direction, params) return result and result.Instance:IsDescendantOf(part.Parent) end local function getClosestTarget() local closestPart = nil local closestDistance = math.huge local screenCenter = Camera.ViewportSize / 2 for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer and player.Character then local humanoid = player.Character:FindFirstChild("Humanoid") if not humanoid or humanoid.Health <= 0 then continue end if TeamCheck and player.Team == LocalPlayer.Team then continue end local part = getTargetPart(player.Character) if part then local pos, visible = Camera:WorldToViewportPoint(part.Position) if visible then local distance = (Vector2.new(pos.X, pos.Y) - screenCenter).Magnitude if distance < closestDistance and distance < FOV and wallCheck(part) then closestDistance = distance closestPart = part end end end end end return closestPart end ---------------------------------------------------------------- -- MAIN LOOP ---------------------------------------------------------------- RunService.RenderStepped:Connect(function() FOVCircle.Position = Camera.ViewportSize / 2 if AimbotEnabled then local target = getClosestTarget() if target then if Smoothness == 0 then Camera.CFrame = CFrame.new( Camera.CFrame.Position, target.Position ) else local current = Camera.CFrame local goal = CFrame.new(current.Position, target.Position) Camera.CFrame = current:Lerp(goal, 1 / (Smoothness * 2)) end end end end) ---------------------------------------------------------------- -- KEYBINDS ---------------------------------------------------------------- local h = 1 UserInputService.InputBegan:Connect(function(input, gameProcessed) -- This ensures that if you're typing in chat, the script ignores it if gameProcessed then return end local key = input.KeyCode -- [0] Toggle Aimbot if key == Enum.KeyCode.KeypadZero then AimbotEnabled = not AimbotEnabled end -- [1] Cycle Target Part (Head -> Torso -> HumanoidRootPart) if key == Enum.KeyCode.KeypadOne then if h == 1 then h = 2 TargetPart = "Torso" elseif h == 2 then h = 3 TargetPart = "HumanoidRootPart" elseif h == 3 then h = 1 TargetPart = "Head" end end -- [2] Increase Smoothness (Max 10) if key == Enum.KeyCode.KeypadTwo then if Smoothness < 10 then Smoothness = Smoothness + 1 end end -- [3] Decrease Smoothness (Min 0) if key == Enum.KeyCode.KeypadThree then if Smoothness > 0 then Smoothness = Smoothness - 1 end end -- [4] Toggle Team Check if key == Enum.KeyCode.KeypadFour then TeamCheck = not TeamCheck end -- [5] Toggle ESP Team Check if key == Enum.KeyCode.KeypadFive then ESPTeamCheck = not ESPTeamCheck end -- [6] Toggle ESP Names if key == Enum.KeyCode.KeypadSix then ESPNames = not ESPNames end -- [7] Toggle ESP Chams if key == Enum.KeyCode.KeypadSeven then ESPChams = not ESPChams end -- [8] Toggle ESP Tracers if key == Enum.KeyCode.KeypadEight then ESPTracers = not ESPTracers end -- [9] Toggle FOV Circle Visibility if key == Enum.KeyCode.KeypadNine then FOVCircle.Visible = not FOVCircle.Visible end end) end