3,241 views
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 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.
Similar Scripts
654
2 days ago
Free
Universal
Script Glebasa V2
2,888
13 days ago
Free
Universal
Samui Aimlock and FPS boost script keyless
3,050
13 days ago
Free
Universal
Universal Silent Aim - Zytra Hub
2,654
14 days ago
Free
Universal
Universal | ESP, Name Tags, Tracer and MORE!
3,060
17 days ago
Free
Universal
EZ hub ( script izheven ) Advanced script hub
1,356
18 days ago
Free
Hard Road
Universal Unhamful Menu
🚀
Log in to boost
Boosting rockets this script to #1 on the homepage. A free account takes 30 seconds.
Log in
🚀
Out of boosts!
Grab boosts and rocket your favorite scripts to the top — plus join the booster wall with the RGB ring.
⚡ Go Pro — 10 boosts/month + zero ads
🚀
Boost this script?
It jumps to #1 in Recent Scripts and your avatar joins the booster wall.
🚀
Boosted! You're awesome 💜
Comments (5)
Log in to add a comment.
CatmaxAuthor
13 days ago
Some games set your speed and make it unchangeable ill still try to fix it tho Thanks
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
13 days ago
veru nice but speed and jamp no work (in xeno)
CheekyBoy
15 days ago
ty for adding mobile support
werrak53821
17 days ago
Yo catmax its me beka idk why i named my google acc werrak its not my real name