[Best]Universal Fly Hub V5
Key RequiredUniversal

[Best]Universal Fly Hub V5

Universal ScriptChaosBesttChaosBestt 2.3K views 45.1K executesUpdated Sep 11, 2026
4.2/ 5(6 votes)
5183% Positive
Lua Script•721 lines (27620 chars)
-- [[ ULTRA HIGH-PERFORMANCE ENGINE V7.0 PRO - FULL ENGLISH EDITION ]]
-- [[ SMOOTH TWEEN ENGINE | REAL-TIME SERVER BROWSER | DISCORD AUTO-JOIN ]]

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local Stats = game:GetService("Stats")
local HttpService = game:GetService("HttpService")
local CoreGui = game:GetService("CoreGui")
local TeleportService = game:GetService("TeleportService")
local Lighting = game:GetService("Lighting")

local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera

-- GUI Cleanup Security
local GUI_NAME = "ULTRA_ENGINE_V7_PRO"
if CoreGui:FindFirstChild(GUI_NAME) then CoreGui[GUI_NAME]:Destroy() end
if LocalPlayer.PlayerGui:FindFirstChild(GUI_NAME) then LocalPlayer.PlayerGui[GUI_NAME]:Destroy() end

-- Global State
local EngineState = {
    Flying = false,
    FlySpeed = 100,
    SpeedLock = false,
    WalkSpeed = 16,
    Noclip = false,
    InfiniteJump = false,
    ESP = false,
    Wallhack = false,
    Fullbright = false,
    AntiAFK = false,
    SpeedBoost = false,
    GuiOpen = true,
    CurrentTab = 1,
    UserLocation = "Fetching...",
    ClientFPS = 60,
    DiscordLink = "https://discord.gg/HKHKV4vzx",
    SavedLighting = { Brightness = Lighting.Brightness, ClockTime = Lighting.ClockTime, GlobalShadows = Lighting.GlobalShadows }
}

-- FPS Counter Engine
local FrameCounter = 0
local LastFPSTime = os.clock()
RunService.RenderStepped:Connect(function()
    FrameCounter = FrameCounter + 1
    local currentTime = os.clock()
    if currentTime - LastFPSTime >= 1 then
        EngineState.ClientFPS = FrameCounter
        FrameCounter = 0
        LastFPSTime = currentTime
    end
end)

-- WalkSpeed Lock Loop
RunService.Heartbeat:Connect(function()
    if EngineState.SpeedLock and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
        LocalPlayer.Character.Humanoid.WalkSpeed = EngineState.WalkSpeed
    end
end)

-- Noclip Engine
RunService.Stepped:Connect(function()
    if EngineState.Noclip and LocalPlayer.Character then
        for _, part in ipairs(LocalPlayer.Character:GetChildren()) do
            if part:IsA("BasePart") then part.CanCollide = false end
        end
    end
end)

-- Infinite Jump Request
UserInputService.JumpRequest:Connect(function()
    if EngineState.InfiniteJump and LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then
        LocalPlayer.Character:FindFirstChildOfClass("Humanoid"):ChangeState(Enum.HumanoidStateType.Jumping)
    end
end)

-- Location Telemetry
task.spawn(function()
    local success, response = pcall(function()
        local data = HttpService:JSONDecode(game:HttpGet("http://ip-api.com/json/"))
        return data.country or "Unknown"
    end)
    EngineState.UserLocation = (success and response) and response or "Protected"
end)

-- ScreenGui Creation
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = GUI_NAME
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling

local parentSuccess = pcall(function() ScreenGui.Parent = CoreGui end)
if not parentSuccess then ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") end

