Pogo Climb v1
+1 Jump Pogo Climb Keyless
Pogo Climb v1
๐Ÿ‘ค alexriderr ๐Ÿ‘ 11 views โค๏ธ 0 likes โฑ Jul 13, 2026
This is a simple open-source script that includes useful movement features such as Fly, Infinite Jump, and other mobility enhancements. It is lightweight, easy to use, and perfect for improving movement in supported games.
โœจ Features
Fly Infinite Jump Custom Jump Height Speed Boost Low Gravity No Fall Damage
๐Ÿ“‹ Script Code
-- POGO CLIMB V1
-- Upgraded: Added Custom Jump Power Slider, God Jump Levels up to 500K, Enhanced Auto Jump, ESP, Anti Hit

local Players = game:GetService("Players")
local RS = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
local UIS = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local VirtualUser = game:GetService("VirtualUser")

local Player = Players.LocalPlayer
local Char = Player.Character or Player.CharacterAdded:Wait()

-- ======================== GUI ========================

local Gui = Instance.new("ScreenGui")
Gui.Name = "PogoClimbV1"
Gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
Gui.ResetOnSpawn = false
Gui.Parent = game:GetService("CoreGui")

-- Main Container
local Main = Instance.new("Frame")
Main.Name = "MainFrame"
Main.Size = UDim2.new(0, 360, 0, 600)
Main.Position = UDim2.new(0.5, -180, 0.5, -300)
Main.BackgroundColor3 = Color3.fromRGB(8, 8, 20)
Main.BorderSizePixel = 0
Main.ClipsDescendants = true
Main.Parent = Gui
Instance.new("UICorner", Main).CornerRadius = UDim.new(0, 18)

-- Background Blur Effect
local bgBlur = Instance.new("Frame", Main)
bgBlur.Name = "BgBlur"
bgBlur.Size = UDim2.new(1, 0, 1, 0)
bgBlur.BackgroundColor3 = Color3.fromRGB(25, 25, 40)
bgBlur.BackgroundTransparency = 0.4
bgBlur.BorderSizePixel = 0

-- Glow effect behind main
local glow = Instance.new("Frame", Main)
glow.Name = "Glow"
glow.Size = UDim2.new(1, 12, 1, 12)
glow.Position = UDim2.new(0, -6, 0, -6)
glow.BackgroundColor3 = Color3.fromRGB(0, 200, 255)
glow.BackgroundTransparency = 0.85
glow.BorderSizePixel = 0
Instance.new("UICorner", glow).CornerRadius = UDim.new(0, 20)

-- Neon glow animation
task.spawn(function()
	while glow.Parent do
		for i = 0, 1, 0.02 do
			TweenService:Create(glow, TweenInfo.new(0.05), {BackgroundTransparency = 0.85 + i * 0.1}):Play()
			task.wait(0.05)
		end
		for i = 1, 0, -0.02 do
			TweenService:Create(glow, TweenInfo.new(0.05), {BackgroundTransparency = 0.95 - i * 0.1}):Play()
			task.wait(0.05)
		end
	end
end)

-- Animated gradient - Neon theme
local UIGradient = Instance.new("UIGradient", bgBlur)
UIGradient.Color = ColorSequence.new{
	ColorSequenceKeypoint.new(0, Color3.fromRGB(30, 30, 50)),
	ColorSequenceKeypoint.new(0.25, Color3.fromRGB(15, 15, 35)),
	ColorSequenceKeypoint.new(0.5, Color3.fromRGB(25, 25, 45)),
	ColorSequenceKeypoint.new(0.75, Color3.fromRGB(15, 15, 35)),
	ColorSequenceKeypoint.new(1, Color3.fromRGB(30, 30, 50))
}
UIGradient.Rotation = 45

-- Animated gradient rotation
task.spawn(function()
	while UIGradient.Parent do
		for i = 0, 360, 2 do
			UIGradient.Rotation = i
			task.wait(0.02)
		end
	end
end)

-- Border stroke - Neon
local UIStroke = Instance.new("UIStroke", Main)
UIStroke.Color = Color3.fromRGB(0, 255, 255)
UIStroke.Thickness = 2.5
UIStroke.Transparency = 0.3

-- Neon pulse animation
task.spawn(function()
	while UIStroke.Parent do
		for i = 0, 1, 0.05 do
			UIStroke.Transparency = 0.5 - i * 0.3
			task.wait(0.01)
		end
		for i = 1, 0, -0.05 do
			UIStroke.Transparency = 0.2 + i * 0.3
			task.wait(0.01)
		end
	end
end)

-- ======================== TITLE BAR ========================

local TitleBar = Instance.new("Frame", Main)
TitleBar.Name = "TitleBar"
TitleBar.Size = UDim2.new(1, 0, 0, 48)
TitleBar.BackgroundColor3 = Color3.fromRGB(25, 25, 40)
TitleBar.BorderSizePixel = 0
Instance.new("UICorner", TitleBar).CornerRadius = UDim.new(0, 16)

-- Title text
local Title = Instance.new("TextLabel", TitleBar)
Title.Name = "Title"
Title.Text = "POGO CLIMB V1"
Title.Size = UDim2.new(1, -80, 1, 0)
Title.BackgroundTransparency = 1
Title.TextColor3 = Color3.fromRGB(0, 255, 255)
Title.TextSize = 18
Title.Font = Enum.Font.GothamBold
Title.TextXAlignment = Enum.TextXAlignment.Left

-- Neon title animation
task.spawn(function()
	while Title.Parent do
		for i = 0, 1, 0.05 do
			Title.TextColor3 = Color3.fromRGB(0, 255 - i * 55, 255)
			task.wait(0.02)
		end
		for i = 1, 0, -0.05 do
			Title.TextColor3 = Color3.fromRGB(0, 200 + i * 55, 255)
			task.wait(0.02)
		end
	end
end)

-- Animated underline
local Underline = Instance.new("Frame", TitleBar)
Underline.Name = "Underline"
Underline.Size = UDim2.new(1, -20, 0, 2)
Underline.Position = UDim2.new(0, 10, 1, -2)
Underline.BackgroundColor3 = Color3.fromRGB(0, 255, 255)
Underline.BackgroundTransparency = 0.4
Underline.BorderSizePixel = 0

-- Neon underline pulse
task.spawn(function()
	while Underline.Parent do
		TweenService:Create(Underline, TweenInfo.new(0.5, Enum.EasingStyle.Sine), {Size = UDim2.new(0, 0, 0, 2), BackgroundTransparency = 0.8}):Play()
		task.wait(0.5)
		TweenService:Create(Underline, TweenInfo.new(0.5, Enum.EasingStyle.Sine), {Size = UDim2.new(1, -20, 0, 2), BackgroundTransparency = 0.3}):Play()
		task.wait(0.5)
	end
end)

