Advertisement
Thecodeeasar

Untitled

Jan 6th, 2025
10
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.85 KB | None | 0 0
  1. -- Global Settings (Adjustable via getgenv())
  2. getgenv().SilentAimEnabled = true -- Toggle silent aim on/off
  3. getgenv().HitPart = "Head" -- The part to target (e.g., "Head" or "HumanoidRootPart")
  4. getgenv().Prediction = 0.1 -- Adjust for bullet travel time if necessary
  5. getgenv().ShowFOV = true -- Toggle the FOV circle visibility
  6. getgenv().FOVSize = 50 -- Radius of the silent aim FOV circle
  7.  
  8. -- Dependencies
  9. local Players = game:GetService("Players")
  10. local RunService = game:GetService("RunService")
  11. local Camera = workspace.CurrentCamera
  12.  
  13. -- FOV Circle
  14. local SilentAimFOV = Drawing.new("Circle")
  15. SilentAimFOV.Visible = getgenv().ShowFOV
  16. SilentAimFOV.Color = Color3.new(1, 0, 0)
  17. SilentAimFOV.Thickness = 2
  18. SilentAimFOV.Filled = false
  19. SilentAimFOV.Transparency = 1
  20. SilentAimFOV.Radius = getgenv().FOVSize
  21.  
  22. -- Update FOV Circle Position
  23. RunService.RenderStepped:Connect(function()
  24. SilentAimFOV.Visible = getgenv().ShowFOV
  25. SilentAimFOV.Position = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)
  26. SilentAimFOV.Radius = getgenv().FOVSize
  27. end)
  28.  
  29. -- Function to Find Closest Target
  30. local function getClosestPlayer()
  31. local localPlayer = Players.LocalPlayer
  32. local closestPlayer = nil
  33. local shortestDistance = getgenv().FOVSize
  34.  
  35. for _, player in ipairs(Players:GetPlayers()) do
  36. if player ~= localPlayer and player.Character and player.Character:FindFirstChild(getgenv().HitPart) then
  37. local hitPart = player.Character[getgenv().HitPart]
  38. local screenPosition, onScreen = Camera:WorldToViewportPoint(hitPart.Position)
  39.  
  40. if onScreen then
  41. local mousePosition = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)
  42. local distance = (mousePosition - Vector2.new(screenPosition.X, screenPosition.Y)).Magnitude
  43.  
  44. if distance < shortestDistance then
  45. closestPlayer = player
  46. shortestDistance = distance
  47. end
  48. end
  49. end
  50. end
  51.  
  52. return closestPlayer
  53. end
  54.  
  55. -- Metatable Hook
  56. local mt = getrawmetatable(game)
  57. local oldNamecall = mt.__namecall
  58. setreadonly(mt, false)
  59.  
  60. mt.__namecall = newcclosure(function(self, ...)
  61. local args = {...}
  62. local method = getnamecallmethod()
  63.  
  64. if getgenv().SilentAimEnabled and tostring(method) == "FireServer" and args[2] == "UpdateMousePos" then
  65. local target = getClosestPlayer()
  66.  
  67. if target and target.Character and target.Character:FindFirstChild(getgenv().HitPart) then
  68. local hitPart = target.Character[getgenv().HitPart]
  69. args[3] = hitPart.Position + (hitPart.Velocity * getgenv().Prediction)
  70. end
  71.  
  72. return oldNamecall(self, unpack(args))
  73. end
  74.  
  75. return oldNamecall(self, ...)
  76. end)
  77.  
  78. setreadonly(mt, true)
  79.  
  80. print("Silent Aim script loaded!")
  81.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement