2 Player Platformer Fun!!

Instructions: ▬▬▬▬▬▬▬▬▬ Grassy Fun ▬▬▬▬▬▬▬▬▬\nGuess what?! I'm back from my break, I took a while but it felt great. I wrote A LOT and other than that, I really did nothing. Welp, I have nothing else to say soya.\n\nHow to play: use WASD or arrow keys to move (if you are in the mobile press the screen and drag to move) Parkour your way to end orb with lets you win the level. Don't touch the spikes because why would you? Love, favorite, and follow.\n\n▬▬▬▬▬▬▬▬ Credit of coolness ▬▬▬▬▬▬▬▬\n@Thepugmen: all art/design, levels, and code\n\n

@Stage\n\n@player\n\nwhen flag clicked\nhide\n\nwhen I receive [go v]\nforever\n    if <<(x position) = [235]> or <(x position) > [235]>> then\n        go to x: (-225) y: (-40)\n        broadcast (next level v)\n        set [x2 v] to [0]\n        set [y2 v] to [0]\n    end\nend\n\nwhen I receive [go v]\nforever\n    set [x move v] to ((x move) * (0.85))\n    change x by (x move)\n    if <touching (real platformer  v)?> then\n        change y by (-2)\n        if <touching (real platformer  v)?> then\n            change y by (1)\n            if <touching (real platformer  v)?> then\n                change y by (1)\n                if <touching (real platformer  v)?> then\n                    change y by (1)\n                    if <touching (real platformer  v)?> then\n                        change y by (1)\n                        if <touching (real platformer  v)?> then\n                            change y by (1)\n                            if <touching (real platformer  v)?> then\n                                change y by (-5)\n                                change x by ((-1) * (x move))\n                                if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<<mouse down?> and <(mouse x) > (x position)>> or <<mouse down?> and <(mouse x) < (x position)>>>> and <not <(x move) = [0]>>> then\n                                    set [y move v] to [8]\n                                    set [x move v] to (((x move) / ([abs v] of (x move) )) * (-10))\n                                else\n                                    set [x move v] to [0]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        change y by (2)\n    end\nend\n\nwhen I receive [go v]\nforever\n    clear graphic effects\n    change y by (-3)\n    if <touching (real platformer  v)?> then\n        if <key (up arrow v) pressed?> then\n            set [y move v] to [9]\n        end\n    end\n    change y by (3)\n    if <(y move) > [-15]> then\n        change [y move v] by (-0.5)\n    end\n    change y by (-2)\n    if <not <touching (real platformer  v)?>> then\n        change y by (-1)\n        if <not <touching (real platformer  v)?>> then\n            change y by (-1)\n            if <not <touching (real platformer  v)?>> then\n                change y by (-1)\n                if <not <touching (real platformer  v)?>> then\n                    change y by (-1)\n                    if <not <touching (real platformer  v)?>> then\n                        change y by (-1)\n                        if <not <touching (real platformer  v)?>> then\n                            change y by (5)\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (2)\n    change y by (y move)\n    if <touching (real platformer  v)?> then\n        change y by (-2)\n        if <touching (real platformer  v)?> then\n            change y by ((-1) * (y move))\n            set [y move v] to [-3]\n        end\n        change y by (2)\n    end\nend\n\nwhen I start as a clone\nswitch costume to (clone v)\nset size to (100) %\nset [ghost v] effect to (0)\nrepeat (10)\n    change [ghost v] effect by (10)\n    change size by (-10)\nend\ndelete this clone\n\nwhen I receive [go v]\nforever\n    create clone of (_myself_ v)\n    wait (.025) seconds\nend\n\nwhen I receive [go v]\nset size to (150) %\nswitch costume to (normal v)\nshow\ngo to x: (-225) y: (-40)\nset [x move v] to [0]\nset [y move v] to [0]\nforever\n    go to [front v] layer\n    if <<(y position) < [-175]> or <<touching color (#ff2323)?> or <<touching color (#d10000)?> or <touching color (#ff0000)?>>>> then\n        go to x: (-225) y: (-40)\n        start sound (pick random (1) to (3))\n        set [x move v] to [0]\n        set [y move v] to [0]\n    end\n    if <key (left arrow v) pressed?> then\n        change [x move v] by (-1)\n        point in direction (-90)\n    end\n    if <key (right arrow v) pressed?> then\n        change [x move v] by (1)\n        point in direction (90)\n    end\nend\n\nwhen I receive [next level v]\ngo to x: (-225) y: (-40)\nset [x move v] to [0]\nset [y move v] to [0]\n\n@player2\n\nwhen flag clicked\nhide\n\nwhen I receive [go v]\nforever\n    if <<(x position) = [235]> or <(x position) > [235]>> then\n        go to x: (-225) y: (-40)\n        broadcast (next level v)\n        set [x2 v] to [0]\n        set [y2 v] to [0]\n    end\nend\n\nwhen I receive [go v]\nforever\n    set [x2 v] to ((x2) * (0.85))\n    change x by (x2)\n    if <touching (real platformer  v)?> then\n        change y by (-2)\n        if <touching (real platformer  v)?> then\n            change y by (1)\n            if <touching (real platformer  v)?> then\n                change y by (1)\n                if <touching (real platformer  v)?> then\n                    change y by (1)\n                    if <touching (real platformer  v)?> then\n                        change y by (1)\n                        if <touching (real platformer  v)?> then\n                            change y by (1)\n                            if <touching (real platformer  v)?> then\n                                change y by (-5)\n                                change x by ((-1) * (x2))\n                                if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<<mouse down?> and <(mouse x) > (x position)>> or <<mouse down?> and <(mouse x) < (x position)>>>> and <not <(x move) = [0]>>> then\n                                    set [y2 v] to [8]\n                                    set [x2 v] to (((x2) / ([abs v] of (x2) )) * (-10))\n                                else\n                                    set [x2 v] to [0]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        change y by (2)\n    end\nend\n\nwhen I receive [go v]\nforever\n    clear graphic effects\n    change y by (-3)\n    if <touching (real platformer  v)?> then\n        if <key (w v) pressed?> then\n            set [y2 v] to [9]\n        end\n    end\n    change y by (3)\n    if <(y2) > [-15]> then\n        change [y2 v] by (-0.5)\n    end\n    change y by (-2)\n    if <not <touching (real platformer  v)?>> then\n        change y by (-1)\n        if <not <touching (real platformer  v)?>> then\n            change y by (-1)\n            if <not <touching (real platformer  v)?>> then\n                change y by (-1)\n                if <not <touching (real platformer  v)?>> then\n                    change y by (-1)\n                    if <not <touching (<<mouse down?> and <(mouse x) < (x position)>> v)?>> then\n                        change y by (-1)\n                        if <not <touching (real platformer  v)?>> then\n                            change y by (5)\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (2)\n    change y by (y2)\n    if <touching (real platformer  v)?> then\n        change y by (-2)\n        if <touching (real platformer  v)?> then\n            change y by ((-1) * (y2))\n            set [y2 v] to [-3]\n        end\n        change y by (2)\n    end\nend\n\nwhen I start as a clone\nswitch costume to (clone v)\nset size to (100) %\nset [ghost v] effect to (0)\nrepeat (10)\n    change [ghost v] effect by (10)\n    change size by (-10)\nend\ndelete this clone\n\nwhen I receive [go v]\nforever\n    create clone of (_myself_ v)\n    wait (.025) seconds\nend\n\nwhen I receive [go v]\nset size to (150) %\nswitch costume to (normal v)\nshow\ngo to x: (-225) y: (-40)\nset [x2 v] to [0]\nset [y2 v] to [0]\nforever\n    go to [front v] layer\n    if <<(y position) < [-175]> or <<touching color (#ff2323)?> or <<touching color (#d10000)?> or <touching color (#ff0000)?>>>> then\n        go to x: (-225) y: (-40)\n        start sound (pick random (1) to (3))\n        set [x2 v] to [0]\n        set [x2 v] to [0]\n    end\n    if <key (a v) pressed?> then\n        change [x2 v] by (-1)\n        point in direction (-90)\n    end\n    if <key (d v) pressed?> then\n        change [x2 v] by (1)\n        point in direction (90)\n    end\nend\n\nwhen I receive [next level v]\ngo to x: (-225) y: (-40)\nset [x2 v] to [0]\nset [y2 v] to [0]\n\n@real platformer \n\nwhen flag clicked\nswitch costume to (level 1 v)\nhide\n\nwhen I receive [next level v]\nif <(costume [number v]) < [9]> then\n    next costume\n    play sound [Collect v] until done\n    stop [this script v]\nend\n\nwhen I receive [go v]\nshow\n\n@Platformer deco\n\nwhen flag clicked\nswitch costume to (level 1 v)\nhide\n\nwhen I receive [go v]\nshow\nforever\n    play sound [capitol v] until done\nend\n\nwhen I receive [next level v]\nif <(costume [number v]) < [9]> then\n    next costume\n    stop [this script v]\nend\n\n@intro\n\nwhen I receive [intro v]\nif <(costume [number v]) = [1]> then\n    go to x: (0) y: (180)\n    set [intro: y v] to [-1]\n    repeat (14)\n        change y by (intro: y)\n        set [intro: y v] to ((intro: y) * (1.29))\n    end\nelse\n    go to x: (0) y: (-180)\n    set [intro: y v] to [1]\n    repeat (14)\n        change y by (intro: y)\n        set [intro: y v] to ((intro: y) * (1.29))\n    end\nend\n\nwhen I receive [intro v]\nset size to (10) %\nrepeat (14)\n    change size by (5)\nend\n\nwhen I start as a clone\nshow\nforever\n    if <(costume [number v]) = [48]> then\n    else\n        if <(costume [number v]) = [24]> then\n            set size to (100) %\n            repeat (11)\n                go to [front v] layer\n                next costume\n            end\n            broadcast (del v)\n            wait (.1) seconds\n            repeat (11)\n                go to [front v] layer\n                next costume\n            end\n            delete this clone\n        else\n            repeat until <(transition) = [1]>\n                go to [front v] layer\n            end\n        end\n    end\nend\n\nwhen flag clicked\nset [transition v] to [0]\ngo to x: (0) y: (0)\nswitch costume to (back v)\ncreate clone of (_myself_ v)\nhide\ngo to x: (0) y: (180)\nswitch costume to (pug v)\ncreate clone of (_myself_ v)\ngo to x: (0) y: (-180)\nswitch costume to (thepugmen v)\ncreate clone of (_myself_ v)\nbroadcast (Intro v)\nwait (1) seconds\ngo to x: (44) y: (0)\nset size to (120) %\nswitch costume to (costume1 v)\nshow\ngo to [front v] layer\nrepeat (20)\n    next costume\nend\nbroadcast (bright v)\nwait (1.7) seconds\nbroadcast (expand v)\nwait (1) seconds\ngo to x: (0) y: (0)\nswitch costume to (costume22 v)\ncreate clone of (_myself_ v)\ngo to x: (44) y: (0)\nswitch costume to (costume21 v)\n\nwhen I receive [del v]\nif <(costume [number v]) = [35]> then\n\nwhen I receive [bright v]\nset [brightness v] effect to (100)\nwait (.5) seconds\nrepeat (50)\n    change [brightness v] effect by (-2)\nend\n\nwhen I receive [expand v]\nchange size by (100)\n\nwhen flag clicked\nplay sound [Intro v] until done\nplay sound [Fade v] until done\nbroadcast (go v)\n\n@thumbnail\n\nwhen flag clicked\nset size to (90) %\nhide\n\nwhen flag clicked\nforever\n    reset timer\nend\n\nwhen [timer v] > (.01)\ngo to [front v] layer\nshow\n\n