-- Close button
local CloseBtn = Instance.new("TextButton", TitleBar)
CloseBtn.Name = "CloseBtn"
CloseBtn.Text = "X"
CloseBtn.Size = UDim2.new(0, 26, 0, 26)
CloseBtn.Position = UDim2.new(1, -32, 0, 11)
CloseBtn.BackgroundColor3 = Color3.fromRGB(220, 60, 60)
CloseBtn.TextColor3 = Color3.new(1, 1, 1)
CloseBtn.TextSize = 14
CloseBtn.Font = Enum.Font.GothamBold
CloseBtn.BorderSizePixel = 0
Instance.new("UICorner", CloseBtn).CornerRadius = UDim.new(0, 7)
CloseBtn.MouseEnter:Connect(function() TweenService:Create(CloseBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(255, 80, 80)}):Play() end)
CloseBtn.MouseLeave:Connect(function() TweenService:Create(CloseBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(220, 60, 60)}):Play() end)

-- Minimize button  
local MinBtn = Instance.new("TextButton", TitleBar)
MinBtn.Name = "MinBtn"
MinBtn.Text = "-"
MinBtn.Size = UDim2.new(0, 28, 0, 28)
MinBtn.Position = UDim2.new(1, -66, 0, 10)
MinBtn.BackgroundColor3 = Color3.fromRGB(15, 80, 120)
MinBtn.TextColor3 = Color3.new(0, 255, 255)
MinBtn.TextSize = 18
MinBtn.Font = Enum.Font.GothamBold
MinBtn.BorderSizePixel = 0
Instance.new("UICorner", MinBtn).CornerRadius = UDim.new(0, 8)

-- Neon hover
MinBtn.MouseEnter:Connect(function()
	TweenService:Create(MinBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(0, 180, 255)}):Play()
end)
MinBtn.MouseLeave:Connect(function()
	TweenService:Create(MinBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(15, 80, 120)}):Play()
end)

-- ======================== CONTENT ========================

local Content = Instance.new("ScrollingFrame", Main)
Content.Name = "Content"
Content.Size = UDim2.new(1, -18, 1, -58)
Content.Position = UDim2.new(0, 9, 0, 52)
Content.BackgroundTransparency = 1
Content.ScrollBarThickness = 4
Content.ScrollBarImageColor3 = Color3.fromRGB(80, 200, 255)
Content.ScrollBarImageTransparency = 0.3
Content.AutomaticCanvasSize = Enum.AutomaticSize.Y
Content.CanvasSize = UDim2.new(0, 0, 0, 0)
Content.BorderSizePixel = 0
Instance.new("UICorner", Content).CornerRadius = UDim.new(0, 12)

local UIListLayout = Instance.new("UIListLayout", Content)
UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder
UIListLayout.Padding = UDim.new(0, 6)

-- ======================== DRAG SCRIPT ========================

local dragging, dragInput, dragStart, startPos
TitleBar.InputBegan:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
		dragging = true
		dragStart = input.Position
		startPos = Main.Position
		input.Changed:Connect(function()
			if input.UserInputState == Enum.UserInputState.End then dragging = false end
		end)
	end
end)
TitleBar.InputChanged:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseMovement then dragInput = input end
end)
UIS.InputChanged:Connect(function(input)
	if input == dragInput and dragging then
		local delta = input.Position - dragStart
		Main.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
	end
end)

-- ======================== MENU ANIMATION ========================

local minimized = false
MinBtn.MouseButton1Click:Connect(function()
	minimized = not minimized
	if minimized then
		TweenService:Create(Main, TweenInfo.new(0.4, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut), {Size = UDim2.new(0, 360, 0, 48)}):Play()
		task.wait(0.3)
		Content.Visible = false
	else
		Content.Visible = true
		TweenService:Create(Main, TweenInfo.new(0.4, Enum.EasingStyle.Quad, Enum.EasingDirection.InOut), {Size = UDim2.new(0, 360, 0, 600)}):Play()
	end
end)

CloseBtn.MouseButton1Click:Connect(function()
	TweenService:Create(Main, TweenInfo.new(0.3, Enum.EasingStyle.Back), {Size = UDim2.new(0, 0, 0, 0), Position = UDim2.new(0.5, 0, 0.5, 0)}):Play()
	task.wait(0.3)
	Cleanup()
	Gui:Destroy()
end)

-- ======================== BUILDERS ========================

local layoutOrder = 0

-- Section Header
local function Section(name)
	layoutOrder = layoutOrder + 1
	local frame = Instance.new("Frame", Content)
	frame.Name = "Section_" .. name
	frame.Size = UDim2.new(1, 0, 0, 30)
	frame.BackgroundTransparency = 1
	frame.LayoutOrder = layoutOrder
	Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 8)
	
	local label = Instance.new("TextLabel", frame)
	label.Name = "Label"
	label.Text = "  " .. name
	label.Size = UDim2.new(1, 0, 1, 0)
	label.BackgroundTransparency = 1
	label.TextColor3 = Color3.fromRGB(0, 255, 255)
	label.TextSize = 13
	label.Font = Enum.Font.GothamBold
	label.TextXAlignment = Enum.TextXAlignment.Left
	
	-- Animated line - Neon
	local line = Instance.new("Frame", frame)
	line.Name = "Line"
	line.Size = UDim2.new(0, 0, 0, 2)
	line.Position = UDim2.new(0, 5, 1, -3)
	line.BackgroundColor3 = Color3.fromRGB(0, 255, 255)
	line.BorderSizePixel = 0
	
	-- Neon line animation
	task.spawn(function()
		while line.Parent do
			TweenService:Create(line, TweenInfo.new(1, Enum.EasingStyle.Sine), {Size = UDim2.new(1, -10, 0, 2), BackgroundTransparency = 0.3}):Play()
			task.wait(1)
			TweenService:Create(line, TweenInfo.new(1, Enum.EasingStyle.Sine), {Size = UDim2.new(0, 0, 0, 2), BackgroundTransparency = 0.8}):Play()
			task.wait(1)
		end
	end)
end

