ocal Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Camera = workspace.CurrentCamera local player = Players.LocalPlayer -- SETTINGS (tweak these) local AIM_ASSIST_RANGE = 120 -- studs local AIM_ASSIST_STRENGTH = 0.12 -- 0.05–0.12 recommended local HOLD_KEY = Enum.UserInputType.MouseButton2 -- Right click local aiming = false UserInputService.InputBegan:Connect(function(input) if input.UserInputType == HOLD_KEY then aiming = true end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == HOLD_KEY then aiming = false end end) local function getClosestTarget() local closest local shortest = AIM_ASSIST_RANGE for _, plr in pairs(Players:GetPlayers()) do if plr ~= player and plr.Character then local head = plr.Character:FindFirstChild("Head") local humanoid = plr.Character:FindFirstChild("Humanoid") if head and humanoid and humanoid.Health > 0 then local dist = (head.Position - Camera.CFrame.Position).Magnitude if dist < shortest then shortest = dist closest = head end end end end return closest end RunService.RenderStepped:Connect(function() if not aiming then return end local target = getClosestTarget() if not target then return end local camPos = Camera.CFrame.Position local targetDir = (target.Position - camPos).Unit local currentDir = Camera.CFrame.LookVector local newDir = currentDir:Lerp(targetDir, AIM_ASSIST_STRENGTH) Camera.CFrame = CFrame.new(camPos, camPos + newDir) end) local Players = game:GetService("Players") local RunService = game:GetService("RunService") local Camera = workspace.CurrentCamera local AIM_ASSIST_RANGE = 120 -- same as your script -- Create the circle GUI local fovCircle = Instance.new("Frame") fovCircle.Size = UDim2.new(0, AIM_ASSIST_RANGE*2, 0, AIM_ASSIST_RANGE*2) fovCircle.Position = UDim2.new(0.5, -AIM_ASSIST_RANGE, 0.5, -AIM_ASSIST_RANGE) fovCircle.BackgroundColor3 = Color3.fromRGB(0, 255, 255) fovCircle.BackgroundTransparency = 0.7 fovCircle.BorderSizePixel = 2 fovCircle.BorderColor3 = Color3.fromRGB(0, 200, 200) fovCircle.AnchorPoint = Vector2.new(0.5, 0.5) fovCircle.Parent = Players.LocalPlayer:WaitForChild("PlayerGui"):WaitForChild("ScreenGui") -- Make sure you have a ScreenGui or create one if not fovCircle.Parent then local screenGui = Instance.new("ScreenGui") screenGui.Name = "AimAssistGUI" screenGui.Parent = Players.LocalPlayer.PlayerGui fovCircle.Parent = screenGui end -- Update circle on screen RunService.RenderStepped:Connect(function() local mouse = Players.LocalPlayer:GetMouse() fovCircle.Position = UDim2.new(0, mouse.X - AIM_ASSIST_RANGE, 0, mouse.Y - AIM_ASSIST_RANGE) end)