Problem with retrieving data for map chunk load/generate script

  1. What I want it to be able to do is store and retrieve data for a chunk loading/generating system.

  2. It has been printing saying that it has loaded the chunks but it hasn’t loaded them in.
    image

  3. So far I have tried different ways to bug fix it but they didn’t work.

After that, you should include more details if you have any. Try to make your topic as descriptive as possible, so that it’s easier for people to help you!

wait(10)
local chunks = game.ServerStorage.Chunks
local loadedchunks = workspace.Chunks
local redchunk = chunks.RedChunk
local greenchunk = chunks.GreenChunk
local chunkstable = {} --holds all of the chunks in ServerStorage
local dstableTemplate = {} --holds all of the loaded chunk templates for datastore
local dstableName = {} --holds all of the chunk names for datastore
local dstablenumber = 1
local chunktablenumber = 1
local storesNamesNumber = 1
local storedTemplatesNumber = 1
local datastoreName = game:GetService("DataStoreService"):GetDataStore("ChunkDataName") --chunk name datastore
local datastoreTemplate = game:GetService("DataStoreService"):GetDataStore("ChunkDatafortest1") --template number datastore
local storedNames
local storedTemplate
local player

for _,plr in pairs(game.Players:GetChildren()) do
	player = plr
end


for _,part in pairs(chunks:GetChildren()) do
	table.insert(chunkstable,chunktablenumber,part)
	chunktablenumber = chunktablenumber + 1
end


local function newchunkload()

for _,template in pairs(workspace.ChunkTemplates:GetChildren()) do
	local randchunk = chunkstable[math.random(1,#chunkstable)]
	local clone = randchunk:Clone()
	clone.PrimaryPart.CFrame = template.CFrame
	clone.Parent = loadedchunks
	table.insert(dstableTemplate,dstablenumber,template.Name)
	table.insert(dstableName,dstablenumber,clone.Name)
	dstablenumber = dstablenumber + 1
	end
end


local function loadoldchunks()

for _,name in pairs(storedNames) do
	local ChunkName = storedNames[storesNamesNumber]
	local ChunkTemplateName = storedTemplate[storedTemplatesNumber]
	local chunkTemplate = workspace.ChunkTemplates[ChunkTemplateName]
	local clone = chunks[ChunkName]:Clone()
	clone.Parent = workspace.Chunks
	clone.PrimaryPart.CFrame = chunkTemplate.CFrame
	storedTemplatesNumber = storedTemplatesNumber + 1
	storesNamesNumber = storesNamesNumber + 1
	end
end


local key = "user-" .. player.userId
storedNames = datastoreName:GetAsync(key)
storedTemplate = datastoreTemplate:GetAsync(key)

if storedNames and storedTemplate then
	loadoldchunks()
	print("Chunks have been loaded")
	wait(0.1)
	datastoreName:SetAsync(key, dstableName)
	datastoreTemplate:SetAsync(key, dstableTemplate)
	print("chunks have been saved")
else
	newchunkload()
	wait(0.1)
	datastoreName:SetAsync(key, dstableName)
	datastoreTemplate:SetAsync(key, dstableTemplate)
	print("New chunks have been saved")
end