local uis = game:GetService("UserInputService") local plr = game.Players.LocalPlayer local cam = workspace.CurrentCamera local rs = game:GetService("RunService") local aiming = false local fovRadius = 100 -- FOV çemberi yarıçapı (pixel) -- FOV çemberi çiz local fovCircle = Drawing.new("Circle") fovCircle.Position = Vector2.new(cam.ViewportSize.X / 2, cam.ViewportSize.Y / 2) fovCircle.Radius = fovRadius fovCircle.Color = Color3.fromRGB(255, 255, 0) fovCircle.Thickness = 1 fovCircle.Transparency = 0.5 fovCircle.Visible = true fovCircle.Filled = false -- En yakın hedefi bul (FOV içinde) local function getClosest() local closest = nil local shortest = math.huge for _, v in pairs(game.Players:GetPlayers()) do if v ~= plr and v.Character and v.Character:FindFirstChild("HumanoidRootPart") and v.Character:FindFirstChild("Humanoid") then local hrp = v.Character.HumanoidRootPart local screenPos, onScreen = cam:WorldToViewportPoint(hrp.Position) if onScreen then local distFromCenter = (Vector2.new(screenPos.X, screenPos.Y) - fovCircle.Position).Magnitude local dist3D = (hrp.Position - plr.Character.HumanoidRootPart.Position).Magnitude if distFromCenter <= fovRadius and dist3D < shortest and v.Character.Humanoid.Health > 0 then shortest = dist3D closest = hrp end end end end return closest end -- Q tuşuna basınca aktif et uis.InputBegan:Connect(function(input, gpe) if gpe then return end if input.KeyCode == Enum.KeyCode.Q then aiming = true end end) -- Q tuşunu bırakınca kapat uis.InputEnded:Connect(function(input) if input.KeyCode == Enum.KeyCode.Q then aiming = false end end) -- Kamera yönünü sürekli güncelle rs.RenderStepped:Connect(function() if aiming then local target = getClosest() if target then cam.CFrame = CFrame.new(cam.CFrame.Position, target.Position) end end end)