Here are some utility modules i use across my games they are simple but really useful.
SeasonalEvents - lets you bind functions to certain days throughout the year allowing for automatic map changes or effects. SeasonalEvents.lua (2,3 КБ)
example usage:
SeasonalEvents.bind("Halloween", "10-25", "11-2",
function()
-- do stuff here
end
)
SubscriptionModule - easy robux based subscription system with customizable duration.
(all documentation inside of the module) SubscriptionModule.lua (4,6 КБ)
RateLimiter - simple ratelimiter based on bucket system written in OOP for better usage.
All documentation inside the script (its really easy to understand) RateLimiter.lua (1,8 КБ)
example usage:
local ServerStorage = game:GetService("ServerStorage")
local RateLimiter = require(ServerStorage.ServerModules.RateLimiter)
local buyRatelimiter = RateLimiter.new(1, 1) -- limit one per second (limit 1 window 1)
local function buyObject(player: Player, objectName: string)
if not buyRatelimiter:request(player) then return end -- use ratelimiter
--code ->
end
remote.OnServerEvent:Connect(buyObject)
ColorSequenceSerializer - easy colorsequence serializing to datastores. Really good for customization features. (Doesnt need any documentation, its elemantary) ColorSequenceSerializer.lua (1,3 КБ)
The documentation is lack luster and missing in places, alongside that the modules have weird naming conventions, like SeasonalEvents using the correct ‘newer’ style guide, however the function uses the old, and ass for the RateLimiter, it uses the ‘newer’ style guide for the module name, but does it completely wrong in everything else. And… even if a module is elemantary, documentation would still be handy.
What do you even mean by style guide (camelCase)??? im not making this so your mouth wont complain about how i name my functions and how i structure most of my code.
P.S:
The case with subribscribtion module its really old and it was written mostly by ai.
Wow, calm a bit down with that talk, I just sent criticism, that’s all.
Additionally, it doesn’t matter if a module was written with A.I. you should still write documentation if you plan to make it a community resource for consistency sakes.