Well I already did that in construct classic to test the Stack,Queue,Deque plugins. So it's not much of a challenge. Also I never used webstorage.
I'm not really sure how (in a design sens) I would use it. You know, webstorage seems like storage that can be wiped out anytime, so I don't know how to design something with that level of reliability
Should it only just be for temporary stuff? Is a replay a temporary stuff? If it's just temporary why not storing it in a global variable?
So to design a permanent save system, I'm not really sure webstorage is a good tool.
Anyway, logging x,y,angle and rotation could be done really easily by :
Global Variable log = "" // each lines is a string formatted as "X,Y,Angle"
Global Variable replay = 0 // is on replay mode?
Global Variable iterator = 0 // position of in the log during replay
System: replay = 0
-> System: set log to log&Sprite.X&","&Sprite.Y&","&Sprite.Angle&newline
System: replay = 1
Local Variable state="" //current state "X,Y,Angle"
-> System: set state to tokenat(log,iterator,newline)
-> Sprite: set X to tokenat(state,0,",")
-> Sprite: set Y to tokenat(state,1,",")
-> Sprite: set Angle to tokenat(state,2,",")
-> System: add 1 to iterator