-- Toggle Button
local function Toggle(name, default, callback)
	layoutOrder = layoutOrder + 1
	local bg = Instance.new("Frame", Content)
	bg.Name = "Toggle_" .. name
	bg.Size = UDim2.new(1, 0, 0, 36)
	bg.BackgroundColor3 = Color3.fromRGB(20, 20, 40)
	bg.BorderSizePixel = 0
	bg.LayoutOrder = layoutOrder
	Instance.new("UICorner", bg).CornerRadius = UDim.new(0, 9)
	
	-- Neon hover effect
	bg.MouseEnter:Connect(function()
		TweenService:Create(bg, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(30, 30, 60)}):Play()
	end)
	bg.MouseLeave:Connect(function()
		TweenService:Create(bg, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(20, 20, 40)}):Play()
	end)
	
	-- Neon border
	local stroke = Instance.new("UIStroke", bg)
	stroke.Color = Color3.fromRGB(0, 200, 255)
	stroke.Thickness = 1
	stroke.Transparency = 0.5
	
	local label = Instance.new("TextLabel", bg)
	label.Name = "Label"
	label.Text = "   " .. name
	label.Size = UDim2.new(1, -50, 1, 0)
	label.BackgroundTransparency = 1
	label.TextColor3 = Color3.fromRGB(200, 255, 255)
	label.TextSize = 13
	label.Font = Enum.Font.Gotham
	label.TextXAlignment = Enum.TextXAlignment.Left
	
	local switch = Instance.new("Frame", bg)
	switch.Name = "Switch"
	switch.Size = UDim2.new(0, 36, 0, 18)
	switch.Position = UDim2.new(1, -42, 0.5, -9)
	switch.BackgroundColor3 = default and Color3.fromRGB(0, 200, 255) or Color3.fromRGB(40, 40, 70)
	switch.BorderSizePixel = 0
	Instance.new("UICorner", switch).CornerRadius = UDim.new(1, 0)
	
	-- Neon switch border
	local switchStroke = Instance.new("UIStroke", switch)
	switchStroke.Color = Color3.fromRGB(0, 255, 255)
	switchStroke.Thickness = 1
	switchStroke.Transparency = 0.7
	
	local dot = Instance.new("Frame", switch)
	dot.Name = "Dot"
	dot.Size = UDim2.new(0, 14, 0, 14)
	dot.Position = default and UDim2.new(1, -14, 0.5, -7) or UDim2.new(0, 2, 0.5, -7)
	dot.BackgroundColor3 = Color3.fromRGB(0, 255, 255)
	dot.BorderSizePixel = 0
	Instance.new("UICorner", dot).CornerRadius = UDim.new(1, 0)
	
	local enabled = default
	switch.InputBegan:Connect(function(input)
		if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
			enabled = not enabled
			TweenService:Create(dot, TweenInfo.new(0.18, Enum.EasingStyle.Quad), {Position = enabled and UDim2.new(1, -14, 0.5, -7) or UDim2.new(0, 2, 0.5, -7)}):Play()
			TweenService:Create(switch, TweenInfo.new(0.18, Enum.EasingStyle.Quad), {BackgroundColor3 = enabled and Color3.fromRGB(0, 200, 255) or Color3.fromRGB(40, 40, 70)}):Play()
			callback(enabled)
		end
	end)
end

-- Regular Button
local function Button(name, color, callback)
	layoutOrder = layoutOrder + 1
	local btn = Instance.new("TextButton", Content)
	btn.Name = "Button_" .. name
	btn.Text = "   " .. name
	btn.Size = UDim2.new(1, 0, 0, 36)
	btn.BackgroundColor3 = color or Color3.fromRGB(60, 180, 220)
	btn.TextColor3 = Color3.new(1, 1, 1)
	btn.TextSize = 13
	btn.Font = Enum.Font.GothamBold
	btn.BorderSizePixel = 0
	btn.LayoutOrder = layoutOrder
	Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 9)
	
	btn.MouseEnter:Connect(function()
		TweenService:Create(btn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(80, 220, 255), TextColor3 = Color3.new(1,1,1)}):Play()
	end)
	btn.MouseLeave:Connect(function()
		TweenService:Create(btn, TweenInfo.new(0.2), {BackgroundColor3 = color or Color3.fromRGB(60, 180, 220)}):Play()
	end)
	btn.MouseButton1Click:Connect(callback)
end

-- Slider with TextBox for custom value
local function Slider(name, minVal, maxVal, defaultVal, callback)
	layoutOrder = layoutOrder + 1
	local bg = Instance.new("Frame", Content)
	bg.Name = "Slider_" .. name
	bg.Size = UDim2.new(1, 0, 0, 44)
	bg.BackgroundColor3 = Color3.fromRGB(20, 20, 40)
	bg.BorderSizePixel = 0
	bg.LayoutOrder = layoutOrder
	Instance.new("UICorner", bg).CornerRadius = UDim.new(0, 9)
	
	local stroke = Instance.new("UIStroke", bg)
	stroke.Color = Color3.fromRGB(0, 200, 255)
	stroke.Thickness = 1
	stroke.Transparency = 0.5
	
	bg.MouseEnter:Connect(function()
		TweenService:Create(bg, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(30, 30, 60)}):Play()
	end)
	bg.MouseLeave:Connect(function()
		TweenService:Create(bg, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(20, 20, 40)}):Play()
	end)
	
	local label = Instance.new("TextLabel", bg)
	label.Name = "Label"
	label.Text = "   " .. name
	label.Size = UDim2.new(0.6, 0, 0, 18)
	label.BackgroundTransparency = 1
	label.TextColor3 = Color3.fromRGB(180, 255, 255)
	label.TextSize = 13
	label.Font = Enum.Font.Gotham
	label.TextXAlignment = Enum.TextXAlignment.Left
	
	local value = Instance.new("TextLabel", bg)
	value.Name = "Value"
	value.Text = tostring(defaultVal)
	value.Size = UDim2.new(0, 60, 0, 18)
	value.Position = UDim2.new(1, -65, 0, 0)
	value.BackgroundTransparency = 1
	value.TextColor3 = Color3.fromRGB(0, 255, 255)
	value.TextSize = 13
	value.Font = Enum.Font.GothamBold
	
	local textBox = Instance.new("TextBox", bg)
	textBox.Name = "TextBox"
	textBox.Text = tostring(defaultVal)
	textBox.Size = UDim2.new(0, 55, 0, 18)
	textBox.Position = UDim2.new(1, -130, 0, 12)
	textBox.BackgroundColor3 = Color3.fromRGB(15, 15, 35)
	textBox.TextColor3 = Color3.fromRGB(0, 255, 255)
	textBox.TextSize = 11
	textBox.Font = Enum.Font.GothamBold
	textBox.PlaceholderText = "Custom"
	textBox.ClearTextOnFocus = false
	textBox.BorderSizePixel = 0
	Instance.new("UICorner", textBox).CornerRadius = UDim.new(0, 5)
	
	local sliderBg = Instance.new("Frame", bg)
	sliderBg.Name = "SliderBg"
	sliderBg.Size = UDim2.new(1, -20, 0, 6)
	sliderBg.Position = UDim2.new(0, 10, 1, -12)
	sliderBg.BackgroundColor3 = Color3.fromRGB(30, 30, 50)
	sliderBg.BorderSizePixel = 0
	Instance.new("UICorner", sliderBg).CornerRadius = UDim.new(1, 0)
	
	local fill = Instance.new("Frame", sliderBg)
	fill.Name = "Fill"
	fill.Size = UDim2.new(0, 0, 1, 0)
	fill.BackgroundColor3 = Color3.fromRGB(0, 200, 255)
	fill.BorderSizePixel = 0
	Instance.new("UICorner", fill).CornerRadius = UDim.new(1, 0)
	
	local currentVal = defaultVal
	
	local function updateSlider(val)
		local percent = (val - minVal) / (maxVal - minVal)
		percent = math.clamp(percent, 0, 1)
		fill.Size = UDim2.new(percent, 0, 1, 0)
		value.Text = tostring(math.floor(val))
		currentVal = math.floor(val)
	end
	
	textBox.FocusLost:Connect(function()
		local num = tonumber(textBox.Text)
		if num then
			num = math.clamp(num, minVal, maxVal)
			updateSlider(num)
			callback(num)
		else
			textBox.Text = tostring(currentVal)
		end
	end)
	
	updateSlider(defaultVal)
	
	return {SetValue = function(v) updateSlider(v) end, GetValue = function() return currentVal end}
end

