DataStore Editor V3

If you have it for free or the original 15 R$, consider it an early access gift :slight_smile:

7 Likes

Don’t know if you happened to see this since you asked. I made it a few days later. Editing DataStore2 Data with the Updated DataStore Editor Plugin

1 Like

Is there a reason why we can’t save numbers as strings?
When you add quotes, EX: “2” - plugin turns it into "“2"” (also it’s not just visual glitch).
Of course, it’s not a big deal because you can just save it as number and format it to the string after you get the data from datastore but I think current functionality was not intended or wanted.

2 Likes

This is really modern! I love it! Haven’t noticed a bug yet!


Datastore 2 was perfect, but this is Perfecter!
Nice job! Love that it no longer takes up the screen!

My only suggestion is to make the window smaller so it can fit in my properties and Load Character widget.
image image

2 Likes

Hey, sleitnick, sorry to bother you. I’ve been a user of DS Editor for almost a year now, and I really loved V3 when it first released because it fixed my only major complaint of DS Editor V2. The issue was that deleting keys would never actually save. This issue was fixed with the first release of V3, but on the latest version, saving DataStores just refuses to save. I was wondering if anything was changed or if there are any tips or advice you could give.

Edit: This is the warning I get when saving the DataStore, it’s the same as V2.
image

Thank you,
Eniiqz.

1 Like

This looks really cool, but I wouldn’t be comfortable buying it without knowing for sure I would use it and become a dev that produces their own game, but that creates a loophole because I can’t do datastores on my own so it puts me off from wanting to be a full dev, so I’m kind of trapped. Really cool and useful looking plugin though.

1 Like

It’s very clean and useful plugin, I would recommend for later usage, since you never know when the price might go up :wink:

1 Like

So I’m not sure if this is me messing up but, when I enter my datastore name and then my user id nothing shows up, it just says create data.

1 Like

Are you sure you’re inputting the correct name, scope, and key? If you have a snippet of code where the data is being created, feel free to share.

1 Like

Uhm, this is the code im using.

StatsInfo = {
	
	
	
	{Name = 'Money', Start = 1000, Max = 50000000000, Type = 'DoubleConstrainedValue'},
	
}


Data = game:GetService'DataStoreService':GetDataStore'PlayerData'

game.Players.ChildAdded:connect(function(p)
	local stats = Instance.new('Folder', p)
	stats.Name = 'leaderstats'
	for _,v in pairs(StatsInfo) do
		local value = Instance.new(v.Type, stats)
		value.Name = v.Name
		if v.Max then
			value.MaxValue = v.Max
		end
		if v.Min then
			value.MinValue = v.Min
		end
		if v.Start then
			value.Value = v.Start
		end
	end
	local data = Data:GetAsync('Save_'..p.userId)
	if data then
		for i,v in pairs(data) do
			if stats:FindFirstChild(v.name) then
				stats[v.name].Value = v.value
			end
		end
		print(p.Name.."'s data has been loaded.")
	end
end)

game.Players.PlayerRemoving:connect(function(p)
	local ls = p:FindFirstChild'leaderstats'
	if ls then
		local DataToSave = {}
		for i,v in pairs(ls:GetChildren()) do
			table.insert(DataToSave, {name = v.Name, value = v.Value})
		end
		pcall(function()
			Data:SetAsync('Save_'..p.userId, DataToSave) 
			print(p.Name.."'s data has been saved.")    
		end)
	end
end)

game.OnClose = function()
	wait(3)
end

Hey Sleitnick,

I’m developing a large game that’s going to come out soon and was having slight issues with the data that I stored, and I came across your plugin and it helped me fix my issue in seconds! It has the ability to easily work with values, helping in so many aspects from changing bans to editing DataStore errors you commit. I just recently tried it out and it’s great! Personally, for everyone wanting this for free, I feel that the price should be somewhere from R$500 - R$1,000. I think this is amazing! Keep up the great work!

