Checkpoint leaderscript not working

I am creating a checkpoint system for my obby game but I ran into the problem that if I step on the checkpoint it adds the Value + 1 more than one time. Keep in mind I am a new scripter and I attempted this by myself without watching any videos or any references so don’t get mad if I sound dumb.

-- Level Leaderstats
game.Players.PlayerAdded:Connect(function(player) 
	local leaderstats = Instance.new("Folder")
	leaderstats.Name = "leaderstats"
	leaderstats.Parent = player
	
	local Level = Instance.new("IntValue")
	Level.Name = "Level"
	Level.Value = 0
	Level.Parent = leaderstats
	
	local player = game.Players.LocalPlayer
	local FirstCheckpoint = game.Workspace.Checkpoints.LevelOneCheckpoint -- Checkpoint


	-- Adding Value
	FirstCheckpoint.Touched:Connect(function(Hit)
		if Hit.Parent:FindFirstChild("Humanoid") then
			Level.Value = Level.Value + 1

		end
	end)
end)

What you could do is, instead of making it so that you get +1 each time you step on a checkpoint, you give that checkpoint a number. Example: Checkpoint 7 will change the value to 7 instead of incrementing by 1. In your case it is a fairly simple fix.

FirstCheckpoint.Touched:Connect(function(Hit)
	if Hit.Parent:FindFirstChild("Humanoid") then
		Level.Value = 1
	end
end)

SecondCheckpoint.Touched:Connect(function(Hit)
	if Hit.Parent:FindFirstChild("Humanoid") then
		Level.Value = 2
	end
end)

Please mark as solution if this has resolved your topic.

Yeah never really thought about that to be honest because I was thinking about a bunch of different checkpoints together lol thanks though

Mark my post as solution so that others know it is resolved.