This is an updated version of profile service. I made a new script that uses the profile service module and made it way easier to add and edit stats. All you need to do is add any type of value to the stats folder. It will automatically create a stat for it.
To edit a players stats follow this model:
`local player = (whoever your player is)
player.Stats.(stat you want to change).Value = (new value)`
The data will automaticly save.
To manually save or load a players data, use the Update functions below the script.
From another server script, you can do: game.ServerScriptService.StatsManager.UpdateStat:Fire(player instance to update) game.ServerScriptService.StatsManager.UpdateStore:Fire(player instance to update)
the whole point of profileservice is to protect the stuff from exploiters, you just added a way for exploiters to give them selfs any thing saved their profile
But seriously if this isn’t server side only exploiters can just send anything to your module and have server access, giving them both read and write access.
I honestly agree with everyone else. All you’re doing is fixing a problem that never existed, and doing it in a poor way might I add.
Why do you need to use events for something entirely server-sided? If anything just make your manager a module script and have functions to replace these events.
Why do you need a separate manager for something that usually only takes up one function in most use-cases?
What other flexibility does this give you that a simple update function whenever you modify a player’s profile give you?
I respect your want to contribute resources to other developers, but you’re doing the same as selling fish to a fisherman. Anyone with enough knowledge to use profileservice will also have the ability to neatly wrap this entire manager into one update function.
If the main point of this manager is also to make profileservice easier to interface with, it’s poorly executed. Profileservice was already designed to be insanely easy to interface with. Literally copy and paste the code snippet from the documentation and then it’s just basic table manipulation.
This manager also has one major flaw if the goal is just to improve interfacing: With this implementation, you can not have nested tables within your datastores, making datastores unorganized, less readable, and less versatile.
If you address these issue then maybe I could see a beginner who just needs a quick datastore can find some use out of it, however for anyone else this is simply unnecessary.