Description

Made by maxovik777, press [ to open the menu, theres fly ,infinite jump, invisibility, noclip and wallspeed,jump power and tp to other players

Sorry for the late update| Mobile is now fully? Working, Please tell me if i should add something| Added a fix to games that slow your movement speed,it will repeatedly set your speed to your number so you cna always run fast

Features

  • + Jump controller
  • + Flight and air controls
  • + Utilities
  • + Player teleport
  • + speed controller
  • + fly
  • + noclip
  • + invisibility

Supported Executors

Xeno Potassium Delta Solara

Script

Add Xeno Scripts as a preferred source
-- Script taken from https://xenoscripts.com website --

-- All-in-One Movement Controller with Keybind Manager, Minimize Button & Respawn Preservation
-- Default Menu Toggle Key: [

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
local TweenService = game:GetService("TweenService")

local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

-- Configuration Defaults
local DEFAULT_SPEED = 16
local DEFAULT_JUMP = 50
local DEFAULT_FLY_SPEED = 50

-- Feature Hotkeys (Customizable via GUI)
local Keybinds = {
	MenuToggle = Enum.KeyCode.LeftBracket,
	Fly = Enum.KeyCode.F,
	InfJump = Enum.KeyCode.J,
	Invisibility = Enum.KeyCode.V,
	Noclip = Enum.KeyCode.N,
	RandomTP = Enum.KeyCode.R
}

-- Persistent State Variables (Saved across deaths)
local currentWalkSpeed = DEFAULT_SPEED
local currentJumpPower = DEFAULT_JUMP
local flying = false
local isInvisible = false
local noclip = false
local infJump = false
local flySpeed = DEFAULT_FLY_SPEED
local selectedPlatform = nil -- Stores "Mobile" or "PC" once chosen
local currentScaleValue = 1.0 -- Current active scale multiplier

local bodyVelocity = nil
local bodyGyro = nil
local renderConnection = nil
local noclipConnection = nil
local bindingKeyFor = nil -- Tracks which feature is currently listening for a keypress

-- Core GUI Setup
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "MasterMovementMenuGui"
screenGui.ResetOnSpawn = false
screenGui.Parent = playerGui

--------------------------------------------------------------------------------
-- PERSISTENT WALKSPEED LOOP (REPEATS EVERY 0.01s)
--------------------------------------------------------------------------------
task.spawn(function()
	while true do
		task.wait(0.01)
		local char = player.Character
		if char then
			local humanoid = char:FindFirstChildOfClass("Humanoid")
			if humanoid then
				humanoid.WalkSpeed = currentWalkSpeed
			end
		end
	end
end)

--------------------------------------------------------------------------------
-- PLATFORM SELECTOR MENU (MOBILE / PC) - ONE-TIME PROMPT
--------------------------------------------------------------------------------
local platformFrame = Instance.new("Frame")
platformFrame.Name = "PlatformFrame"
platformFrame.Size = UDim2.new(0, 240, 0, 180)
platformFrame.Position = UDim2.new(0.5, -120, 0.5, -90)
platformFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 30)
platformFrame.BorderSizePixel = 0
platformFrame.Visible = false
platformFrame.Parent = screenGui

local pfCorner = Instance.new("UICorner")
pfCorner.CornerRadius = UDim.new(0, 10)
pfCorner.Parent = platformFrame

local pfStroke = Instance.new("UIStroke")
pfStroke.Color = Color3.fromRGB(80, 120, 220)
pfStroke.Thickness = 1.5
pfStroke.Parent = platformFrame

local pfTitle = Instance.new("TextLabel")
pfTitle.Size = UDim2.new(1, 0, 0, 40)
pfTitle.Position = UDim2.new(0, 0, 0, 10)
pfTitle.BackgroundTransparency = 1
pfTitle.Text = "Select Platform"
pfTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
pfTitle.TextSize = 16
pfTitle.Font = Enum.Font.GothamBold
pfTitle.Parent = platformFrame

--------------------------------------------------------------------------------
-- MAIN MENU SETUP (BOX SHAPE: 280x280 WITH ANIMATION & CORNER RESIZING)
--------------------------------------------------------------------------------
local BASE_SIZE = 280

local mainFrame = Instance.new("CanvasGroup")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, BASE_SIZE, 0, BASE_SIZE)
mainFrame.Position = UDim2.new(0.5, -140, 0.5, -140)
mainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 30)
mainFrame.BorderSizePixel = 0
mainFrame.Visible = false
mainFrame.GroupTransparency = 1
mainFrame.ClipsDescendants = false
mainFrame.Parent = screenGui

local uiScale = Instance.new("UIScale")
uiScale.Scale = 1.0
uiScale.Parent = mainFrame

local uiCorner = Instance.new("UICorner")
uiCorner.CornerRadius = UDim.new(0, 10)
uiCorner.Parent = mainFrame

local uiStroke = Instance.new("UIStroke")
uiStroke.Color = Color3.fromRGB(60, 60, 80)
uiStroke.Thickness = 1.5
uiStroke.Parent = mainFrame

-- Scrollable Container for Menu Content
local scrollFrame = Instance.new("ScrollingFrame")
scrollFrame.Name = "ContentScroll"
scrollFrame.Size = UDim2.new(1, 0, 1, -50)
scrollFrame.Position = UDim2.new(0, 0, 0, 50)
scrollFrame.BackgroundTransparency = 1
scrollFrame.BorderSizePixel = 0
scrollFrame.CanvasSize = UDim2.new(0, 0, 0, 660)
scrollFrame.ScrollBarThickness = 4
scrollFrame.ScrollBarImageColor3 = Color3.fromRGB(80, 120, 220)
scrollFrame.Parent = mainFrame

