poke hell
Key RequiredUniversal

poke hell

Universal Scriptkatie30213katie30213 852 views 7.3K executesUpdated Mar 21, 2026
Unrated
00
Lua Scriptโ€ข744 lines (38499 chars)
-- [[ ๐Ÿ‘ป POKE HELL v43.12 โ€” FIXED BUILD ]]
-- FIXES: Round corners (ClipsDescendants=true, radius=16) | Smaller slider knob (12px) |
--        Sliders in grey containers | Player numbering | Tab renames | Left Ctrl note

local success, err = pcall(function()

    -- 1. TRACK CONNECTIONS SAFELY
    if not _G.__PokeHellConnections then _G.__PokeHellConnections = {} end
    local TrackerConns = _G.__PokeHellConnections

    local function PerformDeepPurge()
        _G.__PokeHellRunning = false
        for _, conn in ipairs(TrackerConns) do
            if conn then pcall(function() conn:Disconnect() end) end
        end
        table.clear(TrackerConns)

        local lp = game:GetService("Players").LocalPlayer
        if lp and lp.Character then
            local hum = lp.Character:FindFirstChildOfClass("Humanoid")
            if hum then hum.WalkSpeed=16; hum.JumpPower=50; hum.PlatformStand=false end
            for _,v in ipairs(lp.Character:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide=true end end
        end
        for i=30,60 do
            local old = lp.PlayerGui:FindFirstChild("PokeHell_v"..i)
            if old then old:Destroy() end
        end
        if lp.PlayerGui:FindFirstChild("PokeHell_Overlay") then lp.PlayerGui.PokeHell_Overlay:Destroy() end

        if _G.__PokeTracer then pcall(function() _G.__PokeTracer:Remove() end); _G.__PokeTracer=nil end
        if _G.__PokeHighlight then pcall(function() _G.__PokeHighlight:Destroy() end); _G.__PokeHighlight=nil end
    end

    if _G.__PokeHellRunning then PerformDeepPurge(); task.wait(0.1) end
    _G.__PokeHellRunning = true

    local Players      = game:GetService("Players")
    local RunService   = game:GetService("RunService")
    local UIS          = game:GetService("UserInputService")
    local TweenService = game:GetService("TweenService")
    local HttpService  = game:GetService("HttpService")
    local lp           = Players.LocalPlayer
    local camera       = workspace.CurrentCamera

    local State = {
        fly=false, flySpeed=75, ws=16, jp=50,
        infJ=false, minimized=false, start=os.time(), target=nil,
        antiAfkStart=os.time()
    }

    -- TRACER & HIGHLIGHT
    if _G.__PokeTracer then pcall(function() _G.__PokeTracer:Remove() end) end
    local drawSuccess = pcall(function()
        _G.__PokeTracer           = Drawing.new("Line")
        _G.__PokeTracer.Color     = Color3.fromRGB(0, 255, 149)
        _G.__PokeTracer.Thickness = 1.5
        _G.__PokeTracer.Visible   = false
    end)
    if not drawSuccess then warn("Drawing API not supported on this executor.") end

    if _G.__PokeHighlight then pcall(function() _G.__PokeHighlight:Destroy() end) end
    _G.__PokeHighlight = Instance.new("SelectionBox")
    _G.__PokeHighlight.Color3              = Color3.fromRGB(0, 255, 149)
    _G.__PokeHighlight.LineThickness       = 0.06
    _G.__PokeHighlight.SurfaceTransparency = 0.8
    _G.__PokeHighlight.SurfaceColor3       = Color3.fromRGB(0, 255, 149)
    _G.__PokeHighlight.Parent              = workspace

    -- COLOR PALETTE
    local C = {
        bg_dark    = Color3.fromRGB(15, 35, 27),
        bg_panel   = Color3.fromRGB(10, 20, 16),
        bg_card    = Color3.fromRGB(22, 25, 32),
        bg_slider  = Color3.fromRGB(28, 38, 34),
        primary    = Color3.fromRGB(0, 255, 149),
        text_main  = Color3.fromRGB(241, 245, 249),
        text_sub   = Color3.fromRGB(148, 163, 184),
        text_muted = Color3.fromRGB(100, 116, 139),
        blue       = Color3.fromRGB(59, 130, 246),
        red        = Color3.fromRGB(239, 68, 68),
    }

    local function Stroke(col,t,trans,p)
        local s = Instance.new("UIStroke", p)
        s.Color = col; s.Thickness = t; s.Transparency = trans or 0
        pcall(function() s.ApplyStrokeMode = Enum.ApplyStrokeMode.Border end)
        return s
    end

    local function Tween(obj,props,t) TweenService:Create(obj,TweenInfo.new(t or 0.2,Enum.EasingStyle.Quint),props):Play() end
    local function Round(obj, r) local u = Instance.new("UICorner", obj); u.CornerRadius = UDim.new(0, r or 8); return u end

    -- โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
    -- MAIN WINDOW
    -- FIX: ClipsDescendants=true is the correct approach for rounded corners in Roblox.
    --      It clips children to the rounded rectangle, making corners actually visible.
    --      Radius increased from 12 โ†’ 16 for clearly visible rounding.
    -- โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
    local Gui = Instance.new("ScreenGui", lp.PlayerGui)
    Gui.Name="PokeHell_v43"; Gui.ResetOnSpawn=false; Gui.DisplayOrder=10
    Gui.ZIndexBehavior = Enum.ZIndexBehavior.Global

    local Main = Instance.new("Frame", Gui)
    Main.Size = UDim2.new(0,340,0,520)
    Main.Position = UDim2.new(0.5,-170,0.5,-260)
    Main.BackgroundColor3 = C.bg_panel
    Main.BorderSizePixel = 0
    Main.ClipsDescendants = true   -- FIX: clips children to the rounded shape
    Main.ZIndex = 1
    Round(Main, 16)                -- FIX: radius 16 โ†’ clearly visible round corners
    Stroke(C.primary, 1, 0.75, Main)

    -- HEADER
    local Header = Instance.new("Frame", Main)
    Header.Size = UDim2.new(1,0,0,65)
    Header.BackgroundColor3 = C.bg_panel
    Header.BorderSizePixel = 0
    Header.ZIndex = 2

    local TitleL = Instance.new("TextLabel", Header)
    TitleL.Size = UDim2.new(0,200,0,24); TitleL.Position = UDim2.new(0,20,0,16)
    TitleL.Text = "POKE HELL"; TitleL.TextColor3 = C.text_main
    TitleL.Font = Enum.Font.GothamBold; TitleL.TextSize = 20
    TitleL.BackgroundTransparency = 1; TitleL.TextXAlignment = "Left"; TitleL.ZIndex = 10

    local VerL = Instance.new("TextLabel", Header)
    VerL.Size = UDim2.new(0,200,0,14); VerL.Position = UDim2.new(0,20,0,40)
    VerL.Text = "v43.12  ยท  by @katie30213"; VerL.TextColor3 = C.primary
    VerL.Font = Enum.Font.GothamBold; VerL.TextSize = 11
    VerL.BackgroundTransparency = 1; VerL.TextXAlignment = "Left"; VerL.ZIndex = 10

    -- Control Buttons
    local function MakeCtrlBtn(icon, xPosOffset, defaultCol, hoverBgTrans)
        local b = Instance.new("TextButton", Header)
        b.Size = UDim2.new(0,32,0,32); b.Position = UDim2.new(1,xPosOffset,0,16)
        b.BackgroundColor3 = defaultCol; b.BackgroundTransparency = 0.95; b.BorderSizePixel = 0
        b.Text = icon; b.TextColor3 = defaultCol; b.TextSize = 16; b.Font = Enum.Font.GothamBold; b.AutoButtonColor = false
        b.ZIndex = 10
        Round(b, 4)
        b.MouseEnter:Connect(function() Tween(b,{BackgroundTransparency=hoverBgTrans}) end)
        b.MouseLeave:Connect(function() Tween(b,{BackgroundTransparency=0.95}) end)
        return b
    end

    local CloseBtn = MakeCtrlBtn("X", -44, C.red, 0.8)
    local MinBtn   = MakeCtrlBtn("-", -84, C.text_sub, 0.85)

    -- Window Dragging
    local drag, dStart, sPos
    Header.InputBegan:Connect(function(i)
        if i.UserInputType == Enum.UserInputType.MouseButton1 then drag=true; dStart=i.Position; sPos=Main.Position end
    end)
    UIS.InputChanged:Connect(function(i)
        if drag and i.UserInputType == Enum.UserInputType.MouseMovement then
            local d = i.Position - dStart
            Main.Position = UDim2.new(sPos.X.Scale, sPos.X.Offset+d.X, sPos.Y.Scale, sPos.Y.Offset+d.Y)
        end
    end)
    UIS.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then drag=false end end)

    -- TAB BAR
    -- FIX: Tab names โ†’ INFO, MODS, ESP, SERVERS
    local TabBar = Instance.new("Frame", Main)
    TabBar.Size = UDim2.new(1,0,0,45); TabBar.Position = UDim2.new(0,0,0,65)
    TabBar.BackgroundColor3 = C.bg_panel; TabBar.BorderSizePixel = 0; TabBar.ZIndex = 2

    local TabBorder = Instance.new("Frame", TabBar)
    TabBorder.Size = UDim2.new(1,0,0,1); TabBorder.Position = UDim2.new(0,0,1,-1)
    TabBorder.BackgroundColor3 = C.primary; TabBorder.BackgroundTransparency = 0.9; TabBorder.BorderSizePixel = 0

    local TAB_DEFS = { {id="Status",name="INFO"}, {id="Move",name="MODS"}, {id="Vis",name="ESP"}, {id="Global",name="SERVERS"} }
    local TabBtns, Pages = {}, {}
    local TW = math.floor(340 / #TAB_DEFS)

    for i,def in ipairs(TAB_DEFS) do
        local b = Instance.new("TextButton", TabBar)
        b.Size = UDim2.new(0,TW,1,0); b.Position = UDim2.new(0,(i-1)*TW,0,0)
        b.Text = def.name; b.TextSize = 10; b.Font = Enum.Font.GothamBold
        b.TextColor3 = C.text_muted; b.BackgroundTransparency = 1; b.BorderSizePixel = 0
        b.AutoButtonColor = false; b.ZIndex = 3

        local Indicator = Instance.new("Frame", b)
        Indicator.Size = UDim2.new(1,0,0,2); Indicator.Position = UDim2.new(0,0,1,-2)
        Indicator.BackgroundColor3 = C.primary; Indicator.BorderSizePixel = 0; Indicator.BackgroundTransparency = 1

        local Highlight = Instance.new("Frame", b)
        Highlight.Size = UDim2.new(1,0,1,-2); Highlight.BackgroundColor3 = C.primary; Highlight.BackgroundTransparency = 1; Highlight.BorderSizePixel = 0

        TabBtns[def.id] = {btn=b, ind=Indicator, hl=Highlight}
    end

    -- CONTENT AREA
    local Content = Instance.new("Frame", Main)
    Content.Size = UDim2.new(1,0,1,-110); Content.Position = UDim2.new(0,0,0,110)
    Content.BackgroundColor3 = C.bg_dark; Content.BorderSizePixel = 0

    local function NewPage(id)
        local p = Instance.new("ScrollingFrame", Content)
        p.Size = UDim2.new(1,0,1,0); p.BackgroundTransparency = 1; p.Visible = false
        p.ScrollBarThickness = 2; p.ScrollBarImageColor3 = C.primary; p.BorderSizePixel = 0

        local container = Instance.new("Frame", p)
        container.Size = UDim2.new(1,-28,1,0); container.Position = UDim2.new(0,14,0,14)
        container.BackgroundTransparency = 1

        local l = Instance.new("UIListLayout", container)
        l.Padding = UDim.new(0,14); l.SortOrder = "LayoutOrder"
        l:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
            p.CanvasSize = UDim2.new(0,0,0,l.AbsoluteContentSize.Y+28)
            container.Size = UDim2.new(1,-28,0,l.AbsoluteContentSize.Y)
        end)
        Pages[id] = p; return container
    end

    local function SwitchTab(id)
        for k,v in pairs(Pages) do v.Visible = (k==id) end
        for k,t in pairs(TabBtns) do
            if k==id then
                Tween(t.btn,{TextColor3=C.primary})
                Tween(t.ind,{BackgroundTransparency=0})
                Tween(t.hl,{BackgroundTransparency=0.95})
            else
                Tween(t.btn,{TextColor3=C.text_muted})
                Tween(t.ind,{BackgroundTransparency=1})
                Tween(t.hl,{BackgroundTransparency=1})
            end
        end
        if id=="Vis" then task.defer(function() if _G.__RefreshTargetList then _G.__RefreshTargetList() end end) end
    end

    for _,def in ipairs(TAB_DEFS) do
        local id = def.id
        TabBtns[id].btn.MouseButton1Click:Connect(function() SwitchTab(id) end)
    end

    local StatPage = NewPage("Status")
    local MovePage = NewPage("Move")
    local VisPage  = NewPage("Vis")
    local HopPage  = NewPage("Global")

    local function SectionTitle(txt, parent, order)
        local l = Instance.new("TextLabel", parent); l.Size = UDim2.new(1,0,0,14); l.LayoutOrder = order
        l.Text = txt:upper(); l.TextColor3 = C.primary; l.Font = Enum.Font.GothamBold; l.TextSize = 10
        l.BackgroundTransparency = 1; l.TextXAlignment = "Left"; l.TextTransparency = 0.2
    end

    -- โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
    -- INFO PAGE
    -- โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
    SectionTitle("LIVE INFO", StatPage, 1)

    local sCard = Instance.new("Frame", StatPage)
    sCard.Size = UDim2.new(1,0,0,240); sCard.BackgroundColor3 = C.bg_card; sCard.LayoutOrder = 2
    Round(sCard, 8); Stroke(Color3.new(1,1,1), 1, 0.95, sCard)

    local StatL = Instance.new("TextLabel", sCard)
    StatL.Size = UDim2.new(1,-32,1,-32); StatL.Position = UDim2.new(0,16,0,16)
    StatL.Text = "Loading..."; StatL.LineHeight = 1.4
    StatL.TextColor3 = C.text_main; StatL.Font = Enum.Font.GothamMedium; StatL.TextSize = 13
    StatL.BackgroundTransparency = 1; StatL.TextXAlignment = "Left"; StatL.TextYAlignment = "Top"; StatL.RichText = true

    SectionTitle("DEVELOPER", StatPage, 3)

    local devCard = Instance.new("Frame", StatPage)
    devCard.Size = UDim2.new(1,0,0,105); devCard.BackgroundColor3 = C.bg_card; devCard.LayoutOrder = 4
    Round(devCard, 8); Stroke(C.primary, 1, 0.7, devCard)

    local devIcon = Instance.new("TextLabel", devCard)
    devIcon.Size = UDim2.new(0,40,0,40); devIcon.Position = UDim2.new(0,16,0,16)
    devIcon.Text = "๐Ÿ‘ป"; devIcon.TextSize = 24; devIcon.BackgroundColor3 = C.bg_dark
    Round(devIcon, 20); Stroke(C.primary, 1, 0.8, devIcon)

    local devName = Instance.new("TextLabel", devCard)
    devName.Size = UDim2.new(0,200,0,20); devName.Position = UDim2.new(0,68,0,18)
    devName.Text = "@katie30213"; devName.TextColor3 = C.text_main; devName.Font = Enum.Font.GothamBold; devName.TextSize = 14; devName.BackgroundTransparency = 1; devName.TextXAlignment = "Left"

    local devSub = Instance.new("TextLabel", devCard)
    devSub.Size = UDim2.new(0,200,0,16); devSub.Position = UDim2.new(0,68,0,38)
    devSub.Text = "Developer ยท Roblox"; devSub.TextColor3 = C.text_sub; devSub.Font = Enum.Font.GothamMedium; devSub.TextSize = 12; devSub.BackgroundTransparency = 1; devSub.TextXAlignment = "Left"

    local devLine = Instance.new("Frame", devCard)
    devLine.Size = UDim2.new(1,0,0,1); devLine.Position = UDim2.new(0,0,0,70)
    devLine.BackgroundColor3 = Color3.new(1,1,1); devLine.BackgroundTransparency = 0.9; devLine.BorderSizePixel = 0

    local devMsg = Instance.new("TextLabel", devCard)
    devMsg.Size = UDim2.new(1,-32,0,30); devMsg.Position = UDim2.new(0,16,0,72)
    devMsg.Text = "๐Ÿ’š Support the developer โ€” donate on PLS DONATE"
    devMsg.TextColor3 = C.text_sub; devMsg.Font = Enum.Font.GothamMedium; devMsg.TextSize = 11
    devMsg.BackgroundTransparency = 1; devMsg.TextXAlignment = "Left"

    -- โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
    -- MODS PAGE โ€” Sliders inside grey card containers
    -- FIX: knob size reduced from 18ร—18 โ†’ 12ร—12
    -- โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
    local function Slider(txt, minV, maxV, defV, key, parent, order)
        State[key] = defV

        -- Grey rounded card wrapping the slider
        local card = Instance.new("Frame", parent)
        card.Size = UDim2.new(1,0,0,72)
        card.BackgroundColor3 = C.bg_slider
        card.LayoutOrder = order
        Round(card, 10)
        Stroke(Color3.new(1,1,1), 1, 0.88, card)

        local wrap = Instance.new("Frame", card)
        wrap.Size = UDim2.new(1,-24,0,48)
        wrap.Position = UDim2.new(0,12,0,12)
        wrap.BackgroundTransparency = 1

        local topRow = Instance.new("Frame", wrap)
        topRow.Size = UDim2.new(1,0,0,20)
        topRow.BackgroundTransparency = 1

        local lbl = Instance.new("TextLabel", topRow)
        lbl.Size = UDim2.new(0.6,0,1,0); lbl.Text = txt:upper()
        lbl.TextColor3 = C.text_sub; lbl.Font = Enum.Font.GothamBold; lbl.TextSize = 12
        lbl.BackgroundTransparency = 1; lbl.TextXAlignment = "Left"

        local valL = Instance.new("TextLabel", topRow)
        valL.Size = UDim2.new(0.4,0,1,0); valL.Position = UDim2.new(0.6,0,0,0)
        valL.Text = tostring(defV)
        valL.TextColor3 = C.primary; valL.Font = Enum.Font.GothamBold; valL.TextSize = 14
        valL.BackgroundTransparency = 1; valL.TextXAlignment = "Right"

        local track = Instance.new("Frame", wrap)
        track.Size = UDim2.new(1,0,0,6); track.Position = UDim2.new(0,0,0,30)
        track.BackgroundColor3 = Color3.fromRGB(30,41,59)
        Round(track, 3)

        local fill = Instance.new("Frame", track)
        fill.Size = UDim2.new((defV-minV)/(maxV-minV),0,1,0)
        fill.BackgroundColor3 = C.primary
        Round(fill, 3)

        -- FIX: knob reduced from 18ร—18 โ†’ 12ร—12 for a cleaner, smaller look
        local knob = Instance.new("Frame", track)
        knob.Size = UDim2.new(0,12,0,12)
        knob.AnchorPoint = Vector2.new(0.5,0.5)
        knob.Position = UDim2.new((defV-minV)/(maxV-minV),0,0.5,0)
        knob.BackgroundColor3 = Color3.new(1,1,1)
        Round(knob, 6)
        Stroke(C.primary, 1.5, 0, knob)

        -- Hit area: 3ร— knob size for easy dragging
        local knobBtn = Instance.new("TextButton", knob)
        knobBtn.Size = UDim2.new(3,0,3,0); knobBtn.Position = UDim2.new(-1,0,-1,0)
        knobBtn.BackgroundTransparency = 1; knobBtn.Text = ""; knobBtn.ZIndex = 10

        local sdrag = false
        knobBtn.MouseButton1Down:Connect(function() sdrag = true end)
        UIS.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then sdrag = false end end)

        UIS.InputChanged:Connect(function(i)
            if sdrag and i.UserInputType == Enum.UserInputType.MouseMovement then
                local tX = track.AbsolutePosition.X
                local tW = track.AbsoluteSize.X
                if tW <= 0 then return end
                local rel = math.clamp((i.Position.X - tX) / tW, 0, 1)
                local v = math.floor(minV + rel*(maxV-minV))
                Tween(fill, {Size = UDim2.new(rel,0,1,0)}, 0.05)
                Tween(knob, {Position = UDim2.new(rel,0,0.5,0)}, 0.05)
                valL.Text = tostring(v)
                State[key] = v
            end
        end)
    end

    local function ToggleRow(label, key, parent, order)
        local row = Instance.new("Frame", parent)
        row.Size = UDim2.new(1,0,0,56); row.BackgroundColor3 = C.bg_panel; row.LayoutOrder = order
        Round(row, 12); Stroke(C.primary, 1, 0.95, row)

        local lbl = Instance.new("TextLabel", row)
        lbl.Size = UDim2.new(1,-80,1,0); lbl.Position = UDim2.new(0,16,0,0)
        lbl.Text = label; lbl.TextColor3 = C.text_main; lbl.Font = Enum.Font.GothamMedium; lbl.TextSize = 14
        lbl.BackgroundTransparency = 1; lbl.TextXAlignment = "Left"

        local pill = Instance.new("Frame", row)
        pill.Size = UDim2.new(0,44,0,24); pill.Position = UDim2.new(1,-60,0.5,-12)
        pill.BackgroundColor3 = Color3.fromRGB(51,65,85); Round(pill, 12)

        local dot = Instance.new("Frame", pill)
        dot.Size = UDim2.new(0,16,0,16); dot.Position = UDim2.new(0,4,0.5,-8)
        dot.BackgroundColor3 = Color3.fromRGB(148,163,184); Round(dot, 8)

        local btn = Instance.new("TextButton", row)
        btn.Size = UDim2.new(1,0,1,0); btn.BackgroundTransparency = 1; btn.Text = ""; btn.ZIndex = 5
        btn.MouseButton1Click:Connect(function()
            State[key] = not State[key]; local on = State[key]
            Tween(pill, {BackgroundColor3 = on and C.primary or Color3.fromRGB(51,65,85)})
            Tween(dot,  {Position = on and UDim2.new(1,-20,0.5,-8) or UDim2.new(0,4,0.5,-8)})
            Tween(dot,  {BackgroundColor3 = on and Color3.new(1,1,1) or Color3.fromRGB(148,163,184)})
        end)
    end

    Slider("Walk Speed", 16, 300, 16,  "ws",       MovePage, 1)
    Slider("Jump Power", 50, 600, 50,  "jp",       MovePage, 2)
    Slider("Fly Speed",  10, 500, 75,  "flySpeed", MovePage, 3)

    SectionTitle("ABILITIES", MovePage, 4)
    ToggleRow("Infinite Jump", "infJ", MovePage, 5)
    ToggleRow("Fly Mode",      "fly",  MovePage, 6)

    -- โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
    -- ESP PAGE โ€” Player list with #numbering
    -- โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
    SectionTitle("PLAYERS", VisPage, 1)

    local SBoxWrap = Instance.new("Frame", VisPage)
    SBoxWrap.Size = UDim2.new(1,0,0,44); SBoxWrap.BackgroundColor3 = C.bg_card; SBoxWrap.LayoutOrder = 2
    Round(SBoxWrap, 8); Stroke(Color3.new(1,1,1), 1, 0.9, SBoxWrap)

    local SBox = Instance.new("TextBox", SBoxWrap)
    SBox.Size = UDim2.new(1,-32,1,0); SBox.Position = UDim2.new(0,16,0,0)
    SBox.PlaceholderText = "Search players..."; SBox.BackgroundTransparency = 1
    SBox.TextColor3 = C.text_main; SBox.Font = Enum.Font.GothamMedium; SBox.TextSize = 14
    SBox.PlaceholderColor3 = C.text_muted; SBox.ClearTextOnFocus = false; SBox.Text = ""; SBox.TextXAlignment = "Left"

    local PList = Instance.new("Frame", VisPage)
    PList.Size = UDim2.new(1,0,0,0); PList.BackgroundTransparency = 1; PList.LayoutOrder = 3; PList.AutomaticSize = Enum.AutomaticSize.Y
    Instance.new("UIListLayout", PList).Padding = UDim.new(0,8)

    _G.__RefreshTargetList = function()
        for _,v in ipairs(PList:GetChildren()) do if not v:IsA("UIListLayout") then v:Destroy() end end
        local q = SBox.Text:lower()
        local idx = 0

        for _,p in ipairs(Players:GetPlayers()) do
            if p ~= lp then
                local show = (q=="") or (p.Name:lower():find(q,1,true)~=nil) or (p.DisplayName:lower():find(q,1,true)~=nil)
                if show then
                    idx = idx + 1
                    local isTargeted = (State.target == p)
                    local row = Instance.new("Frame", PList)
                    row.Size = UDim2.new(1,0,0,64); row.BackgroundColor3 = isTargeted and Color3.fromRGB(0,40,25) or C.bg_panel
                    Round(row, 8); Stroke(isTargeted and C.primary or Color3.new(1,1,1), 1, isTargeted and 0.6 or 0.95, row)

                    -- FIX: player number badge
                    local numL = Instance.new("TextLabel", row)
                    numL.Size = UDim2.new(0,24,0,14); numL.Position = UDim2.new(0,16,0,8)
                    numL.Text = "#"..idx; numL.TextColor3 = C.text_muted; numL.Font = Enum.Font.GothamBold; numL.TextSize = 10; numL.BackgroundTransparency = 1; numL.TextXAlignment = "Left"

                    local nL = Instance.new("TextLabel", row)
                    nL.Size = UDim2.new(1,-130,0,18); nL.Position = UDim2.new(0,16,0,22)
                    nL.Text = p.DisplayName; nL.TextColor3 = C.text_main; nL.Font = Enum.Font.GothamBold; nL.TextSize = 14; nL.BackgroundTransparency = 1; nL.TextXAlignment = "Left"

                    local uL = Instance.new("TextLabel", row)
                    uL.Size = UDim2.new(1,-130,0,14); uL.Position = UDim2.new(0,16,0,42)
                    uL.Text = "@"..p.Name; uL.TextColor3 = C.text_muted; uL.Font = Enum.Font.GothamMedium; uL.TextSize = 11; uL.BackgroundTransparency = 1; uL.TextXAlignment = "Left"

                    local tBtn = Instance.new("TextButton", row)
                    tBtn.Size = UDim2.new(0,55,0,28); tBtn.Position = UDim2.new(1,-105,0.5,-14)
                    tBtn.Text = isTargeted and "โœ“ ON" or "TARGET"; tBtn.TextSize = 10; tBtn.Font = Enum.Font.GothamBold
                    tBtn.TextColor3 = isTargeted and C.bg_dark or C.primary
                    tBtn.BackgroundColor3 = isTargeted and C.primary or Color3.fromRGB(15,35,27)
                    tBtn.AutoButtonColor = false; Round(tBtn, 4)

                    tBtn.MouseButton1Click:Connect(function()
                        if State.target==p then
                            State.target=nil
                            if _G.__PokeTracer then _G.__PokeTracer.Visible=false end
                            if _G.__PokeHighlight then _G.__PokeHighlight.Adornee=nil end
                        else
                            State.target=p
                            if _G.__PokeTracer then _G.__PokeTracer.Visible=false end
                        end
                        _G.__RefreshTargetList()
                    end)

                    local tpBtn = Instance.new("TextButton", row)
                    tpBtn.Size = UDim2.new(0,35,0,28); tpBtn.Position = UDim2.new(1,-45,0.5,-14)
                    tpBtn.Text = "TP"; tpBtn.TextSize = 10; tpBtn.Font = Enum.Font.GothamBold
                    tpBtn.TextColor3 = Color3.new(1,1,1); tpBtn.BackgroundColor3 = C.blue
                    tpBtn.BorderSizePixel = 0; tpBtn.AutoButtonColor = false; Round(tpBtn, 4)
                    tpBtn.MouseButton1Click:Connect(function()
                        if p.Character and p.Character:FindFirstChild("HumanoidRootPart") and lp.Character then
                            lp.Character:PivotTo(p.Character:GetPivot())
                        end
                    end)
                end
            end
        end
    end

    SBox:GetPropertyChangedSignal("Text"):Connect(_G.__RefreshTargetList)
    Players.PlayerAdded:Connect(function() task.wait(1); _G.__RefreshTargetList() end)
    Players.PlayerRemoving:Connect(function() task.wait(0.1); _G.__RefreshTargetList() end)

    -- โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
    -- SERVERS PAGE
    -- โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
    SectionTitle("SERVER BROWSER", HopPage, 1)

    local HopStatus = Instance.new("TextLabel", HopPage)
    HopStatus.Size = UDim2.new(1,0,0,16); HopStatus.LayoutOrder = 2
    HopStatus.Text = "Ready to fetch servers"; HopStatus.TextColor3 = C.text_sub
    HopStatus.Font = Enum.Font.GothamMedium; HopStatus.TextSize = 12; HopStatus.BackgroundTransparency = 1; HopStatus.TextXAlignment = "Left"

    local BtnRow = Instance.new("Frame", HopPage)
    BtnRow.Size = UDim2.new(1,0,0,40); BtnRow.BackgroundTransparency = 1; BtnRow.LayoutOrder = 3
    local BRL = Instance.new("UIListLayout", BtnRow); BRL.FillDirection = "Horizontal"; BRL.Padding = UDim.new(0,10)

    local function HopBtn(txt, bgCol, tcol)
        local b = Instance.new("TextButton", BtnRow)
        b.Size = UDim2.new(0.5,-5,1,0); b.Text = txt; b.TextSize = 12; b.Font = Enum.Font.GothamBold
        b.TextColor3 = tcol or C.bg_dark; b.BackgroundColor3 = bgCol; b.BorderSizePixel = 0; b.AutoButtonColor = false
        Round(b, 6)
        b.MouseEnter:Connect(function() Tween(b,{BackgroundTransparency=0.2}) end)
        b.MouseLeave:Connect(function() Tween(b,{BackgroundTransparency=0}) end)
        return b
    end
    local RefreshBtn  = HopBtn("REFRESH",   C.primary, C.bg_dark)
    local QuickHopBtn = HopBtn("QUICK HOP", C.blue,    Color3.new(1,1,1))

    local SrvList = Instance.new("Frame", HopPage)
    SrvList.Size = UDim2.new(1,0,0,0); SrvList.BackgroundTransparency = 1; SrvList.LayoutOrder = 4; SrvList.AutomaticSize = Enum.AutomaticSize.Y
    Instance.new("UIListLayout", SrvList).Padding = UDim.new(0,8)

    local _serverCache = {}
    local _lastServerRefresh = 0

    local function AddSrvRow(s, idx)
        local row = Instance.new("Frame", SrvList)
        row.Size = UDim2.new(1,0,0,56); row.BackgroundColor3 = C.bg_panel
        Round(row, 8); Stroke(Color3.new(1,1,1), 1, 0.9, row)

        local ratio = math.clamp(s.playing / math.max(s.maxPlayers,1), 0, 1)
        local isFull = ratio > 0.8
        local pBg = isFull and Color3.fromRGB(239,68,68) or (ratio>0.5 and Color3.fromRGB(245,158,11) or C.primary)

        local top = Instance.new("Frame", row)
        top.Size = UDim2.new(1,-80,0,20); top.Position = UDim2.new(0,12,0,10); top.BackgroundTransparency = 1

        local num = Instance.new("TextLabel", top)
        num.Size = UDim2.new(0,24,1,0); num.Text = "#"..idx; num.TextColor3 = C.text_muted
        num.Font = Enum.Font.GothamBold; num.TextSize = 11; num.BackgroundTransparency = 1; num.TextXAlignment = "Left"

        local pill = Instance.new("Frame", top)
        pill.Size = UDim2.new(0,80,1,0); pill.Position = UDim2.new(0,24,0,0)
        pill.BackgroundColor3 = pBg; pill.BackgroundTransparency = 0.8; Round(pill, 4); Stroke(pBg, 1, 0.5, pill)

        local plbl = Instance.new("TextLabel", pill)
        plbl.Size = UDim2.new(1,0,1,0); plbl.Text = s.playing.."/"..s.maxPlayers.." PLAYERS"
        plbl.TextColor3 = pBg; plbl.Font = Enum.Font.GothamBold; plbl.TextSize = 9; plbl.BackgroundTransparency = 1

        local bot = Instance.new("TextLabel", row)
        bot.Size = UDim2.new(1,-80,0,14); bot.Position = UDim2.new(0,12,0,34)
        bot.Text = "~"..s.ping.."ms Ping"; bot.TextColor3 = C.text_sub; bot.Font = Enum.Font.GothamMedium
        bot.TextSize = 11; bot.BackgroundTransparency = 1; bot.TextXAlignment = "Left"

        local jBtn = Instance.new("TextButton", row)
        jBtn.Size = UDim2.new(0,50,0,32); jBtn.Position = UDim2.new(1,-62,0.5,-16)
        jBtn.Text = "JOIN"; jBtn.TextSize = 11; jBtn.Font = Enum.Font.GothamBold
        jBtn.TextColor3 = Color3.new(1,1,1); jBtn.BackgroundColor3 = C.blue; jBtn.AutoButtonColor = false; Round(jBtn, 4)
        jBtn.MouseButton1Click:Connect(function()
            HopStatus.Text = "Joining #"..idx.."..."
            local ok,e = pcall(function() game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId,s.id,lp) end)
            if not ok then HopStatus.Text = "Failed: "..tostring(e):sub(1,30) end
        end)
    end

    local function LoadServers()
        for _,c in ipairs(SrvList:GetChildren()) do if not c:IsA("UIListLayout") then c:Destroy() end end
        HopStatus.Text = "Fetching servers..."; _serverCache = {}
        task.spawn(function()
            local ok,res = pcall(function()
                return HttpService:JSONDecode(game:HttpGet("https://games.roblox.com/v1/games/"..tostring(game.PlaceId).."/servers/Public?sortOrder=Desc&excludeFullGames=false&limit=100"))
            end)
            if not ok or not res or not res.data then HopStatus.Text = "Failed to fetch"; return end
            local filtered = {}
            for _,s in ipairs(res.data) do
                if s.id~=game.JobId and (s.playing or 0)>=2 then
                    table.insert(filtered, {id=s.id, playing=s.playing or 0, maxPlayers=s.maxPlayers or Players.MaxPlayers, ping=s.ping and math.floor(s.ping) or math.random(40,120)})
                end
            end
            table.sort(filtered, function(a,b) return a.playing > b.playing end)
            _serverCache = filtered; _lastServerRefresh = tick()
            if #filtered==0 then HopStatus.Text = "No servers with 2+ players found"; return end
            HopStatus.Text = #filtered.." servers online ยท min 2p"
            for i,s in ipairs(filtered) do AddSrvRow(s,i) end
        end)
    end

    RefreshBtn.MouseButton1Click:Connect(LoadServers)
    QuickHopBtn.MouseButton1Click:Connect(function()
        if #_serverCache==0 then HopStatus.Text = "Refresh first!"; return end
        HopStatus.Text = "Hopping..."
        pcall(function() game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId,_serverCache[1].id,lp) end)
    end)

    -- MODAL OVERLAY
    local Overlay = Instance.new("ScreenGui", lp.PlayerGui)
    Overlay.Name = "PokeHell_Overlay"; Overlay.DisplayOrder = 999
    local Pop = Instance.new("Frame", Overlay)
    Pop.Size = UDim2.new(1,0,1,0); Pop.BackgroundColor3 = Color3.new(0,0,0)
    Pop.BackgroundTransparency = 1; Pop.Visible = false; Pop.Active = true

    local Card = Instance.new("Frame", Pop)
    Card.Size = UDim2.new(0,280,0,145); Card.Position = UDim2.new(0.5,-140,0.5,-72)
    Card.BackgroundColor3 = C.bg_panel; Card.BorderSizePixel = 0
    Round(Card, 8); Stroke(C.red, 1, 0, Card)

    local Msg = Instance.new("TextLabel", Card)
    Msg.Size = UDim2.new(1,0,0,70); Msg.Text = "Shutdown POKE HELL?"
    Msg.TextColor3 = C.text_main; Msg.Font = Enum.Font.GothamBold; Msg.TextSize = 15; Msg.BackgroundTransparency = 1

    local eBtn = Instance.new("TextButton", Card)
    eBtn.Size = UDim2.new(0.44,0,0,36); eBtn.Position = UDim2.new(0.52,0,0.55,0)
    eBtn.Text = "EXIT"; eBtn.TextSize = 13; eBtn.Font = Enum.Font.GothamBold
    eBtn.TextColor3 = Color3.new(1,1,1); eBtn.BackgroundColor3 = C.red
    eBtn.BorderSizePixel = 0; eBtn.AutoButtonColor = false; Round(eBtn, 6)
    eBtn.MouseButton1Click:Connect(PerformDeepPurge)

    local cBtn = Instance.new("TextButton", Card)
    cBtn.Size = UDim2.new(0.44,0,0,36); cBtn.Position = UDim2.new(0.04,0,0.55,0)
    cBtn.Text = "CANCEL"; cBtn.TextSize = 13; cBtn.Font = Enum.Font.GothamBold
    cBtn.TextColor3 = C.text_main; cBtn.BackgroundColor3 = C.bg_card
    cBtn.BorderSizePixel = 0; cBtn.AutoButtonColor = false; Round(cBtn, 6)
    cBtn.MouseButton1Click:Connect(function() Pop.Visible=false; Tween(Pop,{BackgroundTransparency=1}) end)

    CloseBtn.MouseButton1Click:Connect(function() Pop.Visible=true; Tween(Pop,{BackgroundTransparency=0.45},0.2) end)
    MinBtn.MouseButton1Click:Connect(function()
        State.minimized = not State.minimized
        Content.Visible = not State.minimized
        TabBar.Visible  = not State.minimized
        Main:TweenSize(State.minimized and UDim2.new(0,340,0,65) or UDim2.new(0,340,0,520), "Out", "Quint", 0.25, true)
    end)

    UIS.InputBegan:Connect(function(i,g) if not g and i.KeyCode==Enum.KeyCode.LeftControl then Main.Visible = not Main.Visible end end)

    -- INIT
    SwitchTab("Status")
    task.defer(_G.__RefreshTargetList)
    task.defer(LoadServers)

    -- HEARTBEAT
    local stepConn = RunService.Stepped:Connect(function()
        if not _G.__PokeHellRunning then return end
        local char, hum, root = lp.Character, nil, nil
        if char then hum = char:FindFirstChildOfClass("Humanoid"); root = char:FindFirstChild("HumanoidRootPart") end

        if hum then hum.WalkSpeed = State.ws; hum.JumpPower = State.jp end

        if hum and root and State.fly then
            hum.PlatformStand = true
            for _,v in ipairs(char:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide=false end end
            local move = Vector3.new(0,0,0)
            if UIS:IsKeyDown(Enum.KeyCode.W) then move += camera.CFrame.LookVector end
            if UIS:IsKeyDown(Enum.KeyCode.S) then move -= camera.CFrame.LookVector end
            if UIS:IsKeyDown(Enum.KeyCode.A) then move -= camera.CFrame.RightVector end
            if UIS:IsKeyDown(Enum.KeyCode.D) then move += camera.CFrame.RightVector end
            root.AssemblyLinearVelocity = move * State.flySpeed
        elseif char and hum and hum.PlatformStand then
            hum.PlatformStand = false
            for _,v in ipairs(char:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide=true end end
        end

        local tracer, highlight = _G.__PokeTracer, _G.__PokeHighlight
        if State.target and tracer then
            if not State.target.Parent then State.target=nil; tracer.Visible=false; if highlight then highlight.Adornee=nil end; return end
            local tChar = State.target.Character
            local tRoot = tChar and tChar:FindFirstChild("HumanoidRootPart")
            if tRoot then
                if highlight then highlight.Adornee=tChar end
                local sp, onScreen = camera:WorldToViewportPoint(tRoot.Position)
                if onScreen then
                    tracer.Visible=true; tracer.From=Vector2.new(camera.ViewportSize.X/2, camera.ViewportSize.Y); tracer.To=Vector2.new(sp.X, sp.Y)
                else tracer.Visible=false end
            else tracer.Visible=false; if highlight then highlight.Adornee=nil end end
        elseif tracer then tracer.Visible=false; if highlight then highlight.Adornee=nil end end
    end)
    table.insert(TrackerConns, stepConn)

    UIS.JumpRequest:Connect(function()
        if State.infJ and lp.Character then
            local h = lp.Character:FindFirstChildOfClass("Humanoid")
            if h then h:ChangeState(Enum.HumanoidStateType.Jumping) end
        end
    end)

    local VirtualUser = game:GetService("VirtualUser")
    lp.Idled:Connect(function() pcall(function() VirtualUser:CaptureController(); VirtualUser:ClickButton2(Vector2.new()) end) end)

    -- Auto-Refresh & Countdown Loop
    local SERVER_REFRESH_INTERVAL = 30
    local PLAYER_REFRESH_INTERVAL = 30
    local _lastPlayerRefresh = tick()

    task.spawn(function()
        while _G.__PokeHellRunning do
            local now = tick()
            local srvElapsed   = now - _lastServerRefresh
            local srvCountdown = math.max(0, math.ceil(SERVER_REFRESH_INTERVAL - srvElapsed))
            if srvElapsed >= SERVER_REFRESH_INTERVAL then _lastServerRefresh=now; task.spawn(LoadServers) end

            local plrElapsed   = now - _lastPlayerRefresh
            local plrCountdown = math.max(0, math.ceil(PLAYER_REFRESH_INTERVAL - plrElapsed))
            if plrElapsed >= PLAYER_REFRESH_INTERVAL then _lastPlayerRefresh=now; _G.__RefreshTargetList() end

            local elapsed = os.time() - State.start

            local htmlFormat = [[
<font color="#94a3b8">Uptime</font>   <font color="#f1f5f9">%02dm %02ds</font>
<font color="#94a3b8">Target</font>   <font color="#f1f5f9">%s</font>
<font color="#94a3b8">Fly</font>      <font color="%s">%s</font>
<font color="#94a3b8">Inf Jmp</font>  <font color="%s">%s</font>
<font color="#94a3b8">Anti-AFK</font> <font color="#00ff95">โœ“ Active</font>

<font color="#64748b">Srv List refresh in %ds</font>
<font color="#64748b">Players refresh in %ds</font>

<font color="#475569">Left Ctrl โ€” show / hide UI</font>
]]
            StatL.Text = string.format(
                htmlFormat,
                math.floor(elapsed/60), elapsed%60,
                State.target and State.target.DisplayName or "None",
                State.fly  and "#00ff95" or "#ef4444", State.fly  and "ON" or "OFF",
                State.infJ and "#00ff95" or "#ef4444", State.infJ and "ON" or "OFF",
                srvCountdown, plrCountdown
            )
            task.wait(1)
        end
    end)

end)

if not success then
    local sg = Instance.new("ScreenGui", game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui"))
    local f = Instance.new("Frame", sg)
    f.Size = UDim2.new(0,500,0,300); f.Position = UDim2.new(0.5,-250,0.5,-150); f.BackgroundColor3 = Color3.fromRGB(20,10,10)
    local c = Instance.new("UICorner", f); c.CornerRadius = UDim.new(0,8)
    local s = Instance.new("UIStroke", f); s.Color = Color3.fromRGB(255,50,50); s.Thickness = 2
    local t = Instance.new("TextLabel", f)
    t.Size = UDim2.new(1,-30,1,-60); t.Position = UDim2.new(0,15,0,15)
    t.Text = "POKE HELL CRASH LOG:\n\n"..tostring(err)
    t.TextColor3 = Color3.fromRGB(255,100,100); t.TextWrapped = true; t.TextXAlignment = "Left"; t.TextYAlignment = "Top"; t.Font = Enum.Font.Code; t.BackgroundTransparency = 1; t.TextSize = 14
    local b = Instance.new("TextButton", f)
    b.Size = UDim2.new(0,140,0,35); b.Position = UDim2.new(0.5,-70,1,-45); b.Text = "CLOSE"
    b.BackgroundColor3 = Color3.fromRGB(200,50,50); b.TextColor3 = Color3.new(1,1,1); b.Font = Enum.Font.GothamBold; b.BorderSizePixel = 0
    Instance.new("UICorner", b).CornerRadius = UDim.new(0,6)
    b.MouseButton1Click:Connect(function() sg:Destroy() end)
end

Features & Information

1. SPEED JUMP MOD 2. FLY 3. TELEPORT TO PLAYERS, ESP PLAYERS 4. SERVER HOP 5. PRESS LEFT CNTRL TO HIDE SCRIPT
#POKE#HEAVEN#FLY#SPEED#JUMP

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts