VNZX HUB
Key RequiredUniversal

VNZX HUB

Universal ScriptMeloxMelox 338 views 26 executesUpdated Jan 21, 2026
Unrated
00
Lua Script•253 lines (8839 chars)
local Players = game:GetService("Players")
local CoreGui = game:GetService("CoreGui")
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera

local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "VZX_HUB"
ScreenGui.Parent = CoreGui
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

local LoadingFrame = Instance.new("Frame")
LoadingFrame.Size = UDim2.new(1, 0, 1, 0)
LoadingFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
LoadingFrame.Parent = ScreenGui

local Title = Instance.new("TextLabel")
Title.Text = "VZX HUB"
Title.Size = UDim2.new(0, 200, 0, 50)
Title.Position = UDim2.new(0.5, -100, 0.4, 0)
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.BackgroundTransparency = 1
Title.Font = Enum.Font.GothamBold
Title.TextSize = 50
Title.Parent = LoadingFrame

local BarBackground = Instance.new("Frame")
BarBackground.Size = UDim2.new(0, 300, 0, 4)
BarBackground.Position = UDim2.new(0.5, -150, 0.5, 30)
BarBackground.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
BarBackground.BorderSizePixel = 0
BarBackground.Parent = LoadingFrame

local BarProgress = Instance.new("Frame")
BarProgress.Size = UDim2.new(0, 0, 1, 0)
BarProgress.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
BarProgress.BorderSizePixel = 0
BarProgress.Parent = BarBackground

task.wait(0.5)
BarProgress:TweenSize(UDim2.new(1, 0, 1, 0), "Out", "Quad", 2.5)
task.wait(2.8)
LoadingFrame:Destroy()

local MainMenu = Instance.new("Frame")
MainMenu.Size = UDim2.new(0, 220, 0, 200)
MainMenu.Position = UDim2.new(0.5, -110, 0.5, -100)
MainMenu.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
MainMenu.BorderSizePixel = 0
MainMenu.Active = true
MainMenu.Draggable = true
MainMenu.Parent = ScreenGui

local Corner = Instance.new("UICorner")
Corner.CornerRadius = UDim.new(0, 8)
Corner.Parent = MainMenu

local TopBar = Instance.new("Frame")
TopBar.Size = UDim2.new(1, 0, 0, 30)
TopBar.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
TopBar.BorderSizePixel = 0
TopBar.Parent = MainMenu

local TopCorner = Instance.new("UICorner")
TopCorner.CornerRadius = UDim.new(0, 8)
TopCorner.Parent = TopBar

local MenuTitle = Instance.new("TextLabel")
MenuTitle.Text = "VZX HUB"
MenuTitle.Size = UDim2.new(1, 0, 1, 0)
MenuTitle.BackgroundTransparency = 1
MenuTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
MenuTitle.Font = Enum.Font.GothamBold
MenuTitle.TextSize = 14
MenuTitle.Parent = TopBar

local AimbotBtn = Instance.new("TextButton")
AimbotBtn.Text = "ATIVAR AIMBOT"
AimbotBtn.Size = UDim2.new(0, 180, 0, 40)
AimbotBtn.Position = UDim2.new(0.5, -90, 0, 40)
AimbotBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
AimbotBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
AimbotBtn.Font = Enum.Font.GothamSemibold
AimbotBtn.TextSize = 12
AimbotBtn.Parent = MainMenu

local BtnCornerA = Instance.new("UICorner")
BtnCornerA.CornerRadius = UDim.new(0, 6)
BtnCornerA.Parent = AimbotBtn

local ESPBtn = Instance.new("TextButton")
ESPBtn.Text = "ATIVAR ESP"
ESPBtn.Size = UDim2.new(0, 180, 0, 40)
ESPBtn.Position = UDim2.new(0.5, -90, 0, 90)
ESPBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
ESPBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
ESPBtn.Font = Enum.Font.GothamSemibold
ESPBtn.TextSize = 12
ESPBtn.Parent = MainMenu

local BtnCornerE = Instance.new("UICorner")
BtnCornerE.CornerRadius = UDim.new(0, 6)
BtnCornerE.Parent = ESPBtn

local MinimizeButton = Instance.new("ImageButton")
MinimizeButton.Size = UDim2.new(0, 60, 0, 60)
MinimizeButton.Position = UDim2.new(1, -70, 0, 10)
MinimizeButton.BackgroundTransparency = 1
MinimizeButton.Image = "rbxassetid://15264359744"
MinimizeButton.Parent = ScreenGui

local MinimizeCorner = Instance.new("UICorner")
MinimizeCorner.CornerRadius = UDim.new(0.5, 0)
MinimizeCorner.Parent = MinimizeButton

local MenuVisible = true

MinimizeButton.MouseButton1Click:Connect(function()
    MenuVisible = not MenuVisible
    if MenuVisible then
        MainMenu.Visible = true
        MinimizeButton.ImageTransparency = 0
    else
        MainMenu.Visible = false
        MinimizeButton.ImageTransparency = 0.5
    end
end)