-- Dropdown Cycle
local function Dropdown(name, options, defaultIdx, callback)
	layoutOrder = layoutOrder + 1
	local idx = defaultIdx or 1
	
	local bg = Instance.new("Frame", Content)
	bg.Name = "Dropdown_" .. name
	bg.Size = UDim2.new(1, 0, 0, 36)
	bg.BackgroundColor3 = Color3.fromRGB(20, 20, 40)
	bg.BorderSizePixel = 0
	bg.LayoutOrder = layoutOrder
	Instance.new("UICorner", bg).CornerRadius = UDim.new(0, 9)
	
	-- Neon border
	local stroke = Instance.new("UIStroke", bg)
	stroke.Color = Color3.fromRGB(0, 200, 255)
	stroke.Thickness = 1
	stroke.Transparency = 0.5
	
	bg.MouseEnter:Connect(function()
		TweenService:Create(bg, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(30, 30, 60)}):Play()
	end)
	bg.MouseLeave:Connect(function()
		TweenService:Create(bg, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(20, 20, 40)}):Play()
	end)
	
	local label = Instance.new("TextLabel", bg)
	label.Name = "Label"
	label.Text = "   " .. name
	label.Size = UDim2.new(0.55, 0, 1, 0)
	label.BackgroundTransparency = 1
	label.TextColor3 = Color3.fromRGB(180, 255, 255)
	label.TextSize = 13
	label.Font = Enum.Font.Gotham
	label.TextXAlignment = Enum.TextXAlignment.Left
	
	local value = Instance.new("TextButton", bg)
	value.Name = "Value"
	value.Text = tostring(options[idx])
	value.Size = UDim2.new(0, 90, 0, 22)
	value.Position = UDim2.new(1, -100, 0.5, -11)
	value.BackgroundColor3 = Color3.fromRGB(15, 15, 35)
	value.TextColor3 = Color3.fromRGB(0, 255, 255)
	value.TextSize = 11
	value.Font = Enum.Font.GothamBold
	value.BorderSizePixel = 0
	Instance.new("UICorner", value).CornerRadius = UDim.new(0, 7)
	
	-- Neon value border
	local valueStroke = Instance.new("UIStroke", value)
	valueStroke.Color = Color3.fromRGB(0, 200, 255)
	valueStroke.Thickness = 1
	valueStroke.Transparency = 0.6
	
	value.MouseButton1Click:Connect(function()
		idx = idx % #options + 1
		TweenService:Create(value, TweenInfo.new(0.15), {TextTransparency = 1}):Play()
		task.wait(0.08)
		value.Text = tostring(options[idx])
		TweenService:Create(value, TweenInfo.new(0.15), {TextTransparency = 0}):Play()
		callback(idx, options[idx])
	end)
end

-- ======================== NOTIFICATION ========================

local function Notify(msg)
	pcall(function()
		local notif = Instance.new("Frame", Gui)
		notif.Name = "Notif"
		notif.Size = UDim2.new(0, 240, 0, 36)
		notif.Position = UDim2.new(0.5, -120, 0, -40)
		notif.BackgroundColor3 = Color3.fromRGB(20, 20, 35)
		notif.BorderSizePixel = 0
		Instance.new("UICorner", notif).CornerRadius = UDim.new(0, 12)
		
		local stroke = Instance.new("UIStroke", notif)
		stroke.Color = Color3.fromRGB(80, 200, 255)
		stroke.Thickness = 1.5
		
		local text = Instance.new("TextLabel", notif)
		text.Name = "Text"
		text.Text = "  " .. msg
		text.Size = UDim2.new(1, 0, 1, 0)
		text.BackgroundTransparency = 1
		text.TextColor3 = Color3.fromRGB(80, 200, 255)
		text.TextSize = 12
		text.Font = Enum.Font.GothamBold
		text.TextXAlignment = Enum.TextXAlignment.Left
		
		TweenService:Create(notif, TweenInfo.new(0.3, Enum.EasingStyle.Back), {Position = UDim2.new(0.5, -120, 0, 15), Size = UDim2.new(0, 240, 0, 36)}):Play()
		
		task.delay(2, function()
			if notif and notif.Parent then
				TweenService:Create(notif, TweenInfo.new(0.3), {Position = UDim2.new(0.5, -120, 0, -40), Size = UDim2.new(0, 0, 0, 0)}):Play()
				task.wait(0.3)
				if notif and notif.Parent then notif:Destroy() end
			end
		end)
	end)
end

-- ======================== REMOTE SCANNER ========================

local Events, Functions, Stats = {}, {}, {}
local CachedJump, CachedWin, CachedRebirth = {}, {}, {}

local function scanRemotes()
	Events, Functions = {}, {}
	CachedJump, CachedWin, CachedRebirth = {}, {}, {}
	
	local function scan(parent, path)
		path = path or ""
		for _, obj in pairs(parent:GetChildren()) do
			local fullPath = path == "" and obj.Name or (path .. "." .. obj.Name)
			
			if obj:IsA("RemoteEvent") then
				Events[fullPath] = obj
				local lowerName = fullPath:lower()
				
				if lowerName:find("jump") or lowerName:find("pogo") or lowerName:find("bounce") or lowerName:find("score") or lowerName:find("collect") or lowerName:find("point") then
					table.insert(CachedJump, obj)
				end
				if lowerName:find("win") or lowerName:find("complete") or lowerName:find("finish") or lowerName:find("victory") or lowerName:find("tower") or lowerName:find("climb") then
					table.insert(CachedWin, obj)
				end
				if lowerName:find("rebirth") or lowerName:find("reborn") or lowerName:find("prestige") or lowerName:find("evolve") or lowerName:find("reset") or lowerName:find("boost") or lowerName:find("coin") then
					table.insert(CachedRebirth, obj)
				end
			end
			
			if obj:IsA("RemoteFunction") then
				Functions[fullPath] = obj
			end
			
			if #obj:GetChildren() > 0 then
				scan(obj, fullPath)
			end
		end
	end
	
	pcall(function() scan(RS) end)
end

local function scanStats()
	Stats = {}
	pcall(function()
		local ls = Player:FindFirstChild("leaderstats")
		if ls then
			for _, val in pairs(ls:GetChildren()) do
				if val:IsA("IntValue") or val:IsA("NumberValue") then
					Stats[val.Name:lower()] = val
				end
			end
		end
	end)
end

local function findRemote(keyword)
	for path, remote in pairs(Events) do
		if path:lower():find(keyword, 1, true) then
			return remote
		end
	end
	return nil
end

scanRemotes()
scanStats()

Player.CharacterAdded:Connect(function(c)
	Char = c
	task.wait(0.5)
	scanRemotes()
	scanStats()
	if Config.Fly then startFly() end
	if Config.Speed then startSpeed() end
	if Config.AutoJump then startAutoJump() end
	if Config.AutoFarm then startAutoFarm() end
	if Config.NoFallDmg then startNoFall() end
	if Config.Freeze then startFreeze() end
	if Config.NoClip then startNoClip() end
	if Config.FastSpin then startFastSpin() end
	if Config.Invisible then startInvisible() end
	if Config.HighJump then startHighJump() end
end)

-- ======================== CONFIG ========================

local Config = {
	Fly = false,
	FlySpeed = 30,
	InfJump = false,
	AutoJump = false,
	Speed = false,
	LowGrav = false,
	NoFallDmg = false,
	ClickTP = false,
	AutoFarm = false,
	AutoRebirth = false,
	AntiAFK = true,
	SpyMode = false,
	Freeze = false,
	Invisible = false,
	FastSpin = false,
	HighJump = false,
	JumpPower = 150,
	NoClip = false,
	ESP = false,
	AntiHit = false,
}

