Vortex Hub
Key Required

Vortex Hub

Age Evolution Tycoon 🗿dertsizdermandertsizderman 1.2K views 230 executesUpdated Jan 14, 2026
5.0/ 5(2 votes)
20100% Positive
Lua Script•149 lines (4947 chars)
-- [[ VORTEX HUB v1.8 - OFFICIAL OPEN SOURCE ]]
-- [[ GAME: Age Evolution Tycoon ]]
-- [[ GAME ID: 96469185605358 ]]
-- [[ Feel free to skid or learn, just keep the credits! ]]

local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local LP = Players.LocalPlayer

-- // Settings
local _AB, _IM, _UV = false, false, true
local myPlot = nil

-- // Utility: Plot Scanner
local function FindPlot()
    local char = LP.Character
    if char and char:FindFirstChild("HumanoidRootPart") then
        local ray = Ray.new(char.HumanoidRootPart.Position, Vector3.new(0, -35, 0))
        local hit = workspace:FindPartOnRay(ray, char)
        if hit then
            for _, p in pairs(workspace.Plots:GetChildren()) do
                if hit:IsDescendantOf(p) then return p end
            end
        end
    end
    return nil
end

-- // UI Design
local SG = Instance.new("ScreenGui", LP:WaitForChild("PlayerGui"))
SG.Name = "VortexHub_Official"
SG.ResetOnSpawn = false

local Main = Instance.new("Frame", SG)
Main.Size = UDim2.new(0, 230, 0, 310)
Main.Position = UDim2.new(0.5, -115, 0.5, -155)
Main.BackgroundColor3 = Color3.fromRGB(15, 15, 20)
Main.BorderSizePixel = 0
Main.Active = true
Main.Draggable = true

local Corner = Instance.new("UICorner", Main)
Corner.CornerRadius = UDim.new(0, 10)

local Glow = Instance.new("UIStroke", Main)
Glow.Thickness = 2
Glow.Color = Color3.fromRGB(100, 0, 255)

-- // Header Title
local Title = Instance.new("TextLabel", Main)
Title.Size = UDim2.new(1, 0, 0, 45)
Title.BackgroundTransparency = 1
Title.Text = "VORTEX HUB"
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.Font = Enum.Font.GothamBold
Title.TextSize = 16

-- // Toggle Button
local TBtn = Instance.new("TextButton", SG)
TBtn.Size = UDim2.new(0, 45, 0, 45)
TBtn.Position = UDim2.new(1, -60, 0.5, -22)
TBtn.BackgroundColor3 = Color3.fromRGB(100, 0, 255)
TBtn.Text = "V"
TBtn.TextColor3 = Color3.new(1, 1, 1)
TBtn.Font = Enum.Font.GothamBold
Instance.new("UICorner", TBtn).CornerRadius = UDim.new(1, 0)
TBtn.MouseButton1Click:Connect(function() _UV = not _UV; Main.Visible = _UV end)

-- // Button Factory
local function NewButton(text, y, callback)
    local b = Instance.new("TextButton", Main)
    b.Size = UDim2.new(0.85, 0, 0, 45)
    b.Position = UDim2.new(0.075, 0, 0, y)
    b.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
    b.Text = text .. ": OFF"
    b.TextColor3 = Color3.fromRGB(220, 220, 220)
    b.Font = Enum.Font.GothamSemibold
    Instance.new("UICorner", b).CornerRadius = UDim.new(0, 6)
    b.MouseButton1Click:Connect(function() callback(b) end)
end

-- // Features
NewButton("Auto Buy", 65, function(btn)
    _AB = not _AB
    if _AB then
        myPlot = FindPlot()
        if myPlot then
            btn.Text = "Auto Buy: ON"
            btn.BackgroundColor3 = Color3.fromRGB(0, 150, 80)
        else
            _AB = false
            btn.Text = "STAND ON PLOT!"
            task.wait(1)
            btn.Text = "Auto Buy: OFF"
        end
    else
        btn.Text = "Auto Buy: OFF"
        btn.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
    end
end)

NewButton("Infinite Money", 130, function(btn)
    _IM = not _IM
    btn.Text = "Infinite Money: " .. (_IM and "ON" or "OFF")
    btn.BackgroundColor3 = _IM and Color3.fromRGB(0, 150, 80) or Color3.fromRGB(30, 30, 35)
end)

NewButton("WalkSpeed", 195, function(btn)
    local h = LP.Character and LP.Character:FindFirstChild("Humanoid")
    if h then
        h.WalkSpeed = (h.WalkSpeed == 16) and 100 or 16
        btn.BackgroundColor3 = (h.WalkSpeed == 100) and Color3.fromRGB(0, 150, 80) or Color3.fromRGB(30, 30, 35)
    end
end)

-- // Logic Loops
task.spawn(function()
    while task.wait(0.5) do
        if _AB and myPlot then
            local hrp = LP.Character and LP.Character:FindFirstChild("HumanoidRootPart")
            local btns = myPlot:FindFirstChild("Buttons")
            if hrp and btns then
                for _, v in pairs(btns:GetChildren()) do
                    local base = v:FindFirstChild("Base")
                    local gui = v:FindFirstChild("BillboardGui")
                    if base and gui and gui.Enabled and base.Transparency < 0.8 then
                        hrp.CFrame = base.CFrame
                        firetouchinterest(hrp, base, 0)
                        task.wait(0.1)
                        firetouchinterest(hrp, base, 1)
                        task.wait(0.2) -- Anti-stuck delay
                    end
                end
            end
        end
    end
end)

task.spawn(function()
    local ev = game:GetService("ReplicatedStorage"):WaitForChild("DropperEvents"):WaitForChild("CollectDrop")
    while task.wait(0.05) do
        if _IM then ev:FireServer(Vector3.new(-684.7, 1.9, 301.2), 1e70) end
    end
end)

-- // Toggle
UIS.InputBegan:Connect(function(i, p)
    if not p and i.KeyCode == Enum.KeyCode.RightShift then _UV = not _UV; Main.Visible = _UV end
end)

Features & Information

Smart Auto-Buy: Teleports to buttons with 0 bugs. Cash Multiplier: Claim via the computer collector unit. Speed: Clean WalkSpeed hack. Open Source: Feel free to check the source, learn from it, or skid it if you really want lol. Just keep the credits.
#Age Evolution Tycoon#Auto Buy#Infinite Money#OP Script#Open Source

Community Comments (1)

jeffrey_epsteinjeffrey_epsteinJan 14, 2026

mr beast vs fans one piece thumbnail

More Scripts for Age Evolution Tycoon 🗿