Movement Master Script Keyless Fly, Jump, Teleport, Noclip 8 No Key

Movement Master Script Keyless Fly, Jump, Teleport, Noclip

Universal • 2 weeks ago • 8 views
Play Game

Description

Movement Master is a keyless universal Roblox script focused on movement and utility features. It includes flight, infinite jump, invisibility, noclip, speed controls, jump controls, and player teleportation in one menu.

The menu can be opened with the [ key, giving quick access to the available movement options.

Key Features

Movement Controls

  • Jump Controller — Adjusts jump-related movement settings.
  • Speed Controller — Changes the character’s movement speed.
  • Flight & Air Controls — Enables flying and provides control while in the air.
  • Fly — Activates flight movement.
  • Infinite Jump — Allows repeated jumping.
  • Noclip — Allows the character to move through certain objects.
  • Invisibility — Provides an invisibility option.
  • Wall Speed — Includes a movement option for wall-related speed.
  • Jump Power — Adjusts jump power.

Utilities

  • Player Teleport — Teleports to other players.
  • Utilities Menu — Provides additional movement-related controls in the interface.
  • Menu Keybind — Press [ to open the menu.

Script Information

  • Script: Movement Master
  • Key System: Keyless
  • Game: Universal

Supported Executors

  • Xeno
  • Potassium
  • Delta
  • Solara
Universal
Game Page
Universal
Roblox
Views 8+
Likes 0
Dislikes 0
Posted 2 weeks ago
Updated 2 weeks ago
Key System No
Mobile Supported

Script Preview

930 lines • 29.2 KB
-- 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 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

local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, 280, 0, 680)
mainFrame.Position = UDim2.new(0.5, -140, 0.5, -340)
mainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 30)
mainFrame.BorderSizePixel = 0
mainFrame.Visible = false
mainFrame.Parent = screenGui

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

--------------------------------------------------------------------------------
-- STARTUP NOTIFICATION LOGIC
--------------------------------------------------------------------------------
local function showStartupNotification()
	local notifFrame = Instance.new("Frame")
	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.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 = "Press [ to toggle menu"
	notifText.TextColor3 = Color3.fromRGB(180, 180, 200)
	notifText.TextSize = 11
	notifText.Font = Enum.Font.Gotham
	notifText.TextXAlignment = Enum.TextXAlignment.Left
	notifText.Parent = notifFrame

	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()
		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

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 & MINIMIZE BUTTON (-)
--------------------------------------------------------------------------------
local titleLabel = Instance.new("TextLabel")
titleLabel.Size = UDim2.new(1, -40, 0, 40)
titleLabel.Position = UDim2.new(0, 12, 0, 0)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "Movement Master"
titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
titleLabel.TextSize = 16
titleLabel.Font = Enum.Font.GothamBold
titleLabel.TextXAlignment = Enum.TextXAlignment.Left
titleLabel.Parent = mainFrame

local minimizeBtn = Instance.new("TextButton")
minimizeBtn.Size = UDim2.new(0, 26, 0, 26)
minimizeBtn.Position = UDim2.new(1, -32, 0, 7)
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()
	mainFrame.Visible = false
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, 42)
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 = mainFrame

local function setSpeed(newSpeed)
	currentWalkSpeed = math.clamp(newSpeed, 0, 500)
	local char = player.Character
	if char then
		local humanoid = char:FindFirstChildOfClass("Humanoid")
		if humanoid then
			humanoid.WalkSpeed = currentWalkSpeed
		end
	end
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 = mainFrame

	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, 65, 75)
createSpeedButton("50 (Fast)", 50, 80, 65, 75)
createSpeedButton("100 (Super)", 100, 160, 65, 75)

local speedInput = Instance.new("TextBox")
speedInput.Size = UDim2.new(0.85, 0, 0, 30)
speedInput.Position = UDim2.new(0.075, 0, 0, 100)
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 = mainFrame

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, 142)
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 = mainFrame

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 = mainFrame

	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, 165, 75)
createJumpButton("100 (High)", 100, 80, 165, 75)
createJumpButton("200 (Super)", 200, 160, 165, 75)

local jumpInput = Instance.new("TextBox")
jumpInput.Size = UDim2.new(0.85, 0, 0, 30)
jumpInput.Position = UDim2.new(0.075, 0, 0, 200)
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 = mainFrame

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, 242)
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 = mainFrame

-- Fly Button + Keybind
local flyToggleBtn = Instance.new("TextButton")
flyToggleBtn.Size = UDim2.new(0.65, 0, 0, 32)
flyToggleBtn.Position = UDim2.new(0.075, 0, 0, 265)
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 = mainFrame

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

createKeybindButton(mainFrame, "Fly", 0.74, 265, 52, 32)

local flySpeedInput = Instance.new("TextBox")
flySpeedInput.Size = UDim2.new(0.85, 0, 0, 30)
flySpeedInput.Position = UDim2.new(0.075, 0, 0, 304)
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 = mainFrame

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.65, 0, 0, 32)
infJumpToggleBtn.Position = UDim2.new(0.075, 0, 0, 341)
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 = mainFrame

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

createKeybindButton(mainFrame, "InfJump", 0.74, 341, 52, 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, 388)
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 = mainFrame

-- Invisibility Button + Keybind
local invToggleBtn = Instance.new("TextButton")
invToggleBtn.Size = UDim2.new(0.65, 0, 0, 32)
invToggleBtn.Position = UDim2.new(0.075, 0, 0, 411)
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 = mainFrame

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

createKeybindButton(mainFrame, "Invisibility", 0.74, 411, 52, 32)

-- Noclip Button + Keybind
local noclipToggleBtn = Instance.new("TextButton")
noclipToggleBtn.Size = UDim2.new(0.65, 0, 0, 32)
noclipToggleBtn.Position = UDim2.new(0.075, 0, 0, 451)
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 = mainFrame

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

createKeybindButton(mainFrame, "Noclip", 0.74, 451, 52, 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, 498)
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 = mainFrame

local tpInput = Instance.new("TextBox")
tpInput.Size = UDim2.new(0.85, 0, 0, 28)
tpInput.Position = UDim2.new(0.075, 0, 0, 520)
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 = mainFrame

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, 552)
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 = mainFrame

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, 592)
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 = mainFrame

local menuKeyLabel = Instance.new("TextLabel")
menuKeyLabel.Size = UDim2.new(0.65, 0, 0, 28)
menuKeyLabel.Position = UDim2.new(0.075, 0, 0, 615)
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 = mainFrame

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

createKeybindButton(mainFrame, "MenuToggle", 0.74, 615, 52, 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
		mainFrame.Visible = not mainFrame.Visible
	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

How to Use This Script

1

Open Your Executor

Launch a supported executor and attach it to a running Roblox session.

2

Copy the Script

Click the Copy button above. The full loadstring is placed on your clipboard instantly.

3

Paste & Execute

Paste it into the executor and hit Execute. The hub window opens inside the game.

Comments

0
Join the discussion about this script.

No comments yet. Be the first to comment!