--------------------------------------------------------------------------------
-- CORNER RESIZE HANDLES (LIKE PAINT IMAGE RESIZING)
--------------------------------------------------------------------------------
local function createCornerHandle(name, posScaleX, posScaleY, anchorX, anchorY)
	local handle = Instance.new("Frame")
	handle.Name = name
	handle.Size = UDim2.new(0, 12, 0, 12)
	handle.Position = UDim2.new(posScaleX, posScaleY == 0 and -6 or 6, posScaleY, posScaleY == 0 and -6 or -6)
	handle.AnchorPoint = Vector2.new(anchorX, anchorY)
	handle.BackgroundColor3 = Color3.fromRGB(80, 120, 220)
	handle.BorderSizePixel = 0
	handle.Parent = mainFrame

	local corner = Instance.new("UICorner")
	corner.CornerRadius = UDim.new(0, 3)
	corner.Parent = handle

	local stroke = Instance.new("UIStroke")
	stroke.Color = Color3.fromRGB(255, 255, 255)
	stroke.Thickness = 1
	stroke.Parent = handle

	return handle
end

local handles = {
	TopLeft = createCornerHandle("HandleTopLeft", 0, 0, 0.5, 0.5),
	TopRight = createCornerHandle("HandleTopRight", 1, 0, 0.5, 0.5),
	BottomLeft = createCornerHandle("HandleBottomLeft", 0, 1, 0.5, 0.5),
	BottomRight = createCornerHandle("HandleBottomRight", 1, 1, 0.5, 0.5),
}

-- Interactive Corner Drag Logic
for _, handle in pairs(handles) do
	local resizing = false
	local startInputPos = Vector2.zero
	local startScale = 1.0

	handle.InputBegan:Connect(function(input)
		if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
			resizing = true
			startInputPos = Vector2.new(input.Position.X, input.Position.Y)
			startScale = currentScaleValue

			input.Changed:Connect(function()
				if input.UserInputState == Enum.UserInputState.End then
					resizing = false
				end
			end)
		end
	end)

	UserInputService.InputChanged:Connect(function(input)
		if resizing and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
			local currentPos = Vector2.new(input.Position.X, input.Position.Y)
			local delta = currentPos - startInputPos

			local deltaMagnitude = (delta.X + delta.Y) / 2
			if handle.Name == "HandleTopLeft" or handle.Name == "HandleBottomLeft" then
				deltaMagnitude = (-delta.X + delta.Y) / 2
			end

			local newScale = math.clamp(startScale + (deltaMagnitude / 200), 0.5, 2.2)
			currentScaleValue = newScale
			uiScale.Scale = newScale
		end
	end)
end

--------------------------------------------------------------------------------
-- MENU ANIMATION CONTROLLERS
--------------------------------------------------------------------------------
local isAnimating = false

local function openMainMenu()
	if isAnimating or mainFrame.Visible then return end
	isAnimating = true
	mainFrame.Visible = true
	mainFrame.GroupTransparency = 1
	uiScale.Scale = currentScaleValue * 0.85

	local tweenInfo = TweenInfo.new(0.35, Enum.EasingStyle.Back, Enum.EasingDirection.Out)
	local fadeInfo = TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)

	local scaleTween = TweenService:Create(uiScale, tweenInfo, { Scale = currentScaleValue })
	local fadeTween = TweenService:Create(mainFrame, fadeInfo, { GroupTransparency = 0 })

	scaleTween:Play()
	fadeTween:Play()

	fadeTween.Completed:Connect(function()
		isAnimating = false
	end)
end

local function closeMainMenu()
	if isAnimating or not mainFrame.Visible then return end
	isAnimating = true

	local tweenInfo = TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.In)

	local scaleTween = TweenService:Create(uiScale, tweenInfo, { Scale = currentScaleValue * 0.85 })
	local fadeTween = TweenService:Create(mainFrame, tweenInfo, { GroupTransparency = 1 })

	scaleTween:Play()
	fadeTween:Play()

	fadeTween.Completed:Connect(function()
		mainFrame.Visible = false
		isAnimating = false
	end)
end

-- Smart Menu Toggle Handler
local function toggleMenu()
	if not selectedPlatform then
		platformFrame.Visible = not platformFrame.Visible
	else
		if mainFrame.Visible then
			closeMainMenu()
		else
			openMainMenu()
		end
	end
end

local function selectPlatform(platform)
	selectedPlatform = platform
	platformFrame.Visible = false
	openMainMenu()
end

local function createPlatformButton(text, posY)
	local btn = Instance.new("TextButton")
	btn.Size = UDim2.new(0.8, 0, 0, 38)
	btn.Position = UDim2.new(0.1, 0, 0, posY)
	btn.BackgroundColor3 = Color3.fromRGB(45, 45, 60)
	btn.Text = text
	btn.TextColor3 = Color3.fromRGB(255, 255, 255)
	btn.TextSize = 13
	btn.Font = Enum.Font.GothamBold
	btn.BorderSizePixel = 0
	btn.Parent = platformFrame

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

	btn.MouseButton1Click:Connect(function()
		selectPlatform(text)
	end)
	return btn
end

createPlatformButton("Mobile", 60)
createPlatformButton("PC", 115)

