What's new
Heapleak - Scripthub

Get the most out of HeapLeak by creating a free account! Once signed in, you’ll gain full access to restricted content, be able to share your own scripts, and participate in our member-only discussions.

FLY GUI AUTO FARM March 2026 Updated

Version / Update: v1.0.0
Download / Script Link
local plr, char, mouse, human, torso
repeat wait(); plr = game.Players.LocalPlayer until plr
repeat wait(); mouse = plr:GetMouse() until mouse
local input = game:GetService("UserInputService")

local ui_toggle_fly
local flying = false
local flyspeed = 65
local aimbot = false
local aimbottarget

--[[
--
-- Character
--
--]]

do
function UpdateCharacter ()
char = plr.Character
human = char:WaitForChild("Humanoid")
torso = human.Torso
end
repeat wait() until plr.Character
UpdateCharacter()
plr.CharacterAdded:Connect(UpdateCharacter)
plr.CharacterRemoving:Connect(function()
ui_toggle_fly:Set(false)
end)
end

--[[
--
-- Properties
--
--]]

local SetProperty
local RestoreProperty
do
--
-- Instance
--

local InstanceHasProperty
local GetCustomInstanceProperty
local SetCustomInstanceProperty
do
local customprops = {}

-- why is there no function for this, roblox?
InstanceHasProperty = function (obj, prop)
return pcall(function() return obj[prop] end)
end

GetCustomInstanceProperty = function (obj, key)
customprops[obj] = customprops[obj] or {}
return customprops[obj][key]
end

SetCustomInstanceProperty = function (obj, key, value)
customprops[obj] = customprops[obj] or {}
customprops[obj][key] = value
end
end

--
-- Properties
--

function Get (obj, prop)
if type(obj) == 'table' then
return rawget(obj, prop)
elseif typeof(obj) == 'Instance' then
if InstanceHasProperty(obj, prop) then
return obj[prop]
end
return GetCustomInstanceProperty(obj, prop)
end
error(typeof(obj))
end

function Set (obj, prop, value)
if type(obj) == 'table' then
rawset(obj, prop, value)
elseif typeof(obj) == 'Instance' then
if InstanceHasProperty(obj, prop) then
obj[prop] = value
else
SetCustomInstanceProperty(obj, prop, value)
end
else
error(typeof(obj))
end
end

local GetCached
local SetCached
do
function CachedProperty (prop)
return 'epic_cached_' .. prop
end
GetCached = function(obj, prop) return Get(obj, CachedProperty(prop)) end
SetCached = function(obj, prop, value) Set(obj, CachedProperty(prop), value) end
end

RestoreProperty = function (obj, prop)
local cached = GetCached(obj, prop)
if cached then
Set(obj, prop, cached)
SetCached(obj, prop, nil)
end
end

SetProperty = function (obj, prop, value)
if Get(obj, prop) then
if not GetCached(obj, prop) then
SetCached(obj, prop, Get(obj, prop))
end
Set(obj, prop, value)
end
end
end

--[[
--
-- Aimbot
--
--]]

game:GetService("RunService").RenderStepped:Connect(function()
if aimbot then
local cam = game:GetService("Workspace").CurrentCamera
if not aimbottarget then
local closest
local mpos = Vector2.new(mouse.X, mouse.Y)
for _,p in pairs(game:GetService("Players"):GetChildren()) do
if p ~= plr and p.Character then
local t = p.Character.Head
local scrpos, onscr = cam:WorldToViewportPoint(t.Position)
scrpos = Vector2.new(scrpos.X, scrpos.Y)
if onscr and (closest==nil or (scrpos-mpos).Magnitude < (closest-mpos).Magnitude) then
closest = scrpos
aimbottarget = t
end
end
end
end
if aimbottarget then
cam.CFrame = CFrame.new(cam.CFrame.Position, aimbottarget.Position)
end
else
aimbottarget = nil
end
end)

--[[
--
-- UI
--
--]]

