CooldownService - KuperStudio
A cooldown service that will make it easier for you to develop your systems, whether it’s as player skills or just a simple tool service.
What are the benefits the service gives?
-
Ease and practicality that improve your code and performance.
-
You won’t waste time writing 100 lines just for cooldowns.
-
A clean, uncluttered workspace.
Why should I use CooldownService?
CooldownService will bring you a simple and compact system to store time, thus having a better safe handling and better of that storage.
CooldownService was developed by HottylewrSlip!
HottylewrSlip
CooldownService
8 Likes
I don’t get why this is useful when you can just do
local cooldown = false
example.event:Connect(function()
if cooldown == false then
cooldown = true
--do something
wait(1)
cooldown = false
end
end)
or something like that.
I also don’t get what you mean with this:
as I doubt anyone has 100 lines of code dedicated just for cooldowns?
2 Likes
A CooldownService
of any kind is just not useful. For a task so simple, a singleton is not needed at all. You could easily make your own module in seconds.
local cooldowns = { }
function cooldowns.new(time: number)
return setmetatable({
cooldown = time;
isCompleted = false;
}, {__index = cooldowns})
end
function cooldowns:cancel()
self.isCompleted = true
setmetatable(self, nil)
end
function cooldowns:start()
task.delay(self.cooldown, function()
self.isCompleted = true
end)
end
return cooldowns
As I recall, the reason for this service was to manage a large amount of cooldowns for specific values, such as having 3 cooldowns for a single player. The service is really not very useful and clearly has several ways to do the same with very few lines of code, but I still leave the service available in case beginner developers are interested and study the system to create their own implementations and thus evolve.
2 Likes