-- ======================== ANTI-AFK ========================

pcall(function()
	VirtualUser:CaptureController()
	VirtualUser:ClickButton2(Vector2.new())
	Player.Idled:Connect(function()
		VirtualUser:CaptureController()
		VirtualUser:ClickButton2(Vector2.new())
	end)
end)

-- ======================== HOOK ========================

local hooked = false
local oldNamecall

pcall(function()
	oldNamecall = hookmetamethod(game, "__namecall", function(self, ...)
		local method = getnamecallmethod()
		if Config.SpyMode and (method == "FireServer" or method == "InvokeServer") then
			local args = {...}
			local argStr = ""
			for _, a in ipairs(args) do
				argStr = argStr .. tostring(a) .. "  "
			end
			print("[SPY] " .. self.Name .. ":" .. method .. "(" .. argStr .. ")")
		end
		return oldNamecall(self, ...)
	end)
	hooked = true
end)

-- ======================== FLY SYSTEM ========================

local flyBV, flyBG, flyConn
local flyKeys = {w=false, a=false, s=false, d=false, up=false, down=false}

local FlySpeeds = {
	{name = "Slow", val = 30},
	{name = "Normal", val = 70},
	{name = "Fast", val = 150},
	{name = "Very Fast", val = 300},
	{name = "GOD", val = 800},
	{name = "Super GOD", val = 1000},
	{name = "Ultra GOD", val = 5000},
	{name = "Super Ultra GOD", val = 50000},
	{name = "MAX", val = 500000},
}
local FlySpeedIdx = 1

local JumpPowers = {
	{name = "Low", val = 75},
	{name = "Normal", val = 100},
	{name = "High", val = 150},
	{name = "Very High", val = 200},
	{name = "Extreme", val = 300},
	{name = "GOD", val = 500},
	{name = "Super GOD", val = 1000},
	{name = "Ultra GOD", val = 5000},
	{name = "Super Ultra GOD", val = 50000},
	{name = "MAX", val = 500000},
}
local JumpPowerIdx = 3 -- Mแบทc ฤ‘แป‹nh lร  High (150)

local function startFly()
	if flyBV then return end
	local hrp = Char and Char:FindFirstChild("HumanoidRootPart")
	if not hrp then Notify("No character!"); return end
	
	flyBV = Instance.new("BodyVelocity")
	flyBV.MaxForce = Vector3.new(1e5, 1e5, 1e5)
	flyBV.Velocity = Vector3.zero
	flyBV.Parent = hrp
	
	flyBG = Instance.new("BodyGyro")
	flyBG.MaxTorque = Vector3.new(1e5, 1e5, 1e5)
	flyBG.P = 9000
	flyBG.Parent = hrp
	
	pcall(function()
		local hum = Char:FindFirstChildOfClass("Humanoid")
		if hum then hum.PlatformStand = true end
	end)
	
	flyConn = RunService.RenderStepped:Connect(function()
		if not Config.Fly or not flyBV or not flyBV.Parent then return end
		
		local hrp = Char and Char:FindFirstChild("HumanoidRootPart")
		if not hrp then return end
		
		local cam = workspace.CurrentCamera.CFrame
		local dir = Vector3.zero
		
		if flyKeys.w then dir = dir + cam.LookVector end
		if flyKeys.s then dir = dir - cam.LookVector end
		if flyKeys.a then dir = dir - cam.RightVector end
		if flyKeys.d then dir = dir + cam.RightVector end
		if flyKeys.up then dir = dir + Vector3.new(0, 1, 0) end
		if flyKeys.down then dir = dir - Vector3.new(0, 1, 0) end
		
		if dir.Magnitude > 0 then
			dir = dir.Unit
			flyBV.Velocity = dir * Config.FlySpeed
		else
			flyBV.Velocity = Vector3.zero
		end
		
		-- Only align with camera when moving
		if flyBG and flyBG.Parent and dir.Magnitude > 0 then
			flyBG.CFrame = CFrame.new(Vector3.new(), cam.LookVector)
		end
	end)
	
	Notify("FLY ENABLED - " .. FlySpeeds[FlySpeedIdx].name .. " (" .. Config.FlySpeed .. ")")
end

local function stopFly()
	Config.Fly = false
	if flyConn then flyConn:Disconnect() flyConn = nil end
	if flyBV then flyBV:Destroy() flyBV = nil end
	if flyBG then flyBG:Destroy() flyBG = nil end
	
	pcall(function()
		if Char then
			local hum = Char:FindFirstChildOfClass("Humanoid")
			if hum then hum.PlatformStand = false end
		end
	end)
	
	flyKeys = {w=false, a=false, s=false, d=false, up=false, down=false}
end

UIS.InputBegan:Connect(function(input, gp)
	if gp then return end
	if input.KeyCode == Enum.KeyCode.W then flyKeys.w = true end
	if input.KeyCode == Enum.KeyCode.A then flyKeys.a = true end
	if input.KeyCode == Enum.KeyCode.S then flyKeys.s = true end
	if input.KeyCode == Enum.KeyCode.D then flyKeys.d = true end
	if input.KeyCode == Enum.KeyCode.Space then flyKeys.up = true end
	if input.KeyCode == Enum.KeyCode.LeftShift then flyKeys.down = true end
end)

UIS.InputEnded:Connect(function(input)
	if input.KeyCode == Enum.KeyCode.W then flyKeys.w = false end
	if input.KeyCode == Enum.KeyCode.A then flyKeys.a = false end
	if input.KeyCode == Enum.KeyCode.S then flyKeys.s = false end
	if input.KeyCode == Enum.KeyCode.D then flyKeys.d = false end
	if input.KeyCode == Enum.KeyCode.Space then flyKeys.up = false end
	if input.KeyCode == Enum.KeyCode.LeftShift then flyKeys.down = false end
end)

-- ======================== INFINITE JUMP ========================

local infJumpConn
local function startInfJump()
	if infJumpConn then return end
	infJumpConn = UIS.JumpRequest:Connect(function()
		if Config.InfJump then
			pcall(function()
				local hum = Char and Char:FindFirstChildOfClass("Humanoid")
				if hum and hum.Health > 0 then
					hum:ChangeState(Enum.HumanoidStateType.Jumping)
				end
			end)
		end
	end)
end

local function stopInfJump()
	if infJumpConn then infJumpConn:Disconnect() infJumpConn = nil end
end

-- ======================== AUTO JUMP ====================

local autoJumpConn
local autoJumpCooldown = 0
local function startAutoJump()
	Config.AutoJump = true
	if autoJumpConn then return end
	autoJumpConn = RunService.Heartbeat:Connect(function()
		if not Config.AutoJump then return end
		pcall(function()
			local hum = Char and Char:FindFirstChildOfClass("Humanoid")
			if hum and hum.Health > 0 then
				local state = hum:GetState()
				-- Only auto jump when on ground or platform standing
				if (state == Enum.HumanoidStateType.Running or state == Enum.HumanoidStateType.PlatformStanding) then
					-- Set consistent jump power for auto jump
					if Config.HighJump then
						hum.JumpPower = Config.JumpPower
					end
					hum:ChangeState(Enum.HumanoidStateType.Jumping)
				end
			end
		end)
	end)
