Forest | A platformer Part 3

Instructions: Look Before part 1 :\nhttps://scratch.mit.edu/projects/390286104\nAnd part 2 :\nhttps://scratch.mit.edu/projects/393963394\nSalut ! Bienvenue dans ce platformer !\n Utiliser les fléches directionnelles pour bouger. \n18 level, tous sont possibles !\n"s" pour passer un level\nPas de pub svp ! \nEnjoy !\nHello ! Welcome to this platformer! \nUse the arrow keys to move.\n 18 level, all are possible! \n"s" to skip level\nNo add plz !\nEnjoy!\n

@Stage\n\n@intro\n\nwhen flag clicked\nstart sound [Elek Tronomia - Elektronomia - Sky High v]\nhide\nset size to (220) %\ngo to [front v] layer\nwait (1) seconds\nshow\ngo to x: (0) y: (400)\nglide (0.111111111) secs to x: (0) y: (33)\nbroadcast (Skip Intro v)\nforever\n    go to [front v] layer\nend\n\nwhen I receive [message1 v]\nrepeat (5)\n    repeat (10)\n        change size by (5)\n    end\n    broadcast (boom v)\n    repeat (10)\n        change size by (-5)\n    end\nend\nwait (3) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\n\nwhen flag clicked\nforever\n    next costume\nend\n\nwhen flag clicked\nswitch backdrop to (arrière plan1 v)\nwait (11) seconds\nswitch backdrop to (arrière plan2 v)\nbroadcast (Début jeu v)\n\nwhen I receive [début jeu v]\nhide\n\n@intro2\n\nwhen I start as a clone\nrepeat (10)\n    change size by (-2.5)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen flag clicked\npoint in direction (90)\nhide\nset size to (75) %\ngo to [front v] layer\nwait (2) seconds\nshow\ngo to x: (-400) y: (0)\nglide (0.5) secs to x: (400) y: (0)\npoint in direction (60)\nglide (1) secs to x: (98) y: (-110)\nbroadcast (message1 v)\n\nwhen I receive [message1 v]\nrepeat (5)\n    repeat (10)\n        change size by (5)\n    end\n    broadcast (boom v)\n    repeat (10)\n        change size by (-5)\n    end\nend\nwait (3) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\n\nwhen flag clicked\nforever\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\nforever\n    next costume\nend\n\nwhen I receive [début jeu v]\nhide\n\n@entourage\n\nwhen flag clicked\nswitch costume to (costume1 v)\nset size to (50) %\ngo to [back v] layer\nshow\ngo to x: (400) y: (0)\nglide (1) secs to x: (0) y: (32)\n\nwhen I receive [message1 v]\nrepeat (5)\n    repeat (10)\n        change size by (2.5)\n    end\n    broadcast (boom v)\n    repeat (10)\n        change size by (-2.5)\n    end\nend\nwait (3) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nbroadcast (end v)\n\nwhen flag clicked\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nrepeat (10)\n    change size by (-2.5)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen I receive [skip intro v]\nswitch costume to (costume2 v)\n\nwhen I receive [début jeu v]\nhide\n\n@Intro4\n\nwhen I receive [boom v]\nif <(size) < [21]> then\n    set [momentum v] to (pick random (10) to (15))\n    set [intro #2: yv v] to (pick random (2) to (3))\n    change [brightness v] effect by (pick random (-20) to (20))\n    change size by (pick random (10) to (20))\n    set [ghost v] effect to (45)\n    turn right (pick random (-10) to (10)) degrees\n    show\n    repeat until <touching (_edge_ v)?>\n        go to [back v] layer\n        move (Momentum) steps\n        change y by (Intro #2: Yv)\n    end\n    hide\n    delete this clone\nelse\n    repeat (2)\n        Spread\n        wait (0.2) seconds\n    end\nend\nstop [this script v]\n\ndefine Spread\nshow\ngo to [back v] layer\nset [ghost v] effect to (45)\nchange [dot count v] by (10)\ngo to (intro v)\npoint in direction (90)\ngo to (intro v)\nturn right (Dot Count) degrees\ncreate clone of (_myself_ v)\nrepeat until <touching (_edge_ v)?>\n    move (15) steps\nend\nhide\n\nwhen I receive [end v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nset size to (15) %\ngo to x: (0) y: (0)\npoint in direction (75)\nhide\nset [dot count v] to [0]\nrepeat (150)\n    create clone of (_myself_ v)\n    turn left (0.5) degrees\nend\n\nwhen I receive [début jeu v]\nhide\n\n@intro3\n\nwhen I receive [boom v]\nif <(size) < [21]> then\n    set [momentum v] to (pick random (10) to (15))\n    set [intro #2: yv v] to (pick random (2) to (3))\n    change [brightness v] effect by (pick random (-20) to (20))\n    change size by (pick random (10) to (20))\n    set [ghost v] effect to (45)\n    turn right (pick random (-10) to (10)) degrees\n    show\n    repeat until <touching (_edge_ v)?>\n        go to [back v] layer\n        move (Momentum) steps\n        change y by (Intro #2: Yv)\n    end\nelse\n    repeat (2)\n        Spread\n        wait (0.2) seconds\n    end\nend\n\nrepeat (2)\nend\n\ndefine Spread\nshow\ngo to [back v] layer\nset [ghost v] effect to (45)\nchange [dot count v] by (10)\ngo to (intro2 v)\npoint in direction (90)\ngo to (intro2 v)\nturn right (Dot Count) degrees\ncreate clone of (_myself_ v)\nrepeat until <touching (_edge_ v)?>\n    move (15) steps\nend\nhide\n\nwhen I receive [end v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nset size to (15) %\ngo to x: (0) y: (0)\npoint in direction (75)\nhide\nset [dot count v] to [0]\nrepeat (20)\n    create clone of (_myself_ v)\n    turn left (15) degrees\nend\n\nchange [intro #2: yv v] by (-0.4)\nset [momentum v] to ((Momentum) * (0.95))\n\nwhen I receive [début jeu v]\nhide\n\n@F1\n\nwhen flag clicked\nhide\n\nwhen flag clicked\n\nhide\n\nwhen I receive [début jeu v]\ngo to [front v] layer\nset [ghost v] effect to (0)\nshow\nset [x velocity v] to [0]\nset [y velocity v] to [0]\ngo to x: (-214) y: (-90)\nforever\n    if <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        change [x velocity v] by (1)\n    end\n    if <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        change [x velocity v] by (-1)\n    end\n    set [x velocity v] to ((x velocity) * (.9))\n    change x by (x velocity)\n    if <touching color (#2dc600)?> then\n        change y by (1)\n        if <touching color (#2dc600)?> then\n            change y by (1)\n            if <touching color (#2dc600)?> then\n                change y by (1)\n                if <touching color (#2dc600)?> then\n                    change y by (1)\n                    if <touching color (#2dc600)?> then\n                        if <touching color (#2dc600)?> then\n                            change x by ((x velocity) * (-1))\n                            change x by (-5)\n                            if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>> then\n                                if <(x velocity) > [0]> then\n                                    set [x velocity v] to [-5]\n                                else\n                                    set [x velocity v] to [5]\n                                end\n                                set [y velocity v] to [10]\n                            else\n                                set [x velocity v] to [0]\n                            end\n                        end\n                        change y by (1)\n                    end\n                end\n            end\n        end\n    end\n    change [y velocity v] by (-1)\n    change y by (y velocity)\n    if <touching color (#2dc600)?> then\n        change y by ((y velocity) * (-1))\n        set [y velocity v] to [0]\n    end\n    change y by (-1)\n    if <touching color (#2dc600)?> then\n        if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>> then\n            change [y velocity v] by (15)\n        end\n    end\n    if <touching color (#6aff66)?> then\n        change [y velocity v] by (35)\n    end\n    change y by (1)\n    if <(x position) > [230]> then\n        set [x velocity v] to [0]\n        set [y velocity v] to [0]\n        go to x: (-214) y: (-90)\n        broadcast (next v)\n    end\n    if <touching color (#b8b8b8)?> then\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        set [ghost v] effect to (0)\n        set [x velocity v] to [0]\n        set [y velocity v] to [0]\n        go to x: (-214) y: (-90)\n    end\n    if <touching color (#969696)?> then\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        set [ghost v] effect to (0)\n        set [x velocity v] to [0]\n        set [y velocity v] to [0]\n        go to x: (-214) y: (-90)\n    end\n    if <touching color (#ff4e4e)?> then\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        set [ghost v] effect to (0)\n        set [x velocity v] to [0]\n        set [y velocity v] to [0]\n        go to x: (-205) y: (-78)\n    end\nend\n\nwhen I receive [début jeu v]\nforever\n    play sound [Marshmello - TOGETHER \(1\) v] until done\nend\n\nwhen I receive [next v]\ngo to x: (-214) y: (-90)\n\n@F2\n\nwhen I receive [next v]\nnext costume\n\nwhen I receive [début jeu v]\nshow\nswitch costume to (costume1 v)\ngo to x: (-0) y: (-0)\nforever\n    if <(costume [number v]) = [9]> then\n        broadcast (fire 2 v)\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [début jeu v]\nforever\n    if <key (s v) pressed?> then\n        broadcast (next v)\n        wait (2) seconds\n    end\nend\n\nwhen I receive [début jeu v]\nforever\n    if <(costume [number v]) = [8]> then\n        broadcast (Fire 1 v)\n    end\nend\n\nwhen I receive [début jeu v]\nforever\n    if <(costume [number v]) = [10]> then\n        broadcast (fire 3 v)\n    end\nend\n\nwhen I receive [début jeu v]\nforever\n    if <(costume [number v]) = [11]> then\n        broadcast (fire 4 v)\n    end\nend\n\n@Sprite1\n\nwhen flag clicked\nhide\n\nwhen I receive [début jeu v]\ngo to [back v] layer\nshow\n\n@Sprite2\n\nwhen flag clicked\nhide\n\nwhen I receive [début jeu v]\ngo to [back v] layer\nchange [ghost v] effect by (50)\nshow\n\n@Sprite3\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [front v] layer\nhide\n\nshow\n\n@fire\n\nwhen flag clicked\nhide\n\nwhen I receive [fire 1 v]\ngo to x: (28) y: (133)\nshow\n\nwhen flag clicked\nhide\n\nwhen I receive [fire 2 v]\ngo to x: (-96) y: (-105)\n\nwhen I receive [fire 3 v]\ngo to x: (-109) y: (99)\n\nwhen I receive [fire 4 v]\nhide\n\n@fire2\n\nwhen flag clicked\nhide\n\nwhen I receive [fire 1 v]\ngo to x: (37) y: (27)\nshow\n\nwhen flag clicked\nhide\n\nwhen I receive [fire 2 v]\ngo to x: (16) y: (-104)\n\nwhen I receive [fire 3 v]\ngo to x: (-26) y: (43)\n\nwhen I receive [fire 4 v]\nhide\n\n