--------------------------------------------------------------------------------
-- STARTUP NOTIFICATION LOGIC (CLICKABLE)
--------------------------------------------------------------------------------
local function showStartupNotification()
	local notifFrame = Instance.new("TextButton")
	notifFrame.Name = "StartupNotif"
	notifFrame.Size = UDim2.new(0, 240, 0, 60)
	notifFrame.Position = UDim2.new(1, 20, 1, -80)
	notifFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 30)
	notifFrame.BorderSizePixel = 0
	notifFrame.Text = ""
	notifFrame.AutoButtonColor = false
	notifFrame.Parent = screenGui

	local notifCorner = Instance.new("UICorner")
	notifCorner.CornerRadius = UDim.new(0, 8)
	notifCorner.Parent = notifFrame

	local notifStroke = Instance.new("UIStroke")
	notifStroke.Color = Color3.fromRGB(80, 120, 220)
	notifStroke.Thickness = 1.5
	notifStroke.Parent = notifFrame

	local notifTitle = Instance.new("TextLabel")
	notifTitle.Size = UDim2.new(1, -20, 0, 22)
	notifTitle.Position = UDim2.new(0, 10, 0, 8)
	notifTitle.BackgroundTransparency = 1
	notifTitle.Text = "Movement Master Loaded"
	notifTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
	notifTitle.TextSize = 13
	notifTitle.Font = Enum.Font.GothamBold
	notifTitle.TextXAlignment = Enum.TextXAlignment.Left
	notifTitle.Parent = notifFrame

	local notifText = Instance.new("TextLabel")
	notifText.Size = UDim2.new(1, -20, 0, 22)
	notifText.Position = UDim2.new(0, 10, 0, 28)
	notifText.BackgroundTransparency = 1
	notifText.Text = "Click here or press [ to open"
	notifText.TextColor3 = Color3.fromRGB(180, 180, 200)
	notifText.TextSize = 11
	notifText.Font = Enum.Font.Gotham
	notifText.TextXAlignment = Enum.TextXAlignment.Left
	notifText.Parent = notifFrame

	notifFrame.MouseButton1Click:Connect(function()
		toggleMenu()
	end)

	local slideIn = TweenService:Create(notifFrame, TweenInfo.new(0.4, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {
		Position = UDim2.new(1, -260, 1, -80)
	})
	slideIn:Play()

	task.delay(5, function()
		if notifFrame and notifFrame.Parent then
			local slideOut = TweenService:Create(notifFrame, TweenInfo.new(0.4, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {
				Position = UDim2.new(1, 20, 1, -80)
			})
			slideOut:Play()
			slideOut.Completed:Connect(function()
				notifFrame:Destroy()
			end)
		end
	end)
end

showStartupNotification()

--------------------------------------------------------------------------------
-- DRAGGABLE MENU LOGIC
--------------------------------------------------------------------------------
local dragging = false
local dragInput, dragStart, startPos

local function updateInput(input)
	local delta = input.Position - dragStart
	mainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end

mainFrame.InputBegan:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
		dragging = true
		dragStart = input.Position
		startPos = mainFrame.Position

		input.Changed:Connect(function()
			if input.UserInputState == Enum.UserInputState.End then
				dragging = false
			end
		end)
	end
end)

mainFrame.InputChanged:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
		dragInput = input
	end
end)

UserInputService.InputChanged:Connect(function(input)
	if input == dragInput and dragging then
		updateInput(input)
	end
end)

--------------------------------------------------------------------------------
-- TITLE HEADER & CREDITS & MINIMIZE BUTTON (-)
--------------------------------------------------------------------------------
local creditLabel = Instance.new("TextLabel")
creditLabel.Size = UDim2.new(1, -40, 0, 16)
creditLabel.Position = UDim2.new(0, 12, 0, 6)
creditLabel.BackgroundTransparency = 1
creditLabel.Text = "Made by: Maxovik777"
creditLabel.TextColor3 = Color3.fromRGB(120, 140, 180)
creditLabel.TextSize = 10
creditLabel.Font = Enum.Font.GothamMedium
creditLabel.TextXAlignment = Enum.TextXAlignment.Left
creditLabel.Parent = mainFrame

local titleLabel = Instance.new("TextLabel")
titleLabel.Size = UDim2.new(1, -40, 0, 26)
titleLabel.Position = UDim2.new(0, 12, 0, 18)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "Movement Master"
titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
titleLabel.TextSize = 15
titleLabel.Font = Enum.Font.GothamBold
titleLabel.TextXAlignment = Enum.TextXAlignment.Left
titleLabel.Parent = mainFrame

local minimizeBtn = Instance.new("TextButton")
minimizeBtn.Size = UDim2.new(0, 24, 0, 24)
minimizeBtn.Position = UDim2.new(1, -30, 0, 12)
minimizeBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 55)
minimizeBtn.Text = "-"
minimizeBtn.TextColor3 = Color3.fromRGB(220, 220, 240)
minimizeBtn.TextSize = 18
minimizeBtn.Font = Enum.Font.GothamBold
minimizeBtn.BorderSizePixel = 0
minimizeBtn.Parent = mainFrame

local minimizeCorner = Instance.new("UICorner")
minimizeCorner.CornerRadius = UDim.new(0, 6)
minimizeCorner.Parent = minimizeBtn

minimizeBtn.MouseButton1Click:Connect(function()
	closeMainMenu()
end)

--------------------------------------------------------------------------------
-- KEYBIND BINDING SYSTEM
--------------------------------------------------------------------------------
local keybindButtons = {}

local function getKeyName(keyCode)
	if not keyCode or keyCode == Enum.KeyCode.Unknown then
		return "None"
	end
	return keyCode.Name
end

