--[[ Version: 1.3 Enhanced aimbot with mobile support and no FOV restriction. Fixed issue with aiming too high above enemy heads. Aimbot Keys: - PC: Right Mouse Button - Mobile: On-screen draggable button Added `_G.VerticalOffset = -0.25` to fine-tune aim height. Adjust as needed: negative values lower aim, positive values raise it. All my scripts are open source. I accept game recommendations and requests. - theboywhocried ]]-- _G.AimPart = "Head" -- Target part for aimbot (e.g., "Head", "Torso", "HumanoidRootPart") _G.VerticalOffset = -0.25 -- Adjust this value as needed: negative = lower, positive = higher _G.HighlightEnemies = true -- Toggle for Enemy Highlighting _G.AimbotEnabled = true -- Toggle for Aimbot _G.Sensitivity = 0.4 -- Lower values = smoother aim (0.1-1.0 recommended) _G.TracersVisible = true -- Toggle for tracers _G.TracerColor = Color3.fromRGB(255, 0, 0) -- Color for tracers _G.TracerThickness = 1 -- Thickness for tracers _G.TracerTransparency = 0.7 -- Transparency for tracers _G.PredictionStrength = 0.15 -- Target movement prediction (higher = more prediction) _G.MobileButtonSize = 50 -- Size of mobile button in pixels _G.MobileButtonColor = Color3.fromRGB(255, 0, 0) -- Color of mobile button _G.MobileButtonTransparency = 0.7 -- Transparency of mobile button local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Players = game:GetService("Players") local GuiService = game:GetService("GuiService") local Camera = workspace.CurrentCamera local LocalPlayer = Players.LocalPlayer local Mouse = LocalPlayer:GetMouse() local EnemiesFolder = workspace:WaitForChild("active"):WaitForChild("Programming"):WaitForChild("Enemies") local highlightFolder = Instance.new("Folder") highlightFolder.Name = "EnemyHighlights" highlightFolder.Parent = workspace local tracers = {} local activeEnemies = {} local isAiming = false local lastMouseMove = tick() local isMobile = UserInputService.TouchEnabled and not UserInputService.MouseEnabled local mobileButtonDown = false local mobileButtonPosition = Vector2.new(50, 200) local mobileButton if isMobile then local screenGui = Instance.new("ScreenGui") screenGui.Name = "AimbotMobileGui" screenGui.ResetOnSpawn = false screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling pcall(function() screenGui.Parent = game:GetService("CoreGui") end) if not screenGui.Parent then screenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") end mobileButton = Instance.new("ImageButton") mobileButton.Name = "AimbotButton" mobileButton.BackgroundColor3 = _G.MobileButtonColor mobileButton.BackgroundTransparency = _G.MobileButtonTransparency mobileButton.BorderSizePixel = 0 mobileButton.Position = UDim2.new(0, mobileButtonPosition.X, 0, mobileButtonPosition.Y) mobileButton.Size = UDim2.new(0, _G.MobileButtonSize, 0, _G.MobileButtonSize) mobileButton.Image = "" mobileButton.ClipsDescendants = true mobileButton.Parent = screenGui local uiCorner = Instance.new("UICorner") uiCorner.CornerRadius = UDim.new(1, 0) uiCorner.Parent = mobileButton local textLabel = Instance.new("TextLabel") textLabel.BackgroundTransparency = 1 textLabel.Size = UDim2.new(1, 0, 1, 0) textLabel.Font = Enum.Font.GothamBold textLabel.Text = "AIM" textLabel.TextColor3 = Color3.new(1, 1, 1) textLabel.TextSize = 14 textLabel.Parent = mobileButton local dragging = false local dragStart, initialPos mobileButton.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.Touch then if input.UserInputState == Enum.UserInputState.Begin then dragging = true dragStart = input.Position initialPos = mobileButton.Position mobileButtonDown = true end end end) mobileButton.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.Touch then local delta = input.Position - dragStart mobileButton.Position = UDim2.new( 0, initialPos.X.Offset + delta.X, 0, initialPos.Y.Offset + delta.Y ) mobileButtonPosition = Vector2.new(mobileButton.Position.X.Offset, mobileButton.Position.Y.Offset) end end) mobileButton.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.Touch then dragging = false mobileButtonDown = false end end) end local function isTargetEnemy(enemy) return enemy:IsA("Model") and (enemy.Name:lower() == "enemy" or enemy.Name:lower() == "juggernaut") end local function isAlive(enemy) local humanoid = enemy:FindFirstChildOfClass("Humanoid") return humanoid and humanoid.Health > 0 end local function getEnemyPrimaryPart(enemy) return enemy:FindFirstChild(_G.AimPart) or enemy:FindFirstChild("HumanoidRootPart") or enemy:FindFirstChild("Torso") or enemy:FindFirstChild("UpperTorso") or enemy.PrimaryPart end local function predictPosition(part, velocityMultiplier) if not part or not part:IsA("BasePart") then return part.Position end local velocity = part.Velocity local predictedPosition = part.Position + (velocity * velocityMultiplier) predictedPosition = predictedPosition + Vector3.new(0, _G.VerticalOffset, 0) return predictedPosition end local function createHighlight(enemy) if not enemy or not enemy:IsA("Model") or tracers[enemy] then return end local highlight = Instance.new("Highlight") highlight.Adornee = enemy highlight.FillColor = Color3.new(1, 0, 0) highlight.OutlineColor = Color3.new(1, 1, 1) highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop highlight.Parent = highlightFolder local primaryPart = getEnemyPrimaryPart(enemy) if primaryPart then local billboard = Instance.new("BillboardGui") billboard.Adornee = primaryPart billboard.Size = UDim2.new(4, 0, 1, 0) billboard.StudsOffset = Vector3.new(0, 3, 0) billboard.AlwaysOnTop = true billboard.Parent = highlightFolder local textLabel = Instance.new("TextLabel") textLabel.Size = UDim2.new(1, 0, 1, 0) textLabel.BackgroundTransparency = 1 textLabel.Text = enemy.Name textLabel.TextColor3 = Color3.new(1, 1, 1) textLabel.TextStrokeTransparency = 0.5 textLabel.TextScaled = true textLabel.Font = Enum.Font.GothamBold textLabel.Parent = billboard end local tracer = Drawing.new("Line") tracer.Thickness = _G.TracerThickness tracer.Transparency = _G.TracerTransparency tracer.Color = _G.TracerColor tracer.Visible = false tracers[enemy] = { drawing = tracer, highlight = highlight } end local function removeVisuals(enemy) if tracers[enemy] then if tracers[enemy].drawing then tracers[enemy].drawing.Visible = false tracers[enemy].drawing:Remove() end if tracers[enemy].highlight and tracers[enemy].highlight.Parent then tracers[enemy].highlight:Destroy() end tracers[enemy] = nil activeEnemies[enemy] = nil end end local function clearAllVisuals() highlightFolder:ClearAllChildren() for enemy, visual in pairs(tracers) do if visual.drawing then visual.drawing.Visible = false visual.drawing:Remove() end end tracers = {} activeEnemies = {} end local function updateTracers() for enemy, visual in pairs(tracers) do if not enemy or not enemy:IsDescendantOf(workspace) or not _G.HighlightEnemies then removeVisuals(enemy) continue end local primaryPart = getEnemyPrimaryPart(enemy) if not primaryPart then removeVisuals(enemy) continue end local screenPosition, onScreen = Camera:WorldToViewportPoint(primaryPart.Position) if onScreen and visual.drawing then visual.drawing.From = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y) visual.drawing.To = Vector2.new(screenPosition.X, screenPosition.Y) visual.drawing.Visible = _G.TracersVisible activeEnemies[enemy] = true elseif visual.drawing then visual.drawing.Visible = false activeEnemies[enemy] = nil end end end local function updateEnemyHighlights() if not _G.HighlightEnemies then return end for _, enemy in ipairs(EnemiesFolder:GetChildren()) do if isTargetEnemy(enemy) and isAlive(enemy) and not tracers[enemy] then createHighlight(enemy) end end end local function getTimedSensitivity() local timeFactor = math.sin(tick() * 2) * 0.1 + 0.9 return _G.Sensitivity * timeFactor end local function getCursorPosition() if isMobile then return UserInputService:GetLastInputPosition() else return UserInputService:GetMouseLocation() end end local function moveCursorTo(targetPosition) local cursorPos = getCursorPosition() local moveVector = targetPosition - cursorPos local sensitivity = getTimedSensitivity() moveVector = moveVector * sensitivity if tick() - lastMouseMove > math.random(5, 20) / 1000 then if isMobile then if UserInputService.TouchEnabled then UserInputService:CreateTouchEvent( targetPosition.X, targetPosition.Y, 0, false, false, false ) end else mousemoverel(moveVector.X, moveVector.Y) end lastMouseMove = tick() end end local function getClosestEnemy() local closestEnemy = nil local shortestDistance = math.huge local cursorPos = getCursorPosition() for _, enemy in ipairs(EnemiesFolder:GetChildren()) do if isTargetEnemy(enemy) and isAlive(enemy) then local targetPart = enemy:FindFirstChild(_G.AimPart) or getEnemyPrimaryPart(enemy) if targetPart then local predictedPos = predictPosition(targetPart, _G.PredictionStrength) local screenPos, onScreen = Camera:WorldToScreenPoint(predictedPos) if onScreen then local distance = (Vector2.new(screenPos.X, screenPos.Y) - cursorPos).Magnitude if distance < shortestDistance then shortestDistance = distance closestEnemy = { part = targetPart, screenPos = Vector2.new(screenPos.X, screenPos.Y) } end end end end end return closestEnemy end UserInputService.InputBegan:Connect(function(input) if not isMobile and input.UserInputType == Enum.UserInputType.MouseButton2 then isAiming = true end end) UserInputService.InputEnded:Connect(function(input) if not isMobile and input.UserInputType == Enum.UserInputType.MouseButton2 then isAiming = false end end) RunService.RenderStepped:Connect(function() if isMobile then isAiming = mobileButtonDown end if isAiming and _G.AimbotEnabled then local target = getClosestEnemy() if target then moveCursorTo(target.screenPos) end end end) RunService.RenderStepped:Connect(function() if _G.HighlightEnemies then updateEnemyHighlights() updateTracers() else clearAllVisuals() end end) EnemiesFolder.ChildRemoved:Connect(function(enemy) removeVisuals(enemy) end) function ToggleAimbot() _G.AimbotEnabled = not _G.AimbotEnabled end function ToggleHighlight() _G.HighlightEnemies = not _G.HighlightEnemies end function ToggleTracers() _G.TracersVisible = not _G.TracersVisible end game:GetService("Players").PlayerRemoving:Connect(function(player) if player == LocalPlayer then clearAllVisuals() if mobileButton then mobileButton:Destroy() end end end)