DataPro [Version 1]

DataPro

Version: 1

DataPro is a datastore manager, it has the ability to setup datastores for you, without you having to write a single line of code and also the ability to use our modules to help you make your own datastore. DataPro was made 23/03/2020

Why would I use this?
I based this mainly for new developers who have no scripting knowledge but I also added the API so that scripters who are just not proficient with datastore or are wanting an easier way to use it can use this model.

How do I use this?
To use datapro you can either edit the settings to fit your need or you can disable the settings and use the API to make custom leaderboards with ease.
There’s documentation inside of the model. If you go into the model and just look for the documentation for whatever you are struggling with. If this gains a few people using it then I will make a full documentation and do frequent updates.

Github and Documentation Link

Roblox Link

13 Likes

Is this just as safe as DataStore2, or do we have higher risks of losing the player’s data using this?

I’ve never used datastore2 before so I can’t comment on how simmilar the two are. I’ve tried to make the data saving as risk-free as possible.
Edit1: Since it’s new I can’t be 100% if there’s a chance for data to get lost as I am the only person who has used this so far

2 Likes

DataStore2 uses berezaa’s method:

What I do and this might seem a little over-the-top but it’s fine as long as you’re not using datastores excessively elsewhere is have a datastore and an ordereddatastore for each player. When you perform a save, add a key (can be anything) with the value of os.time() to the ordereddatastore and save a key with the os.time() and the value of the player’s data to the regular datastore. Then, when loading data, get the highest number from the ordered data store (most recent save) and load the data with that as a key.

Ever since I implemented this, pretty much no one has ever lost data. There’s no caches to worry about either because you’re never overriding any keys. Plus, it has the added benefit of allowing you to restore lost data, since every save doubles as a backup which can be easily found with the ordereddatastore

edit: while there’s no official comment on this, many developers including myself have noticed really bad cache times and issues with using the same datastore keys to save data across multiple places in the same game. With this method, data is almost always instantly accessible immediately after a player teleports, making it useful for multi-place games.

Can you give us some reasons on why we should use your datastore over the others? First of all this module hasn’t been tested and it isn’t certain if it is reliable on. Secondly, I was looking at the repository and the API documentation. I didn’t see any Update function. Why is that? You should always use Update and not set. Set can overwrite data and it is not a good practice in the first place [spoiler]*here is an interesting thread I found https://devforum.roblox.com/t/stop-using-setasync-to-save-player-data/276457*[/spoiler]. Also how does this work? Seems like you just wrapped Roblox’s default datastore functions and put them inside a module. Can we get more information in this?

The module does use UpdateAsync, if you look in the “Store” Module you can see how there is an option to either forcesave (setasync) or normal save (update async), As for the testing, the reason I posted this was so people can test and give me feedback, how to improve, etc and hopefully I can make this better.
As for the “Seems like you just wrapped roblox’s datastore functions”, This system was designed to be used with the “Settings” module, It allows new scripters or people who don’t script the ability to create a leaderstats without having to write any actual code. The API is just an addon for people who may want to use the system’s saving / loading methods.
Right now this system is on version 1, in later versions I will of course try to improve on feedback.

1 Like

Oh alright. Although I appreciate the fact that you tried making it as simple as possible, if a person cannot script leaderstats then what is the point of having them because you they know how to use them. Also are there backups?

1 Like

Just a slight nitpick: your image banner says “Datatore”.

Now that the OCD in me has satiated itself, I’m so glad that community developers are creating resources like this to help newer devs getting started! I wish I’d had something like this way back when.

1 Like

Oh I never even realised that, will try to change it when I get the time.

Well, alot of people really struggle with just datastore, and no there are no backups at the moment.