local function createKeybindButton(parentFrame, featureName, posX, posY, sizeX, sizeY)
	local btn = Instance.new("TextButton")
	btn.Size = UDim2.new(0, sizeX, 0, sizeY)
	btn.Position = UDim2.new(posX, 0, 0, posY)
	btn.BackgroundColor3 = Color3.fromRGB(45, 45, 60)
	btn.Text = "[" .. getKeyName(Keybinds[featureName]) .. "]"
	btn.TextColor3 = Color3.fromRGB(180, 200, 255)
	btn.TextSize = 10
	btn.Font = Enum.Font.GothamBold
	btn.BorderSizePixel = 0
	btn.Parent = parentFrame

	local btnCorner = Instance.new("UICorner")
	btnCorner.CornerRadius = UDim.new(0, 5)
	btnCorner.Parent = btn

	keybindButtons[featureName] = btn

	btn.MouseButton1Click:Connect(function()
		if bindingKeyFor == featureName then
			bindingKeyFor = nil
			btn.Text = "[" .. getKeyName(Keybinds[featureName]) .. "]"
			btn.BackgroundColor3 = Color3.fromRGB(45, 45, 60)
		else
			bindingKeyFor = featureName
			btn.Text = "[...]"
			btn.BackgroundColor3 = Color3.fromRGB(100, 100, 160)
		end
	end)

	return btn
end

--------------------------------------------------------------------------------
-- SECTION 1: WALKSPEED
--------------------------------------------------------------------------------
local speedHeader = Instance.new("TextLabel")
speedHeader.Size = UDim2.new(0.85, 0, 0, 20)
speedHeader.Position = UDim2.new(0.075, 0, 0, 5)
speedHeader.BackgroundTransparency = 1
speedHeader.Text = "WALKSPEED"
speedHeader.TextColor3 = Color3.fromRGB(150, 150, 170)
speedHeader.TextSize = 11
speedHeader.Font = Enum.Font.GothamBold
speedHeader.TextXAlignment = Enum.TextXAlignment.Left
speedHeader.Parent = scrollFrame

local function setSpeed(newSpeed)
	currentWalkSpeed = math.clamp(newSpeed, 0, 500)
end

local function createSpeedButton(text, speedValue, posX, posY, sizeX)
	local btn = Instance.new("TextButton")
	btn.Size = UDim2.new(0, sizeX, 0, 28)
	btn.Position = UDim2.new(0.075 + posX, 0, 0, posY)
	btn.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
	btn.Text = text
	btn.TextColor3 = Color3.fromRGB(220, 220, 240)
	btn.TextSize = 11
	btn.Font = Enum.Font.GothamMedium
	btn.BorderSizePixel = 0
	btn.Parent = scrollFrame

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

	btn.MouseButton1Click:Connect(function()
		setSpeed(speedValue)
	end)
end

createSpeedButton("16 (Norm)", 16, 0, 28, 70)
createSpeedButton("50 (Fast)", 50, 75, 28, 70)
createSpeedButton("100 (Super)", 100, 150, 28, 70)

local speedInput = Instance.new("TextBox")
speedInput.Size = UDim2.new(0.85, 0, 0, 30)
speedInput.Position = UDim2.new(0.075, 0, 0, 63)
speedInput.BackgroundColor3 = Color3.fromRGB(35, 35, 45)
speedInput.Text = ""
speedInput.PlaceholderText = "Set custom speed..."
speedInput.PlaceholderColor3 = Color3.fromRGB(120, 120, 140)
speedInput.TextColor3 = Color3.fromRGB(255, 255, 255)
speedInput.TextSize = 12
speedInput.Font = Enum.Font.Gotham
speedInput.BorderSizePixel = 0
speedInput.Parent = scrollFrame

local speedInputCorner = Instance.new("UICorner")
speedInputCorner.CornerRadius = UDim.new(0, 6)
speedInputCorner.Parent = speedInput

speedInput.FocusLost:Connect(function(enterPressed)
	if enterPressed then
		local num = tonumber(speedInput.Text)
		if num then setSpeed(num) end
		speedInput.Text = ""
	end
end)

--------------------------------------------------------------------------------
-- SECTION 2: JUMP POWER
--------------------------------------------------------------------------------
local jumpHeader = Instance.new("TextLabel")
jumpHeader.Size = UDim2.new(0.85, 0, 0, 20)
jumpHeader.Position = UDim2.new(0.075, 0, 0, 105)
jumpHeader.BackgroundTransparency = 1
jumpHeader.Text = "JUMP POWER"
jumpHeader.TextColor3 = Color3.fromRGB(150, 150, 170)
jumpHeader.TextSize = 11
jumpHeader.Font = Enum.Font.GothamBold
jumpHeader.TextXAlignment = Enum.TextXAlignment.Left
jumpHeader.Parent = scrollFrame

local function setJumpPower(value)
	local numValue = tonumber(value)
	if not numValue then return end
	currentJumpPower = math.clamp(numValue, 0, 1000)

	local char = player.Character
	if char then
		local humanoid = char:FindFirstChildOfClass("Humanoid")
		if humanoid then
			humanoid.UseJumpPower = true
			humanoid.JumpPower = currentJumpPower
		end
	end
end

local function createJumpButton(text, jumpValue, posX, posY, sizeX)
	local btn = Instance.new("TextButton")
	btn.Size = UDim2.new(0, sizeX, 0, 28)
	btn.Position = UDim2.new(0.075 + posX, 0, 0, posY)
	btn.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
	btn.Text = text
	btn.TextColor3 = Color3.fromRGB(220, 220, 240)
	btn.TextSize = 11
	btn.Font = Enum.Font.GothamMedium
	btn.BorderSizePixel = 0
	btn.Parent = scrollFrame

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

	btn.MouseButton1Click:Connect(function()
		setJumpPower(jumpValue)
	end)
end

