Westbound HUB
Key RequiredUniversal

Westbound HUB

Universal ScriptZeyOnTopZeyOnTop 2.5K views 670 executesUpdated Feb 6, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•150 lines (5214 chars)
local inputServ = game:GetService("UserInputService")
local runServ = game:GetService("RunService")
local players = game:GetService("Players")
local lp = players.LocalPlayer
local mouse = lp:GetMouse()
local cam = workspace.CurrentCamera

-- Config simple
local menu_abierto = true
local esp_on = false
local aim_on = false

-- UI Principal
local ui = Instance.new("ScreenGui", game.CoreGui)
local frame = Instance.new("Frame", ui)
frame.Size = UDim2.new(0, 350, 0, 300)
frame.Position = UDim2.new(0.5, -175, 0.5, -150)
frame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
frame.BorderSizePixel = 0
frame.Active = true
frame.Draggable = true

local corner = Instance.new("UICorner", frame)
corner.CornerRadius = UDim.new(0, 10)

local line = Instance.new("Frame", frame)
line.Size = UDim2.new(1, 0, 0, 2)
line.Position = UDim2.new(0, 0, 0, 50)
line.BackgroundColor3 = Color3.fromRGB(255, 165, 0) -- Naranja Westbound
line.BorderSizePixel = 0

local titulo = Instance.new("TextLabel", frame)
titulo.Size = UDim2.new(1, 0, 0, 50)
titulo.Text = "WESTBOUND / HUB"
titulo.TextColor3 = Color3.fromRGB(255, 255, 255)
titulo.Font = Enum.Font.SourceSansBold
titulo.TextSize = 22
titulo.BackgroundTransparency = 1

local contenedor = Instance.new("ScrollingFrame", frame)
contenedor.Size = UDim2.new(1, -20, 1, -70)
contenedor.Position = UDim2.new(0, 10, 0, 65)
contenedor.BackgroundTransparency = 1
contenedor.CanvasSize = UDim2.new(0, 0, 0, 400)
contenedor.ScrollBarThickness = 2

local layout = Instance.new("UIListLayout", contenedor)
layout.Padding = UDim.new(0, 10)

-- Creador de botones rapido
function btn(txt, callback)
    local b = Instance.new("TextButton", contenedor)
    b.Size = UDim2.new(1, 0, 0, 45)
    b.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
    b.Text = txt
    b.TextColor3 = Color3.fromRGB(200, 200, 200)
    b.Font = Enum.Font.SourceSans
    b.TextSize = 18
    b.AutoButtonColor = false
    
    local c = Instance.new("UICorner", b)
    c.CornerRadius = UDim.new(0, 6)
    
    local activo = false
    b.MouseButton1Click:Connect(function()
        activo = not activo
        b.BackgroundColor3 = activo and Color3.fromRGB(255, 165, 0) or Color3.fromRGB(35, 35, 35)
        b.TextColor3 = activo and Color3.fromRGB(0, 0, 0) or Color3.fromRGB(200, 200, 200)
        callback(activo)
    end)
end

-- ESP Logica
local function taggear(p)
    if p.Character and p.Character:FindFirstChild("W_ESP") then p.Character.W_ESP:Destroy() end
    if not p.Character then return end

    local bill = Instance.new("BillboardGui", p.Character)
    bill.Name = "W_ESP"
    bill.Size = UDim2.new(0, 200, 0, 50)
    bill.AlwaysOnTop = true
    bill.ExtentsOffset = Vector3.new(0, 3, 0)
    
    local t = Instance.new("TextLabel", bill)
    t.Size = UDim2.new(1, 0, 1, 0)
    t.BackgroundTransparency = 1
    t.TextColor3 = Color3.fromRGB(255, 255, 255)
    t.Font = Enum.Font.SourceSansBold
    t.TextSize = 14
    t.TextStrokeTransparency = 0
    bill.Enabled = esp_on
end

-- Botones
btn("Aimbot (Click Derecho)", function(v) aim_on = v end)
btn("Visuales (ESP)", function(v) 
    esp_on = v 
    for _, p in pairs(players:GetPlayers()) do
        if p ~= lp and p.Character and p.Character:FindFirstChild("W_ESP") then
            p.Character.W_ESP.Enabled = v
        end
    end
end)

-- Loop principal
runServ.RenderStepped:Connect(function()
    if esp_on then
        for _, p in pairs(players:GetPlayers()) do
            if p ~= lp and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
                local esp = p.Character:FindFirstChild("W_ESP") or taggear(p)
                if esp then
                    local dist = math.floor((p.Character.HumanoidRootPart.Position - lp.Character.HumanoidRootPart.Position).Magnitude)
                    local hp = p.Character:FindFirstChild("Humanoid") and math.floor(p.Character.Humanoid.Health) or 0
                    esp.TextLabel.Text = p.Name .. " | " .. hp .. " HP\n[" .. dist .. "m]"
                    esp.TextLabel.TextColor3 = p.TeamColor.Color
                end
            end
        end
    end

    if aim_on and inputServ:IsMouseButtonPressed(Enum.UserInputType.MouseButton2) then
        local target = nil
        local campo = 200
        for _, p in pairs(players:GetPlayers()) do
            if p ~= lp and p.Character and p.Character:FindFirstChild("Head") then
                local pos, vis = cam:WorldToViewportPoint(p.Character.Head.Position)
                if vis then
                    local m_pos = Vector2.new(mouse.X, mouse.Y)
                    local p_pos = Vector2.new(pos.X, pos.Y)
                    local dist = (m_pos - p_pos).Magnitude
                    if dist < campo then
                        target = p.Character.Head
                        campo = dist
                    end
                end
            end
        end
        if target then
            cam.CFrame = CFrame.new(cam.CFrame.Position, target.Position)
        end
    end
end)

-- Abrir / Cerrar
inputServ.InputBegan:Connect(function(key, chat)
    if not chat and key.KeyCode == Enum.KeyCode.RightControl then
        menu_abierto = not menu_abierto
        frame.Visible = menu_abierto
    end
end)

Features & Information

loadstring(game:HttpGet("https://rawscripts.net/raw/Universal-Script-Westbound-HUB-103715"))() By: ZeyOnTop Una vez injectado puedes pulsar control derecho para cerrar y abrir el menu Opciones: -ESP -AIM Once injected you can press right control to close and open the menu Options: -ESP -AIM

Community Comments (1)

TepaniaTepaniaFeb 9, 2026

works very well

More Scripts for Universal Scripts