local AimbotEnabled = false

AimbotBtn.MouseButton1Click:Connect(function()
    AimbotEnabled = not AimbotEnabled
    if AimbotEnabled then
        AimbotBtn.Text = "DESATIVAR AIMBOT"
        AimbotBtn.BackgroundColor3 = Color3.fromRGB(200, 0, 0)
    else
        AimbotBtn.Text = "ATIVAR AIMBOT"
        AimbotBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
    end
end)

local ESPEnabled = false
local EspConnections = {}
local EspBoxes = {}

ESPBtn.MouseButton1Click:Connect(function()
    ESPEnabled = not ESPEnabled
    if ESPEnabled then
        ESPBtn.Text = "DESATIVAR ESP"
        ESPBtn.BackgroundColor3 = Color3.fromRGB(200, 0, 0)
        -- Iniciar ESP
    else
        ESPBtn.Text = "ATIVAR ESP"
        ESPBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
        -- Parar ESP
        for _, box in pairs(EspBoxes) do box:Destroy() end
        EspBoxes = {}
    end
end)


function GetTarget()
    local Target = nil
    local Dist = 400
    for _, v in pairs(Players:GetPlayers()) do
        if v ~= LocalPlayer and v.Character and v.Character:FindFirstChild("Head") then
            local Pos, OnScreen = Camera:WorldToScreenPoint(v.Character.Head.Position)
            if OnScreen then
                local Mag = (Vector2.new(Pos.X, Pos.Y) - Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2)).Magnitude
                if Mag < Dist then
                    Target = v
                    Dist = Mag
                end
            end
        end
    end
    return Target
end

RunService.RenderStepped:Connect(function()
    if AimbotEnabled then
        local T = GetTarget()
        if T then
            Camera.CFrame = CFrame.new(Camera.CFrame.Position, T.Character.Head.Position)
        end
    end
end)

-- Lógica do ESP em RenderStepped para atualização constante
RunService.RenderStepped:Connect(function()
    if not ESPEnabled then return end

    -- Limpar caixas antigas para jogadores que saíram
    for player, box in pairs(EspBoxes) do
        if not Players:FindFirstChild(player.Name) or not Players[player.Name].Character then
            box:Destroy()
            EspBoxes[player] = nil
        end
    end

    -- Criar/atualizar caixas para jogadores atuais
    for _, player in pairs(Players:GetPlayers()) do
        if player ~= LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
            local root = player.Character.HumanoidRootPart
            local head = player.Character:FindFirstChild("Head") or root

            if not EspBoxes[player] then
                -- Cria a caixa base
                local Box = Instance.new("BoxHandleAdornment")
                Box.Adornee = root
                Box.Color3 = Color3.fromRGB(255, 0, 0)
                Box.AlwaysOnTop = true
                Box.Transparency = 0.5
                Box.ZIndex = 10
                Box.Parent = workspace -- Importante para AlwaysOnTop funcionar no Delta
                EspBoxes[player] = Box

                -- Adiciona nome e saúde (TextLabel)
                local NameLabel = Instance.new("TextLabel")
                NameLabel.BackgroundTransparency = 1
                NameLabel.Size = UDim2.new(5, 0, 2, 0)
                NameLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
                NameLabel.Font = Enum.Font.SourceSans
                NameLabel.TextSize = 14
                NameLabel.Parent = Box -- Adorna ao BoxHandle para seguir o jogador

                local HealthLabel = Instance.new("TextLabel")
                HealthLabel.BackgroundTransparency = 1
                HealthLabel.Size = UDim2.new(5, 0, 2, 0)
                HealthLabel.TextColor3 = Color3.fromRGB(0, 255, 0)
                HealthLabel.Font = Enum.Font.SourceSans
                HealthLabel.TextSize = 12
                HealthLabel.Parent = Box
            end

            -- Atualiza posição e tamanho da caixa visualmente
            local box = EspBoxes[player]
            local size = (head.Position - root.Position).Magnitude * 1.5 -- Altura baseada no tamanho do personagem
            box.Size = Vector3.new(2, size, 1) -- Caixa 3D ao redor do jogador
            box.CFrame = root.CFrame

            -- Atualiza textos
            local humanoid = player.Character:FindFirstChildOfClass("Humanoid")
            if humanoid then
                box.TextLabel.Text = player.Name
                box.TextLabel.Position = UDim2.new(0, 0, -1.5, 0) -- Posição acima da caixa
                box.TextLabel2.Text = "HP: " .. math.ceil(humanoid.Health)
                box.TextLabel2.Position = UDim2.new(0, 0, 1.5, 0) -- Posição abaixo da caixa
            end
        end
    end
end)

Features & Information

Hiii

Community Comments (1)

NamobloxGGNamobloxGGJan 21, 2026

dam bro, u skid

More Scripts for Universal Scripts