I was searching around for this error, found another answer on scriptinghelpers, but the fix the guy gave didn't work for me. I get the error 17:48:16.066 - Cannot store Array in DataStore 17:48:16.067 - Script 'Workspace.Script', Line 49 17:48:16.068 - Stack End" Note: That is not the actual data store name..
local DSService = game:GetService('DataStoreService'):GetDataStore("Name")
game.Players.PlayerAdded:connect(function(plr)
local uniquekey = 'id-'..plr.userId
local leaderstats = Instance.new('IntValue', plr)
local savevalue = Instance.new('IntValue')
local SaveFolder = Instance.new('Folder')
local SaveStone = Instance.new('IntValue')
local SaveClay = Instance.new('IntValue')
local SaveBrick = Instance.new('IntValue')
local SaveRawIron = Instance.new('IntValue')
local SaveIron = Instance.new('IntValue')
leaderstats.Name = 'leaderstats'
savevalue.Parent = leaderstats
savevalue.Name = 'Cash'
SaveFolder.Name = "SaveFolder"
SaveFolder.Parent = plr
SaveStone.Name = "SaveStone"
SaveStone.Parent = SaveFolder
SaveClay.Name = "SaveClay"
SaveClay.Parent = SaveFolder
SaveBrick.Name = "SaveBrick"
SaveBrick.Parent = SaveFolder
SaveRawIron.Name = "SaveRawIron"
SaveRawIron.Parent = SaveFolder
SaveIron.Name = "SaveIron"
SaveIron.Parent = SaveFolder
local GetSaved = DSService:GetAsync(uniquekey)
if GetSaved then
savevalue.Value = GetSaved[1]
SaveFolder = GetSaved[2]
SaveStone.Value = GetSaved[3]
SaveClay.Value = GetSaved[4]
SaveBrick.Value = GetSaved[5]
SaveRawIron.Value = GetSaved[6]
SaveIron.Value = GetSaved[7]
plr.PlayerGui.Invintory.Inv.Stone.Text = "Stone: "..SaveStone.Value
plr.PlayerGui.Invintory.Inv.Clay.Text = "Stone: "..SaveClay.Value
plr.PlayerGui.Invintory.Inv.Bricks.Text = "Stone: "..SaveBrick.Value
plr.PlayerGui.Invintory.Inv.RawIron.Text = "Stone: "..SaveRawIron.Value
plr.PlayerGui.Invintory.Inv.Iron.Text = "Stone: "..SaveIron.Value
else
local NumbersForSaving = {savevalue.Value,
SaveFolder,
SaveStone.Value,
SaveClay.Value,
SaveBrick.Value,
SaveRawIron.Value,
SaveIron.Value}
DSService:SetAsync(uniquekey, NumbersForSaving)
end
end)
game.Players.PlayerRemoving:connect(function(plr)
local uniquekey = 'id-'..plr.userId
local Savetable = {plr.leaderstats.Cash.Value,
plr.SaveFolder,
plr.SaveFolder.SaveStone.Value,
plr.SaveFolder.SaveClay.Value,
plr.SaveFolder.SaveBrick.Value,
plr.SaveFolder.SaveRawIron.Value,
plr.SaveFolder.SaveIron.Value}
DSService:SetAsync(uniquekey, Savetable)
end)

3 comments
JsonEncode it.
How do I do that?
Answered... took 20 minutes but yw.