local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera
local FOV_PIXELS = 200
local fovGui = Instance.new("ScreenGui")
fovGui.Name = "SilentAimFOV"
fovGui.ResetOnSpawn = false
fovGui.IgnoreGuiInset = true
fovGui.Parent = LocalPlayer.PlayerGui
local fovCircle = Instance.new("Frame")
fovCircle.BackgroundTransparency = 1
fovCircle.BorderSizePixel = 0
fovCircle.Size = UDim2.fromOffset(FOV_PIXELS * 2, FOV_PIXELS * 2)
fovCircle.AnchorPoint = Vector2.new(0.5, 0.5)
fovCircle.Parent = fovGui
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(1, 0)
corner.Parent = fovCircle
local stroke = Instance.new("UIStroke")
stroke.Color = Color3.fromRGB(255, 255, 255)
stroke.Thickness = 1.2
stroke.Transparency = 0.3
stroke.Parent = fovCircle
local dot = Instance.new("Frame")
dot.Size = UDim2.fromOffset(8, 8)
dot.AnchorPoint = Vector2.new(0.5, 0.5)
dot.BackgroundColor3 = Color3.fromRGB(255, 50, 50)
dot.BorderSizePixel = 0
dot.Visible = false
dot.ZIndex = 2
dot.Parent = fovGui
Instance.new("UICorner", dot).CornerRadius = UDim.new(1, 0)
local function getClosestHead()
local mousePos = UserInputService:GetMouseLocation()
local bestDist = FOV_PIXELS
local bestHead = nil
local bestScreen = nil
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer and player.Character then
local head = player.Character:FindFirstChild("Head")
local humanoid = player.Character:FindFirstChildWhichIsA("Humanoid")
if head and humanoid and humanoid.Health > 0 then
local screenPos, onScreen = Camera:WorldToViewportPoint(head.Position)
if onScreen then
local dist = (Vector2.new(screenPos.X, screenPos.Y) - mousePos).Magnitude
if dist < bestDist then
bestDist = dist
bestHead = head
bestScreen = Vector2.new(screenPos.X, screenPos.Y)
end
end
end
end
end
return bestHead, bestScreen
end
RunService.RenderStepped:Connect(function()
local mousePos = UserInputService:GetMouseLocation()
fovCircle.Position = UDim2.fromOffset(mousePos.X, mousePos.Y)
local head, screenPos = getClosestHead()
if head and screenPos then
dot.Visible = true
dot.Position = UDim2.fromOffset(screenPos.X, screenPos.Y)
stroke.Color = Color3.fromRGB(255, 50, 50)
else
dot.Visible = false
stroke.Color = Color3.fromRGB(255, 255, 255)
end
end)
local ok, Projectile = pcall(require, game:GetService("ReplicatedStorage").Modules.GunFramework.Modules.Projectile)
if not ok then return end
local originalNew = Projectile.new
Projectile.new = function(params)
if params then
local head = getClosestHead()
if head and head:IsDescendantOf(workspace) then
params.Direction = (head.Position - params.Origin).Unit
if params.RaycastParams then
params.RaycastParams.FilterDescendantsInstances = {head.Parent}
params.RaycastParams.FilterType = Enum.RaycastFilterType.Include
end
end
end
return originalNew(params)
end
Comments
Please update script silent aim of reign fall