createJumpButton("50 (Norm)", 50, 0, 128, 70)
createJumpButton("100 (High)", 100, 75, 128, 70)
createJumpButton("200 (Super)", 200, 150, 128, 70)

local jumpInput = Instance.new("TextBox")
jumpInput.Size = UDim2.new(0.85, 0, 0, 30)
jumpInput.Position = UDim2.new(0.075, 0, 0, 163)
jumpInput.BackgroundColor3 = Color3.fromRGB(35, 35, 45)
jumpInput.Text = ""
jumpInput.PlaceholderText = "Set custom jump power..."
jumpInput.PlaceholderColor3 = Color3.fromRGB(120, 120, 140)
jumpInput.TextColor3 = Color3.fromRGB(255, 255, 255)
jumpInput.TextSize = 12
jumpInput.Font = Enum.Font.Gotham
jumpInput.BorderSizePixel = 0
jumpInput.Parent = scrollFrame

local jumpInputCorner = Instance.new("UICorner")
jumpInputCorner.CornerRadius = UDim.new(0, 6)
jumpInputCorner.Parent = jumpInput

jumpInput.FocusLost:Connect(function(enterPressed)
	if enterPressed then
		setJumpPower(jumpInput.Text)
		jumpInput.Text = ""
	end
end)

--------------------------------------------------------------------------------
-- SECTION 3: FLIGHT & AIR CONTROLS
--------------------------------------------------------------------------------
local flyHeader = Instance.new("TextLabel")
flyHeader.Size = UDim2.new(0.85, 0, 0, 20)
flyHeader.Position = UDim2.new(0.075, 0, 0, 205)
flyHeader.BackgroundTransparency = 1
flyHeader.Text = "FLIGHT & AIR CONTROLS"
flyHeader.TextColor3 = Color3.fromRGB(150, 150, 170)
flyHeader.TextSize = 11
flyHeader.Font = Enum.Font.GothamBold
flyHeader.TextXAlignment = Enum.TextXAlignment.Left
flyHeader.Parent = scrollFrame

-- Fly Button + Keybind
local flyToggleBtn = Instance.new("TextButton")
flyToggleBtn.Size = UDim2.new(0.63, 0, 0, 32)
flyToggleBtn.Position = UDim2.new(0.075, 0, 0, 228)
flyToggleBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 50)
flyToggleBtn.Text = "Fly Mode: OFF"
flyToggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
flyToggleBtn.TextSize = 12
flyToggleBtn.Font = Enum.Font.GothamBold
flyToggleBtn.BorderSizePixel = 0
flyToggleBtn.Parent = scrollFrame

local flyCorner = Instance.new("UICorner")
flyCorner.CornerRadius = UDim.new(0, 6)
flyCorner.Parent = flyToggleBtn

createKeybindButton(scrollFrame, "Fly", 0.72, 228, 48, 32)

local flySpeedInput = Instance.new("TextBox")
flySpeedInput.Size = UDim2.new(0.85, 0, 0, 30)
flySpeedInput.Position = UDim2.new(0.075, 0, 0, 267)
flySpeedInput.BackgroundColor3 = Color3.fromRGB(35, 35, 45)
flySpeedInput.Text = tostring(DEFAULT_FLY_SPEED)
flySpeedInput.PlaceholderText = "Set fly speed..."
flySpeedInput.PlaceholderColor3 = Color3.fromRGB(120, 120, 140)
flySpeedInput.TextColor3 = Color3.fromRGB(255, 255, 255)
flySpeedInput.TextSize = 12
flySpeedInput.Font = Enum.Font.Gotham
flySpeedInput.BorderSizePixel = 0
flySpeedInput.Parent = scrollFrame

local flySpeedCorner = Instance.new("UICorner")
flySpeedCorner.CornerRadius = UDim.new(0, 6)
flySpeedCorner.Parent = flySpeedInput

-- Infinite Jump Button + Keybind
local infJumpToggleBtn = Instance.new("TextButton")
infJumpToggleBtn.Size = UDim2.new(0.63, 0, 0, 32)
infJumpToggleBtn.Position = UDim2.new(0.075, 0, 0, 304)
infJumpToggleBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 50)
infJumpToggleBtn.Text = "Infinite Jump: OFF"
infJumpToggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
infJumpToggleBtn.TextSize = 12
infJumpToggleBtn.Font = Enum.Font.GothamBold
infJumpToggleBtn.BorderSizePixel = 0
infJumpToggleBtn.Parent = scrollFrame

local infJumpCorner = Instance.new("UICorner")
infJumpCorner.CornerRadius = UDim.new(0, 6)
infJumpCorner.Parent = infJumpToggleBtn

createKeybindButton(scrollFrame, "InfJump", 0.72, 304, 48, 32)

--------------------------------------------------------------------------------
-- SECTION 4: UTILITIES
--------------------------------------------------------------------------------
local miscHeader = Instance.new("TextLabel")
miscHeader.Size = UDim2.new(0.85, 0, 0, 20)
miscHeader.Position = UDim2.new(0.075, 0, 0, 351)
miscHeader.BackgroundTransparency = 1
miscHeader.Text = "UTILITIES"
miscHeader.TextColor3 = Color3.fromRGB(150, 150, 170)
miscHeader.TextSize = 11
miscHeader.Font = Enum.Font.GothamBold
miscHeader.TextXAlignment = Enum.TextXAlignment.Left
miscHeader.Parent = scrollFrame

