Scratch editor adventure! Scrolling platformer

Instructions: Hello, this is my scrolling platformer! You are a player(use arrow keys or WASD), who stuck in scratch editor and you need to get to the right top corner to go to the next level! \nPress m to show mini map, click on it to close\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nA bit outdated intro

@Stage\n\nplay sound [Different Heaven &amp; EH!DE - My Heart v] until done\n\nwhen I receive [activate block v]\n\n@Player\n\nwhen flag clicked\nset [checkpoints v] to [0]\nhide\n\nwhen I receive [start v]\nshow\nset [level v] to [1]\ngo to x: (0) y: (0)\nforever\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        switch costume to (right v)\n    else\n        if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n            switch costume to (left v)\n        else\n            if <<<key (up arrow v) pressed?> or <key (space v) pressed?>> or <key (w v) pressed?>> then\n                switch costume to (up v)\n            else\n                switch costume to (stand v)\n            end\n        end\n    end\n    if <touching color (#a70000)?> then\n        change [level v] by (1)\n        broadcast (next level v)\n    end\n    if <touching color (#00ff8a)?> then\n        set [level v] to [3]\n        broadcast (switch sprite v)\n    end\n    if <touching color (#faff00)?> then\n        broadcast (jump v)\n    end\n    if <touching color (#3700ff)?> then\n        set [level v] to [5]\n        broadcast (activate block v)\n    end\nend\n\nwhen I receive [start v]\nset [checkpoints v] to [0]\nforever\n    if <touching color (#00ff08)?> then\n        set [checkpoints v] to [1]\n    end\n    if <touching color (#ff0000)?> then\n        set [checkpoints v] to [2]\n    end\nend\n\n@Ground\n\nwhen flag clicked\nhide\n\nwhen I receive [next level v]\nset [checkpoints v] to [0]\ngo to x: (-160) y: (450)\nswitch costume to (join [level] (LEVEL))\n\nwhen I receive [switch sprite v]\nswitch costume to (join [level] (LEVEL))\n\nwhen I receive [jump v]\nset [yv v] to [-30]\n\nwhen I receive [activate block v]\nswitch costume to (join [level] (LEVEL))\n\nwhen I receive [start v]\nset [xv v] to [0]\nset [yv v] to [0]\nswitch costume to (costume2 v)\nset size to (600) %\nswitch costume to (level1 v)\ngo to x: (-160) y: (450)\nshow\nforever\n    set [ghost v] effect to (0)\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        if <not <<key (left arrow v) pressed?> or <key (a v) pressed?>>> then\n            set [xv v] to [6]\n            change x by ((-1) * (XV))\n        end\n    end\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        set [xv v] to [-6]\n        change x by ((-1) * (XV))\n    end\n    if <not <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<key (left arrow v) pressed?> or <key (a v) pressed?>>>> then\n        set [xv v] to [0]\n    end\n    if <touching (player v)?> then\n        change y by (-1)\n        if <touching (player v)?> then\n            change y by (-1)\n            if <touching (player v)?> then\n                change y by (-1)\n                if <touching (player v)?> then\n                    change y by (-1)\n                    if <touching (player v)?> then\n                        change y by (-1)\n                        if <touching (player v)?> then\n                            change x by (XV)\n                            set [xv v] to [0]\n                            change y by (5)\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [yv v] by (1)\n    change y by (YV)\n    change [inair v] by (1)\n    if <touching (player v)?> then\n        set [inair v] to [0]\n        change y by ((YV) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (1)\n    if <<touching (player v)?> and <<<key (up arrow v) pressed?> or <key (space v) pressed?>> or <key (w v) pressed?>>> then\n        set [yv v] to [-20]\n    end\n    change y by (-1)\nend\n\nwhen I receive [start v]\nforever\n    if <(y position) > [800]> then\n        if <<(checkpoints) = [1]> and <(LEVEL) = [1]>> then\n            go to x: (896) y: (110)\n        else\n            if <<(checkpoints) = [1]> and <(LEVEL) = [3]>> then\n                go to x: (944) y: (-265)\n            else\n                if <<(checkpoints) = [2]> and <(LEVEL) = [3]>> then\n                    go to x: (8) y: (-820)\n                else\n                    if <<(checkpoints) = [1]> and <(LEVEL) = [5]>> then\n                        go to x: (-700) y: (-220)\n                    else\n                        go to x: (-160) y: (450)\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [start v]\nwait (1) seconds\nset volume to (70) %\nforever\n    play sound [pixel party v] until done\nend\n\n@background\n\nwhen flag clicked\nhide\n\nwhen I receive [next level v]\ngo to x: (-180) y: (450)\nswitch costume to (join [background] (LEVEL))\n\nwhen I receive [switch sprite v]\nswitch costume to (join [background] (LEVEL))\n\nwhen I receive [activate block v]\nswitch costume to (join [background] (LEVEL))\n\nwhen I receive [start v]\ngo to [back v] layer\nswitch costume to (nothing v)\nset size to (600) %\nswitch costume to (background1 v)\ngo to x: (-180) y: (471)\nshow\nforever\n    go to (ground v)\nend\n\n@mimimap\n\nwhen flag clicked\nswitch costume to (map1 v)\nset size to (50) %\ngo to x: (120) y: (100)\n\nwhen [m v] key pressed\nshow\n\nwhen this sprite clicked\nhide\n\nwhen I receive [next level v]\nswitch costume to (join [map] (LEVEL))\n\nwhen I receive [switch sprite v]\nswitch costume to (join [map] (LEVEL))\n\nwhen I receive [activate block v]\nswitch costume to (join [map] (LEVEL))\n\n@Normal Thumbnail\n\nwhen flag clicked\ngo to [front v] layer\nshow\nset [ghost v] effect to (100)\n\n@Intro\n\nwhen I start as a clone\nif <(id) = [0]> then\n    set size to (100) %\n    switch costume to (logo v)\n    set [ghost v] effect to (0)\n    repeat (20)\n        change [ghost v] effect by (5)\n    end\n    delete this clone\nelse\n    if <(id) = [1]> then\n        switch costume to (circle v)\n        set size to (1) %\n        go to x: (0) y: (0)\n        repeat (20)\n            change size by (6)\n            change [ghost v] effect by (5)\n        end\n        delete this clone\n    else\n        if <(id) = [2]> then\n            switch costume to (circle v)\n            set size to (1) %\n            go to x: (0) y: (0)\n            repeat (20)\n                change size by (6)\n                change [ghost v] effect by (5)\n            end\n            delete this clone\n        else\n            if <[11] = (id)> then\n                show\n                go to [front v] layer\n                set size to (100) %\n                switch costume to (close right v)\n                go to x: (200) y: (0)\n                repeat (10)\n                    change x by (-20)\n                end\n            else\n                if <[12] = (id)> then\n                    show\n                    go to [front v] layer\n                    set size to (100) %\n                    switch costume to (close left v)\n                    go to x: (-200) y: (0)\n                    repeat (10)\n                        change x by (20)\n                    end\n                    broadcast (start v)\n                else\n                    if <(id) = [red]> then\n                        show\n                        point in direction (90)\n                        set size to (10) %\n                        switch costume to (red v)\n                        go to [back v] layer\n                        repeat (27)\n                            change size by (3.3)\n                        end\n                    else\n                        if <(id) = [cool1]> then\n                            show\n                            point in direction (90)\n                            set size to (100) %\n                            switch costume to (cool1 v)\n                            go to x: (-500) y: (150)\n                            repeat (20)\n                                change x by (40)\n                                change y by (-15)\n                            end\n                        else\n                            if <(id) = [cool2]> then\n                                show\n                                point in direction (90)\n                                set size to (100) %\n                                switch costume to (cool2 v)\n                                go to x: (500) y: (150)\n                                repeat (20)\n                                    change x by (-40)\n                                    change y by (-15)\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [start v]\nwait (0.5) seconds\ndelete this clone\n\nwhen flag clicked\nset [id v] to [red]\nwait () seconds\ncreate clone of (_myself_ v)\nwait () seconds\n\nwhen flag clicked\ngo to x: (0) y: (0)\npoint in direction (90)\nwait () seconds\nwait () seconds\nset [id v] to [0]\nwait () seconds\nstart sound [Never Mind v]\ncreate clone of (_myself_ v)\nswitch costume to (logo v)\nwait () seconds\nchange [id v] by (1)\nshow\nset size to (1) %\nrepeat (25)\n    change size by (5)\n    point in direction ((([tan v] of ((timer) * (100)) ) * (6)) + (90))\nend\nrepeat (12)\n    point in direction ((([sin v] of ((timer) * (400)) ) * (5)) + (90))\nend\ncreate clone of (_myself_ v)\nchange [id v] by (1)\nwait (0) seconds\nrepeat (12)\n    point in direction ((([sin v] of ((timer) * (400)) ) * (5)) + (90))\nend\ncreate clone of (_myself_ v)\nchange [id v] by (-1)\nwait (0) seconds\nrepeat (12)\n    point in direction ((([sin v] of ((timer) * (400)) ) * (5)) + (90))\nend\ncreate clone of (_myself_ v)\nchange [id v] by (1)\nwait (0) seconds\nrepeat (12)\n    point in direction ((([sin v] of ((timer) * (400)) ) * (5)) + (90))\nend\ncreate clone of (_myself_ v)\nchange [id v] by (-1)\nwait (0) seconds\nrepeat (12)\n    point in direction ((([sin v] of ((timer) * (400)) ) * (5)) + (90))\nend\ncreate clone of (_myself_ v)\nchange [id v] by (1)\nwait (0) seconds\nrepeat (12)\n    point in direction ((([sin v] of ((timer) * (400)) ) * (5)) + (90))\nend\ncreate clone of (_myself_ v)\nchange [id v] by (-1)\nwait (0) seconds\nrepeat (12)\n    point in direction ((([sin v] of ((timer) * (400)) ) * (5)) + (90))\nend\ncreate clone of (_myself_ v)\nrepeat (5)\n    point in direction ((([sin v] of ((timer) * (400)) ) * (5)) + (90))\nend\nset [id v] to [cool1]\nwait () seconds\ncreate clone of (_myself_ v)\nset [id v] to [cool2]\nwait () seconds\ncreate clone of (_myself_ v)\npoint in direction (90)\nrepeat (28)\n    change size by (4)\n    point in direction ((([tan v] of ((timer) * (-100)) ) * (6)) + (90))\n    change [ghost v] effect by (5)\nend\nwait (0.7) seconds\nset [id v] to [10]\nrepeat (20)\n    change size by (-10)\n    point in direction ((([tan v] of ((timer) * (100)) ) * (6)) + (90))\n    change [ghost v] effect by (-5)\nend\nhide\npoint in direction (90)\nchange [id v] by (1)\nwait () seconds\ncreate clone of (_myself_ v)\nchange [id v] by (1)\nwait () seconds\ncreate clone of (_myself_ v)\n\nwhen I receive [start v]\n\n