Universal Script – FE - Verified script for Universal Roblox
Key RequiredUniversal

Universal Script – FE

Universal ScriptSamuelrr501Samuelrr501 874 views 2K executesUpdated Oct 18, 2026
Unrated
00
Lua Script•182 lines (6488 chars)
-- ==========================================
-- MIRA FIRME - CORPO MIRA / CÂMERA LIVRE (ANTI-VOID FIX)
-- ==========================================

local UserInputService = game:GetService("UserInputService")
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera

-- ========= CONFIG =========
local MAX_DISTANCE = 1500
local FOV          = 400

-- ========= ESTADO =========
local isActive = false
local target = nil
local renderName = "AimbotLock_BodyTarget"

-- ==========================================
-- 1. INTERFACE
-- ==========================================
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "MenuMira"
ScreenGui.Parent = game.CoreGui
ScreenGui.ResetOnSpawn = false

local ToggleButton = Instance.new("TextButton")
ToggleButton.Parent = ScreenGui
ToggleButton.BackgroundColor3 = Color3.fromRGB(0, 0, 255)
ToggleButton.Position = UDim2.new(0.1, 0, 0.2, 0)
ToggleButton.Size = UDim2.new(0, 150, 0, 50)
ToggleButton.Font = Enum.Font.SourceSansBold
ToggleButton.Text = "Mira: DESATIVADA"
ToggleButton.TextColor3 = Color3.fromRGB(255, 255, 255)
ToggleButton.TextSize = 18
ToggleButton.Active = true

local UICorner = Instance.new("UICorner")
UICorner.CornerRadius = UDim.new(0, 10)
UICorner.Parent = ToggleButton

-- Arrastar botão na tela
local dragging, dragInput, mousePos, framePos = false, nil, nil, nil
ToggleButton.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        dragging = true
        mousePos = input.Position
        framePos = ToggleButton.Position
        input.Changed:Connect(function()
            if input.UserInputState == Enum.UserInputState.End then dragging = false end
        end)
    end
end)
ToggleButton.InputChanged:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
        dragInput = input
    end
end)
UserInputService.InputChanged:Connect(function(input)
    if input == dragInput and dragging then
        local delta = input.Position - mousePos
        ToggleButton.Position = UDim2.new(
            framePos.X.Scale, framePos.X.Offset + delta.X,
            framePos.Y.Scale, framePos.Y.Offset + delta.Y
        )
    end
end)

-- ==========================================
-- 2. VERIFICAÇÕES
-- ==========================================
local function alvoVivo(char)
    if not char or not char.Parent then return false end
    local hum = char:FindFirstChildOfClass("Humanoid")
    if not hum or hum.Health <= 0 then return false end
    return true
end

-- ==========================================
-- 3. PROCURAR NOVO ALVO (Players + NPCs)
-- ==========================================
local function encontrarNovoAlvo()
    local melhor, menorDist = nil, math.huge
    local centro = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y / 2)
    local origem = Camera.CFrame.Position

    local lista = {}

    for _, plr in pairs(Players:GetPlayers()) do
        if plr ~= LocalPlayer and plr.Character then
            table.insert(lista, plr.Character)
        end
    end

    for _, obj in pairs(workspace:GetDescendants()) do
        if obj:IsA("Model") and obj:FindFirstChildOfClass("Humanoid") then
            if not Players:GetPlayerFromCharacter(obj) and obj ~= LocalPlayer.Character then
                table.insert(lista, obj)
            end
        end
    end

    for _, char in pairs(lista) do
        if char ~= LocalPlayer.Character and alvoVivo(char) then
            local head = char:FindFirstChild("Head") or char:FindFirstChild("HumanoidRootPart")
            if head then
                local dist = (origem - head.Position).Magnitude
                if dist <= MAX_DISTANCE then
                    local sp, onScreen = Camera:WorldToViewportPoint(head.Position)
                    if onScreen then
                        local d = (Vector2.new(sp.X, sp.Y) - centro).Magnitude
                        if d <= FOV and d < menorDist then
                            menorDist = d
                            melhor = char
                        end
                    end
                end
            end
        end
    end

    return melhor
end

-- ==========================================
-- 4. LOOP ANTI-VOID (ROTAÇÃO SEGURA)
-- ==========================================
local function tick()
    if not alvoVivo(target) then
        target = encontrarNovoAlvo()
    end

    if target then
        local myChar = LocalPlayer.Character
        if not alvoVivo(myChar) then return end
        
        local myRoot = myChar:FindFirstChild("HumanoidRootPart")
        local head = target:FindFirstChild("Head") or target:FindFirstChild("HumanoidRootPart")

        if myRoot and head then
            -- Calcula a direção mantendo a altura Y idêntica para não inclinar o personagem
            local targetPos = head.Position
            local rootPos = myRoot.Position
            local dir = Vector3.new(targetPos.X - rootPos.X, 0, targetPos.Z - rootPos.Z)

            -- Evita cálculos zerados/inválidos quando estiver encostado no alvo ou sofrendo knockback
            if dir.Magnitude > 0.1 then
                local newCFrame = CFrame.lookAt(rootPos, rootPos + dir)
                -- Aplica apenas a rotação mantendo a física da posição intacta (evita cair no void ao tomar dano/ataques)
                myRoot.CFrame = CFrame.new(rootPos) * (newCFrame - newCFrame.Position)
            end
        end
    end
end

-- ==========================================
-- 5. ATIVAR / DESATIVAR
-- ==========================================
local function ativarMira()
    print("[MIRA] Ativada!")
    RunService:BindToRenderStep(renderName, Enum.RenderPriority.Character.Value + 1, tick)
end

local function desativarMira()
    print("[MIRA] Desativada.")
    pcall(function() RunService:UnbindFromRenderStep(renderName) end)
    target = nil
end

ToggleButton.MouseButton1Click:Connect(function()
    isActive = not isActive
    if isActive then
        ToggleButton.BackgroundColor3 = Color3.fromRGB(0, 255, 0)
        ToggleButton.Text = "Mira: ATIVADA"
        ativarMira()
    else
        ToggleButton.BackgroundColor3 = Color3.fromRGB(0, 0, 255)
        ToggleButton.Text = "Mira: DESATIVADA"
        desativarMira()
    end
end)

How to Execute Universal Script – FE

Step 1: Copy Code: Click the Copy Code button in the viewer above to grab the clean Lua loadstring.

Step 2: Launch Executor: Open a compatible, unpatched executor. If you need one, check our Roblox Executors Directory.

Step 3: Join Experience: Launch Roblox and join Universal Script.

Step 4: Attach & Run: Attach/inject your executor into the Roblox process, paste the code into the script tab, and press Execute.

Created By

Samuelrr501
Samuelrr501
Script Creator
View Author Profile

Features & Information

Execute Universal Script – FE. Key system required, created by Samuelrr501, updated Oct 18, 2026. Tested and working on supported executors.

Script Changelog (1)

@Samuelrr501Oct 18, 2026

Create script

Community Comments (0)

No comments yet for this script.

Frequently Asked Questions

How do I execute Universal Script – FE in Roblox?

To run Universal Script – FE, copy the Lua loadstring from the code viewer above, launch Roblox and join Universal Script, attach a working executor (such as Potassium, Solara, or Delta from our Executors directory), paste the code into your executor console, and click Execute.

Is Universal Script – FE keyless or does it require an access key?

Universal Script – FE requires an access key. You can retrieve the official key directly using the Get Script Key link provided above.

Is Universal Script – FE currently safe and working?

This script is active and operational. Always test scripts using a secondary (alt) Roblox account to safeguard your main profile against anti-cheat bans.