Drawn platformer

Instructions: Front page curated by @G0nk :D\nTop loved! Thanks everyone! :D\nI probably can't reply to all of your comments. I try to reply as much as I can. \n-This was for a school project. \n-The text is automaticly translated to English, so the \n translation can sometimes be a bit odd.\n-I made this project with two other people. Everything \n is handdrawn. \n-The theme was Utopia. We got inspiration for the \n drawings by giving two classes on my school a live \n Scratch-Survey.\n-An explanation of how we made it: https://scratch.mit.edu/projects/296368244/#comments-113977819

@Stage\n\n@Controller\n\nwhen flag clicked\nbroadcast (Gf v)\n\ndefine Init\ndelete all of [pagesperlevel v]\nadd [3] to [pagesperlevel v]\nadd [4] to [pagesperlevel v]\nadd [2] to [pagesperlevel v]\nadd [3] to [pagesperlevel v]\nadd [3] to [pagesperlevel v]\ndelete all of [text v]\nadd (translate [Welkom, reiziger, in de wereld van utopieën. In deze wereld reis je langs verschillende perfecte werelden, gebaseerd op de meningen van verschillende klassen. Je begint je reis hier, in het Jeroen Bosch-heuvellandschap. ] to (en v)::translate) to [text v]\nadd (translate [Je bent nu aangekomen in het tropische land. Warm hè?] to (en v)::translate) to [text v]\nadd (translate [Welkom in het prachtige sneeuwlandschap!] to (en v)::translate) to [text v]\nadd (translate [Welkom… in de toekomst! Alles gaat hier vanzelf!] to (en v)::translate) to [text v]\nadd (translate [En dan nu… de eetbare wereld, die spreekt voor zich…] to (en v)::translate) to [text v]\n\nwhen I receive [nextlevel v]\nif <(Level) < [5]> then\n    change [level v] by (1)\n    set [bunnytalk? v] to [1]\n    broadcast (PrepareLevel v) and wait\n    broadcast (HiboxLoop v)\n    broadcast (RocketLand v)\nelse\n    broadcast (End v)\nend\n\nadd [2] to [pagesperlevel v]\n\nwhen flag clicked\nforever\n    reset timer\nend\n\ndelete all of [pagesperlevel v]\nadd [4] to [pagesperlevel v]\nadd [2] to [pagesperlevel v]\nadd [3] to [pagesperlevel v]\nadd [2] to [pagesperlevel v]\nadd [2] to [pagesperlevel v]\nadd [3] to [pagesperlevel v]\nadd [3] to [pagesperlevel v]\ndelete all of [text v]\nadd [Grasland / Jeroen Bosch 4] to [text v]\nadd [Ideaal dorp 2] to [text v]\nadd [Tropisch 3] to [text v]\nadd [Sneeuw 2] to [text v]\nadd [Onderwater 2] to [text v]\nadd [Futuristisch 3] to [text v]\nadd [Eetwereld 3] to [text v]\n\nwhen I receive [respawn v]\nset [bunnytalk? v] to [0]\nbroadcast (PrepareLevel v) and wait\nbroadcast (HiboxLoop v)\nbroadcast (RocketLand v)\n\nwhen [timer v] > (7)\n\nbroadcast (Gf v)\n\nwhen I receive [gf v]\nset [level v] to [0]\nInit\nbroadcast (Init v) and wait\nbroadcast (NextLevel v)\n\n@Hitbox\n\nforever\n\ngo to x: (-479) y: (0)\n\nwhen I receive [rocketland v]\nif <(i) > [0]> then\n    show\nend\n\n\n\nwait (0) seconds\n\n\n\nwait (0.001) seconds\n\nwhen I receive [preparelevel v]\nset [shiftx v] to [0]\nset [i v] to [0]\nset [ii v] to [0]\nrepeat ((Level) - (1))\n    change [i v] by (1)\n    change [ii v] by (item (i) of [pagesperlevel v])\nend\nset [i v] to [0]\nrepeat (item (Level) of [pagesperlevel v])\n    change [i v] by (1)\n    create clone of (_myself_ v)\nend\nset [i v] to [0]\n\nwhen I start as a clone\nswitch costume to ((i) + (ii))\ngo to x: (((i) - (1)) * (480)) y: (0)\nshow\n\nwhen I receive [init v]\nhide\n\nwhen I receive [tick v]\ngo to x: ((((i) - (1)) * (480)) + ((ShiftX) * (-1))) y: (0)\n\nwhen I receive [preparelevel v]\ndelete this clone\n\nclear graphic effects\n\nset [ghost v] effect to (100)\ngo to [back v] layer\n\n@Levels\n\nforever\n\nwhen I receive [end v]\ngo to x: (0) y: (0)\nshow\nswitch costume to (0521_04 v)\n\nstop [all v]\n\nstop [other scripts in sprite v]\n\nwhen I receive [preparelevel v]\nset [shiftx v] to [0]\nset [i v] to [0]\nset [ii v] to [0]\nrepeat ((Level) - (1))\n    change [i v] by (1)\n    change [ii v] by (item (i) of [pagesperlevel v])\nend\nset [i v] to [0]\nrepeat (item (Level) of [pagesperlevel v])\n    change [i v] by (1)\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\ngo to [back v] layer\nswitch costume to ((i) + (ii))\ngo to x: (((i) - (1)) * (480)) y: (0)\nshow\n\nset [ghost v] effect to (100)\n\nwhen I receive [init v]\nhide\n\nwhen I receive [tick v]\ngo to x: ((((i) - (1)) * (480)) + ((ShiftX) * (-1))) y: (0)\n\nwhen I receive [preparelevel v]\ndelete this clone\n\nclear graphic effects\n\n@PlayerHitbox\n\nwhen I receive [init v]\nset rotation style [left-right v]\nhide\ngo to [front v] layer\nset [ghost v] effect to (100)\nswitch costume to (costume2 v)\n\nwhen I receive [preparelevel v]\nhide\nstop [other scripts in sprite v]\nset [x v] to [-180]\nset [y v] to [-80]\n\nwhen I receive [playerloop v]\nshow\nforever\n    if <([i v] of [pico v]) = [0]> then\n        Tick\n    end\n    broadcast (Tick v) and wait\nend\n\ndefine Tick\nif <<key (left arrow v) pressed?> and <((x) - (ShiftX)) > [-210]>> then\n    change [x v] by (-5)\n    MoveOutWall [1]\n    point in direction (-90)\nend\nif <key (right arrow v) pressed?> then\n    change [x v] by (5)\n    MoveOutWall [-1]\n    point in direction (90)\nend\nPos (x) (y)\nchange y by (-2)\nif <<key (up arrow v) pressed?> and <touching (hitbox v)?>> then\n    set [yvel v] to [12]\nend\nchange [y v] by (Yvel)\nchange y by (2)\nPos (x) (y)\nif <touching (hitbox v)?> then\n    CheckGround\nelse\n    if <(Yvel) > [-10]> then\n        change [yvel v] by (-1)\n    end\nend\nPos (x) (y)\nif <<(x) > ((ShiftX) - (100))> and <(ShiftX) < (((item (Level) of [pagesperlevel v]) - (1)) * (480))>> then\n    set [shiftx v] to ((x) + (100))\nend\nif <touching (_edge_ v)?> then\n    broadcast (Respawn v)\nend\nif <(x position) > [140]> then\n    broadcast (Rocket v)\n    hide\n    stop [this script v]\nend\n\nchange [level v] by (-1)\n\ndefine Pos (x) (y)\ngo to x: ((x) - (ShiftX)) y: (y)\n\ndefine CheckGround\nrepeat until <not <touching (hitbox v)?>>\n    change y by (1)\nend\nset [yvel v] to [0]\nchange y by (-1)\nset [y v] to (y position)\nstop [this script v]\n\ndefine MoveOutWall (x)\nPos (x) (y)\nchange y by (8)\nrepeat (6)\n    if <touching (hitbox v)?> then\n        change x by (x)\n        change [x v] by (x)\n    else\n        stop [this script v]\n    end\nend\nchange y by (-8)\n\nwhen I receive [rocket v]\nstop [other scripts in sprite v]\n\nchange x by (x)\nchange [x v] by (x)\n\nclear graphic effects\n\n@Rocketship\n\nwhen I receive [init v]\nset size to (60) %\nswitch costume to (rocketship-e v)\n\nwhen I receive [tick v]\ngo to x: (((((item (Level) of [pagesperlevel v]) - (1)) * (480)) + ((ShiftX) * (-1))) + (167)) y: (-105)\n\nwhen I receive [rocket v]\nswitch costume to (rocketship-e v)\nwait (0.5) seconds\nswitch costume to (rocketship-e2 v)\nwait (1) seconds\nswitch costume to (rocketship-e3 v)\nwait (1) seconds\nrepeat until <(y position) > [179]>\n    change y by (3)\nend\nbroadcast (Init v) and wait\nbroadcast (NextLevel v)\n\nwhen I receive [rocketland v]\ngo to x: (-180) y: (180)\nswitch costume to (rocketship-e3 v)\nrepeat until <(y position) < [-110]>\n    change y by (-3)\nend\nwait (0.5) seconds\nswitch costume to (rocketship-e2 v)\nwait (1) seconds\nswitch costume to (rocketship-e v)\nwait (.2) seconds\nbroadcast (PlayerLoop v)\n\nchange [level v] by (1)\n\ngo to x: (0) y: (-105)\n\n@Pico\n\nwhen I receive [init v]\nset rotation style [left-right v]\nset size to (50) %\n\nwhen I receive [rocketland v]\ngo to x: (-110) y: (-100)\npoint in direction (-90)\nswitch costume to (0521_05 v)\nset [i v] to [0]\n\ndefine Say (text) (delay)\nset [i v] to [0]\nset [ii v] to []\nswitch costume to (0521_05 v)\nrepeat (length of (text))\n    change [i v] by (1)\n    set [ii v] to (join (ii) (letter (i) of (text)))\n    say (ii)\n    wait (delay) seconds\nend\nwait (0.5) seconds\nswitch costume to (0521_05 v)\nsay []\nset [i v] to [0]\n\nwhen I receive [tick v]\ngo to x: (((ShiftX) * (-1)) + (-110)) y: (-100)\nif <([x v] of [playerhitbox v]) > [-120]> then\n    point in direction (90)\nelse\n    point in direction (-90)\nend\n\nwhen I receive [hiboxloop v]\nif <(BunnyTalk?) = [1]> then\n    wait until <([x v] of [playerhitbox v]) > [-155]>\n    set [i v] to [1]\n    Say (item (Level) of [text v]) [0.02]\nend\n\n@Sprite1\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\nwhen I start as a clone\ncreate clone of (_myself_ v)\n\ncreate clone of (_myself_ v)\n\n@Cat\n\nwhen I receive [tick v]\nset rotation style [left-right v]\ngo to (playerhitbox v)\npoint in direction ([direction v] of [playerhitbox v])\n\nwhen I receive [preparelevel v]\nhide\n\nwhen I receive [rocket v]\nhide\n\nwhen I receive [rocketland v]\nhide\n\nwhen I receive [init v]\nswitch costume to (0521_03 v)\nhide\n\nwhen I receive [playerloop v]\nshow\n\n