Help with checkpoint script

Hello fellow developers, I’ve been working on an obby script and i have watched a tutorial for stage saving and stage saving when u leave, but it doesn’t allow u to get the first checkpoint.

My script:
Stage Script:

local checkpoints = workspace:WaitForChild("Checkpoints")

game.Players.PlayerAdded:Connect(function(player)
	local leaderstats = Instance.new("Folder")
	leaderstats.Name = "leaderstats"
	leaderstats.Parent = player

	local stage = Instance.new("IntValue")
	stage.Name = "Stage"
	stage.Value = 0
	stage.Parent = leaderstats

	player.CharacterAdded:Connect(function(char)
		local hum = char:WaitForChild("Humanoid")
		wait()
		char:MoveTo(checkpoints[stage.Value].Position)

		hum.Touched:Connect(function(hit)
			if hit.Parent == checkpoints then
				if tonumber(hit.Name) == stage.Value + 1 then
					stage.Value = stage.Value + 1
				end
			end
		end)
	end)
end)


Data Stage Saving Script:


local DataStoreService = game:GetService("DataStoreService")
local myDataStore = DataStoreService:GetDataStore("Stage")

game.Players.PlayerAdded:Connect(function(player)
	local data
	local success, errorMessage = pcall(function()
		data = myDataStore:GetAsync(player.UserId)
	end)

	if success then
		player.leaderstats.Stage.Value = data
	else
		warn(errorMessage)
	end
end)

game.Players.PlayerRemoving:Connect(function(player)
	local data
	local success, errorMessage = pcall(function()
		data = myDataStore:SetAsync(player.UserId, player.leaderstats.Stage.Value)
	end)

	if success then
		print("Data Saved")
	else
		warn(errorMessage)
	end
end)

game:BindToClose(function()
	for i, v in pairs(game.Players:GetChildren()) do
		v:Kick("Server Closed")
	end

	wait(2)
end)

The two checkpoints are named 1 and 2 and there both inside a folder name checkpoints, any help is appreciated, bye! ;D

are the Checkpoints are folder or multiple parts?

if they are multiple parts then create a for loop

for i,checkpoint in pairs(workspace:GetDescendants()) do
     if checkpoint.Name == "Checkpoints" then
          
end
end

The checkpoint is a folder and there are parts inside labeled 1 and 2