-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] 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 = 200 local fovCircle = Drawing.new("Circle") fovCircle.Radius = FOV fovCircle.Color = Color3.new(1, 1, 1) fovCircle.Thickness = 1.2 fovCircle.Transparency = 0.3 fovCircle.Filled = false fovCircle.Visible = true local dot = Drawing.new("Circle") dot.Radius = 4 dot.Color = Color3.new(1, 0.2, 0.2) dot.Thickness = 0 dot.Filled = true dot.Visible = false local function getClosestHead() local mousePos = UserInputService:GetMouseLocation() local bestDist = FOV local bestHead, bestScreen = nil, nil local players = Players:GetPlayers() for i = 1, #players do local player = players[i] if player ~= LocalPlayer then local char = player.Character if char then local head = char:FindFirstChild("Head") local humanoid = char: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 end return bestHead, bestScreen end RunService.RenderStepped:Connect(function() local mousePos = UserInputService:GetMouseLocation() fovCircle.Position = Vector2.new(mousePos.X, mousePos.Y) local head, screenPos = getClosestHead() if head and screenPos then dot.Visible = true dot.Position = screenPos fovCircle.Color = Color3.new(1, 0.2, 0.2) else dot.Visible = false fovCircle.Color = Color3.new(1, 1, 1) end end) local SimpleCast = require(game:GetService("ReplicatedStorage").SimpleCast) local originalFire = SimpleCast.Fire SimpleCast.Fire = function(self, origin, direction, speed, options) local head = getClosestHead() if head then direction = (head.Position - origin).Unit end return originalFire(self, origin, direction, speed, options) end