Deep Jungle - A Platformer [Update]

Instructions: NOTICE: No ads\nControls -\nArrow keys to move\n\nStory - \nYour an explorer, looking for the lost temple of BloxWorld.  You find a jungle and think it's in there! You dash into the jungle, in hopes of finding treasure!\n\nUPDATES:\n\nv1.1 [Jan 21 2021] - MAJOR stuff. Changed character code (A LOT) added spikes, changed thumb, added outro, and made a ground hitbox.\n\nv1.2 [Jan 22 2021] - Changed background.\n\nv1.3 [Jan 21 2021] - Changed thumb.\n\nv1.4 [Jan 22 2021] - Added timer (Yeah, speedrunners!)\n\nv1.5 [Jan 22 2021] - Updated outro.\n\nv1.6 [Feb 2 2021] - Fixed timer and updated outro.

@Stage\n\nwhen flag clicked\nset volume to (100) %\nswitch backdrop to (backdrop1 v)\nforever\n    play sound [Theme v] until done\nend\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\nforever\n    if <(level) = [6]> then\n        switch backdrop to (backdrop2 v)\n    end\n    if <(level) = [11]> then\n        switch backdrop to (backdrop3 v)\n    end\n    if <(level) = [16]> then\n        switch backdrop to (backdrop1 v)\n        wait (5) seconds\n        broadcast (Outro v)\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nset [my variable v] to [0]\nforever\n    change [my variable v] by (10)\nend\n\nwhen I receive [outro v]\nrepeat (20)\n    change volume by (-5)\nend\nstop all sounds\n\n@Player\n\ndefine Restart\nset [y v] to [0]\nset [x v] to [0]\ngo to x: (-200) y: (150)\n\ndefine Physics\nswitch costume to (costume2 v)\nif <key (right arrow v) pressed?> then\n    point in direction (90)\n    change [x v] by (2.1)\nend\nif <key (left arrow v) pressed?> then\n    point in direction (-90)\n    change [x v] by (-2.1)\nend\nchange x by (x)\nSlope Detection\nif <touching (groundhitbox v)?> then\n    change x by ((x) * (-1))\n    if <key (up arrow v) pressed?> then\n        if <(x) > [0]> then\n            set [x v] to [-10]\n            set [y v] to [10]\n        else\n            set [x v] to [10]\n            set [y v] to [10]\n        end\n    else\n        set [x v] to [0]\n    end\nelse\n    set [x v] to ((x) * (0.8))\nend\nchange y by (y)\nif <touching (groundhitbox v)?> then\n    change y by ((y) * (-1))\n    set [y v] to [0]\n    if <key (up arrow v) pressed?> then\n        if <(jumping?) = [y]> then\n            set [y v] to [12]\n            set [jumping? v] to [n]\n        end\n    end\nelse\n    change [y v] by (-1)\n    set [jumping? v] to [y]\nend\nif <(y position) < [-179]> then\n    broadcast (Start v)\nend\nswitch costume to (costume3 v)\n\nwhen flag clicked\nset rotation style [left-right v]\nRestart\nshow\nset [level v] to [1]\nforever\n    Physics\nend\n\ndefine Slope Detection\nset [slope v] to [0]\nrepeat until <<(slope) = [8]> or <not <touching (groundhitbox v)?>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <touching (groundhitbox v)?> then\n    change y by (-8)\nend\n\nwhen flag clicked\nset [level v] to [1]\nforever\n    if <(x position) > [239]> then\n        Restart\n        change [level v] by (1)\n        broadcast (Next Level v)\n    end\n    if <<(y position) < [-179]> or <touching (danger v)?>> then\n        Restart\n    end\nend\n\ndefine Fast Spawn\n\n@Ground\n\nwhen I receive [next level v]\nnext costume\nbroadcast (Start v)\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\n@Thumbnail\n\nwhen flag clicked\nhide\nforever\n    go to [front v] layer\nend\n\n@Outro\n\nwhen I receive [outro v]\nshow\nset [ghost v] effect to (100)\npoint in direction (90)\nrepeat (20)\n    change volume by (-5)\n    change [ghost v] effect by (-5)\nend\nstop all sounds\nbroadcast (OutroMusic v)\nforever\n    go to [front v] layer\n    point in direction ((([sin v] of (my variable) ) * (3)) + (90))\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [outromusic v]\nset volume to (100) %\nforever\n    play sound [TheFatRat - Jackpot \(Jackpot EP Track 1\) v] until done\nend\n\nwhen I start as a clone\ngo to [front v] layer\nrepeat (10)\n    go to [front v] layer\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\n@GroundHitbox\n\nwhen I receive [next level v]\nnext costume\nbroadcast (Start v)\n\nwhen flag clicked\nshow\nset [ghost v] effect to (100)\nswitch costume to (costume1 v)\n\n@Danger\n\nwhen I receive [next level v]\nnext costume\nbroadcast (Start v)\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\n@Timer\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\nset [time v] to [0]\nset [level v] to [1]\nrepeat until <(level) = [16]>\n    wait (1) seconds\n    change [time v] by (1)\nend\nstop [this script v]\n\n@Outro2\n\nwhen I receive [outro v]\nshow\nset [ghost v] effect to (100)\npoint in direction (90)\nrepeat (20)\n    change volume by (-5)\n    change [ghost v] effect by (-5)\nend\nstop all sounds\nbroadcast (OutroMusic v)\nforever\n    go to [front v] layer\n    go [backward v] (1) layers\n    point in direction ((([sin v] of (my variable) ) * (3)) + (90))\nend\n\nwhen flag clicked\nhide\n\n