
KeylessUniversal

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local camera = workspace.CurrentCamera
local smoothness = 0.15
local fovRadius = 250 -- This shit is for Fov Changing, SKIDDD
local maxDistance = 500
local isAiming = false
-- the creating shit uk
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "AimbotFOV"
screenGui.ResetOnSpawn = false
screenGui.Parent = player:WaitForChild("PlayerGui")
local fovCircle = Instance.new("Frame")
fovCircle.Name = "FOVCircle"
fovCircle.Size = UDim2.new(0, fovRadius * 2, 0, fovRadius * 2)
fovCircle.Position = UDim2.new(0.5, -fovRadius, 0.5, -fovRadius)
fovCircle.BackgroundTransparency = 1
fovCircle.BorderSizePixel = 0
fovCircle.Parent = screenGui
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0.5, 0)
corner.Parent = fovCircle
local stroke = Instance.new("UIStroke")
stroke.Color = Color3.fromRGB(255, 0, 100) -- color from the circle
stroke.Thickness = 2
stroke.Transparency = 0.35
stroke.Parent = fovCircle
-- the dot in the center
local centerDot = Instance.new("Frame")
centerDot.Size = UDim2.new(0, 6, 0, 6)
centerDot.Position = UDim2.new(0.5, -3, 0.5, -3)
centerDot.BackgroundColor3 = Color3.fromRGB(255, 0, 100)
centerDot.BorderSizePixel = 0
centerDot.Parent = fovCircle
local dotCorner = Instance.new("UICorner")
dotCorner.CornerRadius = UDim.new(0.5, 0)
dotCorner.Parent = centerDot
-- this here is to get the player in the fov like the circle
local function getClosestPlayer()
local closestPlayer = nil
local shortestDistance = math.huge
local screenCenter = camera.ViewportSize / 2
for _, p in ipairs(Players:GetPlayers()) do
if p ~= player and p.Character and p.Character:FindFirstChild("Humanoid") then
local humanoid = p.Character.Humanoid
if humanoid.Health > 0 then
local head = p.Character:FindFirstChild("Head")
if head then
local headPos, onScreen = camera:WorldToViewportPoint(head.Position)
if onScreen then
local distanceFromCenter = (Vector2.new(headPos.X, headPos.Y) - screenCenter).Magnitude
if distanceFromCenter <= fovRadius then
local distance = (head.Position - camera.CFrame.Position).Magnitude
if distance < shortestDistance and distance <= maxDistance then
shortestDistance = distance
closestPlayer = p
end
end
end
end
end
end
end
return closestPlayer
end
-- Input normal stuff
UserInputService.InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
if input.UserInputType == Enum.UserInputType.MouseButton2 then
isAiming = true
end
end)
UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton2 then
isAiming = false
end
end)
-- Main things
RunService.RenderStepped:Connect(function()
if not isAiming then return end
local target = getClosestPlayer()
if target and target.Character then
local head = target.Character:FindFirstChild("Head")
if head then
local targetCFrame = CFrame.new(camera.CFrame.Position, head.Position)
camera.CFrame = camera.CFrame:Lerp(targetCFrame, smoothness)
end
end
end)
print("Thanks for Using this btw it would make me heapy If u Would use this")No comments yet for this script.



