guys to save this data properly do i need to make an bindtoclose and game players removing at the same time? i dont test it yet but i’m just curious about it
local data = game:GetService("DataStoreService")
local InventoryData = data:GetDataStore("InventorySave")
local ItemsSaved = {}
local PlayerId
local InventoryFolder
local Jogador
game.Players.PlayerAdded:Connect(function(player)
Jogador = player
PlayerId = player.UserId
InventoryFolder = Instance.new("Folder", player)
InventoryFolder.Name = "Iventory"
local PlayerHasData, ItemToLoad = pcall(function()
return InventoryData:GetAsync(PlayerId)
end)
if PlayerHasData then
if not ItemToLoad then
ItemToLoad = {}
end
for i, v in ipairs(ItemToLoad) do
local SavedItem = Instance.new("StringValue", InventoryFolder)
SavedItem.Name = v
SavedItem.Value = "SavedItem"
end
end
end)
game:BindToClose(function()
local Items = InventoryFolder:GetChildren()
for i, v in pairs(Items) do
table.insert(ItemsSaved, v.Name)
end
InventoryData:SetAsync(PlayerId, ItemsSaved)
print(ItemsSaved)
end)
game.Players.PlayerRemoving:Connect(function()
local Items = InventoryFolder:GetChildren()
for i, v in pairs(Items) do
table.insert(ItemsSaved, v.Name)
end
InventoryData:SetAsync(PlayerId, ItemsSaved)
print(ItemsSaved)
end)