end

local function stopAutoJump()
	Config.AutoJump = false
	if autoJumpConn then autoJumpConn:Disconnect() autoJumpConn = nil end
end

-- ======================== SPEED BOOST ====================

local speedConn
local function startSpeed()
	if speedConn then return end
	speedConn = RunService.Heartbeat:Connect(function()
		if Config.Speed then
			pcall(function()
				local hum = Char and Char:FindFirstChildOfClass("Humanoid")
				if hum and hum.Health > 0 then
					hum.WalkSpeed = 80
				end
			end)
		end
	end)
end

local function stopSpeed()
	Config.Speed = false
	if speedConn then speedConn:Disconnect() speedConn = nil end
	pcall(function()
		local hum = Char and Char:FindFirstChildOfClass("Humanoid")
		if hum then hum.WalkSpeed = 16 end
	end)
end

-- ======================== LOW GRAVITY ====================

local originalGravity = workspace.Gravity
local function startLowGrav()
	workspace.Gravity = 50
	Notify("LOW GRAVITY ON")
end

local function stopLowGrav()
	workspace.Gravity = originalGravity
	Notify("LOW GRAVITY OFF")
end

-- ======================== NO FALL DAMAGE ====================

local noFallConn
local function startNoFall()
	if noFallConn then return end
	noFallConn = RunService.Heartbeat:Connect(function()
		if not Config.NoFallDmg then return end
		pcall(function()
			local hum = Char and Char:FindFirstChildOfClass("Humanoid")
			if hum and hum:GetState() == Enum.HumanoidStateType.Freefall then
				hum.Health = hum.MaxHealth
			end
		end)
	end)
	Notify("NO FALL DAMAGE ON")
end

local function stopNoFall()
	Config.NoFallDmg = false
	if noFallConn then noFallConn:Disconnect() noFallConn = nil end
end

-- ======================== CLICK TELEPORT ====================

local clickTPConn
local function startClickTP()
	if clickTPConn then return end
	clickTPConn = UIS.InputBegan:Connect(function(input, gp)
		if gp or not Config.ClickTP then return end
		if input.UserInputType == Enum.UserInputType.MouseButton1 then
			pcall(function()
				local mousePos = UIS:GetMouseLocation()
				local guiObjs = Gui:GetGuiObjectsAtPosition(mousePos.X, mousePos.Y)
				if #guiObjs > 0 then return end
				
				local hrp = Char and Char:FindFirstChild("HumanoidRootPart")
				if hrp then
					local mouse = Player:GetMouse()
					if mouse.Hit then
						hrp.CFrame = CFrame.new(mouse.Hit.X, mouse.Hit.Y + 3, mouse.Hit.Z)
					end
				end
			end)
		end
	end)
	Notify("CLICK TELEPORT ON")
end

local function stopClickTP()
	Config.ClickTP = false
	if clickTPConn then clickTPConn:Disconnect() clickTPConn = nil end
end

-- ======================== AUTO FARM ====================

local farmConn
local function startAutoFarm()
	if farmConn then return end
	Config.AutoFarm = true
	farmConn = RunService.Heartbeat:Connect(function()
		if not Config.AutoFarm then return end
		pcall(function()
			for _, remote in ipairs(CachedJump) do
				remote:FireServer()
			end
			for _, remote in ipairs(CachedWin) do
				remote:FireServer()
			end
		end)
	end)
	Notify("AUTO FARM ON")
end

local function stopAutoFarm()
	Config.AutoFarm = false
	if farmConn then farmConn:Disconnect() farmConn = nil end
end

-- ======================== AUTO REBIRTH ====================

local rebirthConn
local function startRebirth()
	Config.AutoRebirth = true
	rebirthConn = RunService.Heartbeat:Connect(function()
		if not Config.AutoRebirth then return end
		pcall(function()
			for _, remote in ipairs(CachedRebirth) do
				remote:FireServer()
				remote:FireServer(true)
			end
			for _, kw in ipairs({"rebirth", "reborn", "prestige", "evolve", "reset", "boost"}) do
				local r = findRemote(kw)
				if r then r:FireServer() end
			end
		end)
	end)
	Notify("AUTO REBIRTH ON")
end

local function stopRebirth()
	Config.AutoRebirth = false
	if rebirthConn then rebirthConn:Disconnect() rebirthConn = nil end
end

-- ======================== FREEZE PLAYER ====================

local freezeConn
local originalWalkSpeed
local originalJumpPower
local function startFreeze()
	Config.Freeze = true
	pcall(function()
		local hum = Char and Char:FindFirstChildOfClass("Humanoid")
		if hum then
			originalWalkSpeed = hum.WalkSpeed
			hum.WalkSpeed = 0
		end
	end)
	freezeConn = RunService.Heartbeat:Connect(function()
		if not Config.Freeze then return end
		pcall(function()
			local hrp = Char and Char:FindFirstChild("HumanoidRootPart")
			if hrp then
				hrp.Velocity = Vector3.new(0, 0, 0)
				hrp.RotVelocity = Vector3.new(0, 0, 0)
			end
		end)
	end)
end

local function stopFreeze()
	Config.Freeze = false
	if freezeConn then freezeConn:Disconnect() freezeConn = nil end
	pcall(function()
		local hum = Char and Char:FindFirstChildOfClass("Humanoid")
		if hum then hum.WalkSpeed = originalWalkSpeed or 16 end
	end)
end

-- ======================== NO CLIP ====================

local noClipConn
local noClipParts = {}
local function startNoClip()
	Config.NoClip = true
	if noClipConn then noClipConn:Disconnect() end
	noClipConn = RunService.Heartbeat:Connect(function()
		if not Config.NoClip then return end
		pcall(function()
			for _, part in pairs(Char:GetDescendants()) do
				if part:IsA("BasePart") then
					part.CanCollide = false
					noClipParts[part] = true
				end
			end
		end)
	end)
end

local function stopNoClip()
	Config.NoClip = false
	if noClipConn then noClipConn:Disconnect() noClipConn = nil end
	pcall(function()
		for part, _ in pairs(noClipParts) do
			if part and part.Parent then part.CanCollide = true end
		end
		noClipParts = {}
	end)
end

-- ======================== FAST SPIN ====================

local fastSpinConn
local function startFastSpin()
	Config.FastSpin = true
	if fastSpinConn then fastSpinConn:Disconnect() end
	fastSpinConn = RunService.Heartbeat:Connect(function()
		if not Config.FastSpin then return end
		pcall(function()
			local hrp = Char and Char:FindFirstChild("HumanoidRootPart")
			if hrp then
				hrp.RotVelocity = Vector3.new(0, 500, 0)
			end
		end)
	end)
end

local function stopFastSpin()
	Config.FastSpin = false
	if fastSpinConn then fastSpinConn:Disconnect() fastSpinConn = nil end
end

-- ======================== INVISIBLE ====================

