Scratch blocks - A scrolling platformer

Instructions: Hi, and welcome to scratch blocks-a scrolling platformer. This took me 50+ hours to make. Hope you enjoy! Stay safe and have a great day. =)\n=========================================\nHOW TO PLAY\n- W, A, S, D or Arrow keys to move.\n- Time yourself and put it in the chat.\n- ❤️+⭐, Mabey a follow?\n- Have fun! =)\n=========================================\nCREDITS\n- @GameDev46 for the inspiration\n- @-Xaf- for music\n- @Pro-Code-Studios ( me ) for everything else =)

@Stage\n\n@level\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\nset [level x v] to [0]\nrepeat (14)\n    create clone of (_myself_ v)\n    change [level x v] by (470)\n    next costume\nend\n\nwhen I start as a clone\nshow\nforever\n    go to x: (((Scrollx) * (-1)) + (level X)) y: ((Scrolly) * (-1))\nend\n\n@Player\n\ndefine GO\nswitch costume to (hitbox v)\nchange [my variable v] by (-1)\nchange y by (my variable)\nif <touching (level v)?> then\n    repeat until <not <touching (level v)?>>\n        change y by ((([abs v] of (my variable) ) / (my variable)) * (-1))\n    end\n    set [my variable v] to (<<key (up arrow v) pressed?> and <(([abs v] of (my variable) ) / (my variable)) = [-1]>> * (12))\nend\nchange x by ((<key (right arrow v) pressed?> * (6)) + (<key (left arrow v) pressed?> * (-6)))\nset [slopeeee v] to [0]\nrepeat until <<(Slopeeee) = [-8]> or <not <touching (level v)?>>>\n    change y by (1)\n    change [slopeeee v] by (-1)\nend\nif <touching (level v)?> then\n    change y by (Slopeeee)\n    repeat until <not <touching (level v)?>>\n        change x by ((<key (right arrow v) pressed?> * (-6)) + (<key (left arrow v) pressed?> * (6)))\n    end\nend\nchange [scrollx v] by (x position)\nchange [scrolly v] by (y position)\ngo to x: (0) y: (0)\nif <(Scrolly) < [-500]> then\n    set [my variable v] to [0]\n    set [scrollx v] to [0]\n    set [scrolly v] to [0]\nend\nswitch costume to (state)\n\nwhen I receive [start v]\nshow\nswitch costume to (costume1 v)\n\nwhen I receive [start v]\nforever\n    if <touching (bad v)?> then\n        set [scrollx v] to [0]\n    end\nend\n\nwhen I receive [start v]\nset [i am not saying v] to [3]\nforever\n    if <not <(my variable) = [0]>> then\n        if <(my variable) > [0]> then\n            set [i am not saying v] to [11]\n        else\n            set [i am not saying v] to [12]\n        end\n    else\n        if <<key (right arrow v) pressed?> or <key (left arrow v) pressed?>> then\n            change [i am not saying v] by (1)\n            if <(I am not saying) > [10]> then\n                set [i am not saying v] to [3]\n            end\n            wait (.05) seconds\n        else\n            set [i am not saying v] to [2]\n        end\n    end\nend\n\nwhen I receive [start v]\nset rotation style [left-right v]\nforever\n    if <key (right arrow v) pressed?> then\n        point in direction (90)\n    end\n    if <key (left arrow v) pressed?> then\n        point in direction (-90)\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <touching (trampoline v)?> then\n        start sound [Big Boing v]\n        change [scrolly v] by (1)\n        wait (.000000001) seconds\n        change [scrolly v] by (10)\n        wait (.00001) seconds\n        change [scrolly v] by (20)\n        wait (.000000001) seconds\n        change [scrolly v] by (30)\n        wait (.000000001) seconds\n        change [scrolly v] by (40)\n        wait (.00000001) seconds\n        change [scrolly v] by (50)\n        wait (.00001) seconds\n        change [scrolly v] by (60)\n        wait (.00000001) seconds\n        change [scrolly v] by (70)\n        wait (.000001) seconds\n        change [scrolly v] by (80)\n        wait (.000001) seconds\n        change [scrolly v] by (80)\n    end\nend\n\nwhen I receive [start v]\npoint in direction (90)\nset [scrollx v] to [0]\nset [scrolly v] to [0]\nset [my variable v] to [0]\ngo to x: (0) y: (100)\nforever\n    GO\nend\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nbroadcast (Start v)\n\nwhen flag clicked\nwait until <touching (exit v)?>\nbroadcast (The end v)\nstop [other scripts in sprite v]\n\n@Exit\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\nset [level x v] to [0]\nrepeat (14)\n    create clone of (_myself_ v)\n    change [level x v] by (470)\n    next costume\nend\n\nwhen I start as a clone\nshow\nforever\n    go to x: (((Scrollx) * (-1)) + (level X)) y: ((Scrolly) * (-1))\nend\n\n@EndSprite2level2\n\nwhen I receive [the end v]\ngo to [front v] layer\nwait (.01) seconds\nshow\nswitch costume to (costume1 v)\nchange [ghost v] effect by (100)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nrepeat until <(costume [number v]) = [12]>\n    wait (.01) seconds\n    next costume\nend\n\nwhen flag clicked\nhide\n\n@Thumbnail\n\nwhen flag clicked\nforever\n    set [ghost v] effect to (100)\nend\n\nset [ghost v] effect to (0)\nshow\ngo to [front v] layer\n\nwhen flag clicked\nforever\n    play sound [Unlimited v] until done\nend\n\nwhen flag clicked\n\ngo to [front v] layer\n\n@Sprite1\n\nwhen flag clicked\nhide\n\nwhen I receive [the end v]\nhide\n\nwhen I receive [start v]\nshow\n\n@Sprite2\n\nwhen I receive [walk v]\ngo to [back v] layer\ngo to x: (465) y: (0)\nforever\n    change x by (-4)\n    if <(x position) < [-460]> then\n        go to x: (465) y: (0)\n    end\nend\n\nwhen flag clicked\nbroadcast (Walk v)\n\nwhen I receive [the end v]\nstop [other scripts in sprite v]\n\n@R\n\nwhen I receive [walk v]\ngo to [back v] layer\ngo to x: (0) y: (0)\nforever\n    change x by (-4)\n    if <(x position) < [-460]> then\n        go to x: (465) y: (0)\n    end\nend\n\nwhen I receive [the end v]\nstop [other scripts in sprite v]\n\n