-- [[ VEX FLY PANEL - CLEAN MOBILE EDITION ]] --
-- Theme: Solid Neon White & Neon Black
-- EXCLUSIVELY FOR MOBILE EXECUTORS (Delta, Codex, Arceus X)
local UserInputService = game:GetService("UserInputService")
if UserInputService.KeyboardEnabled and not UserInputService.TouchEnabled then
warn("Vex Fly Panel: Execution blocked. This script is restricted to mobile executors.")
return
end
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local RunService = game:GetService("RunService")
local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
local Humanoid = Character:WaitForChild("Humanoid")
local RootPart = Character:WaitForChild("HumanoidRootPart")
local flying = false
local noclip = false
local flySpeed = 2
local flyConnection = nil
local noclipConnection = nil
-- UI Setup
local ScreenGui = Instance.new("ScreenGui")
local MainPanel = Instance.new("Frame")
local TitleBar = Instance.new("Frame")
local TitleText = Instance.new("TextLabel")
local MinimizeButton = Instance.new("TextButton")
local CloseButton = Instance.new("TextButton")
local ContentFrame = Instance.new("Frame")
local ToggleFlyButton = Instance.new("TextButton")
local ToggleNoclipButton = Instance.new("TextButton")
local SpeedBox = Instance.new("TextBox")
local SpeedLabel = Instance.new("TextLabel")
-- Clear previous instance
local CoreGui = game:GetService("CoreGui")
if CoreGui:FindFirstChild("VexFlyPanel_Mobile") then
CoreGui.VexFlyPanel_Mobile:Destroy()
end
ScreenGui.Name = "VexFlyPanel_Mobile"
ScreenGui.Parent = CoreGui
ScreenGui.ResetOnSpawn = false
-- Neon Black Base with Neon White Border
MainPanel.Name = "MainPanel"
MainPanel.Size = UDim2.new(0, 240, 0, 220)
MainPanel.Position = UDim2.new(0.5, -120, 0.4, -110)
MainPanel.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
MainPanel.BorderSizePixel = 2
MainPanel.BorderColor3 = Color3.fromRGB(255, 255, 255)
MainPanel.Active = true
MainPanel.Draggable = true
MainPanel.Parent = ScreenGui
-- Title Bar Configuration
TitleBar.Name = "TitleBar"
TitleBar.Size = UDim2.new(1, 0, 0, 30)
TitleBar.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
TitleBar.BorderSizePixel = 0
TitleBar.Parent = MainPanel
TitleText.Size = UDim2.new(1, -70, 1, 0)
TitleText.Position = UDim2.new(0, 10, 0, 0)
TitleText.BackgroundTransparency = 1
TitleText.Text = "Vex Fly Panel"
TitleText.TextColor3 = Color3.fromRGB(255, 255, 255)
TitleText.TextSize = 14
TitleText.Font = Enum.Font.Code
TitleText.TextXAlignment = Enum.TextXAlignment.Left
TitleText.Parent = TitleBar
-- Minimize Button (-)
MinimizeButton.Size = UDim2.new(0, 30, 0, 30)
MinimizeButton.Position = UDim2.new(1, -60, 0, 0)
MinimizeButton.BackgroundTransparency = 1
MinimizeButton.Text = "-"
MinimizeButton.TextColor3 = Color3.fromRGB(255, 255, 255)
MinimizeButton.TextSize = 20
MinimizeButton.Font = Enum.Font.Code
MinimizeButton.Parent = TitleBar
-- Close Button (X) right next to it
CloseButton.Size = UDim2.new(0, 30, 0, 30)
CloseButton.Position = UDim2.new(1, -30, 0, 0)
CloseButton.BackgroundTransparency = 1
CloseButton.Text = "X"
CloseButton.TextColor3 = Color3.fromRGB(255, 255, 255)
CloseButton.TextSize = 16
CloseButton.Font = Enum.Font.Code
CloseButton.Parent = TitleBar
local minimized = false
local originalHeight = MainPanel.Size.Y.Offset
-- Core Shutdown Utilities
local function stopFlight()
flying = false
if flyConnection then flyConnection:Disconnect() flyConnection = nil end
local bv = RootPart:FindFirstChildOfClass("BodyVelocity")
if bv then bv:Destroy() end
if Humanoid then Humanoid:ChangeState(Enum.HumanoidStateType.GettingUp) end
end
local function stopNoclip()
noclip = false
if noclipConnection then noclipConnection:Disconnect() noclipConnection = nil end
end
CloseButton.MouseButton1Click:Connect(function()
stopFlight()
stopNoclip()
ScreenGui:Destroy()
end)
MinimizeButton.MouseButton1Click:Connect(function()
minimized = not minimized
if minimized then
ContentFrame.Visible = false
MainPanel:TweenSize(UDim2.new(0, 240, 0, 30), Enum.EasingDirection.Out, Enum.EasingStyle.Quad, 0.15, true)
MinimizeButton.Text = "+"
else
MainPanel:TweenSize(UDim2.new(0, 240, 0, originalHeight), Enum.EasingDirection.Out, Enum.EasingStyle.Quad, 0.15, true, function()
ContentFrame.Visible = true
end)
MinimizeButton.Text = "-"
end
end)
-- Main Option Content Container
ContentFrame.Size = UDim2.new(1, 0, 1, -30)
ContentFrame.Position = UDim2.new(0, 0, 0, 30)
ContentFrame.BackgroundTransparency = 1
ContentFrame.Parent = MainPanel
-- Standard Button Style Handler
local function styleButton(btn, text)
btn.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
btn.BorderSizePixel = 1
btn.BorderColor3 = Color3.fromRGB(255, 255, 255)
btn.Text = text
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
btn.Font = Enum.Font.Code
btn.TextSize = 14
end
-- Fly Button Setup
ToggleFlyButton.Size = UDim2.new(0, 200, 0, 40)
ToggleFlyButton.Position = UDim2.new(0.5, -100, 0, 15)
styleButton(ToggleFlyButton, "Toggle Fly: OFF")
ToggleFlyButton.Parent = ContentFrame
-- Noclip Button Setup
ToggleNoclipButton.Size = UDim2.new(0, 200, 0, 40)
ToggleNoclipButton.Position = UDim2.new(0.5, -100, 0, 70)
styleButton(ToggleNoclipButton, "Toggle Noclip: OFF")
ToggleNoclipButton.Parent = ContentFrame
-- Speed Adjustment Configuration
SpeedLabel.Size = UDim2.new(0, 100, 0, 30)
SpeedLabel.Position = UDim2.new(0, 20, 0, 135)
SpeedLabel.BackgroundTransparency = 1
SpeedLabel.Text = "Fly Speed:"
SpeedLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
SpeedLabel.Font = Enum.Font.Code
SpeedLabel.TextSize = 14
SpeedLabel.TextXAlignment = Enum.TextXAlignment.Left
SpeedLabel.Parent = ContentFrame
SpeedBox.Size = UDim2.new(0, 80, 0, 30)
SpeedBox.Position = UDim2.new(1, -100, 0, 135)
SpeedBox.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
SpeedBox.BorderSizePixel = 1
SpeedBox.BorderColor3 = Color3.fromRGB(255, 255, 255)
SpeedBox.Text = "50"
SpeedBox.TextColor3 = Color3.fromRGB(255, 255, 255)
SpeedBox.Font = Enum.Font.Code
SpeedBox.TextSize = 14
SpeedBox.Parent = ContentFrame
SpeedBox.FocusLost:Connect(function()
local num = tonumber(SpeedBox.Text)
if num then
flySpeed = num / 25
else
SpeedBox.Text = tostring(flySpeed * 25)
end
end)
-- Mobile CFrame Movement Engine
local function startFlight()
if flyConnection then flyConnection:Disconnect() end
flying = true
local camera = workspace.CurrentCamera
local bv = Instance.new("BodyVelocity")
bv.velocity = Vector3.new(0, 0, 0)
bv.maxForce = Vector3.new(9e9, 9e9, 9e9)
bv.Parent = RootPart
flyConnection = RunService.Heartbeat:Connect(function()
if Character and RootPart and Humanoid then
Humanoid:ChangeState(Enum.HumanoidStateType.Physics)
local moveDirection = Humanoid.MoveDirection
if moveDirection.Magnitude > 0 then
local targetLook = camera.CFrame.LookVector
RootPart.CFrame = CFrame.new(RootPart.Position, RootPart.Position + targetLook)
* CFrame.new(0, 0, -flySpeed)
else
RootPart.Velocity = Vector3.new(0, 0, 0)
end
else
stopFlight()
end
end)
end
-- Core Noclip Engine
local function startNoclip()
if noclipConnection then noclipConnection:Disconnect() end
noclip = true
noclipConnection = RunService.Stepped:Connect(function()
if Character and noclip then
for _, part in pairs(Character:GetDescendants()) do
if part:IsA("BasePart") and part.CanCollide == true then
part.CanCollide = false
end
end
else
stopNoclip()
end
end)
end
-- State Toggle Trigger Events
ToggleFlyButton.MouseButton1Click:Connect(function()
if flying then
stopFlight()
ToggleFlyButton.Text = "Toggle Fly: OFF"
ToggleFlyButton.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
ToggleFlyButton.TextColor3 = Color3.fromRGB(255, 255, 255)
else
startFlight()
ToggleFlyButton.Text = "Toggle Fly: ON"
ToggleFlyButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
ToggleFlyButton.TextColor3 = Color3.fromRGB(0, 0, 0)
end
end)
ToggleNoclipButton.MouseButton1Click:Connect(function()
if noclip then
stopNoclip()
ToggleNoclipButton.Text = "Toggle Noclip: OFF"
ToggleNoclipButton.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
ToggleNoclipButton.TextColor3 = Color3.fromRGB(255, 255, 255)
else
startNoclip()
ToggleNoclipButton.Text = "Toggle Noclip: ON"
ToggleNoclipButton.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
ToggleNoclipButton.TextColor3 = Color3.fromRGB(0, 0, 0)
end
end)
-- Reset Handling
LocalPlayer.CharacterAdded:Connect(function(newChar)
Character = newChar
Humanoid = Character:WaitForChild("Humanoid")
RootPart = Character:WaitForChild("HumanoidRootPart")
stopFlight()
stopNoclip()
ToggleFlyButton.Text = "Toggle Fly: OFF"
ToggleNoclipButton.Text = "Toggle Noclip: OFF"
ToggleFlyButton.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
ToggleFlyButton.TextColor3 = Color3.fromRGB(255, 255, 255)
ToggleNoclipButton.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
ToggleNoclipButton.TextColor3 = Color3.fromRGB(255, 255, 255)
end)