Nether Platformer
@Stage\n\n@Coins\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    switch costume to (1 v)\n    clone at x: [153] y: [75]\n    clone at x: [285] y: [400]\n    clone at x: [80] y: [650]\n    clone at x: [-360] y: [1470]\n    clone at x: [155] y: [1750]\n    clone at x: [450] y: [1750]\n    clone at x: [550] y: [725]\n    clone at x: [-25] y: [1050]\n    clone at x: [-135] y: [2325]\n    clone at x: [490] y: [2665]\n    clone at x: [318] y: [2770]\n    clone at x: [165] y: [2865]\nend\n\ndefine clone at x: (x) y: (y)\nset [x v] to (x)\nset [y v] to (y)\ncreate clone of (_myself_ v)\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\nwhen I start as a clone\nshow\nforever\n    if <touching (player v)?> then\n        change [nether coins v] by (1)\n        start sound [Collect v]\n        hide\n        delete this clone\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\nwhen flag clicked\nhide variable [nether coins v]\nwait (5) seconds\nshow variable [nether coins v]\n\n@shopbutton\n\nwhen flag clicked\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        repeat until <(size) = [120]>\n            change size by (5)\n        end\n    else\n        repeat until <(size) = [100]>\n            change size by (-5)\n        end\n    end\nend\n\nwhen this sprite clicked\nbroadcast (Shop v)\nhide\n\nwhen I receive [show v]\nshow\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\nset size to (40) %\nif <<key (right arrow v) pressed?> or <<(x position) < (mouse x)> and <mouse down?>>> then\n    change [sx v] by (2)\n    switch costume to (costume2 v)\nend\nif <<key (left arrow v) pressed?> or <<(mouse x) < (x position)> and <mouse down?>>> then\n    change [sx v] by (-2)\n    switch costume to (costume3 v)\nend\nif <<key (up arrow v) pressed?> or <<(mouse y) > (y position)> and <mouse down?>>> then\n    if <(in air) < [4]> then\n        set [sy v] to (Y)\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) = [MXNHD]>> 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]\nbroadcast (showcoins v)\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 (platformz 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 (platformz v)?> then\n    repeat (12)\n        change [y v] by (1)\n        position\n        if <not <touching (platformz v)?>> then\n            stop [this script v]\n        end\n    end\n    change [y v] by (-12)\n    repeat until <not <touching (platformz 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\nset [exit v] to []\nwait (0.5) seconds\n\ndefine test - die\nif <<touching (danger v)?> and <(Lives) = [1]>> then\n    set [exit v] to [die]\n    set [nether coins v] to [0]\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 (platformz 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 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\nwhen flag clicked\nbroadcast (mg intro done =D v)\n\nwhen flag clicked\nset [y v] to [17]\n\nwhen flag clicked\nforever\n    if <<touching (danger v)?> and <(Lives) = [2]>> then\n        wait (1) seconds\n        set [lives v] to [1]\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nset [lives v] to [1]\n\n@End\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\nwhen flag clicked\nset [nether coins v] to [0]\n\n@Danger\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    switch costume to (1 v)\n    clone at x: [70] y: [625]\n    switch costume to (2 v)\n    clone at x: [70] y: [850]\n    switch costume to (3 v)\n    clone at x: [-100] y: [1500]\n    switch costume to (4 v)\n    clone at x: [150] y: [1500]\n    switch costume to (5 v)\n    clone at x: [490] y: [2000]\n    switch costume to (6 v)\n    clone at x: [400] y: [2600]\nend\n\ndefine clone at x: (x) y: (y)\nset [x v] to (x)\nset [y v] to (y)\ncreate clone of (_myself_ v)\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\nset [clone id v] to [0]\n\nset [x v] to [-9999]\n\n\n\nnext costume\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@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)\n    broadcast (showcoins v)\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@platformz\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@Shopitem1\n\nwhen flag clicked\nforever\n    if <<mouse down?> and <not <touching (mouse-pointer v)?>>> then\n        hide\n        broadcast (show v)\n    end\nend\n\nwhen I receive [shop v]\nshow variable [nether coins v]\nswitch costume to (costume1 v)\nshow\nset size to (0) %\nrepeat (10)\n    change size by (10)\nend\nset size to (100) %\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        repeat until <(size) = [120]>\n            change size by (5)\n        end\n    else\n        repeat until <(size) = [100]>\n            change size by (-5)\n        end\n    end\nend\n\nwhen flag clicked\nset [boughtitem1? v] to [0]\nset size to (0) %\nhide\n\nwhen I receive [hide v]\nhide\n\nwhen this sprite clicked\nif <(Boughtitem1?) = [1]> then\n    say [You have already bought this item!] for (2) seconds\nend\nif <(Nether Coins) < [10]> then\n    say [Not enough coins!] for (2) seconds\nend\nif <<(Boughtitem1?) = [0]> and <<(Nether Coins) = [10]> or <(Nether Coins) > [10]>>> then\n    ask [Are you sure you want to buy this item? It will cost you 30 coins.] and wait\n    if <<(answer) = [yes]> and <<(Nether Coins) = [10]> or <(Nether Coins) > [10]>>> then\n        change [nether coins v] by (-30)\n        switch costume to (costume2 v)\n        broadcast (gogounlocked v)\n        set [boughtitem1? v] to [1]\n        set [y v] to [21]\n    end\nend\n\nchange [nether coins v] by (30)\n\nwhen flag clicked\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        wait (0.2) seconds\n        if <(Boughtitem1?) = [1]> then\n            say [You have already bought this item!] for (2) seconds\n        end\n        if <(Nether Coins) < [30]> then\n            say [Not enough coins!] for (2) seconds\n        end\n        if <<(Boughtitem1?) = [0]> and <<(Nether Coins) = [30]> or <(Nether Coins) > [30]>>> then\n            ask [Are you sure you want to buy this item? It will cost you 30 coins.] and wait\n            if <<(answer) = [yes]> and <<(Nether Coins) = [30]> or <(Nether Coins) > [30]>>> then\n                change [nether coins v] by (-30)\n                switch costume to (costume2 v)\n                broadcast (gogounlocked v)\n                set [boughtitem1? v] to [1]\n            end\n        end\n    end\nend\n\n@Shopitem2\n\nwhen flag clicked\nforever\n    if <<mouse down?> and <not <touching (mouse-pointer v)?>>> then\n        hide\n        broadcast (show v)\n    end\nend\n\nwhen I receive [shop v]\nshow variable [nether coins v]\nswitch costume to (costume1 v)\nshow\nset size to (0) %\nrepeat (10)\n    change size by (10)\nend\nset size to (100) %\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        repeat until <(size) = [120]>\n            change size by (5)\n        end\n    else\n        repeat until <(size) = [100]>\n            change size by (-5)\n        end\n    end\nend\n\nwhen flag clicked\nset [boughtitem1? v] to [0]\nset size to (0) %\nhide\n\nwhen I receive [hide v]\nhide\n\nwhen this sprite clicked\nif <(Boughtitem2?) = [1]> then\n    say [You have already bought this item!] for (2) seconds\nend\nif <(Nether Coins) < [10]> then\n    say [Not enough coins!] for (2) seconds\nend\nif <<(Boughtitem2?) = [0]> and <<(Nether Coins) = [30]> or <(Nether Coins) > [30]>>> then\n    ask [Are you sure you want to buy this item? It will cost you 30 coins.] and wait\n    if <<(answer) = [yes]> and <<(Nether Coins) = [30]> or <(Nether Coins) > [30]>>> then\n        change [nether coins v] by (-30)\n        switch costume to (costume2 v)\n        broadcast (picounlocked v)\n        set [boughtitem2? v] to [1]\n        set [lives v] to [2]\n    end\nend\n\nwhen flag clicked\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        wait (0.2) seconds\n        if <(Boughtitem2?) = [1]> then\n            say [You have already bought this item!] for (2) seconds\n        end\n        if <(Nether Coins) < [30]> then\n            say [Not enough coins!] for (2) seconds\n        end\n        if <<(Boughtitem2?) = [0]> and <<(Nether Coins) = [30]> or <(Nether Coins) > [30]>>> then\n            ask [Are you sure you want to buy this item? It will cost you 30 coins.] and wait\n            if <<(answer) = [yes]> and <<(Nether Coins) = [30]> or <(Nether Coins) > [30]>>> then\n                change [nether coins v] by (-30)\n                switch costume to (costume2 v)\n                broadcast (picounlocked v)\n                set [boughtitem2? v] to [1]\n            end\n        end\n    end\nend\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
This game is where YOUR platform has to make it to the ultimate star and get to the surface of the earth, which is out of the underworld! This multiplayer game is played just like any platformer: jump on platforms and try to achieve a goal. Your goal is to make it out of the underworld. However, you WILL see unusual things such as SNOW! How did snow make it beneath earth?? Play to find out! Collect nether coins to represent your awesome and dangerous voyage to your peers above the earth! Good luck!\n\nUse the arrow keys to move.\n\n