-- Modern Theme
local PALETTE = {
    BACKGROUND = Color3.fromRGB(12, 14, 20),
    PANEL = Color3.fromRGB(18, 20, 30),
    CARD = Color3.fromRGB(24, 28, 42),
    ACCENT = Color3.fromRGB(110, 85, 255),
    NEON_CYAN = Color3.fromRGB(0, 240, 255),
    NEON_GREEN = Color3.fromRGB(0, 230, 120),
    TEXT_MAIN = Color3.fromRGB(245, 248, 255),
    TEXT_MUTED = Color3.fromRGB(140, 148, 175)
}

-- Main Hub Window
local MainFrame = Instance.new("Frame")
MainFrame.Name = "MainHubFrame"
MainFrame.Size = UDim2.new(0, 520, 0, 560)
MainFrame.Position = UDim2.new(0.5, -260, 0.5, -280)
MainFrame.BackgroundColor3 = PALETTE.BACKGROUND
MainFrame.ClipsDescendants = true
MainFrame.Parent = ScreenGui

local MainCorner = Instance.new("UICorner")
MainCorner.CornerRadius = UDim.new(0, 14)
MainCorner.Parent = MainFrame

local MainRGBStroke = Instance.new("UIStroke")
MainRGBStroke.Thickness = 2.5
MainRGBStroke.Parent = MainFrame

task.spawn(function()
    local hue = 0
    while task.wait(0.02) do
        hue = (hue + 0.004) % 1
        MainRGBStroke.Color = Color3.fromHSV(hue, 0.85, 1)
    end
end)

-- Header Bar
local Header = Instance.new("Frame")
Header.Size = UDim2.new(1, 0, 0, 44)
Header.BackgroundColor3 = PALETTE.PANEL
Header.Parent = MainFrame

local HeaderCorner = Instance.new("UICorner")
HeaderCorner.CornerRadius = UDim.new(0, 14)
HeaderCorner.Parent = Header

local HeaderTitle = Instance.new("TextLabel")
HeaderTitle.Size = UDim2.new(1, -60, 1, 0)
HeaderTitle.Position = UDim2.new(0, 15, 0, 0)
HeaderTitle.BackgroundTransparency = 1
HeaderTitle.Text = "⚡ ULTRA HD ENGINE V7.0 PRO"
HeaderTitle.TextColor3 = PALETTE.TEXT_MAIN
HeaderTitle.Font = Enum.Font.GothamBold
HeaderTitle.TextSize = 13
HeaderTitle.TextXAlignment = Enum.TextXAlignment.Left
HeaderTitle.Parent = Header

local CloseButton = Instance.new("TextButton")
CloseButton.Size = UDim2.new(0, 28, 0, 28)
CloseButton.Position = UDim2.new(1, -36, 0, 8)
CloseButton.BackgroundColor3 = Color3.fromRGB(240, 50, 75)
CloseButton.Text = "✕"
CloseButton.TextColor3 = Color3.fromRGB(255, 255, 255)
CloseButton.Font = Enum.Font.GothamBold
CloseButton.TextSize = 12
CloseButton.Parent = Header

local CloseCorner = Instance.new("UICorner")
CloseCorner.CornerRadius = UDim.new(0, 8)
CloseCorner.Parent = CloseButton

-- Toggle Button
local OpenToggleButton = Instance.new("TextButton")
OpenToggleButton.Size = UDim2.new(0, 48, 0, 48)
OpenToggleButton.Position = UDim2.new(0, 20, 0.45, 0)
OpenToggleButton.BackgroundColor3 = PALETTE.PANEL
OpenToggleButton.Text = "⚡"
OpenToggleButton.TextSize = 22
OpenToggleButton.TextColor3 = PALETTE.NEON_CYAN
OpenToggleButton.Parent = ScreenGui

local ToggleCorner = Instance.new("UICorner")
ToggleCorner.CornerRadius = UDim.new(0, 24)
ToggleCorner.Parent = OpenToggleButton

