I recently made a plugin that lets you create datastores for your game just by adding a value to a folder. Not everything is possible with this, such as level uploading or other complex datastores, but inventory systems and stat saving systems will work just fine.
This is new, and I’m still working on it. Expect bugs, and please report them if you find any. This has been tested, and I’m currently working on a game with it, but there still may be problems with it.
It’s also not super polished in terms of nice looking UI, but it still works as it should.
Get the plugin: Easy Datastore - Roblox
Instructions:
Video: How to make a DataStore Script in 5 Minutes | Roblox Studio - YouTube
Instructions
General:
Everything you need will be directly inside of the game once you have installed the plugin and relaunched studio.
The welcome badge is exactly what it sounds like, you paste the badge ID and it’ll give it to any player that joins.
The DataName value is what the datastore name is, the default is “PlayerData … EasyDataStore”.
To add a value to save, just add it to the InPlayer folder. This is what will be directly inside the player. You can also add folders to store data to make it more clean.
If you don’t want a specific value to save, whether it be in an inventory item or just something inside the player, just add a value inside of the object called “NoSave”.
Make sure to turn the “Apply” value to true after making changes
Inventory saves
To make an inventory save, add a StringValue named “IsInventory” into the folder you want to be an inventory.
Here are the possible values (This is all inside the disabled “Information” script):
Right now, you can only store tools, string/int/number/bool values, and folders as an inventory item, but that will probably expand later on.
DATA KEYS
(Taken from the disabled “Information” script)
Other:
The script it creates is inside of the folder in ServerScriptService, and it will archive your last script, but no more than that.
Again, if there’s any bugs, Please tell me! If you want something to be added, just post the suggestion in the replies and I’ll try to add it.
Plugin: Easy Datastore - Roblox
Thanks for reading, good luck developing.
Remember to hit “Apply” to get the new changes!
Changelog:
Changelog
v0.11:
- Fixed the script saving value “IsInventory” as a stat.
v0.12:
- Slightly different script structure
- BindToCloseWait value, so you can change to a higher/lower wait time.
v0.13:
- Fixed “NoSave” not working on inventory item values.
v0.14:
- Better script structure, for more efficient saving.
v0.15:
- Added AutoApply value, which detects changes made and automatically applies them. There may be bugs with it.
- Added “PrintApplyMessage” value, which you can toggle on and off, so it doesn’t say “Applied!” on the screen when you make a change. Changes will still be applied, just won’t show the text.
v0.16
- Added Color3Value being able to be saved.
- Click to see reply #12
Reply12
New update with extra value being able to be saved, the Color3Value. It can only be saved when outside of an inventory, or inside of a CloneWithValues folder/value/tool. It cannot be the value with the values inside of it, though.
Example of a hierarchy would look like this:
Inventory
->IsInventory (CloneWithValues)
→ StringValue/IntValue/NumberValue/BoolValue/Folder/Tool
→ Color3Value
→ Color3Value
→ StringValue
→ IntValue
v0.17
Added ability to have up to 10 save scripts. Information is documented in the “Information” script.
Currently Testing
- Use of multiple datastore scripts, up to 9 extra (10 total).
Planning on adding
- Optional flag for manual saves, so you can have your own autosave function, or make certain datastores save at different points in the game.
- (?) Possibly a feature that lets you archive more than your last script, something like “AmountArchived”