cool fly gui thing
Key RequiredUniversal

cool fly gui thing

Universal Scripttoastertoaster 14.2K views 4.8K executesUpdated Nov 18, 2024
5.0/ 5(1 votes)
10100% Positive
Lua Script•230 lines (7822 chars)
--[[
FE Mobile Fly V2 By Fedoratum#6195

Walk a bit when you execute the script
Type in the box (stop), to stop the script

Update Log V2
Added many more checkups (V2)
Fixed script breaking when respawn (V2)
Changed new way to stop script (V2)

]]--

local UserInputService = game:GetService"UserInputService"
local STARTERGUI = game:GetService"StarterGui"
local plr = game:GetService"Players"
local Lp = plr.LocalPlayer


if not table.find({Enum.Platform.IOS, Enum.Platform.Android}, game:GetService("UserInputService"):GetPlatform()) then
STARTERGUI:SetCore("SendNotification",{
        Title = "FED's Mobile Fly",
        Text = "You are in pc!",
         Icon = "rbxassetid://278315432",
         Duration = 4
    })
return
end

if not Lp.Character and not Lp.Character:FindFirstChildOfClass("Humanoid") and not Lp.Character:FindFirstChildOfClass("Humanoid").RootPart and Lp.Character:FindFirstChildOfClass("Humanoid").Health == 0 then
STARTERGUI:SetCore("SendNotification",{
        Title = "FED's Mobile Fly",
        Text = "Something errored or does not exist!",
         Icon = "rbxassetid://278315432",
         Duration = 4
    })
    return
end

-- // Detect if script is ran twice

if game:GetService("ReplicatedStorage"):FindFirstChild("BZn2q91BzN") then
STARTERGUI:SetCore("SendNotification",{
        Title = "FED's Mobile Fly",
        Text = "Script is already running",
         Icon = "rbxassetid://278315432",
         Duration = 4
    })
return
end

local ScreenGui = Instance.new("ScreenGui")
local FlyButton = Instance.new("TextButton")
local SpeedBox = Instance.new("TextBox")

local NSound = Instance.new("Sound", FlyButton)
NSound.SoundId = "rbxassetid://9086208751"
NSound.Volume = 1

function Notify(Txt, Dur)
STARTERGUI:SetCore("SendNotification",{
        Title = "FED's Mobile Fly",
        Text = Txt,
         Icon = "rbxassetid://278315432",
         Duration = Dur
    })
NSound:Play()
end

-- // Avoid if user runs the script twice to avoid errors

local VdbwjS = Instance.new("StringValue",game:GetService("ReplicatedStorage"))
VdbwjS.Name = "BZn2q91BzN"

Notify("Script made by fedoratum", 5)

local rs = game:GetService"RunService"

local buttonIsOn = false

-- // Gui Customization

ScreenGui.Parent = game:GetService("CoreGui")
ScreenGui.ResetOnSpawn = false

FlyButton.Name = "FlyButton"
FlyButton.Parent = ScreenGui
FlyButton.BackgroundColor3 = Color3.new(0.168627, 0.513726, 0.25098)
FlyButton.BorderColor3 = Color3.new(0,0,0)
FlyButton.Position = UDim2.new(0.912970064, 0, 0.194202876, 0)
FlyButton.Size = UDim2.new(0, 50, 0, 50)
FlyButton.Font = Enum.Font.Code
FlyButton.Text = "Fly"
FlyButton.TextColor3 = Color3.new(0,0,0)
FlyButton.TextSize = 14
FlyButton.TextStrokeColor3 = Color3.new(1, 1, 1)
FlyButton.TextWrapped = true
FlyButton.Transparency = 0.2
FlyButton.Active = true
FlyButton.Draggable = true

SpeedBox.Name = "SpeedBox"
SpeedBox.Parent = FlyButton
SpeedBox.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
SpeedBox.Position = UDim2.new(-1.716970064, 0, 0.004202876, 0)
SpeedBox.Size = UDim2.new(0, 80, 0, 50)
SpeedBox.Font = Enum.Font.Code
SpeedBox.PlaceholderText = "Speed or stop"
SpeedBox.Text = ""
SpeedBox.TextColor3 = Color3.fromRGB(0, 0, 0)
SpeedBox.TextScaled = true
SpeedBox.TextSize = 14.000
SpeedBox.TextWrapped = true

-- // Get Joystick of user

local controlModule = require(Lp:WaitForChild("PlayerScripts"):WaitForChild("PlayerModule"):WaitForChild("ControlModule"))

-- // Velocity additions

local bv = Instance.new("BodyVelocity",Lp.Character.Humanoid.RootPart)
bv.Name = "VelocityHandler"
bv.MaxForce = Vector3.new(0,0,0)
bv.Velocity = Vector3.new(0,0,0)

local bg = Instance.new("BodyGyro",Lp.Character.HumanoidRootPart)
bg.Name = "GyroHandler"
bg.MaxTorque = Vector3.new(9e9,9e9,9e9)
bg.P = 1000
bg.D = 50

-- // Keep checking so it works
-- //  Needed different threads to check each

