I am in the process of developing a script that saves player data. This is a portion of how the data is loaded in when the player joins:
local DataStoreService = game:GetService("DataStoreService")
local ServerData = {0, 0, 0, 0, 0, 0 ,0}
local DataStore1 = DataStoreService:GetDataStore("CnsData"..version)
local DataStore2 = DataStoreService:GetDataStore("StrData"..version)
local DataSto.... (you get the point)
local DataFetchSuccess,ErrorMessage = pcall(function()
ServerData[1] = DataStore1:GetAsync(tostring(Player.UserId))
ServerData[2] = DataStore2:GetAsync(tostring(Player.UserId))
ServerData[3] = DataStore3:GetAsync(tostring(Player.UserId))
ServerData[4] = DataStore4:GetAsync(tostring(Player.UserId))
ServerData[5] = DataStore5:GetAsync(tostring(Player.UserId))
ServerData[6] = DataStore6:GetAsync(tostring(Player.UserId))
ServerData[7] = DataStore7:GetAsync(tostring(Player.UserId))
end)
This system works fine. The data is loaded from the server into an array within the script. I would like to know if it is possible to place the data calls in an array like this:
local DataStore = {DataStoreService:GetDataStore("example"..version),
DataStoreService:GetDataStore("example1"..version), ect}
With this I would think it's possible to load the data like this:
local DataFetchSuccess,ErrorMessage = pcall(function()
for i = 1, 7 do
ServerData[i] = DataStore[i]
end
end)
This is how I originally had programmed it but nothing would save or load. Is there something I can fix to make this possible?
