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.