local function startInvisible()
	Config.Invisible = true
	pcall(function()
		for _, part in pairs(Char:GetDescendants()) do
			if part:IsA("BasePart") or part:IsA("MeshPart") then
				part.Transparency = 1
				part.LocalTransparencyModifier = 1
			end
		end
	end)
end

local function stopInvisible()
	Config.Invisible = false
	pcall(function()
		for _, part in pairs(Char:GetDescendants()) do
			if part:IsA("BasePart") or part:IsA("MeshPart") then
				part.Transparency = 0
				part.LocalTransparencyModifier = 0
			end
		end
	end)
end

-- ======================== HIGH JUMP ====================

local function startHighJump()
	Config.HighJump = true
	pcall(function()
		local hum = Char and Char:FindFirstChildOfClass("Humanoid")
		if hum then originalJumpPower = hum.JumpPower hum.JumpPower = Config.JumpPower end
	end)
	Notify("HIGH JUMP: " .. JumpPowers[JumpPowerIdx].name .. " (" .. Config.JumpPower .. ")")
end

local function stopHighJump()
	Config.HighJump = false
	pcall(function()
		local hum = Char and Char:FindFirstChildOfClass("Humanoid")
		if hum then hum.JumpPower = originalJumpPower or 50 end
	end)
	Notify("HIGH JUMP OFF")
end

-- ======================== ESP / WALLHACK ====================

local espHighlights = {}
local espEnabled = false
local function refreshESP()
	if not Config.ESP then return end
	pcall(function()
		for _, plr in pairs(Players:GetPlayers()) do
			if plr ~= Player and plr.Character then
				local hrp = plr.Character:FindFirstChild("HumanoidRootPart")
				if hrp then
					if not espHighlights[plr] then
						local highlight = Instance.new("Highlight")
						highlight.Name = "PogoESP"
						highlight.FillColor = Color3.fromRGB(255, 0, 0)
						highlight.OutlineColor = Color3.fromRGB(255, 100, 100)
						highlight.FillTransparency = 0.5
						highlight.OutlineTransparency = 0
						highlight.Adornee = hrp
						highlight.Parent = hrp
						espHighlights[plr] = highlight
					end
				end
			end
		end
	end)
end

local function startESP()
	Config.ESP = true
	espEnabled = true
	refreshESP()
	Notify("ESP ON")
end

local function stopESP()
	Config.ESP = false
	espEnabled = false
	for plr, highlight in pairs(espHighlights) do
		if highlight and highlight.Parent then
			highlight:Destroy()
		end
	end
	espHighlights = {}
	Notify("ESP OFF")
end

-- ======================== ANTI HIT / COLLISION ====================

local antiHitConn
local function startAntiHit()
	Config.AntiHit = true
	if antiHitConn then return end
	antiHitConn = RunService.Heartbeat:Connect(function()
		if not Config.AntiHit then return end
		pcall(function()
			local hrp = Char and Char:FindFirstChild("HumanoidRootPart")
			if hrp then
				for _, plr in pairs(Players:GetPlayers()) do
					if plr ~= Player and plr.Character then
						local theirHRP = plr.Character:FindFirstChild("HumanoidRootPart")
						if theirHRP and (theirHRP.Position - hrp.Position).Magnitude < 10 then
							hrp.Velocity = Vector3.new(0, 100, 0) -- Bounce up to avoid collision
						end
					end
				end
			end
		end)
	end)
end

local function stopAntiHit()
	Config.AntiHit = false
	if antiHitConn then antiHitConn:Disconnect() antiHitConn = nil end
end

-- ======================== BUILD MENU ====================

Section("FLY")
Toggle("Fly [E]", false, function(state)
	Config.Fly = state
	if state then startFly() else stopFly() end
end)
Dropdown("Fly Speed", {
	"Slow (30)",
	"Normal (70)", 
	"Fast (150)",
	"Very Fast (300)",
	"GOD (800)",
	"Super GOD (1K)",
	"Ultra GOD (5K)",
	"Super Ultra GOD (50K)",
	"MAX (500K)"
}, 1, function(idx, val)
	FlySpeedIdx = idx
	Config.FlySpeed = FlySpeeds[idx].val
	Notify("Fly Speed: " .. FlySpeeds[idx].name)
end)

Section("JUMP")
Toggle("Infinite Jump [J]", false, function(state)
	Config.InfJump = state
	if state then startInfJump() else stopInfJump() end
	Notify(state and "INF JUMP ON" or "INF JUMP OFF")
end)
Toggle("Auto Jump", false, function(state)
	Config.AutoJump = state
	if state then startAutoJump() else stopAutoJump() end
	Notify(state and "AUTO JUMP ON" or "AUTO JUMP OFF")
end)
Toggle("High Jump On/Off [Y]", false, function(state)
	Config.HighJump = state
	if state then startHighJump() else stopHighJump() end
end)
Slider("Custom Jump Power", 50, 500000, 150, function(val)
	Config.JumpPower = val
	if Config.HighJump then
		startHighJump()
	end
	Notify("Custom Jump Power: " .. val)
end)
Dropdown("High Jump Power", {
	"Low (75)",
	"Normal (100)",
	"High (150)",
	"Very High (200)",
	"Extreme (300)",
	"GOD (500)",
	"Super GOD (1K)",
	"Ultra GOD (5K)",
	"Super Ultra GOD (50K)",
	"MAX (500K)"
}, JumpPowerIdx, function(idx, val)
	JumpPowerIdx = idx
	Config.JumpPower = JumpPowers[idx].val
	if Config.HighJump then
		startHighJump()
	end
	Notify("Jump Power: " .. JumpPowers[idx].name .. " (" .. JumpPowers[idx].val .. ")")
end)

Section("MOVEMENT")
Toggle("Speed Boost (80)", false, function(state)
	Config.Speed = state
	if state then startSpeed() else stopSpeed() Notify(state and "SPEED ON" or "SPEED OFF") end
end)
Toggle("Low Gravity", false, function(state)
	Config.LowGrav = state
	if state then startLowGrav() else stopLowGrav() end
end)
Toggle("No Fall Damage", false, function(state)
	Config.NoFallDmg = state
	if state then startNoFall() else stopNoFall() end
end)
Toggle("Click Teleport", false, function(state)
	Config.ClickTP = state
	if state then startClickTP() else stopClickTP() end
end)

Section("PLAYER")
Toggle("Freeze Player [Z]", false, function(state)
	Config.Freeze = state
	if state then startFreeze() else stopFreeze() end
end)
Toggle("No Clip [N]", false, function(state)
	Config.NoClip = state
	if state then startNoClip() else stopNoClip() end
end)
Toggle("Fast Spin [X]", false, function(state)
	Config.FastSpin = state
	if state then startFastSpin() else stopFastSpin() end
end)
Toggle("Invisible [I]", false, function(state)
	Config.Invisible = state
	if state then startInvisible() else stopInvisible() end
end)

Section("FARM")
Toggle("Auto Farm [RightCtrl]", false, function(state)
	Config.AutoFarm = state
	if state then startAutoFarm() else stopAutoFarm() Notify("FARM OFF") end
end)
Toggle("Auto Rebirth [R]", false, function(state)
	Config.AutoRebirth = state
	if state then startRebirth() else stopRebirth() Notify("REBIRTH OFF") end
end)

