LONG PLATFORMER!!

Instructions: https://scratch.mit.edu/projects/314777104\n\nPRESS FLAG TWICE\n❤ and ⭐\nWelcome to Team Work! Another platformer by @terryjr229. In this game you and a friend work together (or play by yourself). Trying to get to the green flag. Red can only touch blue, and blue can only touch red. Use each other to get to the flag. There are 10 levels all 100% possible. Have fun!\n\nBlue: Arrow keys\nRed: WAD

@Stage\n\nwhen flag clicked\nforever\n    play sound [771676_FORTNITE-Orchestral-Cover-.mp3 v] until done\nend\n\n@Player\n\nwhen I start as a clone\nset size to (125) %\nrepeat (20)\n    change [ghost v] effect by (5)\n    change size by (-5)\nend\ndelete this clone\n\nwhen flag clicked\nset [air v] to [0]\nset [max level v] to [13]\nset [level v] to [1]\nRespawn [-200] [0]\nwait (1) seconds\nforever\n    change [air v] by (1)\n    if <(air) > [100]> then\n        set [air v] to [100]\n    end\n    change [y speed v] by (-1)\n    Change Y (y speed)\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <(touching ground) = [1]>> then\n        set [y speed v] to [15]\n    end\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        change [x speed v] by (3)\n    end\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        change [x speed v] by (-3)\n    end\n    if <(x speed) > [8]> then\n        set [x speed v] to [8]\n    else\n        if <(x speed) < [-8]> then\n            set [x speed v] to [-8]\n        end\n    end\n    Change X (x speed)\n    if <(x speed) > [0]> then\n        change [x speed v] by (-1)\n    else\n        if <(x speed) < [0]> then\n            change [x speed v] by (1)\n        end\n    end\n    if <((frame counter) mod (3)) = [0]> then\n    if <<(x position) > [239]> and <not <(level) = [16]>>> then\n        if <not <(level) = (max level)>> then\n            Respawn [-210] (y position)\n            change [level v] by (1)\n            if <(level) = [11]> then\n                Respawn [-210] [-74]\n            end\n            broadcast (Next level v) and wait\n            if <(level) = [11]> then\n                wait (.5) seconds\n            end\n            if <(level) = [4]> then\n                change [☁ plays v] by (1)\n            end\n        end\n    end\n    change [color v] effect by (.1)\nend\n\ndefine Respawn (x) (y)\nset [x speed v] to [0]\nset [y speed v] to [0]\ngo to x: (x) y: (y)\n\ndefine Change X (x speed)\nset [slope v] to [0]\nif <(touching ground) = [1]> then\n    set [max slope v] to [15]\nelse\n    set [max slope v] to [1]\nend\nchange x by (x speed)\nif  then\n    if <<(level) = [11]> or <(level) = [15]>> then\n        change [deaths on hard level v] by (1)\n    end\n    start sound [you know what th3 v]\n    Respawn [-210] [0]\nend\nif <<touching (platforms v)?> or <touching (invissprite v)?>> then\n    repeat until <<not <<touching (platforms v)?> or <touching (invissprite v)?>>> or <(slope) = (max slope)>>\n        change y by (1)\n        change [slope v] by (1)\n    end\nend\nif <(slope) = (max slope)> then\n    change y by (() - (slope))\n    set [x speed v] to [0]\n    if <(x speed) > [0]> then\n        repeat until <not <<touching (platforms v)?> or <touching (invissprite v)?>>>\n            change x by (-1)\n        end\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <(air) > [5]>> then\n            set [y speed v] to [15]\n            set [x speed v] to [-10]\n        end\n    else\n        repeat until <not <<touching (platforms v)?> or <touching (invissprite v)?>>>\n            change x by (1)\n        end\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <(air) > [5]>> then\n            set [y speed v] to [15]\n            set [x speed v] to [10]\n        end\n    end\nend\nif <(touching ground) = [1]> then\n    change y by (-15)\n    if <<touching (platforms v)?> or <touching (invissprite v)?>> then\n        repeat until <not <<touching (platforms v)?> or <touching (invissprite v)?>>>\n            change y by (1)\n        end\n    else\n        change y by (15)\n    end\nend\n\ndefine Change Y (y speed)\nchange y by (y speed)\nif  then\n    if <<(level) = [11]> or <(level) = [15]>> then\n        change [deaths on hard level v] by (1)\n    end\n    start sound [you know what th3 v]\n    Respawn [-210] [0]\nend\nset [touching ground v] to [0]\nif <<touching (platforms v)?> or <touching (invissprite v)?>> then\n    set [y speed v] to [0]\n    if <<(y speed) > [0]> or <(y speed) = [0]>> then\n        repeat until <not <<touching (platforms v)?> or <touching (invissprite v)?>>>\n            change y by (-1)\n        end\n    else\n        set [touching ground v] to [1]\n        set [air v] to [0]\n        repeat until <not <<touching (platforms v)?> or <touching (invissprite v)?>>>\n            change y by (1)\n        end\n    end\nend\n\ncreate clone of (_myself_ v)\n\n@Platforms\n\nwhen flag clicked\nswitch costume to ([sin v] of (90) )\nforever\n    switch costume to (level)\nend\n\nwhen I receive [next level v]\nstart sound [Clue Sting Minor2 v]\nrepeat (15)\n    go to x: (pick random (-10) to (10)) y: (pick random (-10) to (10))\nend\ngo to x: (0) y: (0)\n\n@Exit\n\nwhen flag clicked\nhide\nswitch costume to ([sin v] of (90) )\nforever\n    set [win rate v] to ((100) * ((☁ wins) / (☁ plays)))\nend\n\n@Sprite1\n\nwhen flag clicked\nset rotation style [left-right v]\nforever\n    set y to ((100) + ((25) * ([sin v] of ((360) * ([cos v] of ((50) * (timer)) )) )))\nend\n\nwhen I receive [next level v]\nswitch costume to (pick random (1) to (4))\npoint in direction (pick random (-1) to (1))\n\n@texkt\n\nwhen flag clicked\nswitch costume to ([sin v] of (90) )\nforever\n    switch costume to (level)\nend\n\n@Spykes\n\n@Rising Lava\n\nwhen flag clicked\nswitch costume to ([sin v] of (90) )\nforever\n    switch costume to (level)\nend\n\nwhen I receive [next level v]\nstart sound [Clue Sting Minor2 v]\nrepeat (15)\n    go to x: (pick random (-10) to (10)) y: (pick random (-10) to (10))\nend\ngo to x: (0) y: (0)\n\n@icon\n\nwhen flag clicked\nclear graphic effects\ngo to x: (0) y: (0)\ngo to [front v] layer\nwait (1) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nforever\n    if <(level) = [13]> then\n        change [☁ wins v] by (1)\n        wait (6) seconds\n        go to [front v] layer\n        clear graphic effects\n        go to x: (0) y: (512)\n        glide (3) secs to x: (0) y: (0)\n        stop [this script v]\n    end\nend\n\n@invisSprite\n\nwhen flag clicked\nset [ghost v] effect to (100)\nhide\nwait (2) seconds\nforever\n    if <(level) = [11]> then\n        show\n    else\n        hide\n    end\nend\n\n@Sprite2\n\nwhen I receive [next level v]\nshow\nwait (.5) seconds\nhide\n\nwhen flag clicked\nset [ghost v] effect to (80)\nhide\n\n