Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Data Storage and Dictionaries Problem?

Asked by 6 years ago
Edited by BlueTaslem 6 years ago

I get this error when I test my place on a local server. How can i fix my script?

Error:

21:17:17.456 - 104: Cannot store Dictionary in DataStore

Part of the Script:

game.Players.PlayerRemoving:connect(function(player)
    local key = player.userId
    local valuesToSave = {}
    local children = game.workspace[player.Name .. "Arena"]:GetChildren()
    for i = 1, #children do
        if (children[i].Name) == (player.Name .. "Part") then
            valuesToSave.Type = valuesToSave.Type or {}
            valuesToSave.Type[tostring(i)] = children[i].blocker.Value 
            valuesToSave.transparency = valuesToSave.transparency or {}
            valuesToSave.transparency[tostring(i)] = children[i].Transparency
            valuesToSave.material = valuesToSave.material or {}
            valuesToSave.material[tostring(i)] = children[i].Material
            --Block Size
            valuesToSave.xSize = valuesToSave.xSize or {}
            valuesToSave.xSize[tostring(i)] = children[i].Size.X
            valuesToSave.ySize = valuesToSave.ySize or {}
            valuesToSave.ySize[tostring(i)] = children[i].Size.Y
            valuesToSave.zSize = valuesToSave.zSize or {}
            valuesToSave.zSize[tostring(i)] = children[i].Size.Z
            --Block Position
            valuesToSave.xPos = valuesToSave.xPos or {}
            valuesToSave.xPos[tostring(i)] = children[i].position.X - game.workspace[player.Name .. "Arena"].Spawn.Position.x
            valuesToSave.yPos = valuesToSave.yPos or {}
            valuesToSave.yPos[tostring(i)] = children[i].position.Y - game.workspace[player.Name .. "Arena"].Spawn.Position.y
            valuesToSave.zPos = valuesToSave.zPos or {}
            valuesToSave.zPos[tostring(i)] = children[i].position.Z - game.workspace[player.Name .. "Arena"].Spawn.Position.z
            --Block Color
            valuesToSave.rColor = valuesToSave.rColor or {}
            valuesToSave.rColor[tostring(i)] = children[i].Color.r
            valuesToSave.bColor = valuesToSave.bColor or {}
            valuesToSave.bColor[tostring(i)] = children[i].Color.b
            valuesToSave.gColor = valuesToSave.gColor or {}
            valuesToSave.gColor[tostring(i)] = children[i].Color.g

        end
    end

    DataStore:SetAsync(key, valuesToSave)
end)

Thanks.

0
edited to fix code block BlueTaslem 18071 — 6y
0
Bump cubebox51 0 — 6y

Answer this question