I do this in ZE. Each time I end a chapter, I use:
*set save_flag “save”
*set return_to_scene “NextScene”
In the above code, NextScene is the name of the next consecutive scene.
If a player dies, I use:
*set save_flag “restore”
*set return_to_scene “SameScene”
Where SameScene is the name of the current scene.
In scene savegame, I let the player choose restarting the scene or starting over:
*if save_flag = “restore”
You have died.
Luckily, your progress has been saved, and you may continue from the last checkpoint.
Do you want to continue from the last saved checkpoint, or start the game over?
#Continue from last saved checkpoint
*if return_to_scene = “ThirdFloor”
#Start the game over