get paid to paste

getgenv().silentaim_settings = {
   fov = 150,
   hitbox = "Head",
   fovcircle = true,
}
-- Services
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")

-- Player
local Player = Players.LocalPlayer
local Mouse = Player:GetMouse()
local CurrentCamera = workspace.CurrentCamera

local function GetClosest(Fov)
   local Target, Closest = nil, Fov or math.huge

   for i,v in pairs(Players:GetPlayers()) do
       if (v.Character and v ~= Player and v.Character:FindFirstChild(getgenv().silentaim_settings.hitbox)) then
           local Position, OnScreen = CurrentCamera:WorldToScreenPoint(v.Character[getgenv().silentaim_settings.hitbox].Position)
           local Distance = (Vector2.new(Position.X, Position.Y) - Vector2.new(Mouse.X, Mouse.Y)).Magnitude

           if (Distance < Closest and OnScreen) then
               Closest = Distance
               Target = v
           end
       end
   end
   
   return Target
end

local Target
local CircleInline = Drawing.new("Circle")
local CircleOutline = Drawing.new("Circle")
RunService.Stepped:Connect(function()
   CircleInline.Radius = getgenv().silentaim_settings.fov
   CircleInline.Thickness = 2
   CircleInline.Position = Vector2.new(Mouse.X, Mouse.Y + 36)
   CircleInline.Transparency = 1
   CircleInline.Color = Color3.fromRGB(255, 255, 255)
   CircleInline.Visible = getgenv().silentaim_settings.fovcircle
   CircleInline.ZIndex = 2

   CircleOutline.Radius = getgenv().silentaim_settings.fov
   CircleOutline.Thickness = 4
   CircleOutline.Position = Vector2.new(Mouse.X, Mouse.Y + 36)
   CircleOutline.Transparency = 1
   CircleOutline.Color = Color3.new()
   CircleOutline.Visible = getgenv().silentaim_settings.fovcircle
   CircleOutline.ZIndex = 1

   Target = GetClosest(getgenv().silentaim_settings.fov)
end)

local Old; Old = hookmetamethod(game, "__namecall", function(Self, ...)
   local Args = {...}

   if (not checkcaller() and getnamecallmethod() == "FindPartOnRayWithIgnoreList") then
       if (table.find(Args[2], workspace.WorldIgnore.Ignore) and Target and Target.Character) then
           local Origin = Args[1].Origin

           Args[1] = Ray.new(Origin, Target.Character[getgenv().silentaim_settings.hitbox].Position - Origin)
       end
   end

   return Old(Self, unpack(Args))
end)

Pasted: Jan 18, 2022, 1:15:21 pm
Views: 1,597