zeno aimbot
Key RequiredUniversal

zeno aimbot

Universal Scriptmarty_scriptmarty_script 2.3K views 546 executesUpdated Sep 4, 2025
3.3/ 5(3 votes)
2167% Positive
Lua Script•127 lines (4811 chars)
--[[ 
    ZENO HUB Aimbot/ESP Script with Key System
    WARNING: Use at your own risk
]]

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local PlayerGui = player:WaitForChild("PlayerGui")
local camera = workspace.CurrentCamera
local uis = game:GetService("UserInputService")
local RunService = game:GetService("RunService")

-- === HIDDEN KEY SYSTEM ===
local CORRECT_KEY = "zeno hub"
local DISCORD_LINK = "https://discord.gg/yPmanvt7f3"
local keyEntered = false

-- GUI
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "ZenoHubKeyGui"
screenGui.Parent = PlayerGui

local frame = Instance.new("Frame")
frame.Size = UDim2.new(0,400,0,150)
frame.Position = UDim2.new(0.5,-200,0.5,-75)
frame.BackgroundColor3 = Color3.fromRGB(30,30,30)
frame.BorderSizePixel = 0
frame.Parent = screenGui
Instance.new("UICorner", frame).CornerRadius = UDim.new(0,12)

local title = Instance.new("TextLabel")
title.Size = UDim2.new(1,-20,0,40)
title.Position = UDim2.new(0,10,0,5)
title.Text = "Enter Key to Unlock Zeno Hub"
title.TextColor3 = Color3.fromRGB(255,255,255)
title.TextScaled = true
title.BackgroundTransparency = 1
title.Parent = frame

local textBox = Instance.new("TextBox")
textBox.Size = UDim2.new(0.8,0,0,50)
textBox.Position = UDim2.new(0.1,0,0,50)
textBox.PlaceholderText = "Enter key here"
textBox.TextScaled = true
textBox.ClearTextOnFocus = false
textBox.Parent = frame
Instance.new("UICorner", textBox).CornerRadius = UDim.new(0,8)

local submitBtn = Instance.new("TextButton")
submitBtn.Size = UDim2.new(0.4,0,0,40)
submitBtn.Position = UDim2.new(0.05,0,0,110)
submitBtn.Text = "Submit Key"
submitBtn.TextScaled = true
submitBtn.BackgroundColor3 = Color3.fromRGB(50,150,50)
submitBtn.TextColor3 = Color3.fromRGB(255,255,255)
submitBtn.Parent = frame
Instance.new("UICorner", submitBtn).CornerRadius = UDim.new(0,8)

local discordBtn = Instance.new("TextButton")
discordBtn.Size = UDim2.new(0.4,0,0,40)
discordBtn.Position = UDim2.new(0.55,0,0,110)
discordBtn.Text = "Join Discord"
discordBtn.TextScaled = true
discordBtn.BackgroundColor3 = Color3.fromRGB(70,70,200)
discordBtn.TextColor3 = Color3.fromRGB(255,255,255)
discordBtn.Parent = frame
Instance.new("UICorner", discordBtn).CornerRadius = UDim.new(0,8)

-- Discord button functionality
discordBtn.MouseButton1Click:Connect(function()
    if setclipboard then
        setclipboard(DISCORD_LINK)
        title.Text = "Copied to clipboard!"
    end
end)

-- Submit key
submitBtn.MouseButton1Click:Connect(function()
    if string.lower(textBox.Text) == string.lower(CORRECT_KEY) then
        keyEntered = true
        title.Text = "Access Granted!"
        screenGui:Destroy()
        loadZenoHub() -- Load Aimbot/ESP after key
    else
        title.Text = "Wrong key! Join Discord."
        title.TextColor3 = Color3.fromRGB(255,50,50)
        textBox.Text = ""
    end
end)

-- === FUNCTION TO LOAD AIMBOT/ESP ===
function loadZenoHub()
    local library = loadstring(game:HttpGet('https://raw.githubusercontent.com/DozeIsOkLol/UILibarySource/refs/heads/main/AzureLibSource', true))()
    local run = RunService
    local players = Players
    local player = Players.LocalPlayer
    local camera = workspace.CurrentCamera
    local uis = uis
    local traced = {}
    local toggles = { abk = Enum.UserInputType.MouseButton2, iag = false }
    local tsp = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2 + 400)
    local gs = game:GetService('GuiService'):GetGuiInset()
    local sc = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2)
    local mousemoverel = mousemoverel or Input.MoveMouse

    -- Create windows
    local combat = library:CreateWindow('Aimbot')
    local visuals = library:CreateWindow('Visuals')
    visuals:Section('ESP')
    visuals:Toggle('Tracers', { location = toggles, flag = 'tracers' })
    visuals:Toggle('Name ESP', { location = toggles, flag = 'nESP' })
    visuals:Toggle('Box ESP', { location = toggles, flag = 'hESP' })
    combat:Section('Aimbot')
    combat:Toggle('Aimbot', { location = toggles, flag = 'aimbot' })

    -- Bindings, dropdowns, sliders
    combat:Bind('Aimbot Hotkey', { location = toggles, flag = 'abk', kbonly=false, default = Enum.UserInputType.MouseButton2 }, function(k,b)
        toggles.iag = b
    end)
    combat:Dropdown('Aimpart', { location = toggles, flag='abp', list={'Head','UpperTorso','LowerTorso','HumanoidRootPart'} })
    combat:Toggle('Draw FOV circle', { location = toggles, flag='showfov' })
    combat:Toggle('Filled FOV circle', { location = toggles, flag='filled' })
    combat:Slider('FOV',{ location=toggles, flag='fov', precise=false, default=50, min=50, max=500 })

    -- Your original Stepped loop and ESP functions go here...
    -- This ensures nothing runs until the key is entered
end

Features & Information

op aimbot undetectable creds to UILib for the script i added the key system and made it a little better
#zeno hub

Community Comments (4)

SouljaWitchSrcSouljaWitchSrcSep 4, 2025

or just use the og lol https://scriptblox.com/script/Universal-Script-Azure-Lib-with-ESP-and-Aimbot-Source-51702

SouljaWitchSrcSouljaWitchSrcSep 4, 2025

also if ur gunna add a mini key system at least make it obfuscated lol "local CORRECT_KEY = 'zeno hub'"

Replying to @SouljaWitchSrc
marty_scriptmarty_scriptSep 4, 2025

@UILib i changed it rn

prhysticprhysticSep 16, 2025

ui library pls

More Scripts for Universal Scripts