local Signal1
Signal1 = rs.Heartbeat:Connect(function()
if Lp.Character and Lp.Character:FindFirstChildOfClass("Humanoid") and Lp.Character.Humanoid.RootPart and Lp.Character.HumanoidRootPart:FindFirstChild("VelocityHandler") and Lp.Character.HumanoidRootPart:FindFirstChild("GyroHandler") then
return
end

if Lp.Character and Lp.Character:FindFirstChildOfClass("Humanoid") and Lp.Character.Humanoid.RootPart and not Lp.Character.HumanoidRootPart:FindFirstChild("VelocityHandler") then
local bv = Instance.new("BodyVelocity")
bv.Name = "VelocityHandler"
bv.Parent = Lp.Character:FindFirstChildOfClass("Humanoid").RootPart
bv.MaxForce = Vector3.new(0,0,0)
bv.Velocity = Vector3.new(0,0,0)
rs.Heartbeat:Wait()
end

if Lp.Character and Lp.Character:FindFirstChildOfClass("Humanoid") and Lp.Character.Humanoid.RootPart and not Lp.Character.HumanoidRootPart:FindFirstChild("GyroHandler") then
local bg = Instance.new("BodyGyro")
bg.Name = "GyroHandler"
bg.Parent = Lp.Character:FindFirstChildOfClass("Humanoid").RootPart
bg.MaxTorque = Vector3.new(9e9,9e9,9e9)
bg.P = 1000
bg.D = 50
rs.Heartbeat:Wait()
end
end)

local Workspace = game:GetService"Workspace"
local camera = Workspace.CurrentCamera
local speed = 50 -- default

-- // Adding respond to joystick movement
-- // Adding button toggles to detect button state

local Signal2
Signal2 = rs.RenderStepped:Connect(function()
if Lp.Character and Lp.Character:FindFirstChildOfClass("Humanoid") and Lp.Character.Humanoid.RootPart and Lp.Character.HumanoidRootPart:FindFirstChild("VelocityHandler") and Lp.Character.HumanoidRootPart:FindFirstChild("GyroHandler") then

if buttonIsOn then
FlyButton.Text = "Fly: On"
FlyButton.BackgroundColor3 = Color3.new(0,255,0)
Lp.Character.HumanoidRootPart.VelocityHandler.MaxForce = Vector3.new(9e9,9e9,9e9)
Lp.Character.HumanoidRootPart.GyroHandler.MaxTorque = Vector3.new(9e9,9e9,9e9)
Lp.Character.Humanoid.PlatformStand = true
elseif buttonIsOn == false then
FlyButton.Text = "Fly: Off"
FlyButton.BackgroundColor3 = Color3.new(255,0,0)
Lp.Character.HumanoidRootPart.VelocityHandler.MaxForce = Vector3.new(0,0,0)
Lp.Character.HumanoidRootPart.GyroHandler.MaxTorque = Vector3.new(0,0,0)
Lp.Character.Humanoid.PlatformStand = false
return
end

Lp.Character.HumanoidRootPart.GyroHandler.CFrame = camera.CoordinateFrame
local direction = controlModule:GetMoveVector()
Lp.Character.HumanoidRootPart.VelocityHandler.Velocity = Vector3.new()
if direction.X > 0 then
Lp.Character.HumanoidRootPart.VelocityHandler.Velocity = Lp.Character.HumanoidRootPart.VelocityHandler.Velocity + camera.CFrame.RightVector*(direction.X*speed)
end
if direction.X < 0 then
Lp.Character.HumanoidRootPart.VelocityHandler.Velocity = Lp.Character.HumanoidRootPart.VelocityHandler.Velocity + camera.CFrame.RightVector*(direction.X*speed)
end
if direction.Z > 0 then
Lp.Character.HumanoidRootPart.VelocityHandler.Velocity = Lp.Character.HumanoidRootPart.VelocityHandler.Velocity - camera.CFrame.LookVector*(direction.Z*speed)
end
if direction.Z < 0 then
Lp.Character.HumanoidRootPart.VelocityHandler.Velocity = Lp.Character.HumanoidRootPart.VelocityHandler.Velocity - camera.CFrame.LookVector*(direction.Z*speed)
end
end
end)

-- // Using TouchTap to avoid accidental toggle by dragging

FlyButton.TouchTap:Connect(function()
buttonIsOn = not buttonIsOn
end)

-- // Detect TextBox with only numbers or commands are accepted

local Signal3
Signal3 = SpeedBox:GetPropertyChangedSignal("Text"):Connect(function()
if tonumber(SpeedBox.Text) then
speed = tonumber(SpeedBox.Text)
end
if SpeedBox.Text:sub(1,4) == "stop" then
Signal1:Disconnect()
Signal2:Disconnect()
Signal3:Disconnect()
if game:GetService"ReplicatedStorage":FindFirstChild("BZn2q91BzN") then
game:GetService"ReplicatedStorage":FindFirstChild("BZn2q91BzN"):Destroy()
end
ScreenGui:Destroy()
if Lp.Character and Lp.Character:FindFirstChildOfClass("Humanoid") then
Lp.Character:FindFirstChildOfClass("Humanoid"):ChangeState(15)
end
end
end)

Features & Information

awesome fly gui made by a man called fedoratum only tested on delta

Community Comments (1)

DonileDonileSep 19, 2026

Genuinely so goated

More Scripts for Universal Scripts