
Key Required VerifiedUniversal

--[[
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)



Bota em inglês isso daí