Midnight Mission Part 2 || ☁️ A multiplayer scrolling platformer                    #games #all #art
@Stage\n\nwhen [m v] key pressed\nset [mouse v] to (join ((mouse x) + (SCROLL X)) (join [, ] ((mouse y) + (SCROLL Y))))\nshow variable [mouse v]\n\nwhen I receive [play game v]\nswitch backdrop to (backdrop1 v)\nforever\n    play sound (pick random (1) to (3)) until done\nend\n\nwhen I receive [begin v]\n\nforever\n    if <not <(CONNECT) = [Connected]>> then\n        if <not <(CONNECT) = [Full]>> then\n            switch backdrop to (backdrop2 v)\n        end\n    end\nend\n\n@Blank\n\n@Blank2\n\n@Blank3\n\n@Blank4\n\n@Player\n\nwhen flag clicked\ndelete all of [chat v]\nadd [Hi!] to [chat v]\nadd [Come with me!] to [chat v]\nadd [Ok!] to [chat v]\nadd [Nice!] to [chat v]\nadd [Look at me!] to [chat v]\nadd [Be careful!] to [chat v]\nadd [lol] to [chat v]\nadd [Bye!] to [chat v]\nadd [No thank you.] to [chat v]\n\nwhen flag clicked\nshow list [chat v]\nset [is the chat open v] to [0]\nforever\n    if <<key (t v) pressed?> or <<touching (mouse-pointer v)?> and <mouse down?>>> then\n        if <(is the chat open) = [1]> then\n            set [is the chat open v] to [0]\n        else\n            set [is the chat open v] to [1]\n        end\n        wait until <<not <<touching (mouse-pointer v)?> and <mouse down?>>> and <not <key (t v) pressed?>>>\n    end\n    Chat\nend\n\ndefine Chat\nif <(is the chat open) = [1]> then\n    if <key (1 v) pressed?> then\n        set [chat v] to [1]\n        say (item (CHAT) of [chat v])\n        wait (2) seconds\n        say []\n        set [chat v] to [0]\n    else\n        if <key (2 v) pressed?> then\n            set [chat v] to [2]\n            say (item (CHAT) of [chat v])\n            wait (2) seconds\n            say []\n            set [chat v] to [0]\n        else\n            if <key (3 v) pressed?> then\n                set [chat v] to [3]\n                say (item (CHAT) of [chat v])\n                wait (2) seconds\n                say []\n                set [chat v] to [0]\n            else\n                if <key (4 v) pressed?> then\n                    set [chat v] to [4]\n                    say (item (CHAT) of [chat v])\n                    wait (2) seconds\n                    say []\n                    set [chat v] to [0]\n                else\n                    if <key (5 v) pressed?> then\n                        set [chat v] to [5]\n                        say (item (CHAT) of [chat v])\n                        wait (2) seconds\n                        say []\n                        set [chat v] to [0]\n                    else\n                        if <key (6 v) pressed?> then\n                            set [chat v] to [6]\n                            say (item (CHAT) of [chat v])\n                            wait (2) seconds\n                            say []\n                            set [chat v] to [0]\n                        else\n                            if <key (7 v) pressed?> then\n                                set [chat v] to [7]\n                                say (item (CHAT) of [chat v])\n                                wait (2) seconds\n                                say []\n                                set [chat v] to [0]\n                            else\n                                if <key (8 v) pressed?> then\n                                    set [chat v] to [8]\n                                    say (item (CHAT) of [chat v])\n                                    wait (2) seconds\n                                    say []\n                                    set [chat v] to [0]\n                                else\n                                    if <key (9 v) pressed?> then\n                                        set [chat v] to [9]\n                                        say (item (CHAT) of [chat v])\n                                        wait (2) seconds\n                                        say []\n                                        set [chat v] to [0]\n                                    else\n                                        if <key (a v) pressed?> then\n                                            set [chat v] to [9]\n                                            say (item (CHAT) of [chat v])\n                                            wait (2) seconds\n                                            say []\n                                            set [chat v] to [0]\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen flag clicked\nset [max players v] to [10]\nset [my player # v] to [0]\nset [connect v] to [Connecting]\nbroadcast (setup opponents v) and wait\nbroadcast (join game v) and wait\nif <(MY PLAYER #) > [0]> then\n    set [connect v] to [Connected]\nelse\n    set [connect v] to [Full]\nend\nbroadcast (begin v)\n\ndefine write (val) to encoded\nset [letter # v] to [1]\nrepeat (length of (val))\n    set [encoded v] to (join (encoded) (item # of (letter (letter #) of (val)) in [code v]))\n    change [letter # v] by (1)\nend\nset [encoded v] to (join (encoded) [00])\n\nwhen I receive [begin v]\nforever\n    if <(MY PLAYER #) > [0]> then\n        send cloud data\n    end\nend\n\ndefine set cloud # (player) to (value)\nif <(player) = [1]> then\n    set [☁ p1 v] to (value)\nelse\n    if <(player) = [2]> then\n        set [☁ p2 v] to (value)\n    else\n        if <(player) = [3]> then\n            set [☁ p3 v] to (value)\n        else\n            if <(player) = [4]> then\n                set [☁ p4 v] to (value)\n            else\n                if <(player) = [5]> then\n                    set [☁ p5 v] to (value)\n                else\n                    if <(player) = [6]> then\n                        set [☁ p6 v] to (value)\n                    else\n                        if <(player) = [7]> then\n                            set [☁ p7 v] to (value)\n                        else\n                            if <(player) = [8]> then\n                                set [☁ p8 v] to (value)\n                            else\n                                if <(player) = [9]> then\n                                    set [☁ p9 v] to (value)\n                                else\n                                    if <(player) = [10]> then\n                                        set [☁ p10 v] to (value)\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\ndefine send cloud data\nset [encoded v] to []\nwrite (costume [number v]) to encoded\nwrite (username) to encoded\nwrite (round ((timer) * (10))) to encoded\nwrite (x) to encoded\nwrite (y) to encoded\nwrite (CHAT) to encoded\nset cloud # (MY PLAYER #) to (encoded)\n\nwhen flag clicked\nbroadcast (Green flag v) and wait\nbroadcast (Play Game v) and wait\n\nwhen I receive [green flag v]\nhide\ngo to [front v] layer\n\nwhen I receive [play game v]\nset [level v] to [1]\nforever\n    broadcast (Reset v) and wait\n    broadcast (Setup v) and wait\n    Reset\n    repeat until <(EXIT) > []>\n        Tick\n        broadcast (Tick v)\n    end\n    if <(EXIT) = [win]> then\n        Game - Win\n    else\n        set [exit v] to []\n    end\nend\n\ndefine Reset\nif <(CHECKPOINT) = [0]> then\n    set [x v] to [-100]\n    set [y v] to [-60]\n    set [scroll y v] to (y)\n    set [scroll x v] to (x)\nelse\n    if <(CHECKPOINT) = [1]> then\n        set [x v] to [1436]\n        set [y v] to [-95]\n        set [scroll y v] to (y)\n        set [scroll x v] to (x)\n    else\n        if <(CHECKPOINT) = [2]> then\n            set [x v] to [2619]\n            set [y v] to [26]\n            set [scroll y v] to (y)\n            set [scroll x v] to (x)\n        end\n    end\nend\nset [sx v] to [0]\nset [sy v] to [0]\nset [in air v] to [5]\nset [timout v] to [0]\nset [exit v] to []\nset size to (100) %\nshow\nset rotation style [left-right v]\n\ndefine Tick\nif <touching (ladder v)?> then\n    change [sx v] by ((2) * (<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<((mouse x) - (20)) > (x position)> and <mouse down?>>> - <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<((mouse x) + (20)) < (x position)> and <mouse down?>>>))\n    set [sx v] to ((sx) * (0.65))\nelse\n    if <(Speed Boost) = [yes]> then\n        change [sx v] by ((2.5) * (<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<((mouse x) - (20)) > (x position)> and <mouse down?>>> - <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<((mouse x) + (20)) < (x position)> and <mouse down?>>>))\n        set [sx v] to ((sx) * (0.75))\n    else\n        change [sx v] by ((1.8) * (<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<((mouse x) - (20)) > (x position)> and <mouse down?>>> - <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<((mouse x) + (20)) < (x position)> and <mouse down?>>>))\n        set [sx v] to ((sx) * (0.75))\n    end\nend\nif <([abs v] of (sx) ) > [0.9]> then\n    Change Player x by (round (sx))\nend\nif <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<((mouse y) - (20)) > (y position)> and <mouse down?>>> then\n    if <(in air) < [3]> then\n        if <(sy) > [-2]> then\n            set [sy v] to [12]\n        end\n    end\nend\nif <touching (bouncy v)?> then\n    set [sy v] to [20]\nend\nif <touching (ladder v)?> then\n    if <(Jump Boost) = [yes]> then\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<((mouse y) - (20)) > (y position)> and <mouse down?>>> then\n            change [y v] by (8)\n        end\n    else\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<((mouse y) - (20)) > (y position)> and <mouse down?>>> then\n            change [y v] by (6)\n        end\n    end\n    if <<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<((mouse y) + (20)) < (y position)> and <mouse down?>>> then\n        change [y v] by (-6)\n    end\n    set [sy v] to [0]\nelse\n    if <(sy) > [-20]> then\n        change [sy v] by (-1.3)\n    end\nend\nChange player y by (sy)\n Test - Die\nset [scroll x v] to (x)\nif <(SCROLL X) < [0]> then\n    set [scroll x v] to [0]\nend\nPosition\nchange [scroll y v] by (round (((y) - (SCROLL Y)) / (10)))\nif <(SCROLL Y) < [0]> then\n    set [scroll y v] to [0]\nend\nPosition\nif <(y) < [-180]> then\n    set [exit v] to [die]\nend\nif <<<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<((mouse x) - (20)) > (x position)> and <mouse down?>>> or <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<((mouse x) + (20)) < (x position)> and <mouse down?>>>> or <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<((mouse y) - (20)) > (y position)> and <mouse down?>>> or <<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<((mouse y) + (20)) > (y position)> and <mouse down?>>>>> then\n    set [timout v] to [0]\nelse\n    change [timout v] by (1)\nend\nif <(timout) > [999]> then\n    broadcast (timeout v)\n    hide\nend\nif <touching (main cube v)?> then\n    broadcast (Win v)\n    set [win v] to [Yes]\nend\n\ndefine Change Player x by (sx)\nchange [x v] by (sx)\nPosition\nif <touching (platforms v)?> then\n    repeat (8)\n        change [y v] by (1)\n        Position\n        if <not <touching (platforms v)?>> then\n            stop [this script v]\n        end\n    end\n    change [y v] by (-8)\n    if <touching (platforms v)?> then\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<((mouse y) - (5)) > (y position)> and <mouse down?>>> then\n            if <(Jump Boost) = [yes]> then\n                if <(sx) > [0]> then\n                    set [sx v] to [-20]\n                else\n                    set [sx v] to [10]\n                end\n                set [sy v] to [8]\n            else\n                if <(sx) > [0]> then\n                    set [sx v] to [-16]\n                else\n                    set [sx v] to [16]\n                end\n                set [sy v] to [12]\n            end\n        end\n        Position\n    end\n    repeat until <not <touching (platforms v)?>>\n        change [x v] by ((([abs v] of (sx) ) / (sx)) * (-1))\n        Position\n    end\nend\n\ndefine Change player y by (sy)\nchange [y v] by (sy)\nchange [in air v] by (1)\nPosition\nrepeat until <not <touching (platforms v)?>>\n    change [y v] by ((([abs v] of (sy) ) / (sy)) * (-1))\n    if <(sy) < [0]> then\n        set [in air v] to [0]\n    end\n    Position\n    set [sy v] to [0]\nend\nif <touching (jump_through v)?> then\n    if <(sy) < [0]> then\n        change [y v] by ((sy) * (-1))\n        set [sy v] to [0]\n        set [in air v] to [0]\n        Position\n    end\nend\n\ndefine Position\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\n\ndefine  Test - Die\nif <<<touching (spinny v)?> or <touching (danger v)?>> or <touching (enemies v)?>> then\n    set [exit v] to [die]\n    change [lives v] by (-1)\n    Reset\nend\n\ndefine Game - Win\nif <<touching (main cube v)?> and > then\n    broadcast (Win v)\nelse\n    if <not <touching (main cube v)?>> then\n        broadcast (No win v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<((mouse y) - (20)) > (y position)> and <mouse down?>>> and <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<((mouse x) + (15)) > (x position)> and <mouse down?>>>> then\n        switch costume to (right up v)\n        if <(Check - 1 \( Complete \)) = [Yes]> then\n            switch costume to (right up2 v)\n        else\n            if <(Check - 2 \( Complete \)) = [Yes]> then\n                switch costume to (right up3 v)\n            else\n                if <(Check - 3 \( Complete \)) = [Yes]> then\n                    switch costume to (right up4 v)\n                else\n                    if <(Check - 4 \( Complete \)) = [Yes]> then\n                        switch costume to (right up5 v)\n                    end\n                end\n            end\n        end\n    else\n        if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<((mouse y) - (20)) > (y position)> and <mouse down?>>> and <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<((mouse x) - (15)) < (x position)> and <mouse down?>>>> then\n            switch costume to (left up v)\n            if <(Check - 1 \( Complete \)) = [Yes]> then\n                switch costume to (left up2 v)\n            else\n                if <(Check - 2 \( Complete \)) = [Yes]> then\n                    switch costume to (left up3 v)\n                else\n                    if <(Check - 3 \( Complete \)) = [Yes]> then\n                        switch costume to (left up4 v)\n                    else\n                        if <(Check - 4 \( Complete \)) = [Yes]> then\n                            switch costume to (left up5 v)\n                        end\n                    end\n                end\n            end\n        else\n            if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<((mouse y) - (20)) > (y position)> and <mouse down?>>> then\n                switch costume to (up v)\n                if <(Check - 1 \( Complete \)) = [Yes]> then\n                    switch costume to (up2 v)\n                else\n                    if <(Check - 2 \( Complete \)) = [Yes]> then\n                        switch costume to (up3 v)\n                    else\n                        if <(Check - 3 \( Complete \)) = [Yes]> then\n                            switch costume to (up4 v)\n                        else\n                            if <(Check - 4 \( Complete \)) = [Yes]> then\n                                switch costume to (up5 v)\n                            end\n                        end\n                    end\n                end\n            else\n                if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<((mouse x) + (15)) > (x position)> and <mouse down?>>> then\n                    switch costume to (right v)\n                    if <(Check - 1 \( Complete \)) = [Yes]> then\n                        switch costume to (right2 v)\n                    else\n                        if <(Check - 2 \( Complete \)) = [Yes]> then\n                            switch costume to (right3 v)\n                        else\n                            if <(Check - 3 \( Complete \)) = [Yes]> then\n                                switch costume to (right4 v)\n                            else\n                                if <(Check - 4 \( Complete \)) = [Yes]> then\n                                    switch costume to (right5 v)\n                                end\n                            end\n                        end\n                    end\n                else\n                    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<((mouse x) - (15)) < (x position)> and <mouse down?>>> then\n                        switch costume to (left v)\n                        if <(Check - 1 \( Complete \)) = [Yes]> then\n                            switch costume to (left2 v)\n                        else\n                            if <(Check - 2 \( Complete \)) = [Yes]> then\n                                switch costume to (left3 v)\n                            else\n                                if <(Check - 3 \( Complete \)) = [Yes]> then\n                                    switch costume to (left4 v)\n                                else\n                                    if <(Check - 4 \( Complete \)) = [Yes]> then\n                                        switch costume to (left5 v)\n                                    end\n                                end\n                            end\n                        end\n                    else\n                        switch costume to (middle v)\n                        if <(Check - 1 \( Complete \)) = [Yes]> then\n                            switch costume to (middle2 v)\n                        else\n                            if <(Check - 2 \( Complete \)) = [Yes]> then\n                                switch costume to (middle3 v)\n                            else\n                                if <(Check - 3 \( Complete \)) = [Yes]> then\n                                    switch costume to (middle4 v)\n                                else\n                                    if <(Check - 4 \( Complete \)) = [Yes]> then\n                                        switch costume to (middle5 v)\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [timeout v]\nhide\n\nwhen I receive [win v]\nhide\nset [ghost v] effect to (100)\nstop [this script v]\n\nwhen I receive [play game v]\nshow\n\nwhen I receive [check - 1 \( failed \) v]\nshow\n\nwhen I receive [check - 2 \( failed \) v]\nshow\n\nwhen I receive [check - 3 \( failed \) v]\nshow\n\nwhen I receive [check - 4 \( failed \) v]\nshow\n\n@Opponents\n\ndefine Decode chat (#)\nif <(#) = [0]> then\n\ndefine begin decode of (encoded)\nset [encoded v] to (encoded)\nset [letter # v] to [1]\n\ndefine value = read from encoded\nset [value v] to []\nforever\n    set [idx v] to (join (letter (letter #) of (encoded)) (letter ((letter #) + (1)) of (encoded)))\n    change [letter # v] by (2)\n    if <(idx) < [1]> then\n        stop [this script v]\n    end\n    set [value v] to (join (value) (item (idx) of [code v]))\nend\n\ndefine setup players\nhide\nclear graphic effects\nset [ghost v] effect to (50)\nset [offline v] to [100]\nset [player # v] to [1]\npoint in direction (90)\nrepeat ((MAX PLAYERS) - (1))\n    create clone of (_myself_ v)\n    change [player # v] by (1)\nend\n\nwhen I receive [begin v]\nforever\n    if <(MY PLAYER #) = (player #)> then\n        set [offline v] to [100]\n    else\n        tick\n    end\nend\n\ndefine value = cloud # (player #)\nif <(player #) = [1]> then\n    set [value v] to (☁ P1)\nelse\n    if <(player #) = [2]> then\n        set [value v] to (☁ P2)\n    else\n        if <(player #) = [3]> then\n            set [value v] to (☁ P3)\n        else\n            if <(player #) = [4]> then\n                set [value v] to (☁ P4)\n            else\n                if <(player #) = [5]> then\n                    set [value v] to (☁ P5)\n                else\n                    if <(player #) = [6]> then\n                        set [value v] to (☁ P6)\n                    else\n                        if <(player #) = [7]> then\n                            set [value v] to (☁ P7)\n                        else\n                            if <(player #) = [8]> then\n                                set [value v] to (☁ P8)\n                            else\n                                if <(player #) = [9]> then\n                                    set [value v] to (☁ P9)\n                                else\n                                    if <(player #) = [10]> then\n                                        set [value v] to (☁ P10)\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [decode chat v]\nDecode chat (value)\n\ndefine tick\nvalue = cloud # (player #)\nif <(join (value) [A]) = (last value)> then\n    change [offline v] by (1)\n    if <(offline) = [100]> then\n        hide\n    end\nelse\n    set [last value v] to (join (value) [A])\n    if <(offline) > [99]> then\n        show\n    end\n    set [offline v] to [0]\nend\nbegin decode of (value)\nvalue = read from encoded\nswitch costume to (value)\nvalue = read from encoded\nif <<<(y position) < [-160]> or <[160] < (y position)>> or <<(x position) < [-220]> or <[220] < (x position)>>> then\n    set rotation style [all around v]\n    go to [front v] layer\n    point towards (player v)\n    switch costume to (arrow v)\n    if on edge, bounce\n    think []\n    set [ghost v] effect to (0)\nelse\n    set rotation style [don't rotate v]\n    point in direction (90)\n    set [ghost v] effect to (10)\n    if <(names?) = [0]> then\n        think []\n    else\n        think (value)\n    end\nend\nvalue = read from encoded\nvalue = read from encoded\nset x to ((value) - (SCROLL X))\nvalue = read from encoded\nset y to ((value) - (SCROLL Y))\nvalue = read from encoded\nbroadcast (Decode chat v)\n\nwhen I receive [join game v]\nvalue = cloud # (player #)\nset [last value v] to (join (value) [A])\nwait (3) seconds\nvalue = cloud # (player #)\nif <(join (value) [A]) = (last value)> then\n    set [my player # v] to (player #)\nend\n\nwhen I receive [setup opponents v]\nsetup players\n\nwhen flag clicked\nset [names? v] to [1]\nforever\n    if <key (n v) pressed?> then\n        if <(names?) = [0]> then\n            set [names? v] to [1]\n        else\n            set [names? v] to [0]\n        end\n    end\nend\n\n@Connnect\n\nwhen flag clicked\nclear graphic effects\nswitch costume to (connecting v)\ngo to x: (0) y: (0)\nset size to (100) %\nforever\n    wait (1) seconds\n    if <(CONNECT) = [Connected]> then\n        switch costume to (connected v)\n        play sound [Connect v] until done\n        wait (2) seconds\n        repeat (20)\n            change [ghost v] effect by (5)\n        end\n        stop [this script v]\n    else\n        if <(CONNECT) = [Full]> then\n            switch costume to (full v)\n            play sound [Disconnect v] until done\n        else\n            switch costume to (connecting v)\n        end\n    end\nend\n\nwhen I receive [timeout v]\ngo to x: (0) y: (0)\nclear graphic effects\nswitch costume to (timeout v)\nshow\ngo to [front v] layer\nstop [all v]\n\n@Platforms\n\nwhen I receive [green flag v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nClone at [480] [0]\nClone at [480] [0]\nClone at [480] [0]\nClone at [480] [0]\nClone at [480] [0]\nClone at [900] [70]\n\nwhen I receive [tick v]\nset [ghost v] effect to (100)\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\ndefine Clone at (x) (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nwhen I receive [play game v]\nshow\n\nwhen I receive [win v]\nstop [this script v]\n\n@Platforms_Art\n\nwhen I receive [green flag v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nClone at [480] [0]\nClone at [480] [0]\nClone at [480] [0]\nClone at [480] [0]\nClone at [480] [0]\nClone at [780] [300]\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\ndefine Clone at (x) (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nwhen I receive [play game v]\nshow\n\nwhen I receive [win v]\nstop [this script v]\n\n@Bouncy\n\nwhen I receive [green flag v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nClone at [3600] [418]\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\ndefine Clone at (x) (y)\nset [x v] to (x)\nset [y v] to (y)\ncreate clone of (_myself_ v)\n\nswitch costume to (bouncy2 v)\n\n@Spinny\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nturn right (6) degrees\ngo to [back v] layer\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 [green flag v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nClone at [1687] [-105]\nset [x v] to [-99999]\n\ndefine Clone at (x) (y)\nset [x v] to (x)\nset [y v] to (y)\ncreate clone of (_myself_ v)\n\n@Danger\n\nwhen I receive [green flag v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nClone at [480] [0]\nClone at [480] [0]\nClone at [480] [0]\nClone at [850] [-200]\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\ndefine Clone at (x) (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\n@Chat\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nshow\nset [ghost v] effect to (100)\nforever\n    set size to (0) %\n    wait until <(is the chat open) = [1]>\n    repeat (10)\n        set size to ((size) + (((100) - (size)) / (3))) %\n        change [ghost v] effect by (-10)\n    end\n    wait until <(is the chat open) = [0]>\n    repeat (10)\n        set size to ((size) + (((0) - (size)) / (3))) %\n        change [ghost v] effect by (10)\n    end\nend\n\ndefine GO\ngo to [front v] layer\ngo to [front v] layer\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nshow\nset [ghost v] effect to (100)\nforever\n    GO\nend\n\n@Ladder\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nClone at [2700] [240]\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 [reset v]\ndelete this clone\n\ndefine Clone at (x) (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\n@Thumb\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    show\n    set [ghost v] effect to (100)\n    go to [front v] layer\nend\n\n@Coins\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <touching (player v)?> then\n    change [coins v] by (1)\n    delete this clone\nend\nif <(tick) > [0]> then\n    next costume\n    set [tick v] to [0]\nelse\n    change [tick v] by (1)\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 [green flag v]\nhide\npoint in direction (90)\nset [coins v] to [0]\nset [x v] to [0]\nset [tick v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nClone at [90] [-90]\nClone at [320] [-90]\nClone at [550] [-53]\nClone at [550] [-13]\nClone at [795] [-90]\nClone at [1640] [48]\nClone at [1805] [-96]\nClone at [1756] [28]\nClone at [1756] [48]\nClone at [2814] [203]\nClone at [2699] [82]\nset [x v] to [-99999]\n\ndefine Clone at (x) (y)\nset [x v] to (x)\nset [y v] to (y)\ncreate clone of (_myself_ v)\n\nClone at [2541] [170]\nClone at [3520] [440]\nClone at [3402] [441]\n\n@Coin_counter\n\nwhen flag clicked\nset size to (110) %\nset [clone# v] to [1]\nrepeat (30)\n    create clone of (_myself_ v)\n    change [clone# v] by (1)\nend\nhide\n\nwhen I start as a clone\nshow\nforever\n    go to x: (((clone#) * (15)) - (-55)) y: (155)\n    if <(length of (COINS)) < (clone#)> then\n        hide\n    else\n        show\n        switch costume to (letter (clone#) of (COINS))\n    end\nend\n\n@Win\n\nwhen I receive [green flag v]\nhide\ngo to x: (0) y: (0)\n\nwhen I receive [win v]\nshow\nswitch costume to (dot v)\nset size to (100) %\nswitch costume to (costume2 v)\n\nwhen I receive [check - 1 \( failed \) v]\nhide\n\nwhen I receive [check - 2 \( complete \) v]\nhide\n\nwhen I receive [check - 3 \( failed \) v]\nhide\n\nwhen I receive [check - 4 \( failed \) v]\nhide\n\nwhen I receive [no win v]\nhide\nset size to (100) %\ngo to x: (360) y: (240)\n\n@Main Cube\n\nwhen I receive [green flag v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (3 v)\nClone at [3410] [680]\n\nClone at [480] [0]\nClone at [480] [0]\nClone at [480] [0]\nClone at [480] [0]\nClone at [480] [0]\nClone at [480] [0]\nClone at [200] [530]\nClone at [200] [530]\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\ndefine Clone at (x) (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nClone at [-1000] [0]\n\nClone at [480] [0]\nClone at [480] [0]\nClone at [480] [0]\n\n@Shop\n\nwhen I receive [play game v]\nshow\ngo to [front v] layer\nswitch costume to (costume2 v)\ngo to x: (35) y: (28)\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        switch costume to (costume1 v)\n        broadcast (Shop open v)\n    end\nend\n\nwhen I receive [shop close v]\nswitch costume to (costume2 v)\n\nwhen I receive [shop open - next page v]\nswitch costume to (costume3 v)\n\nwhen I receive [win v]\nhide\nstop [this script v]\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [check - 1 \( failed \) v]\n\nwhen I receive [check - 2 \( failed \) v]\n\nwhen I receive [check - 3 \( failed \) v]\n\nwhen I receive [check - 4 \( failed \) v]\n\nswitch costume to (costume2 v)\nswitch costume to (costume2 v)\nswitch costume to (costume2 v)\nswitch costume to (costume2 v)\n\nwhen I receive [shop - skin v]\nshow\n\nwhen I receive [shop - powerup v]\nswitch costume to (costume4 v)\n\nbroadcast (begin v)\n\n@Next ( Shop )\n\nwhen I receive [play game v]\nhide\n\nwhen I receive [shop open v]\nshow\ngo to x: (0) y: (-80)\nset size to (51) %\ngo to [front v] layer\nswitch costume to (arrow v)\nforever\n    if <<(costume [name v]) = [arrow]> and <<touching (mouse-pointer v)?> and <mouse down?>>> then\n        broadcast (Shop open - Next page v)\n    end\nend\n\nwhen I receive [shop close v]\nhide\n\nwhen I receive [shop open - previous page v]\nswitch costume to (arrow v)\n\nif <<(costume [name v]) = [arrow2]> and <<touching (mouse-pointer v)?> and <mouse down?>>> then\n    broadcast (Shop open - Previous page v)\nend\n\nwhen I receive [shop open - next page v]\nhide\n\nwhen I receive [check - 1 \( failed \) v]\nhide\n\nwhen I receive [check - 2 \( failed \) v]\nhide\n\nwhen I receive [check - 4 \( failed \) v]\nhide\n\nwhen I receive [check - 3 \( failed \) v]\nhide\n\nwhen I receive [shop - powerup v]\nhide\n\n@Close\n\nwhen I receive [play game v]\nhide\n\nwhen I receive [shop open v]\nshow\ngo to [front v] layer\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        broadcast (Shop close v)\n        hide\n    end\nend\n\nwhen I receive [check - 1 \( failed \) v]\nhide\n\nwhen I receive [check - 2 \( failed \) v]\nhide\n\nwhen I receive [check - 3 \( failed \) v]\nhide\n\nwhen I receive [check - 4 \( failed \) v]\nhide\n\nwhen I receive [check - 3 \( failed \) v]\nhide\n\nwhen I receive [check - 4 \( failed \) v]\nhide\n\nwhen I receive [check - 2 \( failed \) v]\nhide\n\nwhen I receive [check - 1 \( failed \) v]\nhide\n\n@1\n\nwhen I receive [play game v]\nhide\n\nwhen I receive [shop open v]\nshow\ngo to x: (-7) y: (13)\ngo to [front v] layer\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        broadcast (Check - 1 v)\n    end\nend\n\nwhen I receive [shop close v]\nhide\n\nwhen I receive [shop open - next page v]\nhide\n\nwhen I receive [shop open - previous page v]\nhide\n\nwhen I receive [check - 1 \( failed \) v]\nhide\n\nwhen I receive [check - 2 \( failed \) v]\nhide\n\nwhen I receive [check - 3 \( failed \) v]\nhide\n\nwhen I receive [check - 4 \( failed \) v]\nhide\n\nwhen I receive [shop - powerup v]\nhide\n\n@2\n\nwhen I receive [play game v]\nhide\n\nwhen I receive [shop open v]\nshow\ngo to x: (-7) y: (-45)\ngo to [front v] layer\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        broadcast (Check - 2 v)\n    end\nend\n\nwhen I receive [shop close v]\nhide\n\nwhen I receive [shop open - next page v]\nhide\n\nwhen I receive [shop open - previous page v]\nhide\n\nwhen I receive [check - 4 \( failed \) v]\nhide\n\nwhen I receive [check - 3 \( failed \) v]\nhide\n\nwhen I receive [check - 2 \( failed \) v]\nhide\n\nwhen I receive [check - 1 \( failed \) v]\nhide\n\nwhen I receive [shop - powerup v]\nhide\n\n@3\n\nwhen I receive [play game v]\nhide\n\nwhen I receive [shop open - next page v]\nshow\ngo to x: (37) y: (13)\ngo to [front v] layer\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        broadcast (Check - 3 v)\n    end\nend\n\nwhen I receive [shop close v]\nhide\n\nwhen I receive [shop open - previous page v]\nhide\n\nwhen I receive [check - 1 \( failed \) v]\nhide\n\nwhen I receive [check - 2 \( failed \) v]\nhide\n\nwhen I receive [check - 4 \( failed \) v]\nhide\n\nwhen I receive [check - 3 \( failed \) v]\nhide\n\nwhen I receive [shop - powerup v]\nhide\n\n@4\n\nwhen I receive [play game v]\nhide\n\nwhen I receive [shop open - next page v]\nshow\ngo to x: (37) y: (-45)\ngo to [front v] layer\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        broadcast (Check - 4 v)\n    end\nend\n\nwhen I receive [shop close v]\nhide\n\nwhen I receive [shop open - previous page v]\nhide\n\nwhen I receive [check - 3 \( failed \) v]\nhide\n\nwhen I receive [check - 4 \( failed \) v]\nhide\n\nwhen I receive [check - 2 \( failed \) v]\nhide\n\nwhen I receive [check - 1 \( failed \) v]\nhide\n\nwhen I receive [shop - powerup v]\nhide\n\n@Coin Information\n\nwhen I receive [check - 1 v]\nforever\n    if <<(COINS) = [2]> or <(COINS) > [2]>> then\n        broadcast (Check - 1 \( Complete \) v)\n        set [check - 1 \( complete \) v] to [Yes]\n        change [coins v] by (-5)\n    else\n        broadcast (Check - 1 \( Failed \) v)\n    end\nend\n\nwhen I receive [play game v]\nset [check - 1 \( complete \) v] to [No]\nset [check - 2 \( complete \) v] to [No]\nset [check - 3 \( complete \) v] to [No]\nset [check - 4 \( complete \) v] to [No]\n\nwhen I receive [check - 3 v]\nforever\n    if <<(COINS) = [7]> or <(COINS) > [7]>> then\n        broadcast (Check  - 3 \( Complete \) v)\n        broadcast (Shop open - Previous page v) and wait\n        set [check - 3 \( complete \) v] to [Yes]\n        change [coins v] by (-7)\n    else\n        broadcast (Check - 3 \( Failed \) v)\n    end\nend\n\nwhen I receive [check - 4 v]\nforever\n    if <<(COINS) = [12]> or <(COINS) > [12]>> then\n        broadcast (Check - 4 \( Complete \) v)\n        broadcast (Shop open - Previous page v) and wait\n        set [check - 4 \( complete \) v] to [Yes]\n        change [coins v] by (-12)\n    else\n        broadcast (Check - 4 \( Failed \) v)\n    end\nend\n\nwhen I receive [check - 2 v]\nforever\n    if <<(COINS) = [5]> or <(COINS) > [5]>> then\n        broadcast (Check - 2 \( Complete \) v)\n        set [check - 2 \( complete \) v] to [Yes]\n        change [coins v] by (-5)\n    else\n        broadcast (Check - 2 \( Failed \) v)\n    end\nend\n\n@Enemies\n\nwhen I receive [green flag v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nClone at [1300] [-96]\nset [x v] to [-99999999]\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\ndefine Clone at (x) (y)\nchange [x v] by (x)\nchange [y v] by (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [play game v]\nforever\n    hide\nend\n\n@Textboards\n\nwhen I receive [green flag v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (2 v)\nClone at [-101] [-92]\n\ndefine Clone at (x) (y)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\n    Touch\nelse\n    hide\nend\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\ndefine Touch\nif <touching (player v)?> then\n    switch costume to (1 v)\nelse\n    switch costume to (0 v)\nend\n\nwhen I receive [win v]\nClone at [1000000000000000000000000000000000000000000000000000000000000] [10000000000000000000000000000000000000000000000000000000000000000000000000000]\n\n@Textboards2\n\nwhen I receive [green flag v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nClone at [355] [-94]\n\ndefine Clone at (x) (y)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\n    Touch\nelse\n    hide\nend\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\ndefine Touch\nif <touching (player v)?> then\n    switch costume to (1 v)\nelse\n    switch costume to (0 v)\nend\n\n@Textboards4\n\nwhen I receive [green flag v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nClone at [800] [-95]\n\ndefine Clone at (x) (y)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\n    Touch\nelse\n    hide\nend\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\ndefine Touch\nif <touching (player v)?> then\n    switch costume to (1 v)\nelse\n    switch costume to (0 v)\nend\n\n@Textboards3\n\nwhen I receive [green flag v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nClone at [972] [-92]\n\ndefine Clone at (x) (y)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\n    Touch\nelse\n    hide\nend\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\ndefine Touch\nif <touching (player v)?> then\n    switch costume to (1 v)\nelse\n    switch costume to (0 v)\nend\n\n@Textboards6\n\nwhen I receive [green flag v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nClone at [1150] [-95]\n\ndefine Clone at (x) (y)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\n    Touch\nelse\n    hide\nend\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\ndefine Touch\nif <touching (player v)?> then\n    switch costume to (1 v)\nelse\n    switch costume to (0 v)\nend\n\n@Diamonds\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <touching (player v)?> then\n    change [diamonds v] by (1)\n    hide\n    delete this clone\nend\nif <(tick) > [0]> then\n    next costume\n    set [tick v] to [0]\nelse\n    change [tick v] by (1)\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 [green flag v]\nhide\npoint in direction (90)\nset [diamonds v] to [0]\nset [x v] to [0]\nset [tick v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nClone at [416] [58]\nClone at [1797] [-50]\nClone at [1868] [57]\nset [x v] to [-99999]\n\ndefine Clone at (x) (y)\nset [x v] to (x)\nset [y v] to (y)\ncreate clone of (_myself_ v)\n\n@Diamond_counter\n\nwhen flag clicked\nset size to (110) %\nset [clone# v] to [1]\nrepeat (30)\n    create clone of (_myself_ v)\n    change [clone# v] by (1)\nend\nhide\n\nwhen I start as a clone\nshow\nforever\n    go to x: (((clone#) * (15)) - (-115)) y: (155)\n    if <(length of (DIAMONDS)) < (clone#)> then\n        hide\n    else\n        show\n        switch costume to (letter (clone#) of (DIAMONDS))\n    end\nend\n\n@Textboards5\n\nwhen I receive [green flag v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nClone at [41] [-95]\n\ndefine Clone at (x) (y)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\n    Touch\nelse\n    hide\nend\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\ndefine Touch\nif <touching (player v)?> then\n    switch costume to (1 v)\nelse\n    switch costume to (0 v)\nend\n\n@Skins button\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [shop open v]\nshow\ngo to [front v] layer\nset [ghost v] effect to (0)\ngo to x: (0) y: (0)\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        broadcast (Shop - Skin v)\n    end\nend\n\nwhen I receive [shop close v]\nset [ghost v] effect to (100)\n\n@Powerups button\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [shop open v]\nshow\ngo to [front v] layer\nset [ghost v] effect to (0)\ngo to x: (0) y: (0)\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        broadcast (Shop - Powerup v)\n    end\nend\n\nwhen I receive [shop close v]\nset [ghost v] effect to (100)\n\n@Shop2\n\nwhen I receive [play game v]\nshow\ngo to [front v] layer\nswitch costume to (costume2 v)\ngo to x: (35) y: (28)\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        switch costume to (costume1 v)\n        broadcast (Shop open v)\n    end\nend\n\nwhen I receive [shop close v]\nswitch costume to (costume2 v)\n\nwhen I receive [shop open - next page v]\nswitch costume to (costume3 v)\n\nwhen I receive [win v]\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [check - 1 \( failed \) v]\nswitch costume to (costume2 v)\n\nwhen I receive [check - 2 \( failed \) v]\nswitch costume to (costume2 v)\n\nwhen I receive [check - 3 \( failed \) v]\nswitch costume to (costume2 v)\n\nwhen I receive [check - 4 \( failed \) v]\nswitch costume to (costume2 v)\n\nwhen I receive [shop - skin v]\nshow\n\nwhen I receive [shop - powerup v]\nhide\nbroadcast (begin v)\n\n@5\n\nwhen I receive [play game v]\nhide\n\nwhen I receive [shop - powerup v]\nshow\ngo to x: (81) y: (13)\ngo to [front v] layer\nforever\n    if <<<touching (mouse-pointer v)?> and <mouse down?>> and <<(DIAMONDS) = [1]> or <(DIAMONDS) > [1]>>> then\n        broadcast (Speed Boost v)\n        set [speed boost v] to [yes]\n    end\nend\n\nwhen I receive [shop close v]\nhide\n\nwhen I receive [shop open - previous page v]\nhide\nset [ghost v] effect to (100)\n\nwhen I receive [check - 3 \( failed \) v]\nhide\n\nwhen I receive [check - 4 \( failed \) v]\nhide\n\nwhen I receive [check - 2 \( failed \) v]\nhide\n\nwhen I receive [check - 1 \( failed \) v]\nhide\n\nwhen I receive [shop open - next page v]\nhide\n\n@6\n\nwhen I receive [play game v]\nhide\n\nwhen I receive [shop - powerup v]\nshow\ngo to x: (81) y: (-45)\ngo to [front v] layer\nforever\n    if <<<touching (mouse-pointer v)?> and <mouse down?>> and <<(DIAMONDS) = [2]> or <(DIAMONDS) > [2]>>> then\n        broadcast (Jump Boost v)\n        set [jump boost v] to [yes]\n    end\nend\n\nwhen I receive [shop close v]\nhide\n\nwhen I receive [shop open - previous page v]\nhide\nset [ghost v] effect to (100)\n\nwhen I receive [check - 3 \( failed \) v]\nhide\n\nwhen I receive [check - 4 \( failed \) v]\nhide\n\nwhen I receive [check - 2 \( failed \) v]\nhide\n\nwhen I receive [check - 1 \( failed \) v]\nhide\n\nwhen I receive [shop open - next page v]\nhide\n\n@Jump_Through\n\nwhen I receive [green flag v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nClone at [480] [0]\nClone at [2175] [-37]\nClone at [2175] [-37]\ngo to [back v] layer\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\ndefine Clone at (x) (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nClone at [480] [0]\nClone at [480] [0]\nClone at [480] [0]\n\n@Clouds\n\nwhen flag clicked\nset [ghost v] effect to (0)\nforever\n    hide\n    create clone of (_myself_ v)\n    wait (pick random (1.5) to (3)) seconds\nend\n\nwhen I start as a clone\nshow\nswitch costume to (pick random (1) to (5))\nif <(pick random (1) to (2)) = [2]> then\n    set [d v] to [-250]\nelse\n    set [d v] to [250]\nend\ngo to x: (d) y: (pick random (-130) to (170))\nset [ghost v] effect to (pick random (40) to (70))\nif <(d) = [250]> then\n    repeat until <(x position) < [-267]>\n        change x by (pick random (-1) to (-3))\n        go to [back v] layer\n        go to [back v] layer\n        go [backward v] (999) layers\n    end\nelse\n    repeat until <(x position) > [267]>\n        change x by (pick random (1) to (3))\n        go to [back v] layer\n        go to [back v] layer\n        go [backward v] (999) layers\n    end\nend\ndelete this clone\n\nwhen I receive [setup v]\ndelete this clone\n\n@Textboards7\n\nwhen I receive [green flag v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nClone at [3355] [425]\n\ndefine Clone at (x) (y)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\n    Touch\nelse\n    hide\nend\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\ncreate clone of (_myself_ v)\n\ndefine Touch\nif <touching (player v)?> then\n    switch costume to (1 v)\nelse\n    switch costume to (0 v)\nend\n\n\n\ngo to [front v] layer\n\n@Textboards8\n\nwhen I receive [green flag v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nClone at [3554] [426]\n\ndefine Clone at (x) (y)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\n    Touch\nelse\n    hide\nend\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\ncreate clone of (_myself_ v)\n\ndefine Touch\nif <touching (player v)?> then\n    switch costume to (1 v)\nelse\n    switch costume to (0 v)\nend\n\n\n\n@Time\n\nwhen I receive [green flag v]\nreset timer\n\n@Boosts\n\nwhen I receive [play game v]\nset [jump boost v] to [no]\nset [speed boost v] to [no]\n\n@Checkpoint\n\nwhen [m v] key pressed\nset [mouse v] to (join ((mouse x) + (SCROLL X)) (join [,] (join [ ] ((mouse y) + (SCROLL Y)))))\nshow variable [mouse v]\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <(costume [number v]) = [1]> then\n    if <touching (player v)?> then\n        switch costume to (open v)\n        change [checkpoint v] by (1)\n    end\nend\ngo to [back v] layer\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\ndefine Clone at (x) (y)\nset [x v] to (x)\nset [y v] to (y)\ncreate clone of (_myself_ v)\n\nwhen flag clicked\nhide\nset [checkpoint v] to [0]\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (closed v)\nClone at [1436] [-95]\nClone at [2625] [32]\nset [x v] to [-99999]\n\n
--Midnight Mission Part 2 || A multiplayer scrolling platformer--\n\nTOP LOVED?!?!\n119k views? 4.7k+ loves?! 4k+ favs?! 230+ remixes?!?! OMG!!!\n\nAbout this game:\nHello and welcome to the part 2 of my first scrolling as well as multiplayer platformer! Finally after months of work it's finished! It consists of 47 sprites and 2079 scripts!! My school was going on when I made this. And thus, I worked really hard on this!!\n\n❗❗❗ ALL ADS WILL BE REPORTED ❗❗❗\n\nControls:\n➡ <^>, WASD keys or tap to move\n➡ Don't touch spikes and saws\n➡ Don't fall off the cliffs!\n➡ T to open chat\n➡ Press 'Shop' to buy new skins\n➡ Get to the house to win!!\n➡ Invite your friends and play together!\n➡ Have fun!\n\nNEW SCRATCHERS CAN'T PLAY THIS!!\n\nNOTE: After you buy something, the diamonds don’t decrease. That is NOT a bug as it was intentional!!\nLagging? Try this: https://turbowarp.org/501845772\n\nThis is my entry for @YLRD's game/Animation contest!\n\nSTORY: ( It is in the game )\nYour village was peaceful and quiet, when suddenly, a few monsters entered. They kidnapped everyone. They told you only one thing:- "Ha ha ha ha! Come to the main cube to save them!"... Fortunately you knew where the Main Cube was. So you immediately rushed off to save your friend, not at all knowing the dangers of your journey!\n\nI really hope I win :)\n\nAlso I'd really appreciate if you like my hard work and give it at least a ❤️ and a ⭐. And if you absolutely love this then why not a follow??? Now I'll make a part 3 since this hit 50 loves easily ;D\n------------------------------Credits------------------------------@YLRD for the contest!\n@TheCactusMaster for the engine ( heavily modified by me )\n@-Xaf- for the amazing music!\n@Stradfordjames for a little art!\n@-UltraProgrammer- ( me ) for the rest!\n\nNew:\n• Changed the enemy costume\n• Added powerups to the shop\n• Added diamonds\n• Added checkpoints\n• Added textboards\n\nOMG!!!\n@YLRD loved and faved?!?!\n@Indian-Programmer loved and faved?!?!?!\n@uvbeach loved and faved?!?!\n@Firedrake712 loved?!?!?!\n@Matthew_K1 loved and faved?!?!?!?!\n\nUpdate:\nShared: Mar 15, 2021\n100 loves - Mar 16, 2021\n500 views - Mar 16, 2021\n100 favs - Mar 16, 2021\n150 loves - Mar 16, 2021\n1000 views - Mar 16, 2021\n150 favs - Mar 16, 2021\n250 loves - Mar 17, 2021\n10 remixes - Mar 17, 2021\n2000 views - Mar 17, 2021\n3000 views - Mar 17, 2021\n250 favs - Mar 17, 2021\n300 loves - Mar 17, 2021\n300 favs - Mar 17, 2021\n350 loves - Mar 17, 2021\n4000 views - Mar 17, 2021\n5000 views - Mar 17, 2021\n400 loves - Mar 17, 2021\n350 favs - Mar 17, 2021\n6000 views - Mar 17, 2021\n20 remixes - Mar 17, 2021\n450 loves - Mar 17, 2021\n400 favs - Mar 17, 2021\n7000 views - Mar 17, 2021\n500 loves - Mar 17, 2021\n8000 views - Mar 18, 2021\n500 favs - Mar 18, 2021\n600 loves - Mar 18, 2021\n9000 views - Mar 18, 2021\n10000 views - Mar 18, 2021\n600 favs - Mar 18, 2021\n30 remixes - Mar 18, 2021\n700 loves - Mar 18, 2021\n11000 views - Mar 18, 2021\n12000 views - Mar 18, 2021\n40 remixes - Mar 18, 2021\n650 favs - Mar 18, 2021\n13000 views - Mar 18, 2021\n750 loves - Mar 18, 2021\n700 favs - Mar 18, 2021\n800 loves - Mar 18, 2021\n14000 views - Mar 18, 2021\n850 loves - Mar 18, 2021\n15000 views - Mar 18, 2021\n800 favs - Mar 18, 2021\n16000 views - Mar 18, 2021\n17000 views - Mar 18, 2021\n900 loves - Mar 18, 2021\n18000 views - Mar 18, 2021\n19000 views - Mar 18, 2021\n950 loves - Mar 18, 2021\n850 favs - Mar 18, 2021\n1000 loves - Mar 18, 2021\n900 favs - Mar 18, 2021\n20000 views - Mar 18, 2021\n50 remixes - Mar 18, 2021\n1100 loves - Mar 18, 2021\n21000 views - Mar 18, 2021\n22000 views - Mar 18, 2021\n1000 favs - Mar 18, 2021\n23000 views - Mar 19, 2021\n1200 loves - Mar 19, 2021\n1100 favs - Mar 19, 2021\n24000 views - Mar 19, 2021\n60 remixes - Mar 19, 2021\n25000 views - Mar 19, 2021\n1300 loves - Mar 19, 2021\n26000 views - Mar 19, 2021\n70 remixes - Mar 19, 2021\n1400 loves - Mar 19, 2021\n27000 views - Mar 19, 2021\n28000 views - Mar 19, 2021