darkness: A platformer

Instructions:  ---------------------  Darkness -------------------\nFollow for more Fun games!! =)\n- Controls -\n- Arrow Keys or WASD to move\n- Up Arrow To Jump ( You can wall jump )\n- Comment your time and deaths\nPlease Leave a ❤️ and ⭐ will be highly appreciated.\n\n\n\n\n\nwhat are you doing...\n\n\n\n\n\n\nstop!\n\n\n\n\n\n\nok fine...\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\negg

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop2 v)\nforever\n    play sound [Vexento-Pollen v] until done\nend\n\nwhen I receive [end v]\nwait (1) seconds\nswitch backdrop to (backdrop3 v)\nstop all sounds\nplay sound [Jacob’s outro \(1\) \(online-audio-converter2 v] until done\n\n@introduction \n\nwhen flag clicked\nbroadcast (flag v)\nhide\n\n@Ground\n\nwhen I receive [flag v]\nclear graphic effects\nswitch costume to (costume2 v)\nrepeat (16)\n    next costume\n    create clone of (_myself_ v)\nend\n\nwhen I receive [end v]\nstop [other scripts in sprite v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\ndelete this clone\n\nwhen flag clicked\nhide\n\ndefine set x to (number1) (number2)\nforever\n    if <<(PlayerX) > ((number1) - (960))> or <((number1) + (960)) > (PlayerX)>> then\n        switch costume to (costume2 v)\n        go to x: ((0) - ((PlayerX) + ((0) - (number1)))) y: (0)\n        switch costume to (number2)\n        show\n    else\n        hide\n    end\nend\n\nwhen I start as a clone\nshow\nset x to (((costume [number v]) - (2)) * (480)) (costume [number v])\n\n@Tumbnaill\n\nwhen flag clicked\ngo to [back v] layer\nrepeat (100000000000000000000000000000000000000000000000000000000000000)\n    reset timer\n    hide\nend\n\nwhen [timer v] > (0.002)\ngo to [front v] layer\nbroadcast (hide v)\ngo to x: (0) y: (200)\nset [brightness v] effect to (45)\nshow\nrepeat (45)\n    change y by (((0) - (y position)) / (7))\n    change [brightness v] effect by (-1)\nend\n\nwhen flag clicked\nwait (900000000000000000) seconds\nshow\n\nshow\n\n@Player\n\nif <(X) > [0]> then\n    set [x v] to [5]\nelse\n    set [x v] to [-5]\nend\nset [y v] to [10]\n\nchange [playerx v] by \n\nchange [playerx v] by \n\nwhen I receive [flag v]\nset rotation style [left-right v]\nclear graphic effects\nset [playerx v] to (Checkpoint)\nset [x v] to [0]\npoint in direction (90)\nset size to (100) %\nshow\ngo to x: (0) y: (180)\nset [y v] to [0]\nset y to (180)\nforever\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        change [x v] by (.9)\n        point in direction (90)\n    end\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        change [x v] by (-.9)\n        point in direction (-90)\n    end\n    set [x v] to ((X) * (0.9))\n    change [playerx v] by (X)\n    if <touching (ground v)?> then\n        change y by (1)\n        if <touching (ground v)?> then\n            change y by (1)\n            if <touching (ground v)?> then\n                change y by (1)\n                if <touching (ground v)?> then\n                    change y by (1)\n                    if <touching (ground v)?> then\n                        change y by (1)\n                        if <touching (ground v)?> then\n                            change y by (-4)\n                            change [playerx v] by ((X) * (-2))\n                            if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n                                if <(X) < [0]> then\n                                    set [x v] to [5]\n                                else\n                                    set [x v] to [-5]\n                                end\n                                set [y v] to [10]\n                            else\n                                set [x v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [y v] by (-1)\n    change y by (Y)\n    set [player y v] to (Y)\n    if <touching (ground v)?> then\n        change y by ((Y) * (-1))\n        set [y v] to [0]\n    end\n    change y by (-1)\n    if <touching (ground v)?> then\n        if <<<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>> or <key (w v) pressed?>> then\n            set [y v] to [14]\n        end\n    end\n    if <<(y position) < [-179]> or <touching (knifes >:\) v)?>> then\n        broadcast (die v)\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        repeat until <(round (PlayerX)) = (Checkpoint)>\n            change [playerx v] by (((Checkpoint) - (PlayerX)) / (7))\n        end\n        set [playerx v] to (Checkpoint)\n        point in direction (90)\n        set size to (100) %\n        show\n        go to x: (0) y: (180)\n        set [x v] to [0]\n        set [y v] to [0]\n        set y to (180)\n        repeat (10)\n            change [ghost v] effect by (-10)\n        end\n    end\n    if <[7300] < (PlayerX)> then\n        broadcast (end v)\n    end\nend\n\nwhen flag clicked\nset [first? v] to [0]\nset [checkpoint v] to [0]\nhide\n\nwhen I receive [end v]\nstop [other scripts in sprite v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\ndelete this clone\n\nwhen I receive [flag v]\nforever\n    set [direction v] to (direction)\nend\n\nwhen I receive [hide v]\nstop [other scripts in sprite v]\nhide\n\n@heart\n\nwhen I receive [end v]\nwait (1) seconds\nhide\nrepeat (6)\n    create clone of (_myself_ v)\n    wait (1) seconds\nend\n\nwhen I start as a clone\nforever\n    switch costume to (pick random (1) to (2))\n    set size to (pick random (40) to (70)) %\n    go to [back v] layer\n    set [ghost v] effect to (pick random (5) to (15))\n    if <(pick random (1) to (2)) = [1]> then\n        show\n        go to x: (-200) y: (pick random (20) to (180))\n        repeat (220)\n            change x by (2)\n        end\n        hide\n        wait (pick random (1) to (5)) seconds\n    end\n    if <(pick random (1) to (2)) = [2]> then\n        show\n        go to x: (220) y: (pick random (-200) to (180))\n        repeat (110)\n            change x by (-4)\n        end\n        hide\n        wait (pick random (1) to (5)) seconds\n    end\nend\n\n@star\n\nwhen I receive [end v]\nwait (1) seconds\nhide\nrepeat (6)\n    create clone of (_myself_ v)\n    wait (1) seconds\nend\n\nwhen I start as a clone\nforever\n    switch costume to (pick random (1) to (2))\n    set size to (pick random (40) to (70)) %\n    go to [back v] layer\n    set [ghost v] effect to (pick random (5) to (15))\n    if <(pick random (1) to (2)) = [1]> then\n        show\n        go to x: (-200) y: (pick random (-200) to (180))\n        repeat (220)\n            change x by (2)\n        end\n        hide\n        wait (pick random (1) to (5)) seconds\n    end\n    if <(pick random (1) to (2)) = [2]> then\n        show\n        go to x: (220) y: (pick random (-200) to (180))\n        repeat (110)\n            change x by (-4)\n        end\n        hide\n        wait (pick random (1) to (5)) seconds\n    end\nend\n\n@follow\n\nwhen I start as a clone\nforever\n    switch costume to (pick random (1) to (2))\n    set size to (pick random (40) to (70)) %\n    go to [back v] layer\n    set [ghost v] effect to (pick random (5) to (15))\n    if <(pick random (1) to (2)) = [1]> then\n        show\n        go to x: (-200) y: (pick random (-200) to (180))\n        repeat (220)\n            change x by (2)\n        end\n        hide\n        wait (pick random (1) to (5)) seconds\n    end\n    if <(pick random (1) to (2)) = [2]> then\n        show\n        go to x: (220) y: (pick random (-200) to (180))\n        repeat (110)\n            change x by (-4)\n        end\n        hide\n        wait (pick random (1) to (5)) seconds\n    end\nend\n\nwhen I receive [end v]\nwait (1) seconds\nhide\nrepeat (6)\n    create clone of (_myself_ v)\n    wait (1) seconds\nend\n\n@Sprite2\n\nwhen flag clicked\nhide\nswitch costume to (costume1 v)\n\nwhen I receive [end v]\nwait (1) seconds\nshow\n\n