scld

여러게임 조용한 조준

Sep 18th, 2021 (edited)
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.12 KB | None | 0 0
  1. local function GetService(Name)
  2.     return game:GetService(Name)
  3. end
  4.  
  5. local Players = GetService("Players")
  6. local LocalPlayer = Players.LocalPlayer
  7. local RunService = GetService("RunService")
  8. local BodyPart = nil
  9. local Camera = workspace.CurrentCamera
  10. local Mouse = LocalPlayer:GetMouse()
  11.  
  12. local function WTS(Object)
  13.     local ObjectVector = Camera:WorldToScreenPoint(Object.Position)
  14.     return Vector2.new(ObjectVector.X, ObjectVector.Y)
  15. end
  16.  
  17. local function PositionToRay(Origin, Target)
  18.     return Ray.new(Origin, (Target - Origin).Unit * 600)
  19. end
  20.  
  21. local function Filter(Object)
  22.     if string.find(Object.Name, "Gun") then
  23.         return
  24.     end
  25.     if Object:IsA("Part") or Object:IsA("MeshPart") then
  26.         return true
  27.     end
  28. end
  29.  
  30. local function MousePositionToVector2()
  31.     return Vector2.new(Mouse.X, Mouse.Y)
  32. end
  33.  
  34. local function IsOnScreen(Object)
  35.     local IsOnScreen = Camera:WorldToScreenPoint(Object.Position)
  36.     return IsOnScreen
  37. end
  38.  
  39. local function GetClosestBodyPartFromCursor()
  40.     local ClosestDistance = math.huge
  41.     for i,  v in next, Players:GetPlayers() do
  42.         if v ~= LocalPlayer and v.Team ~= LocalPlayer.Team and v.Character and v.Character:FindFirstChild("Humanoid") then
  43.             for k,  x in next, v.Character:GetChildren() do
  44.                 if Filter(x) and IsOnScreen(x) then
  45.                     local Distance = (WTS(x) - MousePositionToVector2()).Magnitude
  46.                     if Distance < ClosestDistance then
  47.                         ClosestDistance = Distance
  48.                         BodyPart = x
  49.                     end
  50.                 end
  51.             end
  52.         end
  53.     end
  54. end
  55.  
  56. local OldNameCall;
  57. OldNameCall = hookmetamethod(game, "__namecall", function(Self, ...)
  58.     local Method = getnamecallmethod()
  59.     local Args = {...}
  60.     if Method == "FindPartOnRayWithIgnoreList" and BodyPart ~= nil then
  61.         Args[1] = PositionToRay(Camera.CFrame.Position, BodyPart.Position)
  62.         return OldNameCall(Self, unpack(Args))
  63.     end
  64.     return OldNameCall(Self, ...)
  65. end)
  66.  
  67. RunService:BindToRenderStep("Dynamic Silent Aim", 120, GetClosestBodyPartFromCursor)
Add Comment
Please, Sign In to add comment