local pepsi = loadstring(game:GetObjects("rbxassetid://7657867786")[1].Source)():CreateWindow({
Name = "Epic",
Themeable = {
Info = "Discord Server: VzYTJ7Y"
}
})
local general = pepsi:CreateTab({ Name="General" })

--[[
--
-- EPIC
--
--]]

do
local epic = general:CreateSection({ Name="Epic" })

function SetAllBasepartProperties (prop, value, ifobjfunc)
for _,v in pairs(game.Workspace:GetDescendants()) do
if v:IsA("BasePart") and (ifobjfunc==nil or ifobjfunc(v)) then
SetProperty(v, prop, value)
end
end
end

function RestoreAllBasepartProperties (prop)
for _,v in pairs(game.Workspace:GetDescendants()) do
if v:IsA("BasePart") then
RestoreProperty(v, prop)
end
end
end

epic:AddToggle({ Name="Neons", Key=true, Value=true, Callback=function(yes)
if yes then RestoreAllBasepartProperties("Material")
else SetAllBasepartProperties("Material", Enum.Material.Plastic, function(obj) return obj.Material==Enum.Material.Neon end)
end
end})

epic:AddToggle({ Name="Moving Parts", Key=true, Value=true, Callback=function(yes)
if yes then RestoreAllBasepartProperties("Velocity")
else SetAllBasepartProperties("Velocity", Vector3.zero)
end
end})

epic:AddSlider({ Name="Walk speed", Value=human.WalkSpeed, Min=1, Max=1000, Callback=function(v)
human.WalkSpeed = v
end})

epic:AddToggle({ Name="Aimbot / Aimlock", Key=Enum.KeyCode.Q, Value=false, Callback=function(yes)
aimbot = yes
end})
end

--[[
--
-- FLY
--
--]]

do
local useplatformstand = true
local left, right, up, down, frwd, back, x2, x4

function Fly ()
local bg = Instance.new("BodyGyro", torso)
bg.P = 9e4
bg.maxTorque = Vector3.new(9e9, 9e9, 9e9)
local bv = Instance.new("BodyVelocity", torso)
bv.maxForce = Vector3.new(9e9, 9e9, 9e9)

if useplatformstand then human.PlatformStand = true end

while flying do
local camframe = game.Workspace.CurrentCamera.CoordinateFrame
bg.cframe = camframe
bv.velocity = Vector3.zero
local markiplier = (input:IsKeyDown(x4:Get()) and 4) or (input:IsKeyDown(x2:Get()) and 2) or 1
if input:IsKeyDown(frwd:Get()) then bv.velocity += flyspeed * markiplier * camframe.LookVector end
if input:IsKeyDown(left:Get()) then bv.velocity += flyspeed * markiplier * camframe.RightVector * -1 end
if input:IsKeyDown(back:Get()) then bv.velocity += flyspeed * markiplier * camframe.LookVector * -1 end
if input:IsKeyDown(right:Get()) then bv.velocity += flyspeed * markiplier * camframe.RightVector end
if input:IsKeyDown(up:Get()) then bv.velocity += flyspeed * markiplier * Vector3.new(0,1,0) end
if input:IsKeyDown(down:Get()) then bv.velocity += flyspeed * markiplier * Vector3.new(0,-1,0) end
wait()
end

bg:Destroy()
bv:Destroy()
if useplatformstand then human.PlatformStand = false end
end

local fly = general:CreateSection({ Name="Fly" })

ui_toggle_fly = fly:AddToggle({ Name="Fly", Key=Enum.KeyCode.F, Callback=function(yes)
flying = yes
if yes then Fly() end
end, UnloadFunc = function()
flying = false
end})

fly:AddSlider({ Name="Fly Speed", Value=flyspeed, Min=1, Max=1000, Callback=function(v)
flyspeed = v
end})

fly:AddToggle({ Name="Use PlatformStand", Value=useplatformstand, Callback=function(yes)
useplatformstand = yes
end})

