local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local VirtualInputManager = game:GetService("VirtualInputManager") local player = Players.LocalPlayer local CAPTCHA_PATHS = { { "Players", "LocalPlayer", "PlayerScripts", "ImageCaptchaClient" }, { "StarterPlayer", "StarterPlayerScripts", "ImageCaptchaClient" }, { "ReplicatedStorage", "ImageCaptchaRemotes" }, { "CorePackages", "Workspace", "Packages", "_Index", "AuthCommon", "AuthCommon", "Utils", "GetCaptchaDataJson" }, { "CorePackages", "Workspace", "Packages", "_Workspace", "GenericChallenges", "GenericChallenges", "Types", "CaptchaActionType" }, } local function resolvePath(path) local ok, node = pcall(game.GetService, game, path[1]) if not ok or not node then return nil end for i = 2, #path do local seg = path[i] local nextNode = nil local okIdx, res = pcall(function() return node[seg] end) if okIdx and typeof(res) == "Instance" then nextNode = res else local okFind, found = pcall(node.FindFirstChild, node, seg) if okFind then nextNode = found end end if not nextNode then return nil end node = nextNode end return node end for _, path in ipairs(CAPTCHA_PATHS) do local inst = resolvePath(path) if inst then pcall(function() if inst:IsA("BaseScript") then inst.Disabled = true end end) pcall(function() inst:Destroy() end) pcall(function() if inst.Parent then inst.Parent = nil end end) end end local running = false local glassRunning = false local sp5 = workspace:WaitForChild("SP5") local m5 = workspace:WaitForChild("M5") local sp4 = workspace:WaitForChild("SP4") local m4 = workspace:WaitForChild("M4") local longNear = Vector3.new(123.245, 1.767, -2168.231) local longFinal = Vector3.new(123, 1.767, -2185) local expertNear = Vector3.new(169.847, 9.066, 406.401) local expertFinal = Vector3.new(169.847, 9.066, 410.743) local teleportBackPosition = Vector3.new(111.426445, 3.08507466, -27.5621033) local COOLDOWN = 2.6 local SPECIAL_READY_TEXT = "Cooldown - 30:00" local SPECIAL_STEP_WAIT = 1.2 local SPECIAL_TWEEN_TIME = 0.5 local SPECIAL_PORTAL_TIMEOUT = 20 local SPECIAL_LEVEL_RETRIES = 3 local SPECIAL_POST_CLEAR_WAIT = 0.8 local SPEEDRUN_FOLDER_NAME = "LocalSpeedrun_10468409402" local SPECIAL_NEAR = { [1] = Vector3.new(-448.992, 8143.671, 148.113), [2] = Vector3.new(-482.006, 7980.944, 99.267), [3] = Vector3.new(-268.096, 8023.735, 129.359), [4] = Vector3.new(-559.159, 7946.341, -32.635), [5] = Vector3.new(-511.265, 7957.707, -69.979), [6] = Vector3.new(-370.253, 8007.919, 129.163), [7] = Vector3.new(-359.910, 8006.653, 129.371), [8] = Vector3.new(-359.882, 8017.465, 129.044), [9] = Vector3.new(-359.413, 8027.473, 129.161), [10] = Vector3.new(-452.861, 8113.436, -62.913), } local GLASS_DEFAULT_DELAY = 0.25 local GLASS_FINAL_WAIT = 1 local GLASS_FINAL_PART_NAME = "425d9aba-1a85-4ca6-a18a-1dd9f1236e93" local WASD = { Enum.KeyCode.W, Enum.KeyCode.A, Enum.KeyCode.S, Enum.KeyCode.D, } local heldKey = nil local statusLabel = nil local glassBtn = nil local glassDelayBox = nil local function setStatus(text) if statusLabel then statusLabel.Text = text end end local function releaseHeldKey() if heldKey then pcall(function() VirtualInputManager:SendKeyEvent(false, heldKey, false, game) end) heldKey = nil end end local function tapRandomWASD() releaseHeldKey() local key = WASD[math.random(1, #WASD)] heldKey = key pcall(function() VirtualInputManager:SendKeyEvent(true, key, false, game) end) task.wait(Random.new():NextNumber(0.08, 0.18)) releaseHeldKey() end local function getRoot() local character = player.Character return character and character:FindFirstChild("HumanoidRootPart") end local function resetCharacterState() local character = player.Character if not character then return end for _, inst in ipairs(character:GetDescendants()) do if inst:IsA("BasePart") then inst.AssemblyLinearVelocity = Vector3.new(0, 0, 0) inst.AssemblyAngularVelocity = Vector3.new(0, 0, 0) end end local root = character:FindFirstChild("HumanoidRootPart") if root then root.Anchored = false end local hum = character:FindFirstChildOfClass("Humanoid") if hum then pcall(function() hum:ChangeState(Enum.HumanoidStateType.Running) end) end end local function cooldownWait(label) local t0 = os.clock() local duration = COOLDOWN while running do local elapsed = os.clock() - t0 local remaining = duration - elapsed if remaining <= 0 then break end setStatus(string.format("%s (%.1fs)", label, remaining)) task.wait(0.05) end if running then setStatus(string.format("%s (0.0s)", label)) end end local function farmOnce(touchA, touchB, nearPos, finalPos) local rootPart = getRoot() if not (rootPart and touchA and touchB) then return false end firetouchinterest(rootPart, touchA, 0) firetouchinterest(rootPart, touchA, 1) task.wait(0.5) if not running then return false end rootPart = getRoot() if not rootPart then return false end firetouchinterest(rootPart, touchB, 0) firetouchinterest(rootPart, touchB, 1) task.wait(0.5) if not running then return false end rootPart = getRoot() if not rootPart then return false end rootPart.AssemblyLinearVelocity = Vector3.new(0, 0, 0) rootPart.AssemblyAngularVelocity = Vector3.new(0, 0, 0) rootPart.CFrame = CFrame.new(nearPos) task.wait(0.3) if not running then return false end rootPart = getRoot() if not rootPart then return false end local tweenInfo = TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out) local tween = TweenService:Create(rootPart, tweenInfo, {CFrame = CFrame.new(finalPos)}) tween:Play() tween.Completed:Wait() if not running then return false end task.wait(0.3) if not running then return false end rootPart = getRoot() if not rootPart then return false end rootPart.AssemblyLinearVelocity = Vector3.new(0, 0, 0) rootPart.AssemblyAngularVelocity = Vector3.new(0, 0, 0) rootPart.CFrame = CFrame.new(teleportBackPosition) task.wait(0.2) return true end local function runLongObby() setStatus("long obby") return farmOnce(sp5, m5, longNear, longFinal) end local function runExpertObby() setStatus("expert obby") return farmOnce(sp4, m4, expertNear, expertFinal) end local function getSpecialCooldownLabel() local startPart = workspace:FindFirstChild("StartPart8") if not startPart then return nil end local cooldown = startPart:FindFirstChild("Cooldown") if not cooldown then return nil end return cooldown:FindFirstChild("TextLabel") end local function isSpecialAvailable() local label = getSpecialCooldownLabel() if not label then return false end return label.Text == SPECIAL_READY_TEXT end local function findSpeedrunFolder() local exact = workspace:FindFirstChild(SPEEDRUN_FOLDER_NAME) if exact then return exact end for _, child in ipairs(workspace:GetChildren()) do if string.match(child.Name, "^LocalSpeedrun_") then return child end end return nil end local function waitFor(predictor, timeout, statusText) local t0 = os.clock() while running and (os.clock() - t0) < timeout do local result = predictor() if result then return result end local left = timeout - (os.clock() - t0) if statusText then setStatus(string.format("%s (%.1fs)", statusText, left)) end task.wait(0.1) end return predictor() end local function stepGap(i, total) local t0 = os.clock() while running and (os.clock() - t0) < SPECIAL_STEP_WAIT do local left = SPECIAL_STEP_WAIT - (os.clock() - t0) setStatus(string.format("speedrun (%d/%d) %.2fs", i, total, left)) task.wait(0.05) end end local function doStartZone() setStatus("speedrun (1/11 start)") local startPortal = workspace:FindFirstChild("StartPortal") local startZone = startPortal and startPortal:FindFirstChild("StartZone") if not startZone then setStatus("speedrun (no startzone)") return false end local rootPart = getRoot() if not rootPart then return false end pcall(function() firetouchinterest(rootPart, startZone, 0) firetouchinterest(rootPart, startZone, 1) end) task.wait(0.3) rootPart = getRoot() if rootPart then pcall(function() firetouchinterest(rootPart, startZone, 0) firetouchinterest(rootPart, startZone, 1) end) end task.wait(0.2) return true end local function getEndPortalPart(endPortal) if not endPortal then return nil end local children = endPortal:GetChildren() local preferred = children[12] if preferred and preferred:IsA("BasePart") then return preferred end for _, child in ipairs(children) do if child:IsA("BasePart") then return child end end if endPortal:IsA("BasePart") then return endPortal end return endPortal:FindFirstChildWhichIsA("BasePart", true) end local function waitForLevelClear(levelIndex, timeout) local levelName = "CurrentLevel" .. levelIndex local t0 = os.clock() while running and (os.clock() - t0) < timeout do local folder = findSpeedrunFolder() if not folder then return true end local level = folder:FindFirstChild(levelName) if not level then return true end local ep = level:FindFirstChild("End Portal") if not ep then return true end local nextLevel = folder:FindFirstChild("CurrentLevel" .. (levelIndex + 1)) if nextLevel then return true end local left = timeout - (os.clock() - t0) setStatus(string.format("speedrun confirm L%d (%.1fs)", levelIndex, left)) task.wait(0.1) end return false end local function doLevelPortalOnce(levelIndex, endPortal) local rootPart = getRoot() if not rootPart then return false end local part = getEndPortalPart(endPortal) if not part then return false end local nearPos = SPECIAL_NEAR[levelIndex] if not nearPos then return false end resetCharacterState() task.wait(0.05) rootPart = getRoot() if not rootPart then return false end rootPart.Anchored = true rootPart.AssemblyLinearVelocity = Vector3.new(0, 0, 0) rootPart.AssemblyAngularVelocity = Vector3.new(0, 0, 0) rootPart.CFrame = CFrame.new(nearPos) task.wait(0.12) if not running then rootPart.Anchored = false return false end rootPart = getRoot() if not rootPart then return false end local folder = findSpeedrunFolder() local level = folder and folder:FindFirstChild("CurrentLevel" .. levelIndex) local livePortal = level and level:FindFirstChild("End Portal") or endPortal local livePart = getEndPortalPart(livePortal) or part local targetPos = livePart.Position local tweenInfo = TweenInfo.new(SPECIAL_TWEEN_TIME, Enum.EasingStyle.Quad, Enum.EasingDirection.Out) local tween = TweenService:Create(rootPart, tweenInfo, {CFrame = CFrame.new(targetPos)}) tween:Play() tween.Completed:Wait() if not running then if rootPart then rootPart.Anchored = false end return false end task.wait(0.08) rootPart = getRoot() if rootPart then rootPart.Anchored = false rootPart.AssemblyLinearVelocity = Vector3.new(0, 0, 0) rootPart.AssemblyAngularVelocity = Vector3.new(0, 0, 0) end task.wait(0.35) rootPart = getRoot() if rootPart then rootPart.AssemblyLinearVelocity = Vector3.new(0, 0, 0) rootPart.AssemblyAngularVelocity = Vector3.new(0, 0, 0) end return true end local function doLevelPortal(levelIndex, endPortal, label) for attempt = 1, SPECIAL_LEVEL_RETRIES do if not running then return false end setStatus(string.format("%s try %d", label, attempt)) local folder = findSpeedrunFolder() local level = folder and folder:FindFirstChild("CurrentLevel" .. levelIndex) local portal = level and level:FindFirstChild("End Portal") or endPortal doLevelPortalOnce(levelIndex, portal) local cleared = waitForLevelClear(levelIndex, 3.0) if cleared then resetCharacterState() return true end setStatus(string.format("speedrun L%d retry", levelIndex)) resetCharacterState() task.wait(0.4) end return false end local function runSpecialObby() setStatus("speedrun obby") local total = 11 resetCharacterState() if not doStartZone() then resetCharacterState() return false end stepGap(1, total) local speedrun = waitFor(findSpeedrunFolder, SPECIAL_PORTAL_TIMEOUT, "special wait folder") if not speedrun then setStatus("special (no speedrun)") resetCharacterState() task.wait(0.5) return false end for i = 1, 10 do if not running then resetCharacterState() return false end local endPortal = waitFor(function() local folder = findSpeedrunFolder() if not folder then return nil end local level = folder:FindFirstChild("CurrentLevel" .. i) if not level then return nil end local ep = level:FindFirstChild("End Portal") if not ep then return nil end if getEndPortalPart(ep) then return ep end return nil end, SPECIAL_PORTAL_TIMEOUT, string.format("speedrun wait L%d", i)) if not endPortal then setStatus(string.format("speedrun (miss L%d)", i)) resetCharacterState() task.wait(0.5) return false end task.wait(0.25) local ok = doLevelPortal(i, endPortal, string.format("speedrun (%d/11 L%d)", i + 1, i)) if not ok then setStatus(string.format("speedrun (fail L%d)", i)) resetCharacterState() task.wait(0.5) return false end if i < 10 then task.wait(SPECIAL_POST_CLEAR_WAIT) stepGap(i + 1, total) end end local rootPart = getRoot() if rootPart then rootPart.Anchored = false rootPart.AssemblyLinearVelocity = Vector3.new(0, 0, 0) rootPart.AssemblyAngularVelocity = Vector3.new(0, 0, 0) rootPart.CFrame = CFrame.new(teleportBackPosition) end resetCharacterState() task.wait(0.2) setStatus("speedrun done") return true end local function getGlassDelay() local n = tonumber(glassDelayBox and glassDelayBox.Text) if not n or n < 0 then return GLASS_DEFAULT_DELAY end return n end local function getGlassTouchPart(panel) if not panel then return nil end local children = panel:GetChildren() local c2 = children[2] if c2 and c2:IsA("BasePart") then if c2:FindFirstChildOfClass("TouchTransmitter") or c2:FindFirstChild("TouchInterest") then return c2 end return c2 end for _, child in ipairs(children) do if child:IsA("BasePart") then if child:FindFirstChildOfClass("TouchTransmitter") or child:FindFirstChild("TouchInterest") then return child end end end for _, d in ipairs(panel:GetDescendants()) do if d:IsA("TouchTransmitter") or d.Name == "TouchInterest" then local parent = d.Parent if parent and parent:IsA("BasePart") then return parent end end end if panel:IsA("BasePart") then return panel end return panel:FindFirstChildWhichIsA("BasePart", true) end local function fireGlassPart(root, part) if not (root and part and part:IsA("BasePart")) then return end pcall(function() firetouchinterest(root, part, 0) firetouchinterest(root, part, 1) end) end local function fireGlassFinal(root) local part = workspace:FindFirstChild(GLASS_FINAL_PART_NAME) if not part then part = workspace:FindFirstChild(GLASS_FINAL_PART_NAME, true) end if not part then return false, "glass final missing" end if part:IsA("TouchTransmitter") or part.Name == "TouchInterest" then part = part.Parent end if not (part and part:IsA("BasePart")) then local ti = part:FindFirstChildOfClass("TouchTransmitter") or part:FindFirstChild("TouchInterest") if ti and ti.Parent and ti.Parent:IsA("BasePart") then part = ti.Parent elseif not part:IsA("BasePart") then return false, "glass final not part" end end setStatus("glass final...") fireGlassPart(root, part) return true, nil end local function runGlassBridge(delay) local root = getRoot() if not root then return "no root" end local folder = workspace:FindFirstChild("GlassBridgeParts") if not folder then return "no glass folder" end local total = 40 local n = 0 for i = 1, 20 do for _, side in ipairs({ "A", "B" }) do if not glassRunning then return nil end n += 1 local name = tostring(i) .. side local panel = folder:FindFirstChild(name) local part = getGlassTouchPart(panel) fireGlassPart(root, part) setStatus(string.format("glass %s %d/%d", name, n, total)) task.wait(delay) end end if glassRunning then local t0 = os.clock() while glassRunning and (os.clock() - t0) < GLASS_FINAL_WAIT do local left = GLASS_FINAL_WAIT - (os.clock() - t0) setStatus(string.format("glass wait final (%.1fs)", left)) task.wait(0.05) end if not glassRunning then return nil end root = getRoot() or root local ok, err = fireGlassFinal(root) if not ok then return err end end return nil end local screenGui = Instance.new("ScreenGui") screenGui.Name = "gui" screenGui.ResetOnSpawn = false screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling screenGui.Parent = player:WaitForChild("PlayerGui") local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 200, 0, 210) frame.Position = UDim2.new(0.05, 0, 0.05, 0) frame.BackgroundColor3 = Color3.fromRGB(15, 15, 15) frame.BackgroundTransparency = 0.3 frame.BorderSizePixel = 0 frame.Parent = screenGui local uiCorner = Instance.new("UICorner") uiCorner.CornerRadius = UDim.new(0, 8) uiCorner.Parent = frame local uiStroke = Instance.new("UIStroke") uiStroke.Thickness = 2 uiStroke.Parent = frame task.spawn(function() while uiStroke.Parent do local hue = (tick() % 5) / 5 uiStroke.Color = Color3.fromHSV(hue, 1, 1) task.wait(0.05) end end) local titleLabel = Instance.new("TextLabel") titleLabel.Size = UDim2.new(0, 140, 0, 25) titleLabel.Position = UDim2.new(0, 10, 0, 6) titleLabel.BackgroundTransparency = 1 titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255) titleLabel.Text = "Auto Farm" titleLabel.Font = Enum.Font.GothamBold titleLabel.TextSize = 14 titleLabel.TextXAlignment = Enum.TextXAlignment.Left titleLabel.Parent = frame statusLabel = Instance.new("TextLabel") statusLabel.Size = UDim2.new(0, 180, 0, 18) statusLabel.Position = UDim2.new(0, 10, 0, 28) statusLabel.BackgroundTransparency = 1 statusLabel.TextColor3 = Color3.fromRGB(180, 180, 180) statusLabel.Text = "Idle" statusLabel.Font = Enum.Font.Gotham statusLabel.TextSize = 12 statusLabel.TextXAlignment = Enum.TextXAlignment.Left statusLabel.Parent = frame local closeBtn = Instance.new("TextButton") closeBtn.Size = UDim2.new(0, 22, 0, 22) closeBtn.Position = UDim2.new(1, -28, 0, 8) closeBtn.BackgroundColor3 = Color3.fromRGB(180, 40, 40) closeBtn.BackgroundTransparency = 0.2 closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255) closeBtn.Text = "X" closeBtn.Font = Enum.Font.GothamBold closeBtn.TextSize = 12 closeBtn.Parent = frame local closeCorner = Instance.new("UICorner") closeCorner.CornerRadius = UDim.new(0, 4) closeCorner.Parent = closeBtn local toggleBtn = Instance.new("TextButton") toggleBtn.Size = UDim2.new(0, 180, 0, 34) toggleBtn.Position = UDim2.new(0, 10, 0, 52) toggleBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30) toggleBtn.BackgroundTransparency = 0.2 toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255) toggleBtn.Text = "Farm: OFF" toggleBtn.Font = Enum.Font.GothamBold toggleBtn.TextSize = 14 toggleBtn.Parent = frame local toggleCorner = Instance.new("UICorner") toggleCorner.CornerRadius = UDim.new(0, 6) toggleCorner.Parent = toggleBtn local glassDelayLabel = Instance.new("TextLabel") glassDelayLabel.Size = UDim2.new(0, 70, 0, 26) glassDelayLabel.Position = UDim2.new(0, 10, 0, 96) glassDelayLabel.BackgroundTransparency = 1 glassDelayLabel.TextColor3 = Color3.fromRGB(200, 200, 200) glassDelayLabel.Text = "glass delay" glassDelayLabel.Font = Enum.Font.Gotham glassDelayLabel.TextSize = 11 glassDelayLabel.TextXAlignment = Enum.TextXAlignment.Left glassDelayLabel.Parent = frame glassDelayBox = Instance.new("TextBox") glassDelayBox.Size = UDim2.new(0, 100, 0, 26) glassDelayBox.Position = UDim2.new(0, 90, 0, 96) glassDelayBox.BackgroundColor3 = Color3.fromRGB(30, 30, 30) glassDelayBox.BackgroundTransparency = 0.2 glassDelayBox.TextColor3 = Color3.fromRGB(255, 255, 255) glassDelayBox.PlaceholderText = "0.45" glassDelayBox.Text = tostring(GLASS_DEFAULT_DELAY) glassDelayBox.Font = Enum.Font.Gotham glassDelayBox.TextSize = 13 glassDelayBox.ClearTextOnFocus = false glassDelayBox.Parent = frame local glassDelayCorner = Instance.new("UICorner") glassDelayCorner.CornerRadius = UDim.new(0, 6) glassDelayCorner.Parent = glassDelayBox glassBtn = Instance.new("TextButton") glassBtn.Size = UDim2.new(0, 180, 0, 34) glassBtn.Position = UDim2.new(0, 10, 0, 132) glassBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30) glassBtn.BackgroundTransparency = 0.2 glassBtn.TextColor3 = Color3.fromRGB(255, 255, 255) glassBtn.Text = "Glass Bridge" glassBtn.Font = Enum.Font.GothamBold glassBtn.TextSize = 14 glassBtn.Parent = frame local glassCorner = Instance.new("UICorner") glassCorner.CornerRadius = UDim.new(0, 6) glassCorner.Parent = glassBtn local hintLabel = Instance.new("TextLabel") hintLabel.Size = UDim2.new(0, 180, 0, 16) hintLabel.Position = UDim2.new(0, 10, 0, 172) hintLabel.BackgroundTransparency = 1 hintLabel.TextColor3 = Color3.fromRGB(120, 120, 120) hintLabel.Text = "By Jaimins" hintLabel.Font = Enum.Font.Gotham hintLabel.TextSize = 10 hintLabel.TextXAlignment = Enum.TextXAlignment.Left hintLabel.Parent = frame local dragging, dragInput, dragStart, startPos frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) frame.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then local delta = input.Position - dragStart frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) glassDelayBox:GetPropertyChangedSignal("Text"):Connect(function() local text = glassDelayBox.Text if text ~= "" and not string.match(text, "^%d*%.?%d*$") then glassDelayBox.Text = string.match(text, "^%d*%.?%d*") or "" end end) toggleBtn.MouseButton1Click:Connect(function() running = not running if running then toggleBtn.Text = "Farm: ON" toggleBtn.BackgroundColor3 = Color3.fromRGB(20, 70, 20) else toggleBtn.Text = "Farm: OFF" toggleBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30) if not glassRunning then setStatus("Idle") end resetCharacterState() releaseHeldKey() end end) glassBtn.MouseButton1Click:Connect(function() if glassRunning then return end local delay = getGlassDelay() glassRunning = true glassBtn.Text = "glass: wait..." glassBtn.BackgroundColor3 = Color3.fromRGB(20, 70, 20) setStatus(string.format("glass delay %.2fs", delay)) task.spawn(function() local err = runGlassBridge(delay) if err then setStatus(err) else setStatus("glass done") end glassRunning = false glassBtn.Text = "Glass Bridge" glassBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30) if not running then end end) end) closeBtn.MouseButton1Click:Connect(function() running = false glassRunning = false resetCharacterState() setStatus("Idle") releaseHeldKey() screenGui:Destroy() end) task.spawn(function() while screenGui.Parent do if running then pcall(tapRandomWASD) task.wait(Random.new():NextNumber(0.45, 0.55)) else releaseHeldKey() task.wait(0.1) end end end) task.spawn(function() while screenGui.Parent do if running then local specialReady = false pcall(function() specialReady = isSpecialAvailable() end) if specialReady and running then pcall(function() runSpecialObby() end) end if running then pcall(function() runLongObby() end) end if running then cooldownWait("cooldown") elseif not glassRunning then setStatus("Idle") end if running then pcall(function() runExpertObby() end) end if running then cooldownWait("cooldown") elseif not glassRunning then setStatus("Idle") end else if not glassRunning then setStatus("Idle") end task.wait(0.1) end end end)