AIMDEX V9 Gun Grounds FFA script
Gun Grounds FFA Keyless
AIMDEX V9 Gun Grounds FFA script
👤 alexriderr 👁 101 views ❤️ 0 likes ⏱ Aug 1, 2026
AIMDEX V9 is a powerful script developed by DEX_OFICIAL and Bernardo, designed specifically for Roblox FPS games. It includes a variety of combat-focused features to improve aiming, accuracy, and overall gameplay performance. The script is regularly optimized to provide a smooth and reliable experience across supported FPS games.
✨ Features
Aimbot Lua GUI Panel
📋 Script Code
-- AIMDEX V9 - ESP Jarvis com FOV NO CENTRO EXATO (SCRIPT COMPLETO)
local success, err = pcall(function()

local Rayfield
local ok, result = pcall(function()
    return loadstring(game:HttpGet('https://sirius.menu/rayfield'))()
end)
if ok and result then
    Rayfield = result
else
    ok, result = pcall(function()
        return loadstring(game:HttpGet('https://raw.githubusercontent.com/shlexware/Rayfield/main/source'))()
    end)
    if ok and result then Rayfield = result end
end

if not Rayfield then
    game:GetService("StarterGui"):SetCore("SendNotification", {Title="Erro", Text="Não foi possível carregar o painel.", Duration=5})
    return
end

local Window = Rayfield:CreateWindow({
    Name = "AIMDEX V9",
    LoadingTitle = "AIMDEX V9",
    LoadingSubtitle = "Bernardo Pereira Carvalho",
    TouchCompatible = true
})

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

-- Variáveis
local aimbot = false
local aimassist = false
local showfov = false
local spin = false
local fov = 150
local spinspeed = 10
local esp = false
local tracer = false
local espcolor = Color3.fromRGB(255,255,255)
local noclip = false
local aimPartName = "Head"  -- Variável: parte alvo do aimbot
local speedValue = 16       -- Variável: velocidade do personagem (padrão 16)

-- Pasta organizadora
local ESP_Folder = Instance.new("Folder")
ESP_Folder.Name = "AIMDEX_ESP_System"
pcall(function() ESP_Folder.Parent = game.CoreGui end)
if not ESP_Folder.Parent then
    ESP_Folder.Parent = LocalPlayer:WaitForChild("PlayerGui")
end

local TracerGui = Instance.new("ScreenGui")
TracerGui.Name = "Tracers"
TracerGui.Parent = ESP_Folder
TracerGui.IgnoreGuiInset = true

-- Altura desejada da barra de vida em studs (mesmo tamanho do boneco)
local BAR_WORLD_HEIGHT = 5

local espObjects = {}

local function criarESP(player)
    if player == LocalPlayer then return end

    -- Limpa ESP anterior
    if espObjects[player] then
        local obj = espObjects[player]
        if obj.connection then obj.connection:Disconnect() end
        if obj.highlight then obj.highlight:Destroy() end
        if obj.billboardInfo then obj.billboardInfo:Destroy() end
        if obj.billboardHealth then obj.billboardHealth:Destroy() end
        if obj.tracerLine then obj.tracerLine:Destroy() end
        espObjects[player] = nil
    end

    -- Highlight (contorno)
    local highlight = Instance.new("Highlight")
    highlight.Name = player.Name .. "_Highlight"
    highlight.FillTransparency = 1
    highlight.OutlineColor = espcolor
    highlight.OutlineTransparency = 0
    highlight.Enabled = esp
    highlight.Parent = ESP_Folder

    -- Billboard de informações (nome + distância)
    local billboardInfo = Instance.new("BillboardGui")
    billboardInfo.Name = player.Name .. "_Info"
    billboardInfo.Size = UDim2.new(0, 200, 0, 48)      -- largura x altura
    billboardInfo.StudsOffset = Vector3.new(0, 2.5, 0) -- acima da cabeça
    billboardInfo.AlwaysOnTop = true
    billboardInfo.MaxDistance = 2000
    billboardInfo.Enabled = false
    billboardInfo.Parent = ESP_Folder

    local nameLabel = Instance.new("TextLabel", billboardInfo)
    nameLabel.Size = UDim2.new(1, 0, 0.5, 0)
    nameLabel.Position = UDim2.new(0, 0, 0, 0)
    nameLabel.BackgroundTransparency = 1
    nameLabel.Text = player.Name
    nameLabel.TextColor3 = espcolor
    nameLabel.Font = Enum.Font.Code
    nameLabel.TextSize = 14
    nameLabel.TextScaled = false
    nameLabel.TextXAlignment = Enum.TextXAlignment.Center
    nameLabel.TextTruncate = Enum.TextTruncate.AtEnd

    local distLabel = Instance.new("TextLabel", billboardInfo)
    distLabel.Size = UDim2.new(1, 0, 0.5, 0)
    distLabel.Position = UDim2.new(0, 0, 0.5, 0)
    distLabel.BackgroundTransparency = 1
    distLabel.Text = ""
    distLabel.TextColor3 = espcolor
    distLabel.Font = Enum.Font.Code
    distLabel.TextSize = 14
    distLabel.TextScaled = false
    distLabel.TextXAlignment = Enum.TextXAlignment.Center

    -- Billboard da barra de vida (tamanho adaptável)
    local billboardHealth = Instance.new("BillboardGui")
    billboardHealth.Name = player.Name .. "_HealthBar"
    billboardHealth.AlwaysOnTop = true
    billboardHealth.MaxDistance = 2000
    billboardHealth.Enabled = false
    billboardHealth.Parent = ESP_Folder

    local healthBg = Instance.new("Frame", billboardHealth)
    healthBg.Name = "HealthBg"
    healthBg.Size = UDim2.new(1, 0, 1, 0)           -- preencherá todo o billboard
    healthBg.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
    healthBg.BorderSizePixel = 0

    local healthBar = Instance.new("Frame", healthBg)
    healthBar.Name = "HealthBar"
    healthBar.Size = UDim2.new(1, 0, 1, 0)          -- será ajustado via script
    healthBar.Position = UDim2.new(0, 0, 1, 0)      -- ancora no fundo
    healthBar.BackgroundColor3 = Color3.fromRGB(0, 255, 0)
    healthBar.BorderSizePixel = 0
    healthBar.AnchorPoint = Vector2.new(0, 1)       -- cresce para cima

    -- Linha tracer
    local tracerLine = Instance.new("Frame")
    tracerLine.Name = "TracerLine"                  -- nome para identificação
    tracerLine.AnchorPoint = Vector2.new(0.5, 0.5)
    tracerLine.BackgroundColor3 = espcolor
    tracerLine.BorderSizePixel = 0
    tracerLine.Parent = TracerGui

    -- Atualização contínua
    local connection
    connection = RunService.RenderStepped:Connect(function()
        local character = player.Character
        if character and character:FindFirstChild("HumanoidRootPart") and character:FindFirstChild("Humanoid") and character.Humanoid.Health > 0 then
            local hrp = character.HumanoidRootPart
            local humanoid = character.Humanoid
            local head = character:FindFirstChild("Head") or hrp

            billboardInfo.Adornee = head
            billboardHealth.Adornee = head
            highlight.Parent = character

            -- Calcula tamanho visual da barra (proporcional ao jogador)
            local barBottom = head.Position
            local barTop = head.Position + Vector3.new(0, BAR_WORLD_HEIGHT, 0)
            local screenBottom, onBottom = Camera:WorldToViewportPoint(barBottom)
            local screenTop, onTop = Camera:WorldToViewportPoint(barTop)
            if onBottom and onTop then
                local barPixelHeight = math.abs(screenTop.Y - screenBottom.Y)
                billboardHealth.Size = UDim2.new(0, 4, 0, math.max(barPixelHeight, 1))
                -- Ajusta offset para centralizar a barra no boneco
                billboardHealth.StudsOffset = Vector3.new(1.5, -BAR_WORLD_HEIGHT/2, 0)
            end

            -- Atualiza barra de vida
            local healthPct = math.clamp(humanoid.Health / humanoid.MaxHealth, 0, 1)
            healthBar.Size = UDim2.new(1, 0, healthPct, 0)
            healthBar.BackgroundColor3 = Color3.new(1 - healthPct, healthPct, 0)

            -- Distância
            if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
                local dist = math.floor((LocalPlayer.Character.HumanoidRootPart.Position - hrp.Position).Magnitude)
                distLabel.Text = dist .. " studs"
            end

            -- Visibilidade geral (Master ESP)
            highlight.Enabled = esp
            billboardInfo.Enabled = esp
            billboardHealth.Enabled = esp
            highlight.OutlineColor = espcolor
            nameLabel.TextColor3 = espcolor
            distLabel.TextColor3 = espcolor

            -- Tracers
            if tracer and esp then
                local vector, onScreen = Camera:WorldToViewportPoint(hrp.Position)
                if onScreen then
                    tracerLine.Visible = true
                    local bottomCenter = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y)
                    local targetPos = Vector2.new(vector.X, vector.Y)
                    local distance = (bottomCenter - targetPos).Magnitude
                    tracerLine.Size = UDim2.new(0, 2, 0, distance)
                    local center = (bottomCenter + targetPos) / 2
                    tracerLine.Position = UDim2.new(0, center.X, 0, center.Y)
                    local angle = math.atan2(targetPos.Y - bottomCenter.Y, targetPos.X - bottomCenter.X)
                    tracerLine.Rotation = math.deg(angle) + 90
                else
                    tracerLine.Visible = false
                end
            else
                tracerLine.Visible = false
            end
        else
            billboardInfo.Adornee = nil
            billboardHealth.Adornee = nil
            highlight.Parent = ESP_Folder
            tracerLine.Visible = false
        end
    end)

    espObjects[player] = {
        highlight = highlight,
        billboardInfo = billboardInfo,
        billboardHealth = billboardHealth,
        tracerLine = tracerLine,
        connection = connection
    }