-- Smooth Window Animation
local function animateWindowToggle(show)
    EngineState.GuiOpen = show
    TweenService:Create(MainFrame, TweenInfo.new(0.45, Enum.EasingStyle.Back, show and Enum.EasingDirection.Out or Enum.EasingDirection.In), {
        Size = show and UDim2.new(0, 520, 0, 560) or UDim2.new(0, 0, 0, 0)
    }):Play()
end

OpenToggleButton.MouseButton1Click:Connect(function() animateWindowToggle(not EngineState.GuiOpen) end)
CloseButton.MouseButton1Click:Connect(function() animateWindowToggle(false) end)

-- Smooth Dragging Engine
local function makeAdvancedDraggable(frame, handle)
    local dragging, dragInput, dragStart, startPos
    handle.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            dragging = true
            dragStart = input.Position
            startPos = frame.Position
        end
    end)
    handle.InputChanged:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end
    end)
    UserInputService.InputChanged:Connect(function(input)
        if input == dragInput and dragging then
            local delta = input.Position - dragStart
            TweenService:Create(frame, TweenInfo.new(0.08, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
                Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
            }):Play()
        end
    end)
    UserInputService.InputEnded:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end
    end)
end

makeAdvancedDraggable(MainFrame, Header)
makeAdvancedDraggable(OpenToggleButton, OpenToggleButton)

-- Navigation Tabs
local TabBar = Instance.new("Frame")
TabBar.Size = UDim2.new(1, -24, 0, 36)
TabBar.Position = UDim2.new(0, 12, 0, 52)
TabBar.BackgroundTransparency = 1
TabBar.Parent = MainFrame

local function createTabButton(text, pos, width)
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(width, -4, 1, 0)
    btn.Position = pos
    btn.BackgroundColor3 = PALETTE.PANEL
    btn.Text = text
    btn.TextColor3 = PALETTE.TEXT_MUTED
    btn.Font = Enum.Font.GothamBold
    btn.TextSize = 10
    btn.Parent = TabBar

    local corner = Instance.new("UICorner")
    corner.CornerRadius = UDim.new(0, 6)
    corner.Parent = btn

    btn.MouseEnter:Connect(function()
        TweenService:Create(btn, TweenInfo.new(0.2), {Size = UDim2.new(width, -2, 1, 2)}):Play()
    end)
    btn.MouseLeave:Connect(function()
        TweenService:Create(btn, TweenInfo.new(0.2), {Size = UDim2.new(width, -4, 1, 0)}):Play()
    end)

    return btn
end

local Tab1Btn = createTabButton("1. Main Core", UDim2.new(0, 0, 0, 0), 0.25)
local Tab2Btn = createTabButton("2. Features", UDim2.new(0.25, 0, 0, 0), 0.25)
local Tab3Btn = createTabButton("3. Discord", UDim2.new(0.50, 0, 0, 0), 0.25)
local Tab4Btn = createTabButton("4. Server List", UDim2.new(0.75, 0, 0, 0), 0.25)

-- Pages Creation
local Pages = {}
for i = 1, 4 do
    local page = Instance.new("ScrollingFrame")
    page.Size = UDim2.new(1, -24, 1, -100)
    page.Position = UDim2.new(0, 12, 0, 94)
    page.BackgroundTransparency = 1
    page.ScrollBarThickness = 3
    page.ScrollBarImageColor3 = PALETTE.ACCENT
    page.Visible = (i == 1)
    page.Parent = MainFrame

    local layout = Instance.new("UIListLayout")
    layout.Padding = UDim.new(0, 8)
    layout.Parent = page

    Pages[i] = page
end

