Green - a Platformer

Instructions: Arrow keys to move pretty simple.\n

@Stage\n\n@PLAYER\n\nwhen backdrop switches to [01 v]\nshow\ngo to x: (-207) y: (-81)\nset [xv v] to [0]\nset [yv v] to [0]\nforever\n    if <touching color (#006900)?> then\n        go to x: (-207) y: (-81)\n        set [xv v] to [0]\n        set [yv v] to [0]\n    end\n    if <key (left arrow v) pressed?> then\n        change [xv v] by (-1.2)\n    end\n    if <key (right arrow v) pressed?> then\n        change [xv v] by (1.2)\n    end\n    set [xv v] to ((xv) * (0.85))\n    change x by (xv)\n    if <<touching color (#000008)?> or <touching color (#2dcb00)?>> then\n        change y by (-2)\n        if <<touching color (#000008)?> or <touching color (#2dcb00)?>> then\n            change y by (1)\n            if <<touching color (#000008)?> or <touching color (#2dcb00)?>> then\n                change y by (1)\n                if <<touching color (#000008)?> or <touching color (#2dcb00)?>> then\n                    change y by (1)\n                    if <<touching color (#000008)?> or <touching color (#2dcb00)?>> then\n                        change y by (1)\n                        if <<touching color (#000008)?> or <touching color (#2dcb00)?>> then\n                            change y by (1)\n                            if <<touching color (#000008)?> or <touching color (#2dcb00)?>> then\n                                change y by (-5)\n                                change x by ((-1) * (xv))\n                                if <<key (up arrow v) pressed?> and <not <(xv) = [0]>>> then\n                                    set [mode v] to [walljump]\n                                    set [yv v] to [8]\n                                    set [xv v] to (((xv) / ([abs v] of (xv) )) * (-10))\n                                else\n                                    set [mode v] to [wallslide]\n                                    set [xv v] to [0]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        change y by (2)\n    end\n    change y by (-3)\n    if <<touching color (#000008)?> or <touching color (#2dcb00)?>> then\n        if <(yv) = [-3]> then\n            if <<key (left arrow v) pressed?> or <key (right arrow v) pressed?>> then\n                set [mode v] to [run]\n            else\n                if <([abs v] of (xv) ) > [.1]> then\n                    set [mode v] to [skid]\n                else\n                    set [mode v] to [stand]\n                end\n            end\n        end\n        if <key (up arrow v) pressed?> then\n            set [mode v] to [jump]\n            set [yv v] to [9]\n        end\n    end\n    if <<<<(mode) = [jump]> or <(mode) = [walljump]>> and <(yv) < [0]>> or <<<(mode) = [run]> or <(mode) = [skid]>> and <(yv) < [-3]>>> then\n        set [mode v] to [fall]\n    end\n    change y by (3)\n    if <(yv) > [-15]> then\n        change [yv v] by (-0.5)\n    end\n    change y by (-2)\n    if <not <touching color (#2dcb00)?>> then\n        change y by (-1)\n        if <not <touching color (#2dcb00)?>> then\n            change y by (-1)\n            if <not <touching color (#2dcb00)?>> then\n                change y by (-1)\n                if <not <touching color (#2dcb00)?>> then\n                    change y by (-1)\n                    if <not <touching color (#2dcb00)?>> then\n                        change y by (-1)\n                        if <not <touching color (#2dcb00)?>> then\n                            change y by (5)\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (2)\n    change y by (yv)\n    if <touching color (#2dcb00)?> then\n        change y by (-2)\n        if <touching color (#2dcb00)?> then\n            change y by ((-1) * (yv))\n            set [yv v] to [-3]\n        end\n        change y by (2)\n    end\n    if <touching (gold v)?> then\n        go to x: (-207) y: (-81)\n        next backdrop\n    end\nend\n\nwhen flag clicked\nhide\nswitch backdrop to (intro v)\nforever\n    play sound [funkyelement v] until done\nend\n\n@GOLD\n\nwhen backdrop switches to [end v]\nhide\nstop [this script v]\n\nwhen backdrop switches to [01 v]\nshow\n\nwhen flag clicked\nhide\n\nclear graphic effects\n\n@THUMBNAIL\n\nwhen flag clicked\nshow\nclear graphic effects\nset [ghost v] effect to (100)\nrepeat (60)\n    change [ghost v] effect by (-3)\nend\nwait (2) seconds\nrepeat (60)\n    change [ghost v] effect by (3)\nend\n\n@BUTTON\n\nwhen flag clicked\nhide\nwait (5) seconds\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (20)\n        change size by (((120) - (size)) / (3))\n        point in direction (([sin v] of ((timer) * (1000)) ) + (90))\n        if <mouse down?> then\n            switch backdrop to (01 v)\n            hide\n            stop [this script v]\n        end\n    else\n        point in direction (90)\n        change size by (((100) - (size)) / (3))\n        set [ghost v] effect to (-10)\n    end\nend\n\n@TITLE\n\nwhen backdrop switches to [01 v]\nhide\n\nwhen flag clicked\nhide\nwait (5) seconds\nshow\nforever\n    set y to ((0) + (([cos v] of (((timer) - (1)) * (400)) ) * (3)))\nend\n\nset y to (-1)\n\nset x to (0)\n\nset size to ((100) + (([cos v] of (((timer) - (20)) * (400)) ) * (3))) %\n\n@Sprite1\n\nwhen backdrop switches to [01 v]\nshow variable [time v]\nforever\n    wait (1) seconds\n    change [time v] by (1)\nend\n\nwhen flag clicked\nset [time v] to [0]\nhide variable [time v]\n\nwhen backdrop switches to [end v]\nstop [other scripts in sprite v]\n\n@Sprite2\n\nwhen flag clicked\nhide variable [☁ world record v]\n\nwhen backdrop switches to [end v]\nif <(time) < (☁ World Record)> then\n    forever\n        set [☁ world record v] to (time)\n    end\nend\n\nwhen backdrop switches to [01 v]\nshow variable [☁ world record v]\n\n@Level\n\n