—
let's make it simpler. Imagine you have 3 variables:
1. Number variable [episode] = 1 - this will keep track of current episode you are playing
2. Number variable [level] = 1 - this will keep track of current level you are playing
3. Number variable [score] = 0 - to keep track of current player score
When player finish any level you make an event:
Dictionary: Add key "[episode] & "level" & [level]" with value [score]
So when player finish level 2 of the episode 1 and his score is 1234 it will add a key [ "1level2": 1234 ]
when he finish level 5 of episode 3 with score 5432 it will add a key [ "3level5": 5432 ]
so key name is made of a combination of: variable [episode] a string "level" and a variable [level] - which gives for example "3level1". And value of that key will be a variable [score].
korbaach
if you know how many levels and episodes you have you can make a simple loops
For example there is 5 episodes with 4 levels each and you already have finished all 4 levels of episode 1 and 2 levels of episode 2. Each level have it's own score.
"1level1": 1234,
"1level2": 567,
"1level3": 432,
"1level4": 674,
"2level1": 33,
"2level2": 8,
Now on start of the layout you want to create and set text to score for each level:
+On start of layout
++For "ep" from 0 to 5
++For "lvl" from 0 to 4
++ Dictionary: Has key [ loopindex("ep") & "level" & loopindex("lvl")
-> Create Text on layer "zzz" at (X,Y)
- > Set text to Dictionary.Get(loopindex("ep") & "level" & loopindex("lvl"))
Hope I make any sens, it's almost 4 AM over here ^^
EDIT: and yes you only need Webstorage if you are actually want to save/load current game state. With Dictionary it's super easy. You only need one event Webstorage: Set local key "key name" to Dictionary.AsJSON. This will save entire dictionary object as a one webstorage key.