Run it
Copy the script and paste it into your executor.
Players = :()
UserInputService = :()
RunService = :()
player = Players.LocalPlayer
camera = .CurrentCamera
AIM_ENABLED =
AIM_KEY = .KeyCode.Q
FOV_RADIUS =
MAX_DISTANCE =
SMOOTHNESS =
circle = .()
circle.Visible =
circle.Radius = FOV_RADIUS
circle.Thickness =
circle.NumSides =
circle.Filled =
circle.Transparency =
()
circle.Position = .(
camera.ViewportSize.X / ,
camera.ViewportSize.Y /
)
circle.Radius = FOV_RADIUS
(targetPart)
origin = camera.CFrame.Position
direction = targetPart.Position - origin
params = RaycastParams.()
params.FilterType = .RaycastFilterType.Exclude
params.FilterDescendantsInstances = {
player.Character
}
result = :(
origin,
direction,
params
)
result
result.Instance:(targetPart.Parent)
()
center = .(
camera.ViewportSize.X / ,
camera.ViewportSize.Y /
)
closestTarget =
closestDistance = FOV_RADIUS
_, target (Players:())
target ~= player target.Character
character = target.Character
humanoid = character:()
head = character:()
root = character:()
humanoid head root humanoid.Health >
distance =
(root.Position - camera.CFrame.Position).Magnitude
distance <= MAX_DISTANCE
screenPosition, onScreen =
camera:(head.Position)
onScreen
screenDistance =
(.(
screenPosition.X,
screenPosition.Y
) - center).Magnitude
screenDistance < closestDistance
(head)
closestDistance = screenDistance
closestTarget = head
closestTarget
RunService.RenderStepped:(()
()
circle.Visible = AIM_ENABLED
AIM_ENABLED
target = ()
target
cameraPosition = camera.CFrame.Position
targetCFrame = .(
cameraPosition,
target.Position
)
camera.CFrame = camera.CFrame:(
targetCFrame,
SMOOTHNESS
)
)
UserInputService.InputBegan:((input, processed)
processed
input.KeyCode == AIM_KEY
AIM_ENABLED = AIM_ENABLED
)-- LocalScript -- StarterPlayer > StarterPlayerScripts local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local player = Players.LocalPlayer local camera = workspace.CurrentCamera -- Einstellungen local AIM_ENABLED = false local AIM_KEY = Enum.KeyCode.Q local FOV_RADIUS = 150 local MAX_DISTANCE = 500 local SMOOTHNESS = 0.15 -------------------------------------------------- -- FOV Kreis -------------------------------------------------- local circle = Drawing.new("Circle") circle.Visible = true circle.Radius = FOV_RADIUS circle.Thickness = 2 circle.NumSides = 64 circle.Filled = false circle.Transparency = 1 -------------------------------------------------- -- FOV Position aktualisieren -------------------------------------------------- local function updateFOV() circle.Position = Vector2.new( camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2 ) circle.Radius = FOV_RADIUS end -------------------------------------------------- -- Wallcheck -------------------------------------------------- local function canSeeTarget(targetPart) local origin = camera.CFrame.Posi

Universal