Gone... ( a scrolling platformer ) 

Instructions: Hey! This is my new Scrolling Platformer!\nArrow Keys or WASD to move, other instructions are in game. \nlol do not mind the dank meme sounds :)\nLoved by @griffpatch, @pianomanj, @Brad-Games, @StevenTheSquare, and @Za-Chary\n\nYESSS NOW MOBILE COMPATIBLE!\n\nAll levels are possible. :)\nDont Rage...

@Stage\n\n@Player\n\nwhen flag clicked\nset [checkpoint 1 v] to [false]\nset [cp pos v] to [0]\nset [cp pos y v] to [0]\nbroadcast (Start v) and wait\nbroadcast (PlayGame v) and wait\n\nwhen I receive [playgame v]\nset [level v] to [1]\nforever\n    broadcast (Reset v)\n    broadcast (Setup v)\n    GameOn\n    repeat until <(EXIT) > []>\n        Tick\n        broadcast (Tick v) and wait\n    end\n    if <(EXIT) = [win]> then\n        Game - Win\n    else\n        Game - Die\n    end\nend\n\ndefine GameOn\nset [x v] to (CP POS)\nset [y v] to (CP POS Y)\nset [sy v] to [0]\nset [in air v] to [0]\nset [exit v] to []\nset [jump boost v] to [false]\nset [super speed v] to [false]\npoint in direction (90)\nset [ghost v] effect to (0)\nset size to (150) %\nshow\n\ndefine Tick\nif <not <("z") = [yee]>> then\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(x position) > (mouse x)>>> then\n        ChangeLayer X By [-8]\n        point in direction (-90)\n    end\nend\nif <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n    ChangeLayer X By [8]\n    point in direction (90)\nend\nif <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(y position) < (mouse y)>>> then\n    if <(in air) < [4]> then\n        set [sy v] to [15]\n    end\nend\nif <(JUMP BOOST) = [valid]> then\n    if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <key (z v) pressed?>> or <<mouse down?> and <(y position) < (mouse y)>>> then\n        if <(in air) < [4]> then\n            set [sy v] to [25]\n        end\n    end\nend\nif <(SUPER SPEED) = [valid]> then\n    if <<<<key (d v) pressed?> or <key (right arrow v) pressed?>> and <key (z v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        ChangeLayer X By [15]\n    end\n    if <<<<key (a v) pressed?> or <key (left arrow v) pressed?>> and <key (z v) pressed?>> or <<mouse down?> and <(x position) > (mouse x)>>> then\n        ChangeLayer X By [-15]\n    end\nend\nif <(LEVEL) = [1]> then\n    if <(Checkpoint 1) = [true]> then\n        set [cp pos v] to [925]\n        set [cp pos y v] to [60]\n    end\nelse\n    set [cp pos y v] to [20]\n    if <(LEVEL) = [3]> then\n        if <(Checkpoint 1) = [true]> then\n            set [cp pos v] to [1985]\n            set [cp pos y v] to [30]\n        end\n    else\n        if <(LEVEL) = [4]> then\n            if <(Checkpoint 1) = [true]> then\n                set [cp pos v] to [1048]\n                set [cp pos y v] to [60]\n            end\n        else\n            if <(LEVEL) = [6]> then\n                if <(Checkpoint 1) = [true]> then\n                    set [cp pos v] to [2052]\n                    set [cp pos y v] to [224]\n                end\n            end\n        end\n    end\nend\nchange [sy v] by (-2)\nChange Player Y By (sy)\nPosition\nset [scroll x v] to (x)\nchange [scroll y v] by (round ((((y) - (SCROLL Y)) / (7)) - (-8)))\nPosition\nif <(y) < [-150]> then\n    set [exit v] to [die]\nend\n\nif <(LIGHT BEAM) = [true]> then\n\ndefine Change Player Y By (sy)\nchange [in air v] by (1)\nchange [y v] by (sy)\nPosition\nrepeat until <not <touching (platforms v)?>>\n    if <(sy) > [0]> then\n        change [y v] by (-1)\n    else\n        change [y v] by (1)\n        set [in air v] to [0]\n    end\n    Position\n    set [sy v] to [0]\nend\n\ndefine Position\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\n\ndefine ChangeLayer X By (sx)\nchange [x v] by (sx)\nPosition\nrepeat (8)\n    if <touching (platforms v)?> then\n        change [y v] by (1)\n        Position\n    end\n    if <not <touching (platforms v)?>> then\n        stop [this script v]\n    end\nend\nchange [y v] by (-8)\nrepeat until <not <touching (platforms v)?>>\n    if <(sx) > [0]> then\n        change [x v] by (-1)\n    else\n        change [x v] by (1)\n    end\n    Position\nend\n\ndefine Game - Die\nset [exit v] to []\nif <not <(LEVEL) = [10]>> then\n    start sound [uuhhh v]\nend\n\nwhen I receive [start v]\nhide\n\nwait (1) seconds\n\ndefine Game - Win\nstart sound [DJ Airhorn Sound Effect.mp3 v]\nset [checkpoint 1 v] to [false]\nset [cp pos v] to [0]\nset [cp pos y v] to [20]\ngo to (exit portal v)\nrepeat (50)\n    point towards (exit v)\n    turn right (65) degrees\n    move ((distance to [exit v]) / (500)) steps\n    change size by (-1)\n    change [ghost v] effect by (2)\nend\nhide\nchange [level v] by (1)\nwait (1) seconds\n\npoint towards (exit portal v)\nchange size by (-1)\nchange [ghost v] effect by (2)\nturn right (3) degrees\nmove ((distance to [run particle v]) / (400)) steps\n\nrepeat (5)\n    hide\n    wait (0.1) seconds\n    show\n    wait (0.1) seconds\nend\nhide\nwait (0.5) seconds\n\nwhen I receive [skip v]\nGame - Win\n\nif <(Checkpoint 1) = [true]> then\n    set [cp pos v] to [2052]\n    set [cp pos y v] to [224]\nend\n\nwhen I receive [introcomplete v]\nshow\n\n@Platforms\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nshow\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (platform1 v)\nif <(LEVEL) = [1]> then\n    Clone to x, y: [360] [0]\n    Clone to x, y: [260] [70]\n    Clone to x, y: [150] [70]\n    Clone to x, y: [150] [70]\n    Clone to x, y: [0] [-250]\n    Clone to x, y: [170] [80]\n    Clone to x, y: [190] [80]\n    Clone to x, y: [190] [80]\n    Clone to x, y: [190 ] [80]\n    Clone to x, y: [190] [80]\n    Clone to x, y: [-190] [80]\n    Clone to x, y: [190] [60]\n    Clone to x, y: [190] [150]\n    Clone to x, y: [190] [150]\n    Clone to x, y: [190] [150]\n    Clone to x, y: [150] [-50]\n    Clone to x, y: [150] [-50]\n    Clone to x, y: [150] [-50]\n    Clone to x, y: [150] [-50]\n    Clone to x, y: [150] [-50]\n    Clone to x, y: [150] [-50]\n    Clone to x, y: [150] [-50]\n    Clone to x, y: [200] [-50]\n    Clone to x, y: [190] [-40]\nelse\n    if <(LEVEL) = [2]> then\n        switch costume to (level 2 pl v)\n        Clone to x, y: [165] [10]\n        Clone to x, y: [265] [-5]\n        Clone to x, y: [265] [-45]\n        Clone to x, y: [400] [-80]\n        Clone to x, y: [200] [80]\n        Clone to x, y: [200] [80]\n        Clone to x, y: [200] [0]\n        Clone to x, y: [200] [0]\n        Clone to x, y: [200] [0]\n        Clone to x, y: [200] [80]\n        Clone to x, y: [200] [80]\n        Clone to x, y: [-200] [80]\n        Clone to x, y: [200] [80]\n        Clone to x, y: [200] [80]\n        Clone to x, y: [0] [200]\n        Clone to x, y: [200] [200]\n        Clone to x, y: [150] [-80]\n        Clone to x, y: [150] [-80]\n        Clone to x, y: [150] [-80]\n        Clone to x, y: [150] [-80]\n        Clone to x, y: [150] [-80]\n        Clone to x, y: [150] [90]\n    else\n        if <(LEVEL) = [3]> then\n            switch costume to (level 3 pl1 v)\n            Clone to x, y: [200] [0]\n            Clone to x, y: [200] [0]\n            Clone to x, y: [200] [-80]\n            Clone to x, y: [200] [80]\n            Clone to x, y: [0] [80]\n            Clone to x, y: [0] [80]\n            Clone to x, y: [0] [80]\n            Clone to x, y: [200] [65]\n            Clone to x, y: [200] [-65]\n            Clone to x, y: [200] [-65]\n            Clone to x, y: [200] [-65]\n            Clone to x, y: [200] [-65]\n            Clone to x, y: [200] [-50]\n            Clone to x, y: [150] [50]\n            Clone to x, y: [150] [50]\n            Clone to x, y: [170] [0]\n            Clone to x, y: [170] [20]\n            Clone to x, y: [150] [60]\n        else\n            if <(LEVEL) = [4]> then\n                switch costume to (level 4 pl1 v)\n                Clone to x, y: [250] [0]\n                Clone to x, y: [300] [0]\n                Clone to x, y: [300] [0]\n                Clone to x, y: [200] [50]\n                Clone to x, y: [130] [80]\n                Clone to x, y: [-300] [0]\n                Clone to x, y: [-150] [80]\n                Clone to x, y: [600] [0]\n                Clone to x, y: [150] [80]\n                Clone to x, y: [-900] [0]\n                Clone to x, y: [150] [80]\n                Clone to x, y: [600] [0]\n            else\n                if <(LEVEL) = [5]> then\n                    switch costume to (level 5 pl1 v)\n                    Clone to x, y: [200] [0]\n                    Clone to x, y: [250] [0]\n                    Clone to x, y: [350] [0]\n                    Clone to x, y: [200] [0]\n                    Clone to x, y: [400] [0]\n                    Clone to x, y: [600] [0]\n                    Clone to x, y: [400] [0]\n                    Clone to x, y: [400] [0]\n                    Clone to x, y: [400] [0]\n                    Clone to x, y: [400] [50]\n                    Clone to x, y: [400] [50]\n                    Clone to x, y: [400] [50]\n                else\n                    if <(LEVEL) = [6]> then\n                        switch costume to (level 6 pl1 v)\n                        Clone to x, y: [380] [50]\n                        Clone to x, y: [380] [20]\n                        Clone to x, y: [200] [20]\n                        Clone to x, y: [170] [20]\n                        Clone to x, y: [170] [20]\n                        Clone to x, y: [170] [20]\n                        Clone to x, y: [0] [90]\n                        Clone to x, y: [0] [90]\n                        Clone to x, y: [0] [90]\n                        Clone to x, y: [0] [90]\n                        Clone to x, y: [70] [70]\n                        Clone to x, y: [180] [0]\n                        Clone to x, y: [180] [0]\n                        Clone to x, y: [0] [-90]\n                        Clone to x, y: [0] [-90]\n                        Clone to x, y: [0] [-90]\n                        Clone to x, y: [0] [-90]\n                        Clone to x, y: [150] [0]\n                        Clone to x, y: [150] [0]\n                        Clone to x, y: [150] [75]\n                        Clone to x, y: [150] [75]\n                        Clone to x, y: [150] [75]\n                        Clone to x, y: [150] [0]\n                        Clone to x, y: [150] [75]\n                        Clone to x, y: [150] [0]\n                        Clone to x, y: [150] [75]\n                        Clone to x, y: [150] [0]\n                        Clone to x, y: [150] [75]\n                        Clone to x, y: [-150] [75]\n                        Clone to x, y: [150] [75]\n                        Clone to x, y: [-150] [75]\n                    else\n                        if <(LEVEL) = [7]> then\n                            switch costume to (level 7 pl1 v)\n                            Clone to x, y: [180] [75]\n                            Clone to x, y: [180] [75]\n                            Clone to x, y: [200] [75]\n                            Clone to x, y: [200] [-75]\n                            Clone to x, y: [200] [0]\n                            Clone to x, y: [240] [0]\n                            Clone to x, y: [240] [0]\n                            Clone to x, y: [120] [80]\n                            Clone to x, y: [-120] [80]\n                            Clone to x, y: [120] [80]\n                            Clone to x, y: [-120] [80]\n                            Clone to x, y: [120] [80]\n                            Clone to x, y: [-120] [80]\n                        else\n                            if <(LEVEL) = [8]> then\n                                switch costume to (level 8 pl1 v)\n                                Clone to x, y: [220] [0]\n                                Clone to x, y: [200] [0]\n                                Clone to x, y: [200] [0]\n                                Clone to x, y: [200] [0]\n                                Clone to x, y: [150] [70]\n                                Clone to x, y: [150] [70]\n                                Clone to x, y: [-150] [70]\n                                Clone to x, y: [150] [70]\n                                Clone to x, y: [-150] [70]\n                                Clone to x, y: [150] [70]\n                                Clone to x, y: [150] [70]\n                                Clone to x, y: [150] [70]\n                                Clone to x, y: [150] [70]\n                                Clone to x, y: [150] [70]\n                                Clone to x, y: [150] [70]\n                                Clone to x, y: [150] [70]\n                                Clone to x, y: [150] [70]\n                                Clone to x, y: [150] [70]\n                                Clone to x, y: [-150] [70]\n                                Clone to x, y: [150] [70]\n                                Clone to x, y: [-150] [70]\n                                Clone to x, y: [150] [70]\n                                Clone to x, y: [150] [70]\n                                Clone to x, y: [150] [70]\n                                Clone to x, y: [150] [70]\n                                Clone to x, y: [-150] [70]\n                                Clone to x, y: [150] [70]\n                                Clone to x, y: [-150] [70]\n                                Clone to x, y: [150] [70]\n                                Clone to x, y: [150] [70]\n                                Clone to x, y: [150] [70]\n                            else\n                                if <(LEVEL) = [9]> then\n                                    switch costume to (level 9 pl1 v)\n                                    Clone to x, y: [220] [0]\n                                    Clone to x, y: [350] [0]\n                                    Clone to x, y: [350] [0]\n                                    Clone to x, y: [350] [0]\n                                    Clone to x, y: [220] [0]\n                                    Clone to x, y: [350] [0]\n                                    Clone to x, y: [220] [0]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [playgame v]\nshow\n\nwhen I receive [reset v]\ndelete this clone\n\nwhen I receive [playgame v]\nshow\n\ndefine Clone to x, y: (x) (y)\ncreate clone of (_myself_ v)\nnext costume\nchange [x v] by (x)\nchange [y v] by (y)\n\nClone to x, y: [200] [0]\n\nClone to x, y: [240] [90]\n\n@Checkpoint 1\n\nwhen I receive [setup v]\nshow\nif <(LEVEL) = [1]> then\n    set [x v] to [925]\n    set [y v] to [35]\n    switch costume to (checkpoint 1 false v)\nelse\n    if <(LEVEL) = [2]> then\n        set [x v] to [5000]\n        set [y v] to [0]\n        switch costume to (checkpoint 1 false v)\n    else\n        if <(LEVEL) = [3]> then\n            set [x v] to [1986]\n            set [y v] to [25]\n            switch costume to (checkpoint 1 false v)\n        else\n            if <(LEVEL) = [4]> then\n                set [x v] to [1048]\n                set [y v] to [75]\n                switch costume to (checkpoint 1 false v)\n            else\n                if <(LEVEL) = [5]> then\n                    set [x v] to [10000]\n                    set [y v] to [10000]\n                    switch costume to (checkpoint 1 false v)\n                else\n                    if <(LEVEL) = [6]> then\n                        set [x v] to [2054]\n                        set [y v] to [250]\n                        switch costume to (checkpoint 1 false v)\n                    else\n                        if <(LEVEL) = [7]> then\n                            set [x v] to [100000]\n                            set [y v] to [100000]\n                            switch costume to (checkpoint 1 false v)\n                        else\n                            if <(LEVEL) = [8]> then\n                                set [x v] to [10000]\n                                set [y v] to [10000]\n                                switch costume to (checkpoint 1 false v)\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [playgame v]\n\nwhen I receive [tick v]\nif <touching (player v)?> then\n    switch costume to (checkpoint 1 true v)\n    set [checkpoint 1 v] to [true]\nend\n\nif  then\n    start sound [freeze v]\nend\n\nswitch costume to (checkpoint 1 true v)\nset [checkpoint 1 v] to [true]\n\nhide\n\nset size to (75) %\n\nhide\n\n@Mega Jump Powerup\n\nwhen I receive [playgame v]\nshow\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [tick v]\nshow\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <(JUMP BOOST) = [false]> then\n    if <touching (player v)?> then\n        start sound [freeze v]\n        set [jump boost v] to [valid]\n    end\nend\nif <(JUMP BOOST) = [valid]> then\n    hide\nend\n\nwhen I receive [setup v]\nif <(LEVEL) = [1]> then\n    set [x v] to [1900]\n    set [y v] to [530]\nelse\n    set [x v] to [50000]\n    set [y v] to [50000]\nend\n\n@Exit Portal\n\nwhen I receive [setup v]\nswitch costume to (exit open v)\nif <(LEVEL) = [1]> then\n    set [x v] to [3870]\n    set [y v] to [560]\nelse\n    if <(LEVEL) = [2]> then\n        set [x v] to [3785]\n        set [y v] to [580]\n    else\n        if <(LEVEL) = [3]> then\n            set [x v] to [2790]\n            set [y v] to [220]\n        else\n            if <(LEVEL) = [4]> then\n                set [x v] to [1329]\n                set [y v] to [410]\n            else\n                if <(LEVEL) = [5]> then\n                    set [x v] to [4540]\n                    set [y v] to [200]\n                else\n                    if <(LEVEL) = [6]> then\n                        set [x v] to [3405]\n                        set [y v] to [940]\n                    else\n                        if <(LEVEL) = [7]> then\n                            set [x v] to [1432]\n                            set [y v] to [680]\n                        else\n                            if <(LEVEL) = [8]> then\n                                set [x v] to [3080]\n                                set [y v] to [1930]\n                            else\n                                if <(LEVEL) = [9]> then\n                                    set [x v] to [2096]\n                                    set [y v] to [40]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [playgame v]\nshow\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <touching (player v)?> then\n    set [exit v] to [win]\nend\n\nif  then\nend\n\n@CUTSCENE\n\nwhen I receive [tick v]\n\nwhen flag clicked\nswitch costume to (costume2 v)\nset [ghost v] effect to (100)\n\nwhen I receive [setup v]\nhide\ngo to [back v] layer\ngo to x: (0) y: (-58)\nif <(LEVEL) = [10]> then\n    repeat (50)\n        show\n        go to [front v] layer\n        change [ghost v] effect by (-2)\n    end\n    wait (2) seconds\n    switch costume to (costume3 v)\nend\n\n@Thumbnail\n\nwhen I receive [tick v]\nshow\ngo to [front v] layer\nset [ghost v] effect to (100)\ngo to x: (0) y: (0)\n\nwhen flag clicked\nshow\ngo to [front v] layer\nset [ghost v] effect to (100)\n\n@Super SPEEEEED Powerup\n\nshow\n\nwhen flag clicked\n\nwhen I receive [playgame v]\nshow\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <(LEVEL) = [5]> then\n    show\n    if <(SUPER SPEED) = [valid]> then\n        hide\n    end\n    if <(SUPER SPEED) = [false]> then\n        if <touching (player v)?> then\n            start sound [freeze v]\n            set [super speed v] to [valid]\n        end\n    end\nelse\n    set [super speed v] to [false]\n    hide\nend\nif <(LEVEL) = [1]> then\n    hide\nend\n\nwhen I receive [setup v]\nhide\nset [super speed v] to [false]\nif <(LEVEL) = [5]> then\n    show\n    set [x v] to [200]\n    set [y v] to [30]\nend\nif <(LEVEL) = [1]> then\n    hide\nend\n\n\n\n@Skip Level\n\nwhen I receive [tick v]\nshow\ngo to x: (-190) y: (-140)\nif <not <(LEVEL) = [10]>> then\n    if <touching (mouse-pointer v)?> then\n        set size to (140) %\n        if <mouse down?> then\n            wait (.2) seconds\n            broadcast (SKIP v)\n        end\n    else\n        set size to (130) %\n        point in direction (90)\n    end\nend\n\npoint in direction (95)\n\nset size to (140) %\npoint in direction (95)\n\nset size to (130) %\npoint in direction (90)\n\n@End\n\nwhen flag clicked\nswitch costume to (costume2 v)\nset [ghost v] effect to (100)\ngo to [back v] layer\n\nwhen I receive [tick v]\n\nrepeat (50)\n    go to [front v] layer\nend\n\nshow\ngo to [front v] layer\n\nwait (4) seconds\n\nwhen I receive [setup v]\nhide\nif <(LEVEL) = [10]> then\n    wait (4) seconds\n    repeat (50)\n        show\n        change [ghost v] effect by (-2)\n        go to [front v] layer\n    end\n    wait (3) seconds\n    stop [all v]\nend\n\n@Fader\n\nwhen flag clicked\ngo to [front v] layer\nwait (1) seconds\nrepeat (20)\n    change [ghost v] effect by (5)\nend\nbroadcast (IntroComplete v) and wait\n\n