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

Data isn't saving while not erroring! why?

Asked by 3 years ago
local DS = game:GetService("DataStoreService")
local InventoryStore = DS:GetDataStore("InventoryStore")
local function save(player)
    local playerInventory = player.Inventory:GetChildren()
    local playerSave = {}
    for i = 1, #playerInventory do
        print(playerInventory[i].Value)
        table.insert(playerSave, playerInventory[i].Value)
    end
    local success, failure = pcall(function()
        InventoryStore:SetAsync(player.UserId, playerSave)
    end)
    if success then
        print("Saving Success!")
    end
    if failure then
        warn("Critical Save failure. Data of "..player.Name.." not saved.")
    end
end
game.Players.PlayerAdded:Connect(function(player)
    local inventory = Instance.new("Folder", player)
    inventory.Name = "Inventory"
    Instance.new("StringValue", inventory).Value = "Test"
    local success, PlayerComputerTable = pcall(function()
        InventoryStore:GetAsync(player.UserId)
    end)
    if success then
        print(PlayerComputerTable)
    end
end)
game.Players.PlayerRemoving:Connect(function(playerRemoving)
    save(playerRemoving)
end)
game:BindToClose(function()
    for _, client in ipairs(game.Players:GetPlayers()) do
        coroutine.wrap(save)(client)
    end
end)

This code isn't erroring nor saving the Player's data.

Answer this question