frwd = fly:AddKeybind({ Name="forwards", Value=Enum.KeyCode.W })
back = fly:AddKeybind({ Name="backwards", Value=Enum.KeyCode.S })
left = fly:AddKeybind({ Name="left", Value=Enum.KeyCode.A })
right = fly:AddKeybind({ Name="right", Value=Enum.KeyCode.D })
up = fly:AddKeybind({ Name="up", Value=Enum.KeyCode.Space })
down = fly:AddKeybind({ Name="down", Value=Enum.KeyCode.LeftShift })
x2 = fly:AddKeybind({ Name="2x speed (hold)", Value=Enum.KeyCode.LeftControl })
x4 = fly:AddKeybind({ Name="4x speed (hold)", Value=Enum.KeyCode.LeftAlt })
end

--[[
--
-- JAILBREAK
--
--]]

do
local jb = pepsi:CreateTab({ Name="JailBreak" })
local g = jb:CreateSection({ Name="General" })

function SetGCProperties (prop, value)
for _,v in pairs(getgc(true)) do
if type(v) == 'table' then
SetProperty(v, prop, value)
end
end
end

function RestoreGCProperties (prop)
for _,v in pairs(getgc(true)) do
if type(v) == 'table' then
RestoreProperty(v, prop)
end
end
end

g:AddToggle({ Name="Keycard", Key=true, Callback=function(yes)
if yes then
SetGCProperties("hasKey", function() return true end)
else
RestoreGCProperties("hasKey")
end
end})

g:AddToggle({ Name="No camera shake", Key=true, Callback=function(yes)
if yes then
SetGCProperties("CamShakeMagnitude", 0)
else
RestoreGCProperties("CamShakeMagnitude")
end
end})

g:AddToggle({ Name="No bullet spread", Key=true, Callback=function(yes)
if yes then
SetGCProperties("BulletSpread", 0)
else
RestoreGCProperties("BulletSpread")
end
end})
end
[ View More ]
756104ae-e4f7-4ba3-9c08-7a5d199ea55e.webp



⚡ SPONSORED BY Heapleak.com – #1 Roblox Script Community

Universal – FLY GUI AUTO FARM | March 2026

Experience the most powerful and feature-rich version of FLY GUI AUTO FARM, with advanced aimlock and auto farm capabilities.

KEY FEATURES

FLY GUI – intuitive and user-friendly interface for easy navigation
Aimlock – precise and automatic aiming system for improved accuracy
Auto Farm – automated farming feature for efficient resource collection
Filan Jailbreak – compatibility with Filan Jailbreak for enhanced functionality
NO KEY REQUIRED – instant execution, zero ads

COMPATIBILITY

💻 PC
Windows 10 / 11
✔ Supported
📱 Android
Delta / Arceus X
✔ Supported
🎮 iOS
Delta / Pallene
✔ Supported

HOW TO USE

1. Download and open your executor (Solara, Wave, Celery, etc.)
2. Attach to Roblox and open any Roblox game
3. Paste the script below and press Execute

SAFE USAGE NOTE

This script is currently UNDETECTED as of March 2026.
Always test on an alt account first. Do not use on your main account.


Want more free undetected scripts?

► Browse the Full Script Library on Heapleak
Daily drops, undetected releases and the latest free scripts – all in one place.

Looking for more free scripts? Heapleak – the biggest Roblox & gaming script hub in the community.

roblox script, roblox hack 2026, universal roblox script, roblox script any game, roblox multi game script 2026, solara roblox script, wave executor roblox, undetected roblox script march 2026

Q: Is this Universal script undetected?
A: Yes, as of March 2026.
Q: Does this script require a key?
A: No.
Q: Does this script work on mobile?
A: Yes, compatible with Android and iOS.

Link to Roblox Scripting Forum, Link to Heapleak Community Hub
 
Works on mobile
  1. Yes
Back
Top