Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
--[[ Basic Task Manager by darraghd493 A basic Roblox task manager. ]] local Library = { ActiveTasks = {}; } Library.__index = Library --#region Internal Functions local function _removeTask(handle) for i, task in ipairs(Library.ActiveTasks) do if task == handle then table.remove(Library.ActiveTasks, i) return end end end --#endregion function Library.new() local self = setmetatable({ ActiveTasks = {}; }, Library) return self end function Library:Spawn(func: (cancelled: () -> boolean) -> ()) local handle = { Running = true, Completed = false, Cancelled = false, } handle.Cancel = function(self) self.Cancelled = true self.Running = false end handle.IsRunning = function(self) return self.Running end task.spawn(function() local ok, err = pcall(function() func(function() return handle.Cancelled end) end) if not ok then error("Task error:", err) end handle.Completed = true handle.Running = false _removeTask(handle) end) table.insert(Library.ActiveTasks, handle) return handle end function Library:Delay(seconds: number, func: () -> ()) return self:Spawn(function(cancelled) local elapsed = 0 while elapsed < seconds do if cancelled() then return end task.wait(0.1) elapsed += 0.1 end if not cancelled() then func() end end) end function Library:Shutdown() for _, handle in ipairs(self.ActiveTasks) do handle:Cancel() end table.clear(self.ActiveTasks) end function Library:Count() return #self.ActiveTasks end return Library
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)