M
Description
This is The Basic Flying and Movement script
GAMEUniversal
UPDATEDOct 10, 2026
ACCESSKeyless
PLATFORMDesktop
Script source Luau
-- [[ BloxScripts Risk Notice ]]
-- This script has not been verified by BloxScripts.fun. Deal with caution.
--
-- Stay safe:
-- • Never log in on unofficial Roblox sites or lookalike domains.
-- • Real Roblox links use roblox.com (check the .com ending).
-- • Treat fake Roblox login / "claim reward" pages as phishing.
-- [[ End BloxScripts Risk Notice ]]
--// ERROR HUB V3
--// Roblox Studio LocalScript
--// StarterPlayer > StarterPlayerScripts
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local TextChatService = game:GetService("TextChatService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
-- Remove old GUI
local old = playerGui:FindFirstChild("ErrorHub")
if old then old:Destroy() end
-- GUI
local gui = Instance.new("ScreenGui")
gui.Name = "ErrorHub"
gui.ResetOnSpawn = false
gui.Parent = playerGui
local frame = Instance.new("Frame")
frame.Size = UDim2.fromOffset(290, 340)
frame.Position = UDim2.new(0.5, -145, 0.5, -170)
frame.BackgroundColor3 = Color3.fromRGB(18, 18, 23)
frame.BorderSizePixel = 0
frame.Active = true
frame.Parent = gui
Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 12)
local stroke = Instance.new("UIStroke", frame)
stroke.Color = Color3.fromRGB(255, 55, 65)
stroke.Thickness = 1.5
-- Header
local header = Instance.new("Frame")
header.Size = UDim2.new(1, 0, 0, 42)
header.BackgroundColor3 = Color3.fromRGB(45, 20, 26)
header.BorderSizePixel = 0
header.Active = true
header.Parent = frame
Instance.new("UICorner", header).CornerRadius = UDim.new(0, 12)
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -85, 1, 0)
title.Position = UDim2.fromOffset(12, 0)
title.BackgroundTransparency = 1
title.Text = "ERROR HUB // V3"
title.TextColor3 = Color3.fromRGB(255, 65, 80)
title.Font = Enum.Font.GothamBold
title.TextSize = 17
title.Parent = header
local function makeButton(text, y)
local b = Instance.new("TextButton")
b.Size = UDim2.new(1, -24, 0, 35)
b.Position = UDim2.fromOffset(12, y)
b.BackgroundColor3 = Color3.fromRGB(42, 42, 52)
b.TextColor3 = Color3.new(1, 1, 1)
b.Font = Enum.Font.GothamSemibold
b.TextSize = 14
b.Text = text
b.Parent = frame
Instance.new("UICorner", b).CornerRadius = UDim.new(0, 7)
return b
end
-- Minimize
local minimize = Instance.new("TextButton")
minimize.Size = UDim2.fromOffset(30, 30)
minimize.Position = UDim2.new(1, -69, 0, 6)
minimize.Text = "-"
minimize.TextColor3 = Color3.new(1, 1, 1)
minimize.BackgroundColor3 = Color3.fromRGB(90, 35, 40)
minimize.Parent = header
-- Close
local close = Instance.new("TextButton")
close.Size = UDim2.fromOffset(30, 30)
close.Position = UDim2.new(1, -34, 0, 6)
close.Text = "X"
close.TextColor3 = Color3.new(1, 1, 1)
close.BackgroundColor3 = Color3.fromRGB(160, 35, 40)
close.Parent = header
-- Draggable with mouse and touch
local dragging, dragStart, startPos
header.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = frame.Position
end
end)
UIS.InputChanged:Connect(function(input)
if dragging and (
input.UserInputType == Enum.UserInputType.MouseMovement
or input.UserInputType == Enum.UserInputType.Touch
) then
local delta = input.Position - dragStart
frame.Position = UDim2.new(
startPos.X.Scale, startPos.X.Offset + delta.X,
startPos.Y.Scale, startPos.Y.Offset + delta.Y
)
end
end)
UIS.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch then
dragging = false
end
end)
-- Controls
local flyButton = makeButton("FLY: OFF", 52)
local flySpeedButton = makeButton("FLY SPEED: 50 (+)", 93)
local walkSpeedButton = makeButton("WALK SPEED: 16 (+)", 134)
local upButton = makeButton("UP: OFF", 175)
local downButton = makeButton("DOWN: OFF", 216)
local resetButton = makeButton("RESET MOVEMENT", 257)
local status = makeButton("STATUS: READY", 298)
status.Active = false
status.AutoButtonColor = false
-- Movement state
local flying = false
local flySpeed = 50
local walkSpeed = 16
local goUp = false
local goDown = false
local flyConnection
local function getCharacter()
local char = player.Character
if not char then return end
local root = char:FindFirstChild("HumanoidRootPart")
local hum = char:FindFirstChildOfClass("Humanoid")
if root and hum then return char, root, hum end
end
local function stopFly()
flying = false
if flyConnection then
flyConnection:Disconnect()
flyConnection = nil
end
flyButton.Text = "FLY: OFF"
end
local function startFly()
local char, root, hum = getCharacter()
if not root then
status.Text = "STATUS: RESPAWN FIRST"
return
end
flying = true
flyButton.Text = "FLY: ON"
status.Text = "STATUS: FLYING"
if flyConnection then flyConnection:Disconnect() end
flyConnection = RunService.RenderStepped:Connect(function()
local c, r, h = getCharacter()
if not r then
stopFly()
return
end
local move = h.MoveDirection
local verticalSpeed = 0
if goUp or UIS:IsKeyDown(Enum.KeyCode.Space) then
verticalSpeed = flySpeed
elseif goDown or UIS:IsKeyDown(Enum.KeyCode.LeftControl) then
verticalSpeed = -flySpeed
end
r.AssemblyLinearVelocity = Vector3.new(
move.X * flySpeed,
verticalSpeed,
move.Z * flySpeed
)
end)
end
flyButton.Activated:Connect(function()
if flying then
stopFly()
status.Text = "STATUS: READY"
else
startFly()
end
end)
flySpeedButton.Activated:Connect(function()
flySpeed = flySpeed >= 100 and 25 or flySpeed + 25
flySpeedButton.Text = "FLY SPEED: " .. flySpeed .. " (+)"
end)
walkSpeedButton.Activated:Connect(function()
walkSpeed = walkSpeed >= 64 and 16 or walkSpeed + 8
walkSpeedButton.Text = "WALK SPEED: " .. walkSpeed .. " (+)"
local _, _, hum = getCharacter()
if hum then hum.WalkSpeed = walkSpeed end
end)
upButton.Activated:Connect(function()
goUp = not goUp
goDown = false
upButton.Text = goUp and "UP: ON" or "UP: OFF"
downButton.Text = "DOWN: OFF"
end)
downButton.Activated:Connect(function()
goDown = not goDown
goUp = false
downButton.Text = goDown and "DOWN: ON" or "DOWN: OFF"
upButton.Text = "UP: OFF"
end)
resetButton.Activated:Connect(function()
stopFly()
goUp = false
goDown = false
walkSpeed = 16
local _, _, hum = getCharacter()
if hum then hum.WalkSpeed = walkSpeed end
walkSpeedButton.Text = "WALK SPEED: 16 (+)"
upButton.Text = "UP: OFF"
downButton.Text = "DOWN: OFF"
status.Text = "STATUS: RESET"
end)
-- Minimize / restore
local minimized = false
minimize.Activated:Connect(function()
minimized = not minimized
for _, obj in ipairs(frame:GetChildren()) do
if obj ~= header and obj:IsA("GuiObject") then
obj.Visible = not minimized
end
end
frame.Size = minimized
and UDim2.fromOffset(290, 42)
or UDim2.fromOffset(290, 340)
minimize.Text = minimized and "+" or "-"
end)
close.Activated:Connect(function()
stopFly()
gui:Destroy()
end)
player.CharacterAdded:Connect(function(char)
stopFly()
goUp = false
goDown = false
status.Text = "STATUS: RESPAWNED"
local hum = char:WaitForChild("Humanoid", 10)
if hum then hum.WalkSpeed = walkSpeed end
end)
-- Loading messages in chat
task.spawn(function()
local channels = TextChatService:WaitForChild("TextChannels", 10)
local general = channels and channels:WaitForChild("RBXGeneral", 5)
if not general then
warn("Error Hub: chat channel unavailable")
return
end
local messages = {
"@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Error On Top @@@@@@@@@@@@@@@@",
"Error Hub Loaded",
"Made By Zm_Error"
}
for _, message in ipairs(messages) do
local ok, err = pcall(function()
general:SendAsync(message)
end)
if not ok then
warn("Error Hub chat failed:", err)
break
end
task.wait(1.5)
end
end)
Review the source before using it. Executions count successful copies, capped at 10 per user and network per script in 24 hours.
Community discussion
0Start the conversation.


Your community, in one place
