M
Description
Open source and keyless Fluent ui oeky
GAMEWHO FARTED?
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 ]]
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local LocalPlayer = Players.LocalPlayer
local Fluent = loadstring(game:HttpGet(
"https://github.com/dawid-scripts/Fluent/releases/latest/download/main.lua"
))()
local Window = Fluent:CreateWindow({
Title = "Kyelisz",
SubTitle = "Farter ESP",
TabWidth = 160,
Size = UDim2.fromOffset(580, 460),
Acrylic = false,
Theme = "Aqua",
MinimizeKey = Enum.KeyCode.LeftControl
})
--==================================================
-- SHARED
--==================================================
local function getRoot()
local character = LocalPlayer.Character
if not character then
return nil
end
return character:FindFirstChild("HumanoidRootPart")
end
--==================================================
-- MAIN TAB
--==================================================
local MainTab = Window:AddTab({
Title = "Main",
Icon = "zap"
})
--==================================================
-- FARTER ESP
--==================================================
local ESPEnabled = false
local ESPName = "KyeliszFarterESP"
local function removeESP(player)
local character = player.Character
if not character then
return
end
local esp = character:FindFirstChild(ESPName)
if esp then
esp:Destroy()
end
end
local function updatePlayer(player)
if not ESPEnabled then
removeESP(player)
return
end
local character = player.Character
if not character then
return
end
local role = player:FindFirstChild("Role")
if not role then
removeESP(player)
return
end
if tostring(role.Value) == "Farter" then
local esp = character:FindFirstChild(ESPName)
if not esp then
esp = Instance.new("Highlight")
esp.Name = ESPName
esp.FillColor = Color3.fromRGB(255, 0, 0)
esp.OutlineColor = Color3.fromRGB(255, 255, 255)
esp.FillTransparency = 0.35
esp.OutlineTransparency = 0
esp.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
esp.Parent = character
end
else
removeESP(player)
end
end
local function removeAllESP()
for _, player in ipairs(Players:GetPlayers()) do
removeESP(player)
end
end
local function setupPlayer(player)
player.CharacterAdded:Connect(function()
task.wait(0.2)
updatePlayer(player)
end)
player.ChildAdded:Connect(function(child)
if child.Name == "Role" then
child:GetPropertyChangedSignal("Value"):Connect(function()
updatePlayer(player)
end)
updatePlayer(player)
end
end)
local role = player:FindFirstChild("Role")
if role then
role:GetPropertyChangedSignal("Value"):Connect(function()
updatePlayer(player)
end)
end
if player.Character then
updatePlayer(player)
end
end
for _, player in ipairs(Players:GetPlayers()) do
setupPlayer(player)
end
Players.PlayerAdded:Connect(setupPlayer)
Players.PlayerRemoving:Connect(function(player)
removeESP(player)
end)
task.spawn(function()
while task.wait(0.5) do
if ESPEnabled then
for _, player in ipairs(Players:GetPlayers()) do
updatePlayer(player)
end
end
end
end)
--==================================================
-- AUTO WIN
--==================================================
local AutoWinEnabled = false
local WinPlatform = nil
local OriginalCFrame = nil
local function createWinPlatform()
if WinPlatform then
WinPlatform:Destroy()
end
local root = getRoot()
if not root then
return
end
WinPlatform = Instance.new("Part")
WinPlatform.Name = "KyeliszAutoWinPlatform"
WinPlatform.Size = Vector3.new(25, 1, 25)
WinPlatform.Anchored = true
WinPlatform.CanCollide = true
WinPlatform.Transparency = 0.15
WinPlatform.Material = Enum.Material.Neon
WinPlatform.CFrame = CFrame.new(
root.Position + Vector3.new(0, 500, 0)
)
WinPlatform.Parent = workspace
root.CFrame = WinPlatform.CFrame + Vector3.new(0, 4, 0)
end
local function enableAutoWin()
local root = getRoot()
if not root then
return
end
OriginalCFrame = root.CFrame
AutoWinEnabled = true
createWinPlatform()
end
local function disableAutoWin()
AutoWinEnabled = false
local root = getRoot()
if root and OriginalCFrame then
root.CFrame = OriginalCFrame
end
OriginalCFrame = nil
if WinPlatform then
WinPlatform:Destroy()
WinPlatform = nil
end
end
--==================================================
-- NORMAL AUTO COINS
--==================================================
local AutoCoinsEnabled = false
local CoinSpeed = 70
local function getCoinPosition(coin)
if coin:IsA("BasePart") then
return coin.Position
end
if coin:IsA("Attachment") then
return coin.WorldPosition
end
if coin:IsA("Model") then
local part =
coin.PrimaryPart
or coin:FindFirstChildWhichIsA("BasePart", true)
if part then
return part.Position
end
end
return nil
end
local function getCoins()
local folder = workspace:FindFirstChild("ClientAdornments")
if not folder then
return {}
end
local coins = {}
for _, object in ipairs(folder:GetDescendants()) do
if object.Name == "MapCoin" then
local position = getCoinPosition(object)
if position then
table.insert(coins, {
Object = object,
Position = position
})
end
end
end
return coins
end
local function glideTo(position)
local root = getRoot()
if not root then
return false
end
local distance = (root.Position - position).Magnitude
local duration = math.max(distance / CoinSpeed, 0.15)
local tween = TweenService:Create(
root,
TweenInfo.new(
duration,
Enum.EasingStyle.Linear,
Enum.EasingDirection.InOut
),
{
CFrame = CFrame.new(position + Vector3.new(0, 2.5, 0))
}
)
tween:Play()
while tween.PlaybackState == Enum.PlaybackState.Playing do
if not AutoCoinsEnabled then
tween:Cancel()
return false
end
task.wait()
end
return true
end
task.spawn(function()
while task.wait(0.15) do
if AutoCoinsEnabled then
local coins = getCoins()
for _, coin in ipairs(coins) do
if not AutoCoinsEnabled then
break
end
if coin.Object and coin.Object.Parent then
glideTo(coin.Position)
task.wait(0.05)
end
end
end
end
end)
--==================================================
-- AUTO COINS + AUTO WIN
--==================================================
local AutoCoinsWinEnabled = false
local MAP_Y = 51
local CombinedSpeed = 70
local SafePlatform = nil
local SafePlatformPosition = nil
local function destroySafePlatform()
if SafePlatform then
SafePlatform:Destroy()
SafePlatform = nil
end
SafePlatformPosition = nil
end
local function createSafePlatform()
if SafePlatform then
return
end
local root = getRoot()
if not root then
return
end
-- Keep the same X/Z position, but put the platform at Y = 51.
SafePlatformPosition = Vector3.new(
root.Position.X,
MAP_Y,
root.Position.Z
)
SafePlatform = Instance.new("Part")
SafePlatform.Name = "KyeliszCoinFinishedPlatform"
SafePlatform.Size = Vector3.new(12, 1, 12)
SafePlatform.Anchored = true
SafePlatform.CanCollide = true
SafePlatform.Transparency = 0.15
SafePlatform.Material = Enum.Material.Neon
SafePlatform.CFrame = CFrame.new(SafePlatformPosition)
SafePlatform.Parent = workspace
-- Stand on the platform.
root.CFrame = CFrame.new(
SafePlatformPosition + Vector3.new(0, 3, 0)
)
end
local function glideToCFrame(targetCFrame, speed)
local root = getRoot()
if not root then
return false
end
local distance = (root.Position - targetCFrame.Position).Magnitude
local duration = math.max(distance / speed, 0.1)
local tween = TweenService:Create(
root,
TweenInfo.new(
duration,
Enum.EasingStyle.Linear,
Enum.EasingDirection.InOut
),
{
CFrame = targetCFrame
}
)
tween:Play()
while tween.PlaybackState == Enum.PlaybackState.Playing do
if not AutoCoinsWinEnabled then
tween:Cancel()
return false
end
task.wait()
end
return true
end
local function collectCoinFromY51(position)
local root = getRoot()
if not root then
return false
end
-- Stay exactly at Y = 51 while travelling horizontally.
local horizontalTarget = Vector3.new(
position.X,
MAP_Y,
position.Z
)
if not glideToCFrame(
CFrame.new(horizontalTarget),
CombinedSpeed
) then
return false
end
-- Drop down to the coin.
local coinTarget = Vector3.new(
position.X,
position.Y + 2.5,
position.Z
)
if not glideToCFrame(
CFrame.new(coinTarget),
CombinedSpeed
) then
return false
end
task.wait(0.08)
-- Return straight back up to Y = 51.
if not glideToCFrame(
CFrame.new(horizontalTarget),
CombinedSpeed
) then
return false
end
return true
end
task.spawn(function()
while task.wait(0.15) do
if AutoCoinsWinEnabled then
local coins = getCoins()
--==================================================
-- COINS STILL EXIST
--==================================================
if #coins > 0 then
-- Remove the finished platform if a new coin appears.
destroySafePlatform()
for _, coin in ipairs(coins) do
if not AutoCoinsWinEnabled then
break
end
if coin.Object and coin.Object.Parent then
collectCoinFromY51(coin.Position)
task.wait(0.05)
end
end
--==================================================
-- NO COINS LEFT
--==================================================
else
-- Create a platform at Y = 51
-- and keep the player there.
createSafePlatform()
local root = getRoot()
if root and SafePlatformPosition then
local target = Vector3.new(
SafePlatformPosition.X,
MAP_Y + 3,
SafePlatformPosition.Z
)
-- Keep the player standing on the platform.
if (root.Position - target).Magnitude > 2 then
root.CFrame = CFrame.new(target)
end
end
task.wait(0.5)
end
end
end
end)
--==================================================
-- MAIN CONTROLS
--==================================================
MainTab:AddToggle("FarterESP", {
Title = "Farter ESP",
Description = "Highlights players whose Role is Farter",
Default = false,
Callback = function(Value)
ESPEnabled = Value
if not Value then
removeAllESP()
else
for _, player in ipairs(Players:GetPlayers()) do
updatePlayer(player)
end
end
end
})
MainTab:AddToggle("AutoWin", {
Title = "Auto Win",
Description = "Creates a high platform and teleports you onto it",
Default = false,
Callback = function(Value)
if Value then
enableAutoWin()
else
disableAutoWin()
end
end
})
MainTab:AddToggle("AutoCoins", {
Title = "Auto Coins",
Description = "Glides through every MapCoin",
Default = false,
Callback = function(Value)
AutoCoinsEnabled = Value
end
})
MainTab:AddToggle("AutoCoinsWin", {
Title = "Auto Coins + Auto Win",
Description = "Stay at Y 51, drop to coins, return to Y 51, then wait on a platform",
Default = false,
Callback = function(Value)
AutoCoinsWinEnabled = Value
if not Value then
destroySafePlatform()
end
end
})
--==================================================
-- TELEPORT TAB
--==================================================
local TeleportTab = Window:AddTab({
Title = "Teleport",
Icon = "map"
})
TeleportTab:AddButton({
Title = "Teleport to Map",
Description = "Teleport to a random part of the current map",
Callback = function()
local root = getRoot()
if not root then
return
end
local currentMap = workspace:FindFirstChild("CurrentMap")
if not currentMap then
Fluent:Notify({
Title = "Teleport",
Content = "CurrentMap was not found.",
Duration = 3
})
return
end
-- CurrentMap has exactly ONE child.
local children = currentMap:GetChildren()
local mapFolder = children[1]
if not mapFolder then
Fluent:Notify({
Title = "Teleport",
Content = "No map was found inside CurrentMap.",
Duration = 3
})
return
end
local parts = {}
for _, object in ipairs(mapFolder:GetDescendants()) do
if object:IsA("BasePart") then
table.insert(parts, object)
end
end
if #parts == 0 then
Fluent:Notify({
Title = "Teleport",
Content = "No parts found inside the current map.",
Duration = 3
})
return
end
local randomPart = parts[math.random(1, #parts)]
root.CFrame = randomPart.CFrame + Vector3.new(0, 4, 0)
Fluent:Notify({
Title = "Teleport",
Content = "Teleported to random map part.",
Duration = 2
})
end
})
--==================================================
-- START
--==================================================
Window:SelectTab(1)
Fluent:Notify({
Title = "Kyelisz",
Content = "Script loaded.",
Duration = 3
})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