1 | local Camera = workspace.CurrentCamera |
2 | local Players = game:GetService("Players") |
3 | local RunService = game:GetService("RunService") |
4 | local UserInputService = game:GetService("UserInputService") |
5 | local TweenService = game:GetService("TweenService") |
6 | local LocalPlayer = Players.LocalPlayer |
7 | local Holding = false |
8 | |
9 | _G.AimbotEnabled = true |
10 | _G.TeamCheck = false -- If set to true then the script would only lock your aim at enemy team members. |
11 | _G.AimPart = "Head" -- Where the aimbot script would lock at. |
12 | _G.Sensitivity = 0 -- How many seconds it takes for the aimbot script to officially lock onto the target's aimpart. |
13 | |
14 | _G.CircleSides = 64 -- How many sides the FOV circle would have. |
15 | _G.CircleColor = Color3.fromRGB(255, 255, 255) -- (RGB) Color that the FOV circle would appear as. |
16 | _G.CircleTransparency = 0.7 -- Transparency of the circle. |
17 | _G.CircleRadius = 80 -- The radius of the circle / FOV. |
18 | _G.CircleFilled = false -- Determines whether or not the circle is filled. |
19 | _G.CircleVisible = true -- Determines whether or not the circle is visible. |
20 | _G.CircleThickness = 0 -- The thickness of the circle. |
21 | |
22 | local FOVCircle = Drawing.new("Circle") |
23 | FOVCircle.Position = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2) |
24 | FOVCircle.Radius = _G.CircleRadius |
25 | FOVCircle.Filled = _G.CircleFilled |
26 | FOVCircle.Color = _G.CircleColor |
27 | FOVCircle.Visible = _G.CircleVisible |
28 | FOVCircle.Radius = _G.CircleRadius |
29 | FOVCircle.Transparency = _G.CircleTransparency |
30 | FOVCircle.NumSides = _G.CircleSides |
31 | FOVCircle.Thickness = _G.CircleThickness |
32 | |
33 | local function GetClosestPlayer() |
34 | local MaximumDistance = _G.CircleRadius |
35 | local Target = nil |
36 | |
37 | for _, v in next, Players:GetPlayers() do |
38 | if v.Name ~= LocalPlayer.Name then |
39 | if _G.TeamCheck == true then |
40 | if v.Team ~= LocalPlayer.Team then |
41 | if v.Character ~= nil then |
42 | if v.Character:FindFirstChild("HumanoidRootPart") ~= nil then |
43 | if v.Character:FindFirstChild("Humanoid") ~= nil and v.Character:FindFirstChild("Humanoid").Health ~= 0 then |
44 | local ScreenPoint = Camera:WorldToScreenPoint(v.Character:WaitForChild("HumanoidRootPart", math.huge).Position) |
45 | local VectorDistance = (Vector2.new(UserInputService:GetMouseLocation().X, UserInputService:GetMouseLocation().Y) - Vector2.new(ScreenPoint.X, ScreenPoint.Y)).Magnitude |
46 | |
47 | if VectorDistance < MaximumDistance then |
48 | Target = v |
49 | end |
50 | end |
51 | end |
52 | end |
53 | end |
54 | else |
55 | if v.Character ~= nil then |
56 | if v.Character:FindFirstChild("HumanoidRootPart") ~= nil then |
57 | if v.Character:FindFirstChild("Humanoid") ~= nil and v.Character:FindFirstChild("Humanoid").Health ~= 0 then |
58 | local ScreenPoint = Camera:WorldToScreenPoint(v.Character:WaitForChild("HumanoidRootPart", math.huge).Position) |
59 | local VectorDistance = (Vector2.new(UserInputService:GetMouseLocation().X, UserInputService:GetMouseLocation().Y) - Vector2.new(ScreenPoint.X, ScreenPoint.Y)).Magnitude |
60 | |
61 | if VectorDistance < MaximumDistance then |
62 | Target = v |
63 | end |
64 | end |
65 | end |
66 | end |
67 | end |
68 | end |
69 | end |
70 | |
71 | return Target |
72 | end |
73 | |
74 | UserInputService.InputBegan:Connect(function(Input) |
75 | if Input.UserInputType == Enum.UserInputType.MouseButton2 then |
76 | Holding = true |
77 | end |
78 | end) |
79 | |
80 | UserInputService.InputEnded:Connect(function(Input) |
81 | if Input.UserInputType == Enum.UserInputType.MouseButton2 then |
82 | Holding = false |
83 | end |
84 | end) |
85 | |
86 | RunService.RenderStepped:Connect(function() |
87 | FOVCircle.Position = Vector2.new(UserInputService:GetMouseLocation().X, UserInputService:GetMouseLocation().Y) |
88 | FOVCircle.Radius = _G.CircleRadius |
89 | FOVCircle.Filled = _G.CircleFilled |
90 | FOVCircle.Color = _G.CircleColor |
91 | FOVCircle.Visible = _G.CircleVisible |
92 | FOVCircle.Radius = _G.CircleRadius |
93 | FOVCircle.Transparency = _G.CircleTransparency |
94 | FOVCircle.NumSides = _G.CircleSides |
95 | FOVCircle.Thickness = _G.CircleThickness |
96 | |
97 | if Holding == true and _G.AimbotEnabled == true then |
98 | TweenService:Create(Camera, TweenInfo.new(_G.Sensitivity, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {CFrame = CFrame.new(Camera.CFrame.Position, GetClosestPlayer().Character[_G.AimPart].Position)}):Play() |
99 | end |
100 | end) |