How do I use get a datastore to save multiple children? [closed]
I'm new to scripting with datastores, so this is probably a simple question, but how do I get my datastore to save all of the children of a certain data model?
02 | local DSS = game:GetService( "DataStoreService" ) |
04 | local datastore = DSS:GetDataStore( "GeneralSaveData" , "Players" ) |
06 | function generateDataKey(player) |
07 | local ret = "uid_" .. player.userId |
11 | function generateDataTable(player) |
13 | Gold = player.leaderstats.Gold.Value, |
14 | Weapons = player.weapons:GetChildren() |
19 | function saveDataForPlayer(player) |
20 | local key = generateDataKey(player) |
21 | local data = generateDataTable(player) |
22 | datastore:SetAsync(key, data) |
25 | function inputDataToPlayer(player, data) |
26 | player.leaderstats.Gold.Value = data.Gold |
27 | local weps = player.weapons |
31 | function loadDataForPlayer(player) |
32 | local key = generateDataKey(player) |
33 | local data = datastore:GetAsync(key) |
34 | inputDataToPlayer(player, data) |
37 | game.Players.PlayerAdded:Connect( function (player) |
38 | loadDataForPlayer(player) |
39 | for index, tool in pairs (player.weapons:GetChildren()) do |
40 | local a = game.ServerStorage.Weapons:FindFirstChild(tool.Name) |
42 | a.Parent = player.Backpack, player.StarterGear |
46 | game.Players.PlayerRemoving:Connect(saveDataForPlayer) |