-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. 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 Rscripts 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 })