☁ The Climb! || a cloud multiplayer scrolling platformer (mobile friendly)  #games
@Stage\n\nwhen [m v] key pressed\nset [mouse v] to (join (join ((mouse x) + (scroll x)) [ . ]) ((mouse y) + (scroll y)))\nshow variable [mouse v]\n\nwhen I receive [mg intro done =d v]\nset volume to (60) %\nforever\n    play sound [Vexento - Tevo \(Original Mix\) v] until done\nend\n\n@blank\n\n@player\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    send cloud data\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                                    set [☁ p10 v] to (value)\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\ndefine send cloud data\nif <[1] > (MY PLAYER #)> then\n    stop [this script v]\nend\nadd (x) to [buffer v]\nadd (y) to [buffer v]\nchange [cloud timer v] by (1)\nif <[3] > (cloud timer)> then\n    stop [this script v]\nend\nset [cloud timer v] to [0]\nset [encoded v] to []\nwrite (username) to encoded\nwrite (Chat Words) to encoded\nwrite (round ((timer) * (10))) to encoded\nrepeat (length of [buffer v])\n    write (item (1) of [buffer v]) to encoded\n    delete (1) of [buffer v]\nend\nset cloud # (MY PLAYER #) to (encoded)\n\ndefine game on\nset rotation style [don't rotate v]\nset size to (50) %\nclear graphic effects\npoint in direction (90)\nshow\nset [in air v] to [0]\nset [sy v] to [0]\nset [sx v] to [0]\nset [scroll x v] to [0]\nset [scroll y v] to [0]\nset [x v] to [0]\nset [y v] to [0]\nset [exit v] to []\nreset timer\n\nwhen I receive [green flag v]\nhide\ngo to [front v] layer\n\ndefine tick\nif <<<key (right arrow v) pressed?> or <<(x position) < (mouse x)> and <mouse down?>>> or <key (d v) pressed?>> then\n    change [sx v] by (2)\nend\nif <<<key (left arrow v) pressed?> or <<(mouse x) < (x position)> and <mouse down?>>> or <key (a v) pressed?>> then\n    change [sx v] by (-2)\nend\nif <<<key (up arrow v) pressed?> or <<(mouse y) > (y position)> and <mouse down?>>> or <key (w v) pressed?>> then\n    if <(in air) < [4]> then\n        set [sy v] to [16]\n    end\nend\nset [sx v] to ((SX) * (0.8))\nif <([abs v] of (SX) ) > [0.9]> then\n    change player x by (round (SX))\nend\nif <(sy) > [-15]> then\n    change [sy v] by (-2)\nend\nchange player y by (sy)\nposition\ntest - die\nchange [scroll x v] by (round (((x) - (scroll x)) / (10)))\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) < [-200]> then\n    set [exit v] to [die]\nend\nif <<key (any v) pressed?> or <mouse down?>> then\n    set [timeout? v] to [1100]\nelse\n    if <not <(username) = [mGR8T]>> then\n        change [timeout? v] by (-1)\n    end\nend\nif <(timeout?) < [1]> then\n    broadcast (session timeout v) and wait\nend\n\nwhen I receive [play game v]\nset [level v] to [1]\nforever\n    broadcast (reset v)\n    broadcast (setup v)\n    game on\n    repeat until <(exit) > []>\n        tick\n        broadcast (tick v)\n    end\n    if <(exit) = [win]> then\n        Game - win\n    else\n        game - die\n    end\nend\n\ndefine change player y by (sy)\nchange [y v] by (sy)\nchange [in air v] by (1)\nposition\nif <touching (platforms v)?> then\n    if <(sy) > [0]> then\n        touching platformer out [-1]\n    else\n        touching platformer out [1]\n    end\nend\n\nwhen I receive [begin v]\nbroadcast (green flag v) and wait\nbroadcast (play game v) and wait\n\ndefine position\ngo to x: ((x) - (scroll x)) y: ((y) - (scroll y))\n\ndefine change player x by (sx)\nchange [x v] by (sx)\nposition\nif <touching (platforms v)?> then\n    repeat (12)\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 (-12)\n    repeat 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\n    end\nend\n\ndefine game - die\nstart sound [Door Closing v]\nset [exit v] to []\nwait (0.5) seconds\n\ndefine test - die\nif <<touching (enemy v)?> or <touching color (#ff7272)?>> then\n    set [exit v] to [die]\nend\n\ndefine Game - win\nset [level v] to [2]\nbroadcast (win v)\nwait (1) seconds\n\ndefine touching platformer out (out)\nchange [y v] by (out)\nposition\nrepeat until <not <touching (platforms v)?>>\n    change [y v] by (out)\n    position\nend\nset [sy v] to [0]\nif <(out) > [0]> then\n    set [in air v] to [0]\nend\n\nwhen I receive [tick v]\ngo to [front v] layer\nif <touching (ladders v)?> then\n    set [sy v] to [2]\n    if <<<key (up arrow v) pressed?> or <<<(mouse y) > (y position)> and <mouse down?>> and <not <touching (mouse-pointer v)?>>>> or <key (w v) pressed?>> then\n        change [sy v] by (8)\n    end\n    if <<<key (down arrow v) pressed?> or <<<(y position) > (mouse y)> and <mouse down?>> and <not <touching (mouse-pointer v)?>>>> or <key (s v) pressed?>> then\n        change [sy v] by (-8)\n    end\n    if <<<key (right arrow v) pressed?> or <<(mouse x) > (x position)> and <mouse down?>>> or <key (d v) pressed?>> then\n        change [sx v] by (2)\n    end\n    if <<<key (right arrow v) pressed?> or <<(x position) > (mouse x)> and <mouse down?>>> or <key (a v) pressed?>> then\n        change [sx v] by (-2)\n    end\n    set [sx v] to ((SX) * (0.8))\n    position\nend\n\nwhen flag clicked\nset [chat v] to [0]\nshow list [opponent chat v]\nshow list [chat v]\ndelete all of [chat v]\ndelete all of [opponent chat v]\nadd [Hello!] to [chat v]\nadd [Bye!] to [chat v]\nadd [wait for me!] to [chat v]\nadd [HARD!] to [chat v]\nadd [c'mon!] to [chat v]\nadd [yes] to [chat v]\nadd [no thanks!] to [chat v]\nadd [Ok] to [chat v]\nadd [race to the top?] to [chat v]\nset [i v] to [0]\nrepeat (length of [chat v])\n    change [i v] by (1)\n    add (join [: ] (item (i) of [chat v])) to [opponent chat v]\nend\n\nwhen I receive [begin v]\nforever\n    if <key (1 v) pressed?> then\n        set [chat words v] to [1]\n        say (item (Chat Words) of [chat v])\n        wait (2) seconds\n        say []\n        set [chat words v] to [0]\n    else\n        if <key (2 v) pressed?> then\n            set [chat words v] to [2]\n            say (item (Chat Words) of [chat v])\n            wait (2) seconds\n            say []\n            set [chat words v] to [0]\n        else\n            if <key (3 v) pressed?> then\n                set [chat words v] to [3]\n                say (item (Chat Words) of [chat v])\n                wait (2) seconds\n                say []\n                set [chat words v] to [0]\n            else\n                if <key (4 v) pressed?> then\n                    set [chat words v] to [4]\n                    say (item (Chat Words) of [chat v])\n                    wait (2) seconds\n                    say []\n                    set [chat words v] to [0]\n                else\n                    if <key (5 v) pressed?> then\n                        set [chat words v] to [5]\n                        say (item (Chat Words) of [chat v])\n                        wait (2) seconds\n                        say []\n                        set [chat words v] to [0]\n                    else\n                        if <key (6 v) pressed?> then\n                            set [chat words v] to [6]\n                            say (item (Chat Words) of [chat v])\n                            wait (2) seconds\n                            say []\n                            set [chat words v] to [0]\n                        else\n                            if <key (7 v) pressed?> then\n                                set [chat words v] to [7]\n                                say (item (Chat Words) of [chat v])\n                                wait (2) seconds\n                                say []\n                                set [chat words v] to [0]\n                            else\n                                if <key (8 v) pressed?> then\n                                    set [chat words v] to [8]\n                                    say (item (Chat Words) of [chat v])\n                                    wait (2) seconds\n                                    say []\n                                    set [chat words v] to [0]\n                                else\n                                    if <key (9 v) pressed?> then\n                                        set [chat words v] to [9]\n                                        say (item (Chat Words) of [chat v])\n                                        wait (2) seconds\n                                        say []\n                                        set [chat words v] to [0]\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen flag clicked\nset [timeout? v] to [1100]\n\nwhen I receive [mg intro done =d v]\nhide\nset [max players v] to [10]\nset [my player # v] to [0]\ndelete all of [buffer v]\nbroadcast (setup opponents v) and wait\nbroadcast (joinibng v)\nbroadcast (join game v) and wait\nif <(MY PLAYER #) > [0]> then\n    broadcast (joined v)\nelse\n    broadcast (full  v)\nend\nwait (1) seconds\nbroadcast (begin v)\n\nwhen I receive [begin v]\nforever\n    if <key (t v) pressed?> then\n        if <(Chat) = [0]> then\n            set [chat v] to [1]\n        else\n            set [chat v] to [0]\n        end\n        wait until <not <key (t v) pressed?>>\n    end\n    if <(Chat) = [0]> then\n        show list [chat v]\n    else\n        hide list [chat v]\n    end\nend\n\n@opponents\n\ndefine begin decoding of (encoded)\nset [encoded v] to (encoded)\nset [letter # v] to [1]\n\ndefine value = read from ecoded\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\ndelete all of [buffer v]\nhide\nset [offline v] to [100]\nset [player # v] to [1]\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        hide\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                                    set [value v] to (☁ P10)\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [setup opponents v]\nsetup players\n\ndefine tick\ngo to [front v] layer\ngo [backward v] (1) layers\nvalue = cloud # (player #)\nif <(join [A] (value)) = (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 [A] (value))\n    if <(offline) > [99]> then\n        show\n    end\n    set [offline v] to [0]\n    begin decoding of (value)\n    value = read from ecoded\n    set [username v] to (value)\n    if <(username) = [amawesome2000]> then\n        hide\n        stop [this script v]\n    end\n    value = read from ecoded\n    if <(names) = [1]> then\n        say (join (username) (item (value) of [opponent chat v]))\n    else\n        say []\n    end\n    value = read from ecoded\n    value = read from ecoded\n    repeat until <(value) = []>\n        add (value) to [buffer v]\n        value = read from ecoded\n    end\nend\nif <(length of [buffer v]) > [0]> then\n    set x to ((item (1) of [buffer v]) - (scroll x))\n    delete (1) of [buffer v]\n    set y to ((item (1) of [buffer v]) - (scroll y))\n    delete (1) of [buffer v]\nend\ncheck if of edge\n\nwhen I receive [join game v]\nvalue = cloud # (player #)\nset [last value v] to (join [A] (value))\nwait (3) seconds\nvalue = cloud # (player #)\nif <(join [A] (value)) = (last value)> then\n    set [my player # v] to (player #)\nend\n\nwhen flag clicked\nset [names v] to [1]\nforever\n    if <key (n v) pressed?> then\n        if <(names) = [1]> then\n            set [names v] to [0]\n        else\n            set [names v] to [1]\n        end\n    end\n    wait until <not <key (n v) pressed?>>\nend\n\ndefine check if of edge\nif <<<(x position) > [200]> or <(x position) < [-200]>> or <<(y position) > [150]> or <(y position) < [-150]>>> then\n    switch costume to (arrow v)\n    point towards (player v)\n    if on edge, bounce\nelse\n    switch costume to (costume1 v)\n    point in direction (90)\nend\n\n@trophy\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (scroll x)) ((y) - (scroll y))\npoint in direction ((([cos v] of ((timer) * (180)) ) * (-6)) + (90))\nif <touching (player v)?> then\n    set [exit v] to [win]\nend\n\nwhen I receive [setup v]\nset [collected v] to [0]\nset [x v] to [0]\nset [y v] to [0]\nif <(level) = [1]> then\n    switch costume to (open v)\n    clone at x: [-95] y: [3052]\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 [reset v]\ndelete this clone\n\ndefine clone at x: (x) y: (y)\nset [x v] to (x)\nset [y v] to (y)\n\n@platforms\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]\ngo to [back v] layer\ngo [forward v] (5) layers\nset [x v] to [0]\nset [y v] to [0]\nif <(level) = [1]> then\n    switch costume to (1 v)\n    clone at x: [0] y: [250]\n    clone at x: [0] y: [360]\n    repeat (4)\n        clone at x: [0] y: [240]\n    end\n    clone at x: [0] y: [380]\n    repeat (5)\n        clone at x: [0] y: [240]\n    end\nend\nset [x v] to [-99999]\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]\nhide\ndelete this clone\n\ndefine clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\n@ladders\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]\nif <(level) = [1]> then\n    switch costume to (1 v)\n    clone at x: [0] y: [249]\n    clone at x: [0] y: [360]\n    clone at x: [0] y: [250]\n    clone at x: [0] y: [250]\n    clone at x: [0] y: [250]\n    clone at x: [0] y: [250]\n    clone at x: [0] y: [340]\n    clone at x: [0] y: [238]\n    clone at x: [0] y: [243]\n    clone at x: [0] y: [240]\n    clone at x: [0] y: [240]\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 [reset v]\nhide\ndelete this clone\n\ndefine clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\n@clouds\n\nwhen flag clicked\nforever\n    hide\n    create clone of (_myself_ v)\n    wait (pick random (7) to (15)) seconds\n    go to [back v] layer\nend\n\nwhen I start as a clone\nswitch costume to (pick random (1) to (4))\ngo to x: (250) y: (pick random (-180) to (180))\nshow\nset [ghost v] effect to (pick random (0) to (30))\nset size to (pick random (30) to (80)) %\nglide (pick random (30) to (50)) secs to x: (-220) y: (y position)\ndelete this clone\n\n@lava\n\nwhen I receive [setup v]\nset rotation style [left-right v]\nset [move x v] to [0]\nset [x v] to [0]\nset [y v] to [0]\nif <(level) = [1]> then\n    set [clone id v] to [0]\n    switch costume to (1 v)\n    clone at x: [70] y: [625]\n    clone at x: [-35] y: [1688]\nend\nset [x v] to [-9999]\n\ndefine clone at x: (x) y: (y)\nset [x v] to (x)\nset [y v] to (y)\ncreate clone of (_myself_ v)\nnext costume\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\n\nwhen I receive [reset v]\nhide\ndelete this clone\n\nwhen I receive [tick v]\ngo to [back v] layer\ngo [forward v] (5) layers\nposition ((x) - (scroll x)) ((y) - (scroll y))\n\n@glow\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (scroll x)) ((y) - (scroll y))\npoint in direction ((timer) * (15))\n\nwhen I receive [setup v]\nset size to (30) %\nset [collected v] to [0]\nset [x v] to [0]\nset [y v] to [0]\nif <(level) = [1]> then\n    switch costume to (open v)\n    clone at x: [-95] y: [3052]\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 [reset v]\ndelete this clone\n\ndefine clone at x: (x) y: (y)\nset [x v] to (x)\nset [y v] to (y)\n\n@enemy\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nset rotation style [left-right v]\nchange [move x v] by (2)\nif <(clone id) = [1]> then\n    position (((x) - (scroll x)) + (([cos v] of (move x) ) * (200))) ((y) - (scroll y))\nend\nif <(clone id) = [2]> then\n    position (((x) - (scroll x)) + (([cos v] of ((move x) * (1.1)) ) * (270))) ((y) - (scroll y))\nend\n\nwhen I receive [setup v]\nset rotation style [left-right v]\nset [move x v] to [0]\nset [x v] to [0]\nset [y v] to [0]\nif <(level) = [1]> then\n    set [clone id v] to [0]\n    switch costume to (1 v)\n    clone at x: [0] y: [245]\n    clone at x: [0] y: [1445]\nend\nset [x v] to [-9999]\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]\nhide\ndelete this clone\n\ndefine clone at x: (x) y: (y)\nchange [clone id v] by (1)\nset [x v] to (x)\nset [y v] to (y)\ncreate clone of (_myself_ v)\nnext costume\n\n@Joining\n\nwhen flag clicked\nhide\n\nwhen I receive [joined v]\ngo [forward v] (1322) layers\ngo to [front v] layer\nstart sound [Connect v]\nswitch costume to (connected v)\nshow\nwait (1) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\n\nwhen I receive [full  v]\nswitch costume to (full  v)\nstart sound [Disconnect v]\nshow\nwait (1) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\n\nwhen I receive [mg intro done =d v]\nswitch costume to (joining v)\nshow\n\n@Loading\n\nwhen flag clicked\ngo [forward v] (213) layers\nset size to (100) %\nhide\npoint in direction (90)\nclear graphic effects\ngo to x: (0) y: (-80)\n\nwhen I receive [joinibng v]\nrepeat (10)\n    create clone of (_myself_ v)\n    turn right (40) degrees\nend\n\nwhen I receive [joined v]\nhide\ndelete this clone\n\nwhen I start as a clone\ngo to [front v] layer\nshow\nset [ghost v] effect to (100)\nforever\n    repeat (20)\n        turn right (7.5) degrees\n        change [ghost v] effect by (-6)\n        change size by (1)\n    end\n    repeat (20)\n        turn right (7.5) degrees\n        change [ghost v] effect by (6)\n        change size by (-1)\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [full  v]\nhide\ndelete this clone\n\n@MG Intro\n\nwhen flag clicked\nhide variable [collected2 v]\nhide\nclear graphic effects\nset size to (100) %\nbroadcast (front v)\nrepeat (10)\n    go to [front v] layer\nend\ngo to x: (0) y: (0)\nset [xpos v] to [0]\nset [value v] to [0]\nset [sinus v] to [0]\nswitch costume to (dot v)\nset [velocity v] to [0]\nset [clonenumber v] to [0]\nstart sound [Anikdote - Turn It Up v]\nrepeat (5)\n    create clone of (_myself_ v)\n    wait (0.001) seconds\nend\nchange [clonenumber v] by (1)\ncreate clone of (_myself_ v)\nchange [clonenumber v] by (1)\nset [xpos v] to [-87.5]\nwait (1) seconds\nrepeat (5)\n    change [xpos v] by (35)\n    create clone of (_myself_ v)\n    change [value v] by (1)\n    wait (0.01) seconds\nend\nwait (.7) seconds\nchange [clonenumber v] by (1)\ncreate clone of (_myself_ v)\nwait (1.6) seconds\nchange [clonenumber v] by (1)\ncreate clone of (_myself_ v)\nwait (.1) seconds\nchange [clonenumber v] by (1)\ncreate clone of (_myself_ v)\nwait (3.2) seconds\nchange [clonenumber v] by (1)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nif <(clonenumber) = [0]> then\n    show\n    switch costume to (dot v)\n    set size to (pick random (50) to (100)) %\n    go to x: (pick random (-180) to (180)) y: (pick random (-180) to (180))\n    repeat until <<(round (x position)) = [0]> and <(round (y position)) = [0]>>\n        change x by (((0) - (x position)) / (5))\n        change y by (((0) - (y position)) / (5))\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(clonenumber) = [1]> then\n    show\n    switch costume to (dot v)\n    set size to (50) %\n    go to x: (0) y: (0)\n    repeat until <(round (size)) = [150]>\n        change size by (((150) - (size)) / (3))\n    end\n    set [velocity v] to [10]\n    repeat until <(round (size)) > [1400]>\n        switch costume to (blank v)\n        change size by (velocity)\n        change [velocity v] by ((velocity) / (2))\n        switch costume to (dot v)\n    end\nend\n\nwhen I start as a clone\nif <(clonenumber) = [2]> then\n    set [brightness v] effect to (100)\n    show\n    switch costume to ((value) + (5))\n    set size to (50) %\n    go to x: (xpos) y: (-1000)\n    go to [front v] layer\n    repeat (56)\n        change size by (((100) - (size)) / (3))\n        set [velocity v] to (((velocity) * (.72)) + (((0) - (y position)) / (7)))\n        change y by (velocity)\n    end\n    wait (2) seconds\n    set y to (-1000)\n    set size to (0) %\n    go to [front v] layer\n    repeat (25)\n        change size by (((100) - (size)) / (3))\n        set [velocity v] to (((velocity) * (.72)) + (((-100) - (y position)) / (7)))\n        change y by (velocity)\n    end\n    repeat (100)\n        set y to ((([sin v] of (sinus) ) * (15)) - (100))\n        change [sinus v] by (15)\n    end\nend\n\nwhen I start as a clone\nif <(clonenumber) = [3]> then\n    show\n    go to [front v] layer\n    switch costume to (bar v)\n    set size to (100) %\n    go to x: (-1000) y: (0)\n    repeat until <(round (x position)) = [0]>\n        change x by (((0) - (x position)) / (5))\n    end\n    set [velocity v] to [15]\n    repeat until <(round (size)) > [45000]>\n        switch costume to (blank v)\n        change size by (velocity)\n        change [velocity v] by ((velocity) / (2))\n        switch costume to (bar v)\n    end\nend\n\nwhen I start as a clone\nif <(clonenumber) = [4]> then\n    show\n    switch costume to (logo v)\n    go to x: (0) y: (0)\n    clear graphic effects\n    set size to (0) %\n    go to [front v] layer\n    repeat (26)\n        change size by (((100) - (size)) / (3))\n        set [velocity v] to (((velocity) * (.79)) + (((200) - (size)) / (10)))\n        change size by (velocity)\n    end\n    set [velocity v] to [10]\n    repeat until <(x position) > [239]>\n        change [velocity v] by ((velocity) / (4))\n        change x by (velocity)\n        change size by (((100) - (size)) / (5))\n    end\n    go to x: (-1000) y: (0)\n    hide\n    wait (.2) seconds\n    show\n    repeat until <<(round (x position)) = [0]> and <(round (size)) = [200]>>\n        change x by (((0) - (x position)) / (5))\n        change size by (((200) - (size)) / (5))\n    end\n    repeat until <(round (size)) = [350]>\n        change size by (((350) - (size)) / (5))\n    end\n    repeat until <(round (size)) = [200]>\n        change size by (((200) - (size)) / (5))\n    end\n    set [velocity v] to [1]\n    repeat until <(size) < [15]>\n        change [ghost v] effect by (4)\n        change [velocity v] by ((velocity) / (4))\n        change size by ((0) - (velocity))\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(clonenumber) = [5]> then\n    show\n    switch costume to (screen v)\n    clear graphic effects\n    go to x: (0) y: (0)\n    Flash\n    wait (0.05) seconds\n    Flash\n    wait (.2) seconds\n    Flash\n    wait (0.08) seconds\n    Flash\n    wait (.1) seconds\n    Flash\nend\n\ndefine Flash\nclear graphic effects\nset [brightness v] effect to (100)\nset size to (100) %\nrepeat (20)\n    go to [front v] layer\n    change [ghost v] effect by (5)\nend\n\nwhen I start as a clone\nif <(clonenumber) = [6]> then\n    show\n    go to [front v] layer\n    switch costume to (bar v)\n    set size to (100) %\n    go to x: (-1000) y: (0)\n    set [brightness v] effect to (100)\n    repeat until <(round (x position)) = [0]>\n        change x by (((0) - (x position)) / (5))\n    end\n    set [velocity v] to [15]\n    repeat until <(round (size)) > [45000]>\n        switch costume to (blank v)\n        change size by (velocity)\n        change [velocity v] by ((velocity) / (2))\n        switch costume to (bar v)\n    end\n    broadcast (Delete v)\nend\n\nwhen I receive [delete v]\nset [brightness v] effect to (100)\nif <not <(costume [number v]) = [11]>> then\n    delete this clone\nelse\n    wait (1) seconds\n    broadcast (mg intro done =D v)\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    delete this clone\nend\n\n@intro bg :P\n\nwhen I receive [front v]\ngo to [front v] layer\nshow\nwait (2) seconds\nhide\n\n@tn\n\nwhen flag clicked\nhide variable [collected show v]\nhide variable [collected2 v]\nshow\nswitch costume to (co3stume1 v)\nset [ghost v] effect to (100)\nrepeat (20)\n    hide variable [collected show v]\nend\nforever\n    go to [front v] layer\n    if <(level) = [2]> then\n        switch costume to (costume2 v)\n    end\nend\n\nwhen flag clicked\ngo to x: (0) y: (300)\nswitch costume to (costume 1 v)\nset [level v] to [1]\nwait until <(level) = [2]>\nstop [other scripts in sprite v]\nclear graphic effects\nshow list [cloud chat items v]\nhide variable [collected show v]\nset [show v] to (seconds)\nshow variable [show v]\nstop [all v]\n\nwhen flag clicked\nset [play? v] to [0]\nreset timer\nhide variable [show v]\nhide variable [seconds v]\nforever\n    set [seconds v] to (timer)\nend\n\nwhen flag clicked\nwait (1) seconds\nrepeat (200)\n    hide variable [collected show v]\nend\n\nwhen I receive [session timeout v]\nswitch costume to (timeout2 v)\ngo to [front v] layer\nstop [all v]\n\nwhen flag clicked\nforever\n    go to [front v] layer\n    set [timer v] to (timer)\nend\n\nwhen [timer v] > (timer)\nshow list [chat v]\nrepeat until <(y position) < [0]>\n    go to [front v] layer\n    change y by (((0) - (y position)) / (5))\nend\ngo to x: (0) y: (0)\nstop [this script v]\n\n
You with your team, when playing ToS accidentally fell into a similar but different version of it! complete the game and like and fav it to be FREE!!!! XD or you could get yourself captured in the game again by clicking the green flag and try defeating it again, totally for the reason to have FUN!!!! XD ENJOY!!!\n=========================================Sub to my YT channel for useful tutorials and fun content! https://www.youtube.com/channel/UCS-MpseSsGhtijbHt0aevzw\n=========================================\n>> arrow keys / WASD / mobile controls to move.\n>> avoid enemy bots and lava to survive!\n>> climb to the trophy at the top of the tower to WIN!!!\n>> your on a timer! so climb fast!!\n>> press "N" to show/hide names.\n>> press "T" to show/hide cloud chat items.\n>> if you want to chat, press the number of the slot in the chat list you want to say!\n>> if you defeated the game then please comment your time!\n>> like and fav! (very important!) XD\n>> ENJOY!!!!!