end

-- Inicializa jogadores existentes
for _, player in ipairs(Players:GetPlayers()) do criarESP(player) end
Players.PlayerAdded:Connect(criarESP)
Players.PlayerRemoving:Connect(function(player)
    if espObjects[player] then
        local obj = espObjects[player]
        if obj.connection then obj.connection:Disconnect() end
        if obj.highlight then obj.highlight:Destroy() end
        if obj.billboardInfo then obj.billboardInfo:Destroy() end
        if obj.billboardHealth then obj.billboardHealth:Destroy() end
        if obj.tracerLine then obj.tracerLine:Destroy() end
        espObjects[player] = nil
    end
end)

-- Círculo de FOV
local fovGui = Instance.new("ScreenGui", game.CoreGui)
local fovCircle = Instance.new("Frame", fovGui)
fovCircle.AnchorPoint = Vector2.new(0.5, 0.5)
fovCircle.Position = UDim2.new(0.5, 0, 0.5, 0)
fovCircle.BackgroundTransparency = 1
fovCircle.Visible = false
local uiCorner = Instance.new("UICorner", fovCircle)
uiCorner.CornerRadius = UDim.new(1, 0)
local fovStroke = Instance.new("UIStroke", fovCircle)
fovStroke.Color = Color3.new(1,1,1)
fovStroke.Thickness = 1
fovStroke.Transparency = 0.3

