ActivityPlus - Base Level Activity Tracking

ActivityPlus


As a developer there isn’t many resources to track game activity on a day to day level for some of my smaller games.

Most of the activity tracking modules aren’t really lighweight and on a core extendible level and I was fed up of generally making these repeatedly for different games, so I came up with a solution.

The module attached to this post is very minimal and is not intended for large scale games due to the 4mb limit on datastore keys, but for smaller games, this just might be a godsend.

I made this have easy integration with roblox open cloud so developers can access their activity analytics easily without having to run through stupid data/data encryption.

Do note, this module hasn’t been properly tested and I whipped it up in about 10 minutes so if there are any issues I won’t be actively looking to fix them, that’s on you :frowning:

Each key in the datastore is saved as the day format, e.g… 04/21/2023 which can be accessed using the following function: DateTime.now():FormatLocalTime("L", "en-us"), ActivityPlus will automatically load todays data into the game, and if any players have left and rejoined it will stack their total time ingame- even if it’s a new server!

Caution:

All data is saved on BindToClose so ensure the example below is ran correctly

Usage Example:

local ActivityPlus = require(game.ReplicatedStorage.ActivityPlus)

local ActivityConstructor = ActivityPlus.new({
	DatabaseName = "ActivityPlus_001"
})

ActivityConstructor:Start()

game:BindToClose(function()
	if ActivityConstructor.Enabled then
		return ActivityConstructor:Destroy()
	end
end)

Functions and other stuff:

ActivityConstructor:GetPlayerCacheSetup(Player: Player)
> Returns cached data.
ActivityConstructor:Start()
> Starts tracking activity.
ActivityConstructor:Stop()
> Stops tracking activity.
ActivityConstructor:Destroy()
> Destroys the ActivityConstructor and saves all data.
> WARNING: This should only be used at the end of server life as to prevent DS spam.

Disclaimer:

This module is very extendible and is built to be that way, please do note these are core functions and nothing aesthetical is presented via the module.


https://create.roblox.com/marketplace/asset/13205107011/ActivityPlus

the button isn’t working on me, can you add link?

1 Like

https://create.roblox.com/marketplace/asset/13205107011/ActivityPlus