Friends || A 2 player platformer :)
@Stage\n\nwhen flag clicked\nforever\n    play sound [Sunlight v] until done\nend\n\n@Player1\n\ndefine Gravity Save\nif <touching (levels v)?> then\n    repeat (6)\n        change y by (1)\n    end\nend\n\ndefine ycoll\nrepeat until <not <touching (levels v)?>>\n    if <(P1 - Y) > [0]> then\n        change y by (-1)\n    else\n        change y by (1)\n    end\nend\n\ndefine xcoll\nrepeat until <not <touching (levels v)?>>\n    if <(P1 - X) > [0]> then\n        change x by (-1)\n    else\n        change x by (1)\n    end\nend\n\nwhen I receive [level up v]\nswitch costume to (player-right v)\ngo to x: (-200) y: (0)\n\nwhen I start as a clone\nswitch costume to (clone v)\nrepeat (10)\n    change [ghost v] effect by (10)\n    change size by (-5)\nend\ndelete this clone\n\nwhen [timer v] > (0.01)\nhide\n\nwhen I receive [game on v]\nshow\nswitch costume to (player-right v)\ngo to x: (-205) y: (0)\npoint in direction (90)\nset rotation style [left-right v]\nforever\n    show\n    change [p1 - y v] by (-1)\n    if <key (right arrow v) pressed?> then\n        switch costume to (player-right v)\n        change [p1 - x v] by (1)\n    end\n    if <key (left arrow v) pressed?> then\n        switch costume to (player-left v)\n        change [p1 - x v] by (-1)\n    end\n    set [p1 - x v] to ((P1 - X) * (0.9))\n    change x by (P1 - X)\n    if <touching (levels v)?> then\n        Gravity Save\n        if <touching (levels v)?> then\n            change y by (-6)\n            xcoll\n            if <key (up arrow v) pressed?> then\n                ycoll\n                set [p1 - y v] to [12]\n                if <([abs v] of (P1 - X) ) = (P1 - X)> then\n                    set [p1 - x v] to [-8]\n                else\n                    set [p1 - x v] to [8]\n                end\n            else\n                set [p1 - x v] to [0]\n            end\n        end\n    end\n    change y by (P1 - Y)\n    if <touching (levels v)?> then\n        ycoll\n        if <<key (up arrow v) pressed?> and <(P1 - Y) < [0]>> then\n            set [p1 - y v] to [14]\n        else\n            set [p1 - y v] to [0]\n        end\n    end\n    if <<touching (danger v)?> or <[-176] > (y position)>> then\n        go to [front v] layer\n        clear graphic effects\n        set size to (100) %\n        repeat (10)\n            change size by (8)\n            change [ghost v] effect by (10)\n        end\n        wait (1) seconds\n        clear graphic effects\n        set size to (100) %\n        go to x: (-200) y: (0)\n    end\n    if <(x position) > [235]> then\n        broadcast (Level Up v)\n        go to x: (-200) y: (0)\n    end\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [retry v]\ngo to x: (-200) y: (0)\n\n@Player2\n\ndefine Gravity Save\nif <touching (levels v)?> then\n    repeat (6)\n        change y by (1)\n    end\nend\n\ndefine ycoll\nrepeat until <not <touching (levels v)?>>\n    if <(P2 - Y) > [0]> then\n        change y by (-1)\n    else\n        change y by (1)\n    end\nend\n\ndefine xcoll\nrepeat until <not <touching (levels v)?>>\n    if <(P2 - X) > [0]> then\n        change x by (-1)\n    else\n        change x by (1)\n    end\nend\n\nwhen I receive [level up v]\nswitch costume to (player-right v)\ngo to x: (-205) y: (0)\n\nwhen I start as a clone\nswitch costume to (clone v)\nrepeat (10)\n    change [ghost v] effect by (10)\n    change size by (-5)\nend\ndelete this clone\n\nwhen [timer v] > (0.01)\nhide\n\nwhen I receive [game on v]\nshow\nswitch costume to (player-right v)\ngo to x: (-200) y: (0)\npoint in direction (90)\nset rotation style [left-right v]\nforever\n    change [p2 - y v] by (-1)\n    if <key (d v) pressed?> then\n        switch costume to (player-right v)\n        change [p2 - x v] by (1)\n    end\n    if <key (a v) pressed?> then\n        switch costume to (player-left v)\n        change [p2 - x v] by (-1)\n    end\n    set [p2 - x v] to ((P2 - X) * (0.9))\n    change x by (P2 - X)\n    if <touching (levels v)?> then\n        Gravity Save\n        if <touching (levels v)?> then\n            change y by (-6)\n            xcoll\n            if <key (w v) pressed?> then\n                ycoll\n                set [p2 - y v] to [12]\n                if <([abs v] of (P2 - X) ) = (P2 - X)> then\n                    set [p2 - x v] to [-8]\n                else\n                    set [p2 - x v] to [8]\n                end\n            else\n                set [p2 - x v] to [0]\n            end\n        end\n    end\n    change y by (P2 - Y)\n    if <touching (levels v)?> then\n        ycoll\n        if <<key (w v) pressed?> and <(P2 - Y) < [0]>> then\n            set [p2 - y v] to [14]\n        else\n            set [p2 - y v] to [0]\n        end\n    end\n    if <<touching (danger v)?> or <[-176] > (y position)>> then\n        go to [front v] layer\n        clear graphic effects\n        set size to (100) %\n        repeat (10)\n            change size by (8)\n            change [ghost v] effect by (10)\n        end\n        wait (1) seconds\n        clear graphic effects\n        set size to (100) %\n        go to x: (-200) y: (0)\n        go to x: (-205) y: (0)\n    end\n    if <(x position) > [235]> then\n        broadcast (Level Up v)\n        go to x: (-205) y: (0)\n    end\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [retry v]\ngo to x: (-200) y: (0)\n\n@Levels\n\nwhen flag clicked\nhide\n\nwhen I receive [level up v]\nnext costume\n\nwhen [timer v] > (0.01)\nhide\n\nwhen I receive [game on v]\nshow\ngo to x: (-26) y: (-59)\nswitch costume to (costume1 v)\nset size to (100) %\n\n@Danger\n\nwhen flag clicked\ngo to x: (-26) y: (-59)\nswitch costume to (costume1 v)\nset size to (100) %\nshow\n\nwhen I receive [level up v]\nnext costume\nif <(costume [number v]) = [9]> then\n    repeat until <not <(costume [number v]) = [9]>>\n        go to x: (-13) y: (-93)\n        turn right (3) degrees\n    end\nelse\n    go to x: (-26) y: (-59)\n    point in direction (90)\nend\n\nwhen [timer v] > (0.01)\nhide\n\n@Thumbnail\n\nwhen flag clicked\npoint in direction (90)\ngo to x: (7) y: (405)\ngo [forward v] (345678) layers\ngo to [front v] layer\nhide\nforever\n    reset timer\nend\n\nwhen [timer v] > (0.01)\npoint in direction (90)\ngo to [front v] layer\nshow\nrepeat (35)\n    change y by (-10)\nend\ngo to x: (7) y: (31)\nset size to (80) %\nwait (1) seconds\nforever\n    point in direction ((([sin v] of ((timer) * (150)) ) * (20)) + (90))\nend\n\nwhen [t v] key pressed\nbroadcast (Thumbnail v)\n\nwhen I receive [thumbnail v]\nif <(username) = [deeBoi]> then\n    forever\n        go to [front v] layer\n        point in direction (94)\n        go to x: (7) y: (31)\n        show\n        set size to (100) %\n    end\nend\n\n@Youtube play button\n\nwhen flag clicked\nswitch costume to (youtube play button v)\nset size to (100) %\nshow\ngo to x: (30) y: (-116)\ngo to [front v] layer\nforever\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (40)\n        set size to (110) %\n        play sound [Wood Tap v] until done\n        wait until <not <touching (mouse-pointer v)?>>\n    else\n        set [ghost v] effect to (0)\n        set size to (100) %\n    end\nend\n\nwhen this sprite clicked\nbroadcast (Game On v)\nhide\n\n@Decoy\n\nwhen flag clicked\ngo to x: (15) y: (92)\npoint in direction (90)\ngo to [back v] layer\nshow\nset size to (60) %\n\nwhen I receive [game on v]\nhide\n\nwhen I receive [settings v]\nhide\n\nwhen I receive [no settings v]\nshow\n\n@How to play\n\nwhen flag clicked\nswitch costume to (question mark button v)\nset size to (100) %\nshow\ngo to x: (-126) y: (-126)\nforever\n    if <touching (mouse-pointer v)?> then\n        if <(costume [number v]) = [1]> then\n            set [ghost v] effect to (40)\n            set size to (110) %\n            play sound [Wood Tap v] until done\n            wait until <not <touching (mouse-pointer v)?>>\n        end\n    else\n        set [ghost v] effect to (0)\n        set size to (100) %\n    end\nend\n\nwhen this sprite clicked\nbroadcast (Yes how to play v)\nnext costume\ngo [backward v] (1) layers\nrepeat until <not <(costume [number v]) = [2]>>\n    set [ghost v] effect to (0)\n    set size to (100) %\nend\nbroadcast (No how to play v)\n\nwhen I receive [game on v]\nhide\n\n@Settings\n\nwhen flag clicked\nbroadcast (No settings v)\nswitch costume to (settings v)\nset size to (100) %\nshow\ngo to x: (174) y: (-116)\nforever\n    if <touching (mouse-pointer v)?> then\n        if <(costume [number v]) = [1]> then\n            set [ghost v] effect to (40)\n            set size to (110) %\n            play sound [Wood Tap v] until done\n            wait until <not <touching (mouse-pointer v)?>>\n        end\n    else\n        set [ghost v] effect to (0)\n        set size to (100) %\n    end\nend\n\nwhen this sprite clicked\nbroadcast (Settings v)\nnext costume\ngo [backward v] (1) layers\nrepeat until <not <(costume [number v]) = [2]>>\n    set size to (100) %\n    set [ghost v] effect to (0)\nend\nbroadcast (Settings v)\n\nwhen I receive [game on v]\nhide\n\n@Skip mode\n\nwhen flag clicked\nswitch costume to (pick random (1) to (2))\nhide\nforever\n    if <(costume [number v]) = [1]> then\n        set [skip mode: v] to [✅]\n    else\n        set [skip mode: v] to [❌]\n    end\nend\n\nwhen I receive [settings v]\nshow\n\nwhen I receive [no settings v]\nhide\n\nwhen this sprite clicked\nnext costume\n\nwhen I receive [game on v]\nhide\n\nwhen I receive [yes how to play v]\nhide\n\n@Skip button\n\nwhen flag clicked\nset size to (50) %\nhide\n\nwhen I receive [game on v]\nif <(Skip Mode:) = [✅]> then\n    show\nelse\n    hide\nend\n\nwhen this sprite clicked\nbroadcast (Level Up v)\n\n@Reset mode\n\nwhen flag clicked\nswitch costume to (pick random (1) to (2))\nhide\nforever\n    if <(costume [number v]) = [1]> then\n        set [reset mode: v] to [✅]\n    else\n        set [reset mode: v] to [❌]\n    end\nend\n\nwhen I receive [settings v]\nshow\n\nwhen I receive [no settings v]\nhide\n\nwhen this sprite clicked\nnext costume\n\nwhen I receive [game on v]\nhide\n\nwhen I receive [yes how to play v]\nhide\n\n@Reset button\n\nwhen flag clicked\nset size to (50) %\nhide\n\nwhen I receive [game on v]\nif <(Reset Mode:) = [✅]> then\n    show\nelse\n    hide\nend\n\nwhen this sprite clicked\nbroadcast (Retry v)\n\n
                 Friends || A 2 player platformer :)\n                               by @deeBoi\n---------------------------------------------------------------\nMovement:\nUse the arrow keys to move the black player.\nUse the WASD keys to move the red player.\n3RD PLAYER DELETED CUZ OF LAG AND BUGS\n\nObstacles:\n-Spikes\n-Lava\n\nHow to pass:\nGo to the right edge of the screen.\n\nHave Fun!!!\n\nLove, fave, and follow at @deeBoi!!!!!!!!!!!!!!!!!!!!!!