Simple Head Aim Discreto e Estavel
Key RequiredUniversal

Simple Head Aim Discreto e Estavel

Universal Scriptjoaopalope06joaopalope06 1.2K views 293 executesUpdated Jan 19, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•142 lines (5041 chars)
--[[
    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)

Features & Information

Script simples e direto, desenvolvido com foco em discrição e naturalidade. Possui apenas um botão de ativar e desativar (ON / OFF), sem menus complexos ou funções exageradas.

Community Comments (1)

Omicron_HubOmicron_HubJan 19, 2026

Bota em inglês isso daí

More Scripts for Universal Scripts