--[[ MOBILE AIMBOT UNIVERSAL - Botão Flutuante (Arrastável) - Foca no inimigo mais próximo da mira (Centro da Tela) ]] local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local LocalPlayer = Players.LocalPlayer local Camera = workspace.CurrentCamera -- CONFIGURAÇÕES local Settings = { Enabled = false, FOV = 150, -- Tamanho da área de captura Smoothness = 0.3, -- 0.1 (Rápido) a 1.0 (Lento) TeamCheck = true -- Não mira em aliados } -- CRIAR INTERFACE (GUI) local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "MobileAimGUI" ScreenGui.ResetOnSpawn = false -- Não some ao morrer if game.CoreGui:FindFirstChild("MobileAimGUI") then game.CoreGui.MobileAimGUI:Destroy() end -- Tenta colocar no CoreGui (mais seguro), senão PlayerGui pcall(function() ScreenGui.Parent = game.CoreGui end) if not ScreenGui.Parent then ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") end -- BOTÃO PRINCIPAL (BOLINHA) local MainButton = Instance.new("TextButton") MainButton.Name = "AimButton" MainButton.Parent = ScreenGui MainButton.Size = UDim2.new(0, 60, 0, 60) -- Tamanho bom para o dedo MainButton.Position = UDim2.new(0.8, 0, 0.4, 0) -- Posição inicial (Lado direito) MainButton.BackgroundColor3 = Color3.fromRGB(50, 50, 50) -- Cinza Escuro MainButton.Text = "OFF" MainButton.TextColor3 = Color3.fromRGB(255, 255, 255) MainButton.Font = Enum.Font.GothamBold MainButton.TextSize = 18 -- ARREDONDAR E BORDA local UICorner = Instance.new("UICorner") UICorner.CornerRadius = UDim.new(1, 0) -- Totalmente redondo UICorner.Parent = MainButton local UIStroke = Instance.new("UIStroke") UIStroke.Parent = MainButton UIStroke.Color = Color3.fromRGB(255, 0, 0) -- Borda Vermelha (Indica OFF) UIStroke.Thickness = 3 -- SISTEMA DE ARRASTAR O BOTÃO (MOBILE TOUCH) local dragging, dragInput, dragStart, startPos MainButton.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = MainButton.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) MainButton.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.Touch or input.UserInputType == Enum.UserInputType.MouseMovement then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then local delta = input.Position - dragStart MainButton.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) -- FUNÇÃO DE LIGAR/DESLIGAR MainButton.MouseButton1Click:Connect(function() -- Pequeno delay para distinguir clique de arrastar if not dragging then Settings.Enabled = not Settings.Enabled if Settings.Enabled then MainButton.Text = "ON" UIStroke.Color = Color3.fromRGB(0, 255, 0) -- Verde MainButton.BackgroundColor3 = Color3.fromRGB(0, 50, 0) else MainButton.Text = "OFF" UIStroke.Color = Color3.fromRGB(255, 0, 0) -- Vermelho MainButton.BackgroundColor3 = Color3.fromRGB(50, 50, 50) end end end) -- LÓGICA DO AIMBOT (Procura pelo centro da tela) local function GetTarget() local target = nil local shortestDist = Settings.FOV -- Centro da tela no Celular local CenterScreen = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2) for _, v in pairs(Players:GetPlayers()) do if v ~= LocalPlayer and v.Character and v.Character:FindFirstChild("Head") and v.Character:FindFirstChild("Humanoid") then if v.Character.Humanoid.Health <= 0 then continue end if Settings.TeamCheck and v.Team == LocalPlayer.Team then continue end local Head = v.Character.Head local ScreenPos, OnScreen = Camera:WorldToViewportPoint(Head.Position) if OnScreen then local Dist = (Vector2.new(ScreenPos.X, ScreenPos.Y) - CenterScreen).Magnitude if Dist < shortestDist then target = Head shortestDist = Dist end end end end return target end RunService.RenderStepped:Connect(function() if Settings.Enabled then local TargetPart = GetTarget() if TargetPart then local CurrentCF = Camera.CFrame local TargetCF = CFrame.new(CurrentCF.Position, TargetPart.Position) -- Suavização para não ficar tremendo no celular Camera.CFrame = CurrentCF:Lerp(TargetCF, Settings.Smoothness) end end end)