-- Invisibility Button + Keybind
local invToggleBtn = Instance.new("TextButton")
invToggleBtn.Size = UDim2.new(0.63, 0, 0, 32)
invToggleBtn.Position = UDim2.new(0.075, 0, 0, 374)
invToggleBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 50)
invToggleBtn.Text = "Invisibility: OFF"
invToggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
invToggleBtn.TextSize = 12
invToggleBtn.Font = Enum.Font.GothamBold
invToggleBtn.BorderSizePixel = 0
invToggleBtn.Parent = scrollFrame

local invCorner = Instance.new("UICorner")
invCorner.CornerRadius = UDim.new(0, 6)
invCorner.Parent = invToggleBtn

createKeybindButton(scrollFrame, "Invisibility", 0.72, 374, 48, 32)

-- Noclip Button + Keybind
local noclipToggleBtn = Instance.new("TextButton")
noclipToggleBtn.Size = UDim2.new(0.63, 0, 0, 32)
noclipToggleBtn.Position = UDim2.new(0.075, 0, 0, 414)
noclipToggleBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 50)
noclipToggleBtn.Text = "Noclip: OFF"
noclipToggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
noclipToggleBtn.TextSize = 12
noclipToggleBtn.Font = Enum.Font.GothamBold
noclipToggleBtn.BorderSizePixel = 0
noclipToggleBtn.Parent = scrollFrame

local noclipCorner = Instance.new("UICorner")
noclipCorner.CornerRadius = UDim.new(0, 6)
noclipCorner.Parent = noclipToggleBtn

createKeybindButton(scrollFrame, "Noclip", 0.72, 414, 48, 32)

--------------------------------------------------------------------------------
-- SECTION 5: TELEPORTATION
--------------------------------------------------------------------------------
local tpHeader = Instance.new("TextLabel")
tpHeader.Size = UDim2.new(0.85, 0, 0, 20)
tpHeader.Position = UDim2.new(0.075, 0, 0, 461)
tpHeader.BackgroundTransparency = 1
tpHeader.Text = "PLAYER TELEPORT"
tpHeader.TextColor3 = Color3.fromRGB(150, 150, 170)
tpHeader.TextSize = 11
tpHeader.Font = Enum.Font.GothamBold
tpHeader.TextXAlignment = Enum.TextXAlignment.Left
tpHeader.Parent = scrollFrame

local tpInput = Instance.new("TextBox")
tpInput.Size = UDim2.new(0.85, 0, 0, 28)
tpInput.Position = UDim2.new(0.075, 0, 0, 483)
tpInput.BackgroundColor3 = Color3.fromRGB(35, 35, 45)
tpInput.Text = ""
tpInput.PlaceholderText = "Username or 'random'..."
tpInput.PlaceholderColor3 = Color3.fromRGB(120, 120, 140)
tpInput.TextColor3 = Color3.fromRGB(255, 255, 255)
tpInput.TextSize = 11
tpInput.Font = Enum.Font.Gotham
tpInput.BorderSizePixel = 0
tpInput.Parent = scrollFrame

local tpInputCorner = Instance.new("UICorner")
tpInputCorner.CornerRadius = UDim.new(0, 6)
tpInputCorner.Parent = tpInput

local tpBtn = Instance.new("TextButton")
tpBtn.Size = UDim2.new(0.85, 0, 0, 26)
tpBtn.Position = UDim2.new(0.075, 0, 0, 515)
tpBtn.BackgroundColor3 = Color3.fromRGB(60, 120, 210)
tpBtn.Text = "Teleport to Player"
tpBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
tpBtn.TextSize = 11
tpBtn.Font = Enum.Font.GothamBold
tpBtn.BorderSizePixel = 0
tpBtn.Parent = scrollFrame

local tpBtnCorner = Instance.new("UICorner")
tpBtnCorner.CornerRadius = UDim.new(0, 6)
tpBtnCorner.Parent = tpBtn

--------------------------------------------------------------------------------
-- SECTION 6: HOTKEY SETTINGS
--------------------------------------------------------------------------------
local hotkeyHeader = Instance.new("TextLabel")
hotkeyHeader.Size = UDim2.new(0.85, 0, 0, 20)
hotkeyHeader.Position = UDim2.new(0.075, 0, 0, 555)
hotkeyHeader.BackgroundTransparency = 1
hotkeyHeader.Text = "MENU HOTKEY"
hotkeyHeader.TextColor3 = Color3.fromRGB(150, 150, 170)
hotkeyHeader.TextSize = 11
hotkeyHeader.Font = Enum.Font.GothamBold
hotkeyHeader.TextXAlignment = Enum.TextXAlignment.Left
hotkeyHeader.Parent = scrollFrame

local menuKeyLabel = Instance.new("TextLabel")
menuKeyLabel.Size = UDim2.new(0.63, 0, 0, 28)
menuKeyLabel.Position = UDim2.new(0.075, 0, 0, 578)
menuKeyLabel.BackgroundColor3 = Color3.fromRGB(35, 35, 45)
menuKeyLabel.Text = "Toggle Menu Key"
menuKeyLabel.TextColor3 = Color3.fromRGB(220, 220, 240)
menuKeyLabel.TextSize = 11
menuKeyLabel.Font = Enum.Font.GothamMedium
menuKeyLabel.Parent = scrollFrame

local menuKeyCorner = Instance.new("UICorner")
menuKeyCorner.CornerRadius = UDim.new(0, 6)
menuKeyCorner.Parent = menuKeyLabel

createKeybindButton(scrollFrame, "MenuToggle", 0.72, 578, 48, 28)