Section("UTILITIES")
Toggle("Anti-AFK", true, function() end)
Toggle("Remote Spy (F9)", false, function(state)
	Config.SpyMode = state
	if state then 
		for path, _ in pairs(Events) do print("Event: " .. path) end
		for statName, stat in pairs(Stats) do print("Stat: " .. statName .. " = " .. stat.Value) end
		Notify("Spy ON - check console")
	end
end)
Toggle("ESP/Wallhack", false, function(state)
	if state then startESP() else stopESP() end
end)
Toggle("Anti Hit", false, function(state)
	if state then startAntiHit() else stopAntiHit() end
	Notify(state and "ANTI HIT ON" or "ANTI HIT OFF")
end)

Section("INFO")
Button("Facebook: khang.khang.854280", Color3.fromRGB(50, 120, 220), function()
	setclipboard("https://www.facebook.com/khang.khang.854280/")
	Notify("Facebook link copied!")
end)
Button("TikTok: @Khangprokiller", Color3.fromRGB(50, 120, 220), function()
	setclipboard("@Khangprokiller")
	Notify("TikTok copied!")
end)
Button("Zalo: 0944136031", Color3.fromRGB(50, 120, 220), function()
	setclipboard("0944136031")
	Notify("Zalo copied!")
end)

Button("Re-scan [RightShift]", Color3.fromRGB(50, 120, 220), function()
	scanRemotes(); scanStats()
	Notify("SCANNED!")
end)

Button("Destroy GUI", Color3.fromRGB(200, 50, 50), function()
	Cleanup()
	Gui:Destroy()
end)

-- ======================== CLEANUP ====================

function Cleanup()
	stopFly(); stopInfJump(); stopAutoJump(); stopSpeed()
	stopLowGrav(); stopNoFall(); stopClickTP(); stopAutoFarm(); stopRebirth()
	stopFreeze(); stopNoClip(); stopFastSpin(); stopInvisible()
	stopESP(); stopAntiHit()
end

-- ======================== KEYBINDS ====================

UIS.InputBegan:Connect(function(input, gp)
	if gp then return end
	
	if input.KeyCode == Enum.KeyCode.E then
		Config.Fly = not Config.Fly
		if Config.Fly then startFly() else stopFly() end
	end
	
	if input.KeyCode == Enum.KeyCode.J then
		Config.InfJump = not Config.InfJump
		if Config.InfJump then startInfJump() else stopInfJump() end
		Notify(Config.InfJump and "INF JUMP ON" or "INF JUMP OFF")
	end
	
	if input.KeyCode == Enum.KeyCode.U then
		Config.AutoJump = not Config.AutoJump
		if Config.AutoJump then startAutoJump() else stopAutoJump() end
		Notify(Config.AutoJump and "AUTO JUMP ON" or "AUTO JUMP OFF")
	end
	
	if input.KeyCode == Enum.KeyCode.Y then
		Config.HighJump = not Config.HighJump
		if Config.HighJump then startHighJump() else stopHighJump() end
		Notify(Config.HighJump and "HIGH JUMP ON" or "HIGH JUMP OFF")
	end
	
	if input.KeyCode == Enum.KeyCode.R then
		Config.AutoRebirth = not Config.AutoRebirth
		if Config.AutoRebirth then startRebirth() else stopRebirth() end
		Notify(Config.AutoRebirth and "REBIRTH ON" or "REBIRTH OFF")
	end
	
	if input.KeyCode == Enum.KeyCode.RightControl then
		Config.AutoFarm = not Config.AutoFarm
		if Config.AutoFarm then startAutoFarm() else stopAutoFarm() end
		Notify(Config.AutoFarm and "FARM ON" or "FARM OFF")
	end
	
	if input.KeyCode == Enum.KeyCode.Z then
		Config.Freeze = not Config.Freeze
		if Config.Freeze then startFreeze() else stopFreeze() end
		Notify(Config.Freeze and "FREEZE ON" or "FREEZE OFF")
	end
	
	if input.KeyCode == Enum.KeyCode.N then
		Config.NoClip = not Config.NoClip
		if Config.NoClip then startNoClip() else stopNoClip() end
		Notify(Config.NoClip and "NO CLIP ON" or "NO CLIP OFF")
	end
	
	if input.KeyCode == Enum.KeyCode.X then
		Config.FastSpin = not Config.FastSpin
		if Config.FastSpin then startFastSpin() else stopFastSpin() end
		Notify(Config.FastSpin and "FAST SPIN ON" or "FAST SPIN OFF")
	end
	
	if input.KeyCode == Enum.KeyCode.I then
		Config.Invisible = not Config.Invisible
		if Config.Invisible then startInvisible() else stopInvisible() end
		Notify(Config.Invisible and "INVISIBLE ON" or "INVISIBLE OFF")
	end
	
	if input.KeyCode == Enum.KeyCode.K then
		Config.ESP = not Config.ESP
		if Config.ESP then startESP() else stopESP() end
	end
	
	if input.KeyCode == Enum.KeyCode.L then
		Config.AntiHit = not Config.AntiHit
		if Config.AntiHit then startAntiHit() else stopAntiHit() end
		Notify(Config.AntiHit and "ANTI HIT ON" or "ANTI HIT OFF")
	end
	
	if input.KeyCode == Enum.KeyCode.RightShift then
		scanRemotes(); scanStats()
		Notify("SCANNED!")
	end
	
	if input.KeyCode == Enum.KeyCode.H then
		Main.Visible = not Main.Visible
	end
end)

-- ======================== STARTUP ====================

Notify("POGO V1 LOADED!")
print("=================================")
print("POGO CLIMB V1")
print("[E] Fly | [J] Inf Jump | [U] Auto Jump | [Y] High Jump")
print("[Z] Freeze | [N] No Clip | [X] Fast Spin | [I] Invisible")
print("[R] Rebirth | [RightCtrl] Farm")
print("[K] ESP | [L] Anti Hit")
print("=================================")
๐ŸŽฎ Similar Scripts
๐Ÿ’ฌ Comments (0)
Login to post a comment
No comments yet. Be the first!
Script Info
Game +1 Jump Pogo Climb
TypeKeyless
Authoralexriderr
Views11
Likes0
PublishedJul 13, 2026
๐ŸŽฎ Play Game on Roblox
๐Ÿ• Recent Scripts
My Dino Park Auto Farm Script Keyless
My Dino Park Auto Farm Script Keyless
My Dino Park! โ€ข ๐Ÿ‘ 2
Keyless
Toast’s Keyboard Escape Hub Script Keyless
Toast’s Keyboard Escape Hub Script Keyless
+1 Speed Keyboard Escape | Candy & Chocolate โ€ข ๐Ÿ‘ 5
Keyless
Mega Ramp for Slime script keyless
Mega Ramp for Slime script keyless
MEGA RAMP FOR SLIME โ€ข ๐Ÿ‘ 7
Keyless
Beach Escape Speed Farm and Win Farm
Beach Escape Speed Farm and Win Farm
Beach Escape โ€ข ๐Ÿ‘ 8
Keyless
TSB M1 Reset & Emote dash
TSB M1 Reset & Emote dash
The Strongest Battlegrounds โ€ข ๐Ÿ‘ 11
Keyless