The Isle - A Platformer

Instructions: Arrow keys to move! You can wall jump too\n\nIf there's any glitches or problems, please tell me so I can fix it ~\(^o^)/~\n\nIf any of you play Sky: Children of the Light, I'd like to know! (I guess it just makes me happy lol)\n\nTHIS GAME IS HEAVILY BASED OFF OF ANOTHER GAME.

@Stage\n\nwhen flag clicked\nset volume to (50) %\nforever\n    play sound [sky children of the light ost isle of dawn opening music -2796730149335181383 v] until done\nend\n\n@Sprite4\n\nwhen flag clicked\nset x to (0)\nset y to (0)\ngo to [back v] layer\nforever\n    switch costume to (level)\nend\n\n@ground\n\nwhen flag clicked\nset x to (0)\nset y to (0)\nforever\n    switch costume to (level)\nend\n\n@Sprite1\n\nwhen flag clicked\nset x to (0)\nset y to (0)\nforever\n    switch costume to (level)\nend\n\n@Star fragment 1\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nforever\n    if <<(level) = [4]> and <(received 1?) = [0]>> then\n        set x to (150)\n        set y to (15)\n        show\n    else\n        if <(received 1?) = [1]> then\n            start sound [Collect2 v]\n            set [received 1? v] to [3]\n        end\n        hide\n    end\nend\n\n@Star fragment 2\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nforever\n    if <<(level) = [7]> and <(received 2?) = [0]>> then\n        set x to (0)\n        set y to (20)\n        show\n    else\n        if <(received 2?) = [1]> then\n            start sound [Collect2 v]\n            set [received 2? v] to [3]\n        end\n        hide\n    end\nend\n\n@Star fragment 3\n\nwhen flag clicked\nhide\nforever\n    if <<(level) = [9]> and <(received 3?) = [0]>> then\n        set x to (90)\n        set y to (150)\n        show\n    else\n        if <(received 3?) = [1]> then\n            start sound [Collect2 v]\n            set [received 3? v] to [3]\n        end\n        hide\n    end\nend\n\n@Star\n\nwhen flag clicked\nforever\n    if <(level) = [10]> then\n        set x to (110)\n        set y to (-16)\n        show\n        if <touching (player v)?> then\n            broadcast (END v)\n        end\n    else\n        hide\n    end\nend\n\nwhen I receive [end v]\nhide\n\n@Player\n\nwhen flag clicked\nset [ghost v] effect to (0)\nset [level v] to [1]\nshow\nset [received 1? v] to [0]\nset [received 2? v] to [0]\nset [received 3? v] to [0]\nset [x v] to [0]\nset [y v] to [0]\nforever\n    change [y v] by (-1)\n    if <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        change [x v] by (-1)\n    end\n    if <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        change [x v] by (1)\n    end\n    set [x v] to ((x) * (0.9))\n    change x by (x)\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (-4)\n        change x by ((x) * (-1))\n        if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n            set [y v] to [17]\n            if <(x) > [0]> then\n                set [x v] to [-10]\n            else\n                set [x v] to [10]\n            end\n        else\n            set [x v] to [0]\n        end\n    end\n    change y by (y)\n    if <touching (ground v)?> then\n        change y by ((y) - ((y) * (2)))\n        set [y v] to [0]\n    end\n    change y by (-1)\n    if <<key (up arrow v) pressed?> and <touching (ground v)?>> then\n        set [y v] to [15]\n    end\n    change y by (1)\n    if <(x position) > [222]> then\n        broadcast (NEXT LEVEL v)\n        set x to (-220)\n    end\nend\n\nif <touching color (#7bbae3)?> then\n    set [y v] to [22]\nend\n\nwhen I receive [next level v]\nchange [level v] by (1)\n\nwhen flag clicked\nforever\n    if <touching (damage v)?> then\n        repeat (10)\n            set [x v] to [0]\n            set [y v] to [0]\n            change [ghost v] effect by (10)\n        end\n        go to x: (-200) y: (0)\n        set [ghost v] effect to (0)\n        change [deaths: v] by (1)\n    end\nend\n\nwhen flag clicked\ngo to x: (-200) y: (-50)\n\nwhen flag clicked\nforever\n    if <touching (star fragment 1 v)?> then\n        set [received 1? v] to [1]\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (star fragment 2 v)?> then\n        set [received 2? v] to [1]\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (star fragment 3 v)?> then\n        set [received 3? v] to [1]\n    end\nend\n\n@Damage\n\nwhen flag clicked\nset x to (0)\nset y to (0)\nforever\n    switch costume to (level)\nend\n\n@Sprite2\n\nwhen flag clicked\nset [end? v] to [0]\nclear graphic effects\nset x to (0)\nset y to (0)\nhide\n\nwhen I receive [end v]\nset [end? v] to [1]\n\nwhen flag clicked\nforever\n    if <(End?) = [1]> then\n        set [ghost v] effect to (100)\n        show\n        repeat (20)\n            change [ghost v] effect by (-5)\n        end\n        stop [all v]\n    end\nend\n\n