-- [[ ๐ป 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 = [[
Uptime %02dm %02ds
Target %s
Fly %s
Inf Jmp %s
Anti-AFK โ Active
Srv List refresh in %ds
Players refresh in %ds
Left Ctrl โ show / hide UI
]]
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