Basically you'd store all the info you want to save (positions, variables, .. etc) in something that can saved to disk. Offhand the array object could be used. Then when you load the file later you can to take that info in the array and recreate and re position everything. That's the general idea, but really it can become as thorough as you want.
So for example a save event would do this:
Set array size to (0, 10, 1)
for each sprite
--- array: push 0 to back
--- array: set (array.width-1, 1) to "sprite"
--- array: set (array.width-1, 2) to sprite.x
--- array: set (array.width-1, 3) to sprite.y
array: save to file[/code:75i6wn73]
Then the loading would be something like:
[code:75i6wn73]Array: load file
array: for each x
array at (array,currentX, 1) equal to "sprite"
--- system: create sprite at (array(array,currentX, 2), array(array,currentX, 3)) [/code:75i6wn73]
It's a starting point anyway. If it doesn't make sense then I think it explains why I'm on here less and less.