My triggerfinger is itching.
Because, well, you state the problem and then you add: It is probaly because i've been lazy.
Actually. You use 1 variable to represent current & next level ('currentLevel'). And you lossed track on it. If you had used two variables 'curLevel' & 'nextLevel', it would have been easyer to wrap you mind round it.
curLevel = well the current level
nextLevel = (curLevel + 1)
Now if you want to change some in the array for the current level, (like changing the stars)
it is located Array.at(curLevel,currentWorld)
Change something for the next level (like unlocking)
it is located Array.at(nextLevel,currentWorld)
Using 1 variable is ofcourse no problem, if you can wrap your mind arround it.
Change something (stars) for current level = Array.at(VariFORLevel,currentWorld)
Change something (unlocks) for next level = Array.at(VariFORLevel + 1,currentWorld)
On tap on Btn_Reload(x) .... add 0 to VariFORLevel
On tap on Next_level .... add 1 to VariFORLevel
You add 1 before the player made a choice, because you wanted to unlock next level in the array by using (the pretty lazy) Array.at(VariFORLevel,currentWorld) in stead of (more typing) Array.at(VariFORLevel + 1,currentWorld).