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

DataStore one table returning nil?

Asked by
dirk2999 103
6 years ago

I'm making a test DataStore script where I have 2 tables and save them using :SetAsync. Then I try to print their data out, the first one prints correct, when I get to the second one, it prints the data for the first one and along with 2 nil's.

carts = {"Red", "White", "Blue"}
test = {1,2,3}

local DSService = game:GetService('DataStoreService')
local Save = DSService:GetDataStore('Test')

game.Players.PlayerAdded:connect(function(player)
    pcall(function()
        player:WaitForChild("PlayerGui")
        local saveData = Save:GetAsync(player.userId)
        Save:SetAsync(player.userId,carts,test)
        print("Done!")
        wait(4)
        if saveData then
            for i = 1,#saveData[1] do
                print(saveData[i])
            end
            wait(2)
            for x = 1,#saveData[2] do
                print(saveData[x])
            end
        end 
    end)
end)

When it gets saveData[1] my output is

Done! Red White Blue

When it gets to saveData[2] my full output is

12:53:36.930 - RC2 Testing was auto-saved Done! Red White Blue Red White Blue nil (x2)

How do I fix the nil's?

Answer this question