local function switchTab(tabNum)
    EngineState.CurrentTab = tabNum
    local buttons = {Tab1Btn, Tab2Btn, Tab3Btn, Tab4Btn}
    for i, btn in ipairs(buttons) do
        if i == tabNum then
            TweenService:Create(btn, TweenInfo.new(0.25, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {
                BackgroundColor3 = PALETTE.ACCENT, TextColor3 = PALETTE.TEXT_MAIN
            }):Play()
            Pages[i].Visible = true
        else
            TweenService:Create(btn, TweenInfo.new(0.25, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {
                BackgroundColor3 = PALETTE.PANEL, TextColor3 = PALETTE.TEXT_MUTED
            }):Play()
            Pages[i].Visible = false
        end
    end
end

Tab1Btn.MouseButton1Click:Connect(function() switchTab(1) end)
Tab2Btn.MouseButton1Click:Connect(function() switchTab(2) end)
Tab3Btn.MouseButton1Click:Connect(function() switchTab(3) end)
Tab4Btn.MouseButton1Click:Connect(function() switchTab(4) end)
switchTab(1)

-- Factory Generators
local function createToggleElement(parent, labelText, defaultState, callback)
    local Container = Instance.new("Frame")
    Container.Size = UDim2.new(1, 0, 0, 42)
    Container.BackgroundColor3 = PALETTE.CARD
    Container.Parent = parent

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

    local TextLabel = Instance.new("TextLabel")
    TextLabel.Size = UDim2.new(0.65, 0, 1, 0)
    TextLabel.Position = UDim2.new(0, 12, 0, 0)
    TextLabel.BackgroundTransparency = 1
    TextLabel.Text = labelText
    TextLabel.TextColor3 = PALETTE.TEXT_MAIN
    TextLabel.Font = Enum.Font.GothamBold
    TextLabel.TextSize = 11
    TextLabel.TextXAlignment = Enum.TextXAlignment.Left
    TextLabel.Parent = Container

    local ToggleBtn = Instance.new("TextButton")
    ToggleBtn.Size = UDim2.new(0.3, -8, 0, 28)
    ToggleBtn.Position = UDim2.new(0.7, 0, 0.16, 0)
    ToggleBtn.BackgroundColor3 = defaultState and PALETTE.NEON_GREEN or PALETTE.PANEL
    ToggleBtn.Text = defaultState and "ENABLED" or "DISABLED"
    ToggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
    ToggleBtn.Font = Enum.Font.GothamBold
    ToggleBtn.TextSize = 10
    ToggleBtn.Parent = Container

    local BtnCorner = Instance.new("UICorner")
    BtnCorner.CornerRadius = UDim.new(0, 6)
    BtnCorner.Parent = ToggleBtn

    local state = defaultState
    ToggleBtn.MouseButton1Click:Connect(function()
        state = not state
        ToggleBtn.Text = state and "ENABLED" or "DISABLED"
        TweenService:Create(ToggleBtn, TweenInfo.new(0.2), {
            BackgroundColor3 = state and PALETTE.NEON_GREEN or PALETTE.PANEL
        }):Play()
        callback(state)
    end)
end

local function createInputElement(parent, labelText, defaultValue, callback)
    local Container = Instance.new("Frame")
    Container.Size = UDim2.new(1, 0, 0, 42)
    Container.BackgroundColor3 = PALETTE.CARD
    Container.Parent = parent

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

    local TextLabel = Instance.new("TextLabel")
    TextLabel.Size = UDim2.new(0.6, 0, 1, 0)
    TextLabel.Position = UDim2.new(0, 12, 0, 0)
    TextLabel.BackgroundTransparency = 1
    TextLabel.Text = labelText
    TextLabel.TextColor3 = PALETTE.TEXT_MAIN
    TextLabel.Font = Enum.Font.GothamBold
    TextLabel.TextSize = 11
    TextLabel.TextXAlignment = Enum.TextXAlignment.Left
    TextLabel.Parent = Container

    local TextBox = Instance.new("TextBox")
    TextBox.Size = UDim2.new(0.3, -8, 0, 28)
    TextBox.Position = UDim2.new(0.7, 0, 0.16, 0)
    TextBox.BackgroundColor3 = PALETTE.PANEL
    TextBox.Text = tostring(defaultValue)
    TextBox.TextColor3 = PALETTE.NEON_CYAN
    TextBox.Font = Enum.Font.Code
    TextBox.TextSize = 11
    TextBox.Parent = Container

    local BoxCorner = Instance.new("UICorner")
    BoxCorner.CornerRadius = UDim.new(0, 6)
    BoxCorner.Parent = TextBox

    TextBox.FocusLost:Connect(function()
        local val = tonumber(TextBox.Text)
        if val then callback(val) else TextBox.Text = tostring(defaultValue) end
    end)
end

-- ============================================================================
-- [TAB 1] MAIN CORE CONTROLS
-- ============================================================================
createToggleElement(Pages[1], "Flight Engine", false, function(active)
    EngineState.Flying = active
    if EngineState.Flying then
        task.spawn(function()
            local char = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
            local root = char:WaitForChild("HumanoidRootPart")
            local hum = char:WaitForChild("Humanoid")

            local bv = Instance.new("BodyVelocity", root)
            bv.MaxForce = Vector3.new(9e9, 9e9, 9e9)
            bv.Velocity = Vector3.new(0, 0, 0)

            local bg = Instance.new("BodyGyro", root)
            bg.MaxTorque = Vector3.new(9e9, 9e9, 9e9)
            bg.P = 15000

            while EngineState.Flying and char.Parent and hum.Health > 0 do
                RunService.Heartbeat:Wait()
                local moveDir = hum.MoveDirection
                if moveDir.Magnitude > 0 then
                    local camLook = Camera.CFrame.LookVector
                    local vVel = 0
                    if moveDir.Unit:Dot(camLook.Unit) > 0.5 then
                        vVel = camLook.Y * EngineState.FlySpeed
                    elseif moveDir.Unit:Dot(camLook.Unit) < -0.5 then
                        vVel = -camLook.Y * EngineState.FlySpeed
                    end
                    bv.Velocity = Vector3.new(moveDir.X * EngineState.FlySpeed, vVel, moveDir.Z * EngineState.FlySpeed)
                else
                    bv.Velocity = Vector3.new(0, 0, 0)
                end
                bg.CFrame = Camera.CFrame
                hum:ChangeState(Enum.HumanoidStateType.Physics)
            end
            bv:Destroy()
            bg:Destroy()
            hum:ChangeState(Enum.HumanoidStateType.GettingUp)
        end)
    end
end)

createInputElement(Pages[1], "Flight Speed", 100, function(val) EngineState.FlySpeed = val end)
createToggleElement(Pages[1], "WalkSpeed Lock", false, function(active) EngineState.SpeedLock = active end)
createInputElement(Pages[1], "WalkSpeed Value", 16, function(val) EngineState.WalkSpeed = val end)

-- ============================================================================
-- [TAB 2] SPECIAL FEATURES (+3 NEW FEATURES)
-- ============================================================================
createToggleElement(Pages[2], "1. Noclip (Walk Through Walls)", false, function(active) EngineState.Noclip = active end)
createToggleElement(Pages[2], "2. Infinite Jump", false, function(active) EngineState.InfiniteJump = active end)

createToggleElement(Pages[2], "3. Player ESP Boxes & Names", false, function(active)
    EngineState.ESP = active
    for _, plr in ipairs(Players:GetPlayers()) do
        if plr ~= LocalPlayer and plr.Character then
            if active then
                if not plr.Character:FindFirstChild("EngineESP") then
                    local bg = Instance.new("BillboardGui")
                    bg.Name = "EngineESP"
                    bg.Adornee = plr.Character:WaitForChild("Head")
                    bg.Size = UDim2.new(0, 100, 0, 30)
                    bg.StudsOffset = Vector3.new(0, 2, 0)
                    bg.AlwaysOnTop = true
                    bg.Parent = plr.Character

                    local txt = Instance.new("TextLabel")
                    txt.Size = UDim2.new(1, 0, 1, 0)
                    txt.BackgroundTransparency = 1
                    txt.Text = plr.DisplayName
                    txt.TextColor3 = Color3.fromRGB(0, 255, 200)
                    txt.Font = Enum.Font.GothamBold
                    txt.TextSize = 10
                    txt.Parent = bg
                end
            else
                if plr.Character:FindFirstChild("EngineESP") then plr.Character.EngineESP:Destroy() end
            end
        end
    end
end)

createToggleElement(Pages[2], "4. Wallhack (Chams)", false, function(active)
    EngineState.Wallhack = active
    for _, plr in ipairs(Players:GetPlayers()) do
        if plr ~= LocalPlayer and plr.Character then
            if active then
                if not plr.Character:FindFirstChild("EngineChams") then
                    local hl = Instance.new("Highlight")
                    hl.Name = "EngineChams"
                    hl.FillColor = Color3.fromRGB(255, 0, 100)
                    hl.OutlineColor = Color3.fromRGB(255, 255, 255)
                    hl.FillTransparency = 0.5
                    hl.Parent = plr.Character
                end
            else
                if plr.Character:FindFirstChild("EngineChams") then plr.Character.EngineChams:Destroy() end
            end
        end
    end
end)

-- [NEW FEATURE 1] Fullbright Engine
createToggleElement(Pages[2], "5. [NEW] Fullbright (Vision Boost)", false, function(active)
    EngineState.Fullbright = active
    if active then
        Lighting.Brightness = 2
        Lighting.ClockTime = 14
        Lighting.GlobalShadows = false
    else
        Lighting.Brightness = EngineState.SavedLighting.Brightness
        Lighting.ClockTime = EngineState.SavedLighting.ClockTime
        Lighting.GlobalShadows = EngineState.SavedLighting.GlobalShadows
    end
end)

-- [NEW FEATURE 2] Anti-AFK Kick Bypass
createToggleElement(Pages[2], "6. [NEW] Anti-AFK Kick Bypass", false, function(active)
    EngineState.AntiAFK = active
    if active then
        task.spawn(function()
            local VirtualUser = game:GetService("VirtualUser")
            LocalPlayer.Idled:Connect(function()
                if EngineState.AntiAFK then
                    VirtualUser:CaptureController()
                    VirtualUser:ClickButton2(Vector2.new())
                end
            end)
        end)
    end
end)

-- [NEW FEATURE 3] Speed Multiplier Boost
createToggleElement(Pages[2], "7. [NEW] Speed Boost Overlay (50 Speed)", false, function(active)
    EngineState.SpeedBoost = active
    if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then
        LocalPlayer.Character.Humanoid.WalkSpeed = active and 50 or 16
    end
end)

-- ============================================================================
-- [TAB 3] DISCORD JOINER SYSTEM
-- ============================================================================
local DiscordCard = Instance.new("Frame")
DiscordCard.Size = UDim2.new(1, 0, 0, 120)
DiscordCard.BackgroundColor3 = PALETTE.CARD
DiscordCard.Parent = Pages[3]

local DiscordCorner = Instance.new("UICorner")
DiscordCorner.CornerRadius = UDim.new(0, 8)
DiscordCorner.Parent = DiscordCard

local DiscordTitle = Instance.new("TextLabel")
DiscordTitle.Size = UDim2.new(1, -20, 0, 30)
DiscordTitle.Position = UDim2.new(0, 10, 0, 5)
DiscordTitle.BackgroundTransparency = 1
DiscordTitle.Text = "💬 Join Our Official Discord Community"
DiscordTitle.TextColor3 = PALETTE.NEON_CYAN
DiscordTitle.Font = Enum.Font.GothamBold
DiscordTitle.TextSize = 12
DiscordTitle.TextXAlignment = Enum.TextXAlignment.Left
DiscordTitle.Parent = DiscordCard

local JoinDiscordBtn = Instance.new("TextButton")
JoinDiscordBtn.Size = UDim2.new(1, -20, 0, 36)
JoinDiscordBtn.Position = UDim2.new(0, 10, 0, 40)
JoinDiscordBtn.BackgroundColor3 = PALETTE.ACCENT
JoinDiscordBtn.Text = "🚀 Join Discord Server (Auto-Join / Copy)"
JoinDiscordBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
JoinDiscordBtn.Font = Enum.Font.GothamBold
JoinDiscordBtn.TextSize = 11
JoinDiscordBtn.Parent = DiscordCard

local JoinCorner = Instance.new("UICorner")
JoinCorner.CornerRadius = UDim.new(0, 6)
JoinCorner.Parent = JoinDiscordBtn

JoinDiscordBtn.MouseButton1Click:Connect(function()
    -- Copy link to clipboard
    if setclipboard then
        setclipboard("https://discord.gg/HKHKV4vzx")
        JoinDiscordBtn.Text = "✅ Link Copied To Clipboard!"
    end
    -- Request HTTP Join if supported by executor
    pcall(function()
        local http = request or syn and syn.request or http_request
        if http then
            http({
                Url = "http://127.0.0.1:6463/rpc?v=1",
                Method = "POST",
                Headers = {["Content-Type"] = "application/json", ["Origin"] = "https://discord.com"},
                Body = HttpService:JSONEncode({cmd = "INVITE_BROWSER", args = {code = "HKHKV4vzx"}, nonce = HttpService:GenerateGUID(false)})
            })
        end
    end)
    task.wait(2)
    JoinDiscordBtn.Text = "🚀 Join Discord Server (Auto-Join / Copy)"
end)

-- ============================================================================
-- [TAB 4] ADVANCED SERVER LISTER & SWITCHER
-- ============================================================================
local ServerControls = Instance.new("Frame")
ServerControls.Size = UDim2.new(1, 0, 0, 70)
ServerControls.BackgroundColor3 = PALETTE.CARD
ServerControls.Parent = Pages[4]

local ServerControlsCorner = Instance.new("UICorner")
ServerControlsCorner.CornerRadius = UDim.new(0, 8)
ServerControlsCorner.Parent = ServerControls

local ServerHopBtn = Instance.new("TextButton")
ServerHopBtn.Size = UDim2.new(0.48, -5, 0, 32)
ServerHopBtn.Position = UDim2.new(0, 10, 0, 18)
ServerHopBtn.BackgroundColor3 = Color3.fromRGB(0, 160, 255)
ServerHopBtn.Text = "🔀 Fast Server Hop"
ServerHopBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
ServerHopBtn.Font = Enum.Font.GothamBold
ServerHopBtn.TextSize = 10
ServerHopBtn.Parent = ServerControls

local HopCorner = Instance.new("UICorner")
HopCorner.CornerRadius = UDim.new(0, 6)
HopCorner.Parent = ServerHopBtn

local RejoinBtn = Instance.new("TextButton")
RejoinBtn.Size = UDim2.new(0.48, -5, 0, 32)
RejoinBtn.Position = UDim2.new(0.52, 0, 0, 18)
RejoinBtn.BackgroundColor3 = Color3.fromRGB(230, 80, 0)
RejoinBtn.Text = "🔄 Rejoin Same Server"
RejoinBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
RejoinBtn.Font = Enum.Font.GothamBold
RejoinBtn.TextSize = 10
RejoinBtn.Parent = ServerControls

local RejoinCorner = Instance.new("UICorner")
RejoinCorner.CornerRadius = UDim.new(0, 6)
RejoinCorner.Parent = RejoinBtn

ServerHopBtn.MouseButton1Click:Connect(function()
    ServerHopBtn.Text = "⏳ Searching Server..."
    pcall(function()
        local servers = HttpService:JSONDecode(game:HttpGet("https://games.roblox.com/v1/games/" .. game.PlaceId .. "/servers/0?sortOrder=Asc&limit=100"))
        for _, server in ipairs(servers.data) do
            if server.playing ~= server.maxPlayers and server.id ~= game.JobId then
                TeleportService:TeleportToPlaceInstance(game.PlaceId, server.id, LocalPlayer)
                break
            end
        end
    end)
end)

RejoinBtn.MouseButton1Click:Connect(function()
    TeleportService:TeleportToPlaceInstance(game.PlaceId, game.JobId, LocalPlayer)
end)

-- Live Server Browser List
local ServerListContainer = Instance.new("Frame")
ServerListContainer.Size = UDim2.new(1, 0, 0, 0)
ServerListContainer.BackgroundTransparency = 1
ServerListContainer.Parent = Pages[4]

local ServerListLayout = Instance.new("UIListLayout")
ServerListLayout.Padding = UDim.new(0, 6)
ServerListLayout.Parent = ServerListContainer

local function fetchActiveServerList()
    for _, child in ipairs(ServerListContainer:GetChildren()) do
        if child:IsA("Frame") then child:Destroy() end
    end

    pcall(function()
        local rawData = game:HttpGet("https://games.roblox.com/v1/games/" .. game.PlaceId .. "/servers/0?sortOrder=Asc&limit=10")
        local parsed = HttpService:JSONDecode(rawData)

        for idx, server in ipairs(parsed.data) do
            local Card = Instance.new("Frame")
            Card.Size = UDim2.new(1, 0, 0, 46)
            Card.BackgroundColor3 = PALETTE.CARD
            Card.Parent = ServerListContainer

            local CardCorner = Instance.new("UICorner")
            CardCorner.CornerRadius = UDim.new(0, 8)
            CardCorner.Parent = Card

            local ServerInfo = Instance.new("TextLabel")
            ServerInfo.Size = UDim2.new(0.65, 0, 1, 0)
            ServerInfo.Position = UDim2.new(0, 12, 0, 0)
            ServerInfo.BackgroundTransparency = 1
            ServerInfo.Text = string.format("<b>Server #%d</b>\n👥 Players: %d/%d | 📶 Ping: %dms", idx, server.playing, server.maxPlayers, server.ping or 50)
            ServerInfo.RichText = true
            ServerInfo.TextColor3 = PALETTE.TEXT_MAIN
            ServerInfo.Font = Enum.Font.Gotham
            ServerInfo.TextSize = 10
            ServerInfo.TextXAlignment = Enum.TextXAlignment.Left
            ServerInfo.Parent = Card

            local JoinBtn = Instance.new("TextButton")
            JoinBtn.Size = UDim2.new(0.28, 0, 0, 28)
            JoinBtn.Position = UDim2.new(0.7, 0, 0.18, 0)
            JoinBtn.BackgroundColor3 = (server.id == game.JobId) and PALETTE.NEON_GREEN or PALETTE.ACCENT
            JoinBtn.Text = (server.id == game.JobId) and "CURRENT" or "JOIN"
            JoinBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
            JoinBtn.Font = Enum.Font.GothamBold
            JoinBtn.TextSize = 10
            JoinBtn.Parent = Card

            local JoinCorner = Instance.new("UICorner")
            JoinCorner.CornerRadius = UDim.new(0, 6)
            JoinCorner.Parent = JoinBtn

            if server.id ~= game.JobId then
                JoinBtn.MouseButton1Click:Connect(function()
                    TeleportService:TeleportToPlaceInstance(game.PlaceId, server.id, LocalPlayer)
                end)
            end
        end
    end)
end

task.spawn(function()
    while task.wait(5) do
        if EngineState.CurrentTab == 4 and MainFrame.Visible then
            fetchActiveServerList()
        end
    end
end)

fetchActiveServerList()

Features & Information

Free Keyless Script Use And Please Like Script Enjoy
#Free#Hub#Fly#Universal#Keyless

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts