
KeylessUniversal

local fov = 100
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local Players = game:GetService("Players")
local Cam = workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer
local FOVring = Drawing.new("Circle")
FOVring.Visible = true
FOVring.Thickness = 2
FOVring.Color = Color3.fromRGB(128, 0, 128)
FOVring.Filled = false
FOVring.Radius = fov
FOVring.Position = Cam.ViewportSize / 2
local function updateDrawings()
FOVring.Position = Cam.ViewportSize / 2
end
UserInputService.InputBegan:Connect(function(input, gpe)
if gpe then return end
if input.KeyCode == Enum.KeyCode.Delete then
RunService:UnbindFromRenderStep("FOVUpdate")
FOVring:Remove()
end
end)
local function lookAt(pos)
local lookVector = (pos - Cam.CFrame.Position).Unit
Cam.CFrame = CFrame.new(Cam.CFrame.Position, Cam.CFrame.Position + lookVector)
end
local function getTorso(character)
return character:FindFirstChild("Head")
or character:FindFirstChild("Torso")
or character:FindFirstChild("HumanoidRootPart")
end
local function isVisible(part)
local origin = Cam.CFrame.Position
local direction = part.Position - origin
local rayParams = RaycastParams.new()
rayParams.FilterType = Enum.RaycastFilterType.Blacklist
rayParams.FilterDescendantsInstances = {LocalPlayer.Character}
local result = workspace:Raycast(origin, direction, rayParams)
return not result or result.Instance:IsDescendantOf(part.Parent)
end
local function getClosestEnemyInFOV()
local closestPlayer = nil
local closestDistance = math.huge
local screenCenter = Cam.ViewportSize / 2
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.TeamColor ~= LocalPlayer.TeamColor then
local char = player.Character
if char then
local torso = getTorso(char)
if torso then
local screenPos, visible = Cam:WorldToViewportPoint(torso.Position)
local distance = (Vector2.new(screenPos.X, screenPos.Y) - screenCenter).Magnitude
if visible and distance < fov and distance < closestDistance and isVisible(torso) then
closestDistance = distance
closestPlayer = player
end
end
end
end
end
return closestPlayer
end
RunService:BindToRenderStep("FOVUpdate", Enum.RenderPriority.Camera.Value + 1, function()
updateDrawings()
local target = getClosestEnemyInFOV()
if target and target.Character then
local torso = getTorso(target.Character)
if torso then
lookAt(torso.Position)
end
end
end)



a like because of the beautiful expressive joyful men smile
@Dexemox a like because of your pfp
@Dexemox a like because notaskiddie did like