local select = select local pcall, getgenv, next, Vector2, mathclamp, type, mousemoverel = select(1, pcall, getgenv, next, Vector2.new, math.clamp, type, mousemoverel or (Input and Input.MouseMove)) pcall(function() getgenv().Aimbot.Functions:Exit() end) getgenv().Aimbot = {} local Environment = getgenv().Aimbot local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local Players = game:GetService("Players") local Camera = workspace.CurrentCamera local LocalPlayer = Players.LocalPlayer local RequiredDistance, Typing, Running, Animation, ServiceConnections = 2000, false, false, nil, {} local PlayerCache = {} local LastUpdate = 0 local UpdateInterval = 0.1 Environment.Settings = { Enabled = true, TeamCheck = false, AliveCheck = true, WallCheck = false, Sensitivity = 0, ThirdPerson = false, ThirdPersonSensitivity = 3, TriggerKey = "MouseButton2", Toggle = false, LockPart = "Head", PredictMovement = false, PredictionAmount = 0.1, SmoothAim = true } Environment.FOVSettings = { Enabled = true, Visible = true, Amount = 90, Color = Color3.fromRGB(255, 255, 255), LockedColor = Color3.fromRGB(255, 70, 70), Transparency = 0.5, Sides = 60, Thickness = 1, Filled = false } Environment.FOVCircle = Drawing.new("Circle") local MenuVisible = false local MenuGui = nil local function CreateMenu() MenuGui = Instance.new("ScreenGui") MenuGui.Name = "AimbotMenu" MenuGui.ResetOnSpawn = false MenuGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling pcall(function() MenuGui.Parent = game:GetService("CoreGui") end) if not MenuGui.Parent then MenuGui.Parent = LocalPlayer:WaitForChild("PlayerGui") end local Window = Instance.new("Frame", MenuGui) Window.Name = "MainFrame" Window.Size = UDim2.fromOffset(300, 430) Window.Position = UDim2.new(0.5, -150, 0.5, -215) Window.BackgroundColor3 = Color3.fromRGB(15, 15, 15) Window.BorderSizePixel = 0 Window.ClipsDescendants = true Window.Visible = false Instance.new("UICorner", Window).CornerRadius = UDim.new(0, 8) local stroke = Instance.new("UIStroke", Window) stroke.Color = Color3.fromRGB(60, 60, 60) stroke.Thickness = 1 local TitleBar = Instance.new("Frame", Window) TitleBar.Size = UDim2.new(1, 0, 0, 36) TitleBar.BackgroundColor3 = Color3.fromRGB(22, 22, 22) TitleBar.BorderSizePixel = 0 Instance.new("UICorner", TitleBar).CornerRadius = UDim.new(0, 8) local TitleFix = Instance.new("Frame", TitleBar) TitleFix.Size = UDim2.new(1, 0, 0.5, 0) TitleFix.Position = UDim2.new(0, 0, 0.5, 0) TitleFix.BackgroundColor3 = Color3.fromRGB(22, 22, 22) TitleFix.BorderSizePixel = 0 local TitleLabel = Instance.new("TextLabel", TitleBar) TitleLabel.Size = UDim2.new(1, -12, 1, 0) TitleLabel.Position = UDim2.new(0, 12, 0, 0) TitleLabel.BackgroundTransparency = 1 TitleLabel.Text = "🎯 Aimbot · Config" TitleLabel.TextColor3 = Color3.new(1, 1, 1) TitleLabel.Font = Enum.Font.GothamBold TitleLabel.TextSize = 13 TitleLabel.TextXAlignment = Enum.TextXAlignment.Left local HintLabel = Instance.new("TextLabel", TitleBar) HintLabel.Size = UDim2.new(0, 110, 1, 0) HintLabel.Position = UDim2.new(1, -114, 0, 0) HintLabel.BackgroundTransparency = 1 HintLabel.Text = "[Insert] toggle" HintLabel.TextColor3 = Color3.fromRGB(100, 100, 100) HintLabel.Font = Enum.Font.Gotham HintLabel.TextSize = 11 HintLabel.TextXAlignment = Enum.TextXAlignment.Right local Scroll = Instance.new("ScrollingFrame", Window) Scroll.Size = UDim2.new(1, 0, 1, -36) Scroll.Position = UDim2.new(0, 0, 0, 36) Scroll.BackgroundTransparency = 1 Scroll.BorderSizePixel = 0 Scroll.ScrollBarThickness = 3 Scroll.ScrollBarImageColor3 = Color3.fromRGB(60, 60, 60) Scroll.CanvasSize = UDim2.new(0, 0, 0, 0) local Layout = Instance.new("UIListLayout", Scroll) Layout.Padding = UDim.new(0, 0) Layout.SortOrder = Enum.SortOrder.LayoutOrder local orderCount = 0 local function nextOrder() orderCount += 1 return orderCount end local function CreateSection(name) local row = Instance.new("Frame", Scroll) row.Size = UDim2.new(1, 0, 0, 30) row.BackgroundTransparency = 1 row.LayoutOrder = nextOrder() local lbl = Instance.new("TextLabel", row) lbl.Size = UDim2.new(1, -32, 1, 0) lbl.Position = UDim2.new(0, 16, 0, 0) lbl.BackgroundTransparency = 1 lbl.Text = name lbl.TextColor3 = Color3.fromRGB(100, 150, 255) lbl.Font = Enum.Font.GothamBold lbl.TextSize = 11 lbl.TextXAlignment = Enum.TextXAlignment.Left local line = Instance.new("Frame", row) line.Size = UDim2.new(1, -32, 0, 1) line.Position = UDim2.new(0, 16, 1, -1) line.BackgroundColor3 = Color3.fromRGB(35, 35, 35) line.BorderSizePixel = 0 end local function CreateToggle(name, default, callback) local row = Instance.new("Frame", Scroll) row.Size = UDim2.new(1, 0, 0, 46) row.BackgroundTransparency = 1 row.LayoutOrder = nextOrder() local lbl = Instance.new("TextLabel", row) lbl.Size = UDim2.new(1, -70, 1, 0) lbl.Position = UDim2.new(0, 16, 0, 0) lbl.BackgroundTransparency = 1 lbl.Text = name lbl.TextColor3 = Color3.fromRGB(220, 220, 220) lbl.Font = Enum.Font.Gotham lbl.TextSize = 13 lbl.TextXAlignment = Enum.TextXAlignment.Left local track = Instance.new("Frame", row) track.Size = UDim2.fromOffset(42, 22) track.Position = UDim2.new(1, -56, 0.5, -11) track.BackgroundColor3 = default and Color3.fromRGB(0, 180, 90) or Color3.fromRGB(55, 55, 55) track.BorderSizePixel = 0 Instance.new("UICorner", track).CornerRadius = UDim.new(1, 0) local thumb = Instance.new("Frame", track) thumb.Size = UDim2.fromOffset(16, 16) thumb.Position = default and UDim2.new(1, -19, 0.5, -8) or UDim2.new(0, 3, 0.5, -8) thumb.BackgroundColor3 = Color3.new(1, 1, 1) thumb.BorderSizePixel = 0 Instance.new("UICorner", thumb).CornerRadius = UDim.new(1, 0) local divider = Instance.new("Frame", row) divider.Size = UDim2.new(1, -32, 0, 1) divider.Position = UDim2.new(0, 16, 1, -1) divider.BackgroundColor3 = Color3.fromRGB(35, 35, 35) divider.BorderSizePixel = 0 local value = default local btn = Instance.new("TextButton", row) btn.Size = UDim2.new(1, 0, 1, 0) btn.BackgroundTransparency = 1 btn.Text = "" btn.MouseButton1Click:Connect(function() value = not value TweenService:Create(track, TweenInfo.new(0.18), { BackgroundColor3 = value and Color3.fromRGB(0, 180, 90) or Color3.fromRGB(55, 55, 55) }):Play() TweenService:Create(thumb, TweenInfo.new(0.18), { Position = value and UDim2.new(1, -19, 0.5, -8) or UDim2.new(0, 3, 0.5, -8) }):Play() callback(value) end) end local function CreateSlider(name, min, max, default, callback) local row = Instance.new("Frame", Scroll) row.Size = UDim2.new(1, 0, 0, 54) row.BackgroundTransparency = 1 row.LayoutOrder = nextOrder() local lbl = Instance.new("TextLabel", row) lbl.Size = UDim2.new(1, -32, 0, 20) lbl.Position = UDim2.new(0, 16, 0, 7) lbl.BackgroundTransparency = 1 lbl.Text = name .. ": " .. tostring(default) lbl.TextColor3 = Color3.fromRGB(220, 220, 220) lbl.Font = Enum.Font.Gotham lbl.TextSize = 13 lbl.TextXAlignment = Enum.TextXAlignment.Left local trackBg = Instance.new("Frame", row) trackBg.Size = UDim2.new(1, -32, 0, 4) trackBg.Position = UDim2.new(0, 16, 0, 36) trackBg.BackgroundColor3 = Color3.fromRGB(50, 50, 50) trackBg.BorderSizePixel = 0 Instance.new("UICorner", trackBg).CornerRadius = UDim.new(1, 0) local fill = Instance.new("Frame", trackBg) fill.Size = UDim2.new((default - min) / (max - min), 0, 1, 0) fill.BackgroundColor3 = Color3.fromRGB(100, 150, 255) fill.BorderSizePixel = 0 Instance.new("UICorner", fill).CornerRadius = UDim.new(1, 0) local knob = Instance.new("Frame", trackBg) knob.Size = UDim2.fromOffset(12, 12) knob.Position = UDim2.new((default - min) / (max - min), -6, 0.5, -6) knob.BackgroundColor3 = Color3.new(1, 1, 1) knob.BorderSizePixel = 0 Instance.new("UICorner", knob).CornerRadius = UDim.new(1, 0) local divider = Instance.new("Frame", row) divider.Size = UDim2.new(1, -32, 0, 1) divider.Position = UDim2.new(0, 16, 1, -1) divider.BackgroundColor3 = Color3.fromRGB(35, 35, 35) divider.BorderSizePixel = 0 local hitbox = Instance.new("TextButton", trackBg) hitbox.Size = UDim2.new(1, 0, 1, 20) hitbox.Position = UDim2.new(0, 0, 0, -10) hitbox.BackgroundTransparency = 1 hitbox.Text = "" local draggingSlider = false hitbox.MouseButton1Down:Connect(function() draggingSlider = true end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then draggingSlider = false end end) UserInputService.InputChanged:Connect(function(input) if draggingSlider and input.UserInputType == Enum.UserInputType.MouseMovement then local rel = UserInputService:GetMouseLocation().X - trackBg.AbsolutePosition.X local pct = mathclamp(rel / trackBg.AbsoluteSize.X, 0, 1) local val = math.floor((min + (max - min) * pct) * 100) / 100 fill.Size = UDim2.new(pct, 0, 1, 0) knob.Position = UDim2.new(pct, -6, 0.5, -6) lbl.Text = name .. ": " .. tostring(val) callback(val) end end) end CreateSection("MAIN SETTINGS") CreateToggle("Enabled", Environment.Settings.Enabled, function(v) Environment.Settings.Enabled = v end) CreateToggle("Team Check", Environment.Settings.TeamCheck, function(v) Environment.Settings.TeamCheck = v end) CreateToggle("Alive Check", Environment.Settings.AliveCheck, function(v) Environment.Settings.AliveCheck = v end) CreateToggle("Wall Check", Environment.Settings.WallCheck, function(v) Environment.Settings.WallCheck = v end) CreateToggle("Toggle Mode", Environment.Settings.Toggle, function(v) Environment.Settings.Toggle = v end) CreateSection("AIM SETTINGS") CreateSlider("Sensitivity", 0, 2, Environment.Settings.Sensitivity, function(v) Environment.Settings.Sensitivity = v end) CreateToggle("Third Person", Environment.Settings.ThirdPerson, function(v) Environment.Settings.ThirdPerson = v end) CreateSlider("3P Sensitivity", 0.1, 5, Environment.Settings.ThirdPersonSensitivity, function(v) Environment.Settings.ThirdPersonSensitivity = v end) CreateToggle("Predict Movement",Environment.Settings.PredictMovement, function(v) Environment.Settings.PredictMovement = v end) CreateSection("FOV SETTINGS") CreateToggle("FOV Enabled", Environment.FOVSettings.Enabled, function(v) Environment.FOVSettings.Enabled = v end) CreateToggle("FOV Visible", Environment.FOVSettings.Visible, function(v) Environment.FOVSettings.Visible = v end) CreateSlider("FOV Size", 20, 500, Environment.FOVSettings.Amount, function(v) Environment.FOVSettings.Amount = v end) CreateSlider("FOV Transparency", 0, 1, Environment.FOVSettings.Transparency, function(v) Environment.FOVSettings.Transparency = v end) Layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() Scroll.CanvasSize = UDim2.new(0, 0, 0, Layout.AbsoluteContentSize.Y) end) local dragging, dragStart, startPos = false, nil, nil TitleBar.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = Window.Position end end) TitleBar.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) UserInputService.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then local delta = input.Position - dragStart Window.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end) end local function CancelLock() Environment.Locked = nil if Animation then Animation:Cancel() end Environment.FOVCircle.Color = Environment.FOVSettings.Color end local function UpdatePlayerCache() local currentTime = tick() if currentTime - LastUpdate < UpdateInterval then return end LastUpdate = currentTime PlayerCache = {} for _, v in next, Players:GetPlayers() do if v ~= LocalPlayer and v.Character then PlayerCache[#PlayerCache + 1] = v end end end local function GetClosestPlayer() if not Environment.Locked then RequiredDistance = (Environment.FOVSettings.Enabled and Environment.FOVSettings.Amount or 2000) UpdatePlayerCache() for _, v in next, PlayerCache do local char = v.Character local lockPart = char and char:FindFirstChild(Environment.Settings.LockPart) local humanoid = char and char:FindFirstChildOfClass("Humanoid") if lockPart and humanoid then if Environment.Settings.TeamCheck and v.Team == LocalPlayer.Team then continue end if Environment.Settings.AliveCheck and humanoid.Health <= 0 then continue end if Environment.Settings.WallCheck then local parts = Camera:GetPartsObscuringTarget({lockPart.Position}, char:GetDescendants()) if #parts > 0 then continue end end local targetPos = lockPart.Position if Environment.Settings.PredictMovement and char:FindFirstChild("HumanoidRootPart") then targetPos = targetPos + (char.HumanoidRootPart.AssemblyVelocity * Environment.Settings.PredictionAmount) end local Vector, OnScreen = Camera:WorldToViewportPoint(targetPos) local MousePos = UserInputService:GetMouseLocation() local Distance = (Vector2(MousePos.X, MousePos.Y) - Vector2(Vector.X, Vector.Y)).Magnitude if Distance < RequiredDistance and OnScreen then RequiredDistance = Distance Environment.Locked = v end end end else local char = Environment.Locked.Character if not char or not char:FindFirstChild(Environment.Settings.LockPart) then CancelLock() return end local lockPart = char[Environment.Settings.LockPart] local Vector = Camera:WorldToViewportPoint(lockPart.Position) local MousePos = UserInputService:GetMouseLocation() local Distance = (Vector2(MousePos.X, MousePos.Y) - Vector2(Vector.X, Vector.Y)).Magnitude if Distance > RequiredDistance then CancelLock() end end end ServiceConnections.TypingStartedConnection = UserInputService.TextBoxFocused:Connect(function() Typing = true end) ServiceConnections.TypingEndedConnection = UserInputService.TextBoxFocusReleased:Connect(function() Typing = false end) local function Load() ServiceConnections.RenderSteppedConnection = RunService.RenderStepped:Connect(function() if Environment.FOVSettings.Enabled and Environment.Settings.Enabled then Environment.FOVCircle.Radius = Environment.FOVSettings.Amount Environment.FOVCircle.Thickness = Environment.FOVSettings.Thickness Environment.FOVCircle.Filled = Environment.FOVSettings.Filled Environment.FOVCircle.NumSides = Environment.FOVSettings.Sides Environment.FOVCircle.Color = Environment.FOVSettings.Color Environment.FOVCircle.Transparency = Environment.FOVSettings.Transparency Environment.FOVCircle.Visible = Environment.FOVSettings.Visible local mp = UserInputService:GetMouseLocation() Environment.FOVCircle.Position = Vector2(mp.X, mp.Y) else Environment.FOVCircle.Visible = false end if Running and Environment.Settings.Enabled then GetClosestPlayer() if Environment.Locked then local char = Environment.Locked.Character if not char or not char:FindFirstChild(Environment.Settings.LockPart) then CancelLock() return end local lockPart = char[Environment.Settings.LockPart] local targetPos = lockPart.Position if Environment.Settings.PredictMovement and char:FindFirstChild("HumanoidRootPart") then targetPos = targetPos + (char.HumanoidRootPart.AssemblyVelocity * Environment.Settings.PredictionAmount) end if Environment.Settings.ThirdPerson then local sensitivity = mathclamp(Environment.Settings.ThirdPersonSensitivity, 0.1, 5) local Vector = Camera:WorldToViewportPoint(targetPos) local MousePos = UserInputService:GetMouseLocation() mousemoverel((Vector.X - MousePos.X) * sensitivity, (Vector.Y - MousePos.Y) * sensitivity) else if Environment.Settings.Sensitivity > 0 then Animation = TweenService:Create(Camera, TweenInfo.new(Environment.Settings.Sensitivity, Enum.EasingStyle.Sine, Enum.EasingDirection.Out), {CFrame = CFrame.new(Camera.CFrame.Position, targetPos)} ) Animation:Play() else Camera.CFrame = CFrame.new(Camera.CFrame.Position, targetPos) end end Environment.FOVCircle.Color = Environment.FOVSettings.LockedColor end end end) ServiceConnections.InputBeganConnection = UserInputService.InputBegan:Connect(function(Input) if Typing then return end if Input.KeyCode == Enum.KeyCode.Insert then MenuVisible = not MenuVisible if MenuGui and MenuGui:FindFirstChild("MainFrame") then MenuGui.MainFrame.Visible = MenuVisible end return end pcall(function() if Input.KeyCode == Enum.KeyCode[Environment.Settings.TriggerKey] then if Environment.Settings.Toggle then Running = not Running; if not Running then CancelLock() end else Running = true end end end) pcall(function() if Input.UserInputType == Enum.UserInputType[Environment.Settings.TriggerKey] then if Environment.Settings.Toggle then Running = not Running; if not Running then CancelLock() end else Running = true end end end) end) ServiceConnections.InputEndedConnection = UserInputService.InputEnded:Connect(function(Input) if Typing or Environment.Settings.Toggle then return end pcall(function() if Input.KeyCode == Enum.KeyCode[Environment.Settings.TriggerKey] then Running = false; CancelLock() end end) pcall(function() if Input.UserInputType == Enum.UserInputType[Environment.Settings.TriggerKey] then Running = false; CancelLock() end end) end) end Environment.Functions = {} function Environment.Functions:Exit() for _, v in next, ServiceConnections do v:Disconnect() end if Environment.FOVCircle.Remove then Environment.FOVCircle:Remove() end if MenuGui then MenuGui:Destroy() end getgenv().Aimbot.Functions = nil getgenv().Aimbot = nil Load = nil; GetClosestPlayer = nil; CancelLock = nil end function Environment.Functions:Restart() for _, v in next, ServiceConnections do v:Disconnect() end Load() end function Environment.Functions:ToggleMenu() MenuVisible = not MenuVisible if MenuGui and MenuGui:FindFirstChild("MainFrame") then MenuGui.MainFrame.Visible = MenuVisible end end CreateMenu() Load() print("✅ Carregado! Pressione INSERT para abrir o menu.")