
KeylessUniversal

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EquipRemote = ReplicatedStorage:WaitForChild("RemoteEvent"):WaitForChild("Equip")
local TargetBiomes = { "Mainframe", "Warp Train", "Hotland" }
--// Fluent UI
local Fluent = loadstring(game:HttpGet("https://github.com/dawid-scripts/Fluent/releases/latest/download/main.lua"))()
local Window = Fluent:CreateWindow({
Title = "Biome Auto-Cycle",
SubTitle = "by sabb",
TabWidth = 160,
Size = UDim2.fromOffset(480, 320),
Acrylic = true,
Theme = "Dark",
MinimizeKey = Enum.KeyCode.LeftControl
})
local Tabs = {
Main = Window:AddTab({ Title = "Auto Cycle", Icon = "repeat" })
}
--// State
local AutoCycleEnabled = false
local LoopRunning = false
local StatusParagraph
local function isTargetBiomeActive()
local currentBiomeFolder = workspace:FindFirstChild("CurrentBiome")
if not currentBiomeFolder then return false end
for _, biomeName in ipairs(TargetBiomes) do
if currentBiomeFolder:FindFirstChild(biomeName) then
return true, biomeName
end
end
return false
end
local function fireBrokenFragmentBanner()
local ItemNames = { "Broken Fragment of Time" }
for _, name in ipairs(ItemNames) do
local args = {
{
Description = "If I let you go here, you will never come home again.",
Type = "Weapon",
Rarity = "Banner",
Whitelist = {},
Unlockable = true,
Locked = 0,
Collect = {
{ Value = 1, Req = "Wounded Mask" },
{ Value = 200000000, Req = "EXP" },
{ Value = 2500000, Req = "Sans Kill" },
{ Value = 1000000, Req = "Shiny Sans Kill" }
},
Name = name
},
[3] = 54
}
EquipRemote:FireServer(unpack(args))
end
end
local function fireBrokenFragmentConsumable()
local args = {
{
ItemType = "Consumable",
Type = "Items",
Name = "Broken Fragment of Time",
Rarity = "Legendary",
Unlockable = true,
Purchasable = { true, 8, {2, 2}, {20, 20} },
ShowInventory = true,
Description = "Obtained with a chance of 1/30 every 15 minutes. Skip the current biome and double the duration of the next biome. (Cannot skip biome that provides more than 3x luck.)"
},
[3] = 7
}
EquipRemote:FireServer(unpack(args))
end
local function setStatus(text)
if StatusParagraph then
StatusParagraph:SetDesc(text)
end
end
--// Main loop: never stops. While target biome isn't active it fires the
--// skip sequence quickly; once it's active it just idles, re-checking
--// every 5s in case the biome changes again.
local function runLoop()
if LoopRunning then return end
LoopRunning = true
while AutoCycleEnabled do
local found, biomeName = isTargetBiomeActive()
if found then
setStatus("Target biome active: " .. biomeName .. " — idling (recheck every 5s)")
task.wait(5)
else
setStatus("Target biome not found — firing skip sequence...")
fireBrokenFragmentBanner()
task.wait(0.5)
fireBrokenFragmentConsumable()
task.wait(1.5)
end
end
LoopRunning = false
setStatus("Stopped")
end
--// UI
Tabs.Main:AddParagraph({
Title = "Target Biomes",
Content = table.concat(TargetBiomes, ", ")
})
StatusParagraph = Tabs.Main:AddParagraph({
Title = "Status",
Content = "Idle"
})
Tabs.Main:AddToggle("AutoCycleToggle", {
Title = "Auto Cycle",
Description = "Fires skip sequence until target biome, then loops forever checking every 5s",
Default = false,
Callback = function(value)
AutoCycleEnabled = value
if value then
setStatus("Starting...")
task.spawn(runLoop)
else
setStatus("Stopping...")
end
end
})
Fluent:Notify({
Title = "Biome Auto-Cycle",
Content = "Script loaded.",
Duration = 4
})No comments yet for this script.