-- Funções auxiliares
local function toScreen(pos)
    local v, on = Camera:WorldToViewportPoint(pos)
    return Vector2.new(v.X, v.Y), v.Z > 0
end

local function isTargetVisible(head)
    local camPos = Camera.CFrame.Position
    local targetPos = head.Position
    local dir = (targetPos - camPos).Unit
    local dist = (targetPos - camPos).Magnitude - 0.1
    local ignoreList = { LocalPlayer.Character, head.Parent }
    local hit = workspace:FindPartOnRayWithIgnoreList(Ray.new(camPos, dir * dist), ignoreList)
    return hit == nil
end

-- Loop principal
RunService.RenderStepped:Connect(function(delta)
    -- Aplica velocidade configurada
    if LocalPlayer.Character then
        local hum = LocalPlayer.Character:FindFirstChildOfClass("Humanoid")
        if hum and hum.WalkSpeed ~= speedValue then
            hum.WalkSpeed = speedValue
        end
    end

    if aimbot or aimassist then
        local char = LocalPlayer.Character
        if char and char:FindFirstChild("HumanoidRootPart") then
            local closest = nil
            local minDist = fov
            for _, p in ipairs(Players:GetPlayers()) do
                if p ~= LocalPlayer and p.Character then
                    local targetPart = p.Character:FindFirstChild(aimPartName)
                    if not targetPart then
                        -- Fallback para a cabeça se a parte escolhida não existir
                        targetPart = p.Character:FindFirstChild("Head")
                    end
                    if targetPart then
                        local pos, on = toScreen(targetPart.Position)
                        if on then
                            local d = (Vector2.new(pos.X, pos.Y) - Camera.ViewportSize/2).Magnitude
                            if d = 0.5 then
        local fps = math.floor(fc / tt)
        local ping = math.floor(LocalPlayer:GetNetworkPing() * 1000)
        fpsLabel.Text = string.format("FPS: %d | Ping: %d ms", fps, ping)
        fc, tt = 0, 0
    end
end)

Rayfield:Notify({Title="AIMDEX V9", Content="AIMDEX V9 CRIADO POR BERNARDO PEREIRA CARVALHO EMPRESA DEX.", Duration=5})

end)

if not success then
    warn("Erro: "..tostring(err))
    game:GetService("StarterGui"):SetCore("SendNotification", {Title="Erro AIMDEX", Text=tostring(err), Duration=10})
end
🎮 Similar Scripts
💬 Comments (0)
Login to post a comment
No comments yet. Be the first!
Script Info
Game Gun Grounds FFA
TypeKeyless
Authoralexriderr
Views101
Likes0
PublishedAug 1, 2026
🎮 Play Game on Roblox
🕐 Recent Scripts
Build Base to Survive VERITY Script | Softkillz
Build Base to Survive VERITY Script | Softkillz
Build Base to Survive VERITY • 👁 7
Keyless
Steal An Egg Script | Valinc Syndicate
Steal An Egg Script | Valinc Syndicate
Steal An Egg • 👁 5
Keyless
Save Your Cat Script keyless | Ouroboros Hub
Save Your Cat Script keyless | Ouroboros Hub
Save Your Cat 🐈 • 👁 7
Keyless
RETRO TD MACRO CONTROL script keyless
RETRO TD MACRO CONTROL script keyless
Retro Tower Defense • 👁 10
Keyless
Aura For Brainrots Keyless Script
Aura For Brainrots Keyless Script
Aura For Brainrots • 👁 11
Keyless