--------------------------------------------------------------------------------
-- TELEPORT MECHANICS
--------------------------------------------------------------------------------
local function teleportToPlayer(targetName)
	if not targetName or targetName == "" then return end

	local myChar = player.Character
	if not myChar then return end

	local myRoot = myChar:FindFirstChild("HumanoidRootPart")
	if not myRoot then return end

	local targetPlayer = nil
	local searchTerm = string.lower(targetName)

	if searchTerm == "random" then
		local otherPlayers = {}
		for _, p in ipairs(Players:GetPlayers()) do
			if p ~= player and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
				table.insert(otherPlayers, p)
			end
		end

		if #otherPlayers > 0 then
			targetPlayer = otherPlayers[math.random(1, #otherPlayers)]
		end
	else
		for _, p in ipairs(Players:GetPlayers()) do
			if p ~= player then
				if string.find(string.lower(p.Name), searchTerm) or string.find(string.lower(p.DisplayName), searchTerm) then
					targetPlayer = p
					break
				end
			end
		end
	end

	if targetPlayer and targetPlayer.Character then
		local targetRoot = targetPlayer.Character:FindFirstChild("HumanoidRootPart")
		if targetRoot then
			myRoot.CFrame = targetRoot.CFrame * CFrame.new(0, 0, -3)
		end
	end
end

tpBtn.MouseButton1Click:Connect(function()
	teleportToPlayer(tpInput.Text)
end)

tpInput.FocusLost:Connect(function(enterPressed)
	if enterPressed then
		teleportToPlayer(tpInput.Text)
	end
end)

--------------------------------------------------------------------------------
-- FEATURE CONTROLLERS
--------------------------------------------------------------------------------
local function updateInfiniteJumpUI()
	if infJump then
		infJumpToggleBtn.Text = "Infinite Jump: ON"
		infJumpToggleBtn.BackgroundColor3 = Color3.fromRGB(50, 180, 80)
	else
		infJumpToggleBtn.Text = "Infinite Jump: OFF"
		infJumpToggleBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 50)
	end
end

local function toggleInfiniteJump()
	infJump = not infJump
	updateInfiniteJumpUI()
end

UserInputService.JumpRequest:Connect(function()
	if infJump then
		local char = player.Character
		if char then
			local humanoid = char:FindFirstChildOfClass("Humanoid")
			if humanoid then
				humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
			end
		end
	end
end)

local function updateNoclipUI()
	if noclip then
		noclipToggleBtn.Text = "Noclip: ON"
		noclipToggleBtn.BackgroundColor3 = Color3.fromRGB(50, 180, 80)
	else
		noclipToggleBtn.Text = "Noclip: OFF"
		noclipToggleBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 50)
	end
end

local function startNoclipLoop()
	if noclipConnection then noclipConnection:Disconnect() end
	noclipConnection = RunService.Stepped:Connect(function()
		if not noclip then
			if noclipConnection then
				noclipConnection:Disconnect()
				noclipConnection = nil
			end
			return
		end

		local char = player.Character
		if char then
			for _, part in ipairs(char:GetDescendants()) do
				if part:IsA("BasePart") and part.CanCollide then
					part.CanCollide = false
				end
			end
		end
	end)
end

local function toggleNoclip()
	noclip = not noclip
	updateNoclipUI()
	if noclip then
		startNoclipLoop()
	end
end

local function setCharacterVisibility(visible)
	local char = player.Character
	if not char then return end

	for _, descendant in ipairs(char:GetDescendants()) do
		if descendant:IsA("BasePart") then
			if descendant.Name ~= "HumanoidRootPart" then
				descendant.Transparency = visible and 0 or 1
			end
		elseif descendant:IsA("Decal") or descendant:IsA("Texture") then
			descendant.Transparency = visible and 0 or 1
		end
	end
end

local function updateInvisibilityUI()
	if isInvisible then
		invToggleBtn.Text = "Invisibility: ON"
		invToggleBtn.BackgroundColor3 = Color3.fromRGB(50, 180, 80)
	else
		invToggleBtn.Text = "Invisibility: OFF"
		invToggleBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 50)
	end
end

local function toggleInvisibility()
	isInvisible = not isInvisible
	updateInvisibilityUI()
	setCharacterVisibility(not isInvisible)
end

local function stopFlyingInternal()
	if renderConnection then
		renderConnection:Disconnect()
		renderConnection = nil
	end

	if bodyVelocity then bodyVelocity:Destroy() bodyVelocity = nil end
	if bodyGyro then bodyGyro:Destroy() bodyGyro = nil end

	local char = player.Character
	if char then
		local humanoid = char:FindFirstChildOfClass("Humanoid")
		if humanoid then
			humanoid.PlatformStand = false
		end
	end
end

local function updateFlyUI()
	if flying then
		flyToggleBtn.Text = "Fly Mode: ON"
		flyToggleBtn.BackgroundColor3 = Color3.fromRGB(50, 180, 80)
	else
		flyToggleBtn.Text = "Fly Mode: OFF"
		flyToggleBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 50)
	end
end