Thank you,
Developer Shadow

1 Like

I think this DataStore Editor is revolutionary! I think it’s gonna help a lot of developers out and I also think it will be even better than the original! I’d say you guys did great on this one by looking at the scripts.

1 Like

Is there any way to edit the GlobalDataStore with this plugin? I have some data that I don’t need multiple keys for, so I’ve stored them in the GlobalDataStore. However, V3 doesn’t seem to support editing it, while V2 did, so I’m forced to use command line operations instead.

1 Like

Just use “global” for the name and scope. When you use GetGlobalDataStore, it’s the same as doing GetDataStore("global").

3 Likes

That doesn’t seem to work, even from the command line.

image

Am I doing something else wrong?

This is remarkably one of the most useful plugins out there! I can easily make changes and do restores to a player’s data in my games.

For those who may not understand the “Name” and “Scope” textbox:_

Understanding Name, Scope and Key
  • The “Name” is the name of the DataStore.
  • The “Scope” acts as a section of the DataStore.

When you use game:GetService("DataStoreService"):GetDataStore(name, scope) , this is where the name and scope come from. Insert both into their respective textbox and then Connect.

More information about it can be found here: DataStoreService:GetDataStore (roblox.com)

  • The “Key” is a data’s name from the DataStore.

For example, when you use something like DataStore:GetAsync(key) it requires a string key. Some may use "Player_" .. Player.UserId as the key. So, if you know your key, that is how you know to find it!

More information on DataStore it can be found here: GlobalDataStore (roblox.com)

Basic Rundown
Pros:_

  • Ability to change and save any piece of data (specific restores and wipes).
  • Ability to create data from using the plugin.
  • Support for viewing OrderedDataStore.
  • User-friendly Interface.
  • Ability to search specific keys.

Cons:_

  • Data keys are only found when entered manually (makes it harder to know which keys to look for).

Overall this plugin is very useful, deserves to be sold at a higher price.
Highly recommended for RPG developers if you are looking to change a player’s data from Studio, saves much time developing, or if you are a developer in need of changing or restoring a player’s data.

2 Likes

Great plugin overall. It provides a great interface to manipulate DataStores. However, the plugin has two small shortcomings that make editing data harder in some cases.

First, it doesn’t allow you to control the type of the value. So you can’t save numbers as strings as mentioned by karlo_tr10. A clumsy solution for this problem is import the data, editing and exporting again.

This brings the second problem. The imported data is an one line table with all player data and no formatting. This is not a great experience to navigate in any game that has a significant amount of keys per player. It would be great if the imported data had a better formatting.

1 Like

When you save the number, wrap it in quotations and it will convert it to a string: "10" will save as a string of 10. (Edit: It looks like this might have a slight bug though which double-wraps quotes. I’ll look into this soon.)

I can try to look into good techniques for formatting JSON data. For now, a quick solution could be throwing the data into a JSON pretty printer, such as this one.

1 Like

About your first suggestion, it doesn’t work. As you pointed out, the data saves the string with double quotes. As for your second suggestion, it’s a clever idea but it doesn’t work with Lua using copy/paste. The keys of the exported table doesn’t have quotes in them and JSON uses “:” instead of “=”. I don’t know any quick way to solve the key quotes problem, so is just better to stick with the original table and do a serch to find the desired key.

As a final remark, the format “problem” on exported data is really just a suggestion on my part. Your plugin display data in a very organized and useful representation in Studio, so I thought it was a natural extension for the export to do it as well.

Just pushed a fix for the number thing. Check that your version is at least v3.0.8 and it should work now.

And for the data problem, I for some reason thought it was JSON output, oops. An alternative would be to run the following command in the output bar after exporting, copy the result, and then put it through a prettier:

game:GetService("HttpService"):JSONEncode(require(game.Selection:Get()[1]))

But yeah, I think it’s a good suggestion to make this formatted by default.