So I made a placement system and you can change its color, material etc. But the only thing that doesnt work is saving the build. here is my script:
local partTable = {}
for i, inst in pairs(workspace:GetChildren()) do
if inst.Name == "BuiltBlock" then
local position = inst.Position
local material = inst.Material
local color = inst.BrickColor
local size = inst.Size
partTable[i] = {Position = position, Material = material, Color = color, Size = size}
end
end
local success, err = pcall(function()
BuildsDataStore:SetAsync(player.UserId, partTable)
end)
if err then
print(err)
end
So when i try to save it, it prints:
104: Cannot store Dictionary in data store. Data stores can only accept valid UTF-8 characters.
Please help!!
Edit: Ok, so I found a way to save the data. But, it saves all the values as one? What is happening here?

7 comments
You can't store Color3 or Vector3 (not sure about material), you can convert those values to ints before saving
how would i convert vector3 to an int val
convert it to a strings instead, for your case strings would be easier, use JSon
Vector3.X, Vector3.Y, Vector3.Z
ok it doesnt work when i load the build. apparently when i save the table, it takes all the values and adds them all up? why is that?
I need to see the save script
https://pastebin.com/Y2W3kckk