local function startFlying()
	local char = player.Character
	if not char then return end

	local root = char:WaitForChild("HumanoidRootPart", 5)
	local humanoid = char:WaitForChild("Humanoid", 5)
	if not root or not humanoid then return end

	humanoid.PlatformStand = true

	if bodyVelocity then bodyVelocity:Destroy() end
	if bodyGyro then bodyGyro:Destroy() end

	bodyVelocity = Instance.new("BodyVelocity")
	bodyVelocity.MaxForce = Vector3.new(1e6, 1e6, 1e6)
	bodyVelocity.Velocity = Vector3.zero
	bodyVelocity.Parent = root

	bodyGyro = Instance.new("BodyGyro")
	bodyGyro.MaxTorque = Vector3.new(1e6, 1e6, 1e6)
	bodyGyro.P = 10000
	bodyGyro.CFrame = root.CFrame
	bodyGyro.Parent = root

	if renderConnection then renderConnection:Disconnect() end
	renderConnection = RunService.RenderStepped:Connect(function()
		if not flying or not root or not humanoid then
			stopFlyingInternal()
			return
		end

		local camera = Workspace.CurrentCamera
		local moveVector = Vector3.zero

		if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveVector = moveVector + camera.CFrame.LookVector end
		if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveVector = moveVector - camera.CFrame.LookVector end
		if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveVector = moveVector - camera.CFrame.RightVector end
		if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveVector = moveVector + camera.CFrame.RightVector end
		if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveVector = moveVector + Vector3.new(0, 1, 0) end
		if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then moveVector = moveVector - Vector3.new(0, 1, 0) end

		if moveVector.Magnitude > 0 then
			bodyVelocity.Velocity = moveVector.Unit * flySpeed
		else
			bodyVelocity.Velocity = Vector3.zero
		end

		bodyGyro.CFrame = camera.CFrame
	end)
end

local function toggleFly()
	flying = not flying
	updateFlyUI()
	if flying then
		startFlying()
	else
		stopFlyingInternal()
	end
end

--------------------------------------------------------------------------------
-- EVENT LISTENERS & KEYBIND INPUT LOGIC
--------------------------------------------------------------------------------
flyToggleBtn.MouseButton1Click:Connect(toggleFly)
infJumpToggleBtn.MouseButton1Click:Connect(toggleInfiniteJump)
invToggleBtn.MouseButton1Click:Connect(toggleInvisibility)
noclipToggleBtn.MouseButton1Click:Connect(toggleNoclip)

flySpeedInput.FocusLost:Connect(function()
	local val = tonumber(flySpeedInput.Text)
	if val then
		flySpeed = math.clamp(val, 1, 1000)
		flySpeedInput.Text = tostring(flySpeed)
	else
		flySpeedInput.Text = tostring(flySpeed)
	end
end)

UserInputService.InputBegan:Connect(function(input, processed)
	-- Key binding listening state
	if bindingKeyFor then
		if input.UserInputType == Enum.UserInputType.Keyboard then
			local key = input.KeyCode
			if key == Enum.KeyCode.Backspace or key == Enum.KeyCode.Escape then
				Keybinds[bindingKeyFor] = Enum.KeyCode.Unknown
			else
				Keybinds[bindingKeyFor] = key
			end

			local targetFeature = bindingKeyFor
			bindingKeyFor = nil

			if keybindButtons[targetFeature] then
				keybindButtons[targetFeature].Text = "[" .. getKeyName(Keybinds[targetFeature]) .. "]"
				keybindButtons[targetFeature].BackgroundColor3 = Color3.fromRGB(45, 45, 60)
			end
		end
		return
	end

	if processed then return end

	-- Hotkey Triggers
	if input.KeyCode == Keybinds.MenuToggle and Keybinds.MenuToggle ~= Enum.KeyCode.Unknown then
		toggleMenu()
	elseif input.KeyCode == Keybinds.Fly and Keybinds.Fly ~= Enum.KeyCode.Unknown then
		toggleFly()
	elseif input.KeyCode == Keybinds.InfJump and Keybinds.InfJump ~= Enum.KeyCode.Unknown then
		toggleInfiniteJump()
	elseif input.KeyCode == Keybinds.Invisibility and Keybinds.Invisibility ~= Enum.KeyCode.Unknown then
		toggleInvisibility()
	elseif input.KeyCode == Keybinds.Noclip and Keybinds.Noclip ~= Enum.KeyCode.Unknown then
		toggleNoclip()
	elseif input.KeyCode == Keybinds.RandomTP and Keybinds.RandomTP ~= Enum.KeyCode.Unknown then
		teleportToPlayer("random")
	end
end)

--------------------------------------------------------------------------------
-- RESPAWN STATE RESTORATION
--------------------------------------------------------------------------------
local function onCharacterAdded(char)
	stopFlyingInternal()
	if noclipConnection then
		noclipConnection:Disconnect()
		noclipConnection = nil
	end

	local humanoid = char:WaitForChild("Humanoid", 10)
	if not humanoid then return end

	humanoid.WalkSpeed = currentWalkSpeed
	humanoid.UseJumpPower = true
	humanoid.JumpPower = currentJumpPower

	if noclip then
		startNoclipLoop()
	end

	if isInvisible then
		task.defer(function()
			setCharacterVisibility(false)
		end)
	end

	if flying then
		task.defer(function()
			startFlying()
		end)
	end
end

player.CharacterAdded:Connect(onCharacterAdded)

if player.Character then
	onCharacterAdded(player.Character)
end
Script worked? 🚀 Boost it to #1 so others find it too.

Changelog

  • + Fully added a fix to please all the mobile users; Fixed walkspeed not working/a game slowing you(anti-hack)
  • + Polished most of the menus.
  • + Added a fix for the mobile players!You can now trigger the menu by pressing the notification.

Comments (5)

Log in to add a comment.

Catmax
Pinned by Author

CatmaxAuthor

13 days ago

Some games set your speed and make it unchangeable ill still try to fix it tho Thanks

Catmax

CatmaxAuthor

5 days ago

Hello,just wanted to say that this script has many copies on different sites.I am the official creator of this script and soon will be posting on my account

37amrfor36amr394

37amrfor36amr394

13 days ago

veru nice but speed and jamp no work (in xeno)

CheekyBoy

CheekyBoy

15 days ago

ty for adding mobile support

werrak53821

werrak53821

17 days ago

Yo catmax its me beka idk why i named my google acc werrak its not my real name