pixel platformer cloud multiplayer #games #all

Instructions: This is multiplayer\nUse arrow keys or WASD to control. for mobile touch\nchat\n1: hello\n2: help\n3: over here\n4: almost\n5: coins!\n After collecting 10 coins, the white blocks will open. After collecting 60 coins, the gold blocks will open. For the blue and red blocks, you will need to find a switch. The flags are checkpoints. If you fall in lava, you will return to your most recent flag. To avoid the spikes which appear late in the game, you have to go over them when they are down.

@Stage\n\n@levels\n\nset [level height v] to [0]\n\ndefine render\nset [object v] to [0]\nchange [tick v] by (1)\nerase all\ngo to x: ((-224) - ((x scroll) mod (32))) y: ((-164) - ((y scroll) mod (32)))\nset [render.x v] to [0]\nrepeat (16)\n    set [render.y v] to [0]\n    set y to ((-164) - ((y scroll) mod (32)))\n    repeat (12)\n        set y to ((((-164) - ((y scroll) mod (32))) + ((32) * ((render.y) - (0)))) - (0))\n        set [block v] to (item (((((render.x) + (1)) + ([floor v] of ((x scroll) / (32)) )) * (level height)) + (((render.y) + (0)) + ([floor v] of ((y scroll) / (32)) ))) of [level v])\n        if <(block) < [48]> then\n            switch costume to (block)\n        else\n            if <<(block) = [48]> or <(block) = [49]>> then\n                switch costume to (join (block) (join [-] (red)))\n            else\n                if <<(block) = [50]> or <(block) = [51]>> then\n                    switch costume to (join (block) (join [-] (blue)))\n                else\n                    if <<(block) = [52]> or <(block) = [53]>> then\n                        switch costume to (join (block) (join [-] ((4) - (([floor v] of ((tick) / (3)) ) mod (4)))))\n                    else\n                        if <(block) = [54]> then\n                            set [tile v] to (((([floor v] of ((((x position) + (x scroll)) + (272)) / (32)) ) * (level height)) + ([floor v] of ((((y position) + (y scroll)) + (156)) / (32)) )) + (1))\n                            if <(tile) = (save block)> then\n                                switch costume to (54-2 v)\n                            else\n                                switch costume to (54-1 v)\n                            end\n                        else\n                            if <(block) = [55]> then\n                                switch costume to (join [55-] (jumps))\n                            else\n                                if <(block) = [56]> then\n                                    switch costume to (join [56-] (wall jumps))\n                                else\n                                    if <(block) = [57]> then\n                                        switch costume to (join [57-] (jumps))\n                                    else\n                                        if <(letter (1) of (block)) = [c]> then\n                                            if <[0] = (item (join (join (letter (2) of (block)) (letter (3) of (block))) (join (letter (4) of (block)) (letter (5) of (block)))) of [coins v])> then\n                                                change y by (([sin v] of (((tick) + ((100) * (join (letter (3) of (block)) (join (letter (4) of (block)) (letter (5) of (block)))))) * (3)) ) * (10))\n                                                switch costume to (58 v)\n                                            else\n                                                switch costume to (0 v)\n                                            end\n                                        else\n                                            if <(block) = [59]> then\n                                                if <(([floor v] of ((tick) / (3)) ) mod (16)) < [10]> then\n                                                    switch costume to (59-1 v)\n                                                else\n                                                    switch costume to (join [59-] ((([floor v] of ((tick) / (3)) ) - (9)) mod (16)))\n                                                end\n                                            else\n                                                if <(block) < [63]> then\n                                                    switch costume to (block)\n                                                else\n                                                    if <(block) = [63]> then\n                                                        if <(item (14) of [not solid v]) = [0]> then\n                                                            switch costume to (63-1 v)\n                                                        else\n                                                            switch costume to (63-2 v)\n                                                        end\n                                                    else\n                                                        if <(block) = [64]> then\n                                                            switch costume to (64 v)\n                                                            broadcast (message v)\n                                                        else\n                                                            if <(block) = [65]> then\n                                                                if <(item (15) of [not solid v]) = [0]> then\n                                                                    switch costume to (65-1 v)\n                                                                else\n                                                                    switch costume to (65-2 v)\n                                                                end\n                                                            else\n                                                                if <(block) = [66]> then\n                                                                    if <(item (16) of [not solid v]) = [0]> then\n                                                                        switch costume to (66-1 v)\n                                                                    else\n                                                                        switch costume to (66-2 v)\n                                                                    end\n                                                                end\n                                                            end\n                                                        end\n                                                    end\n                                                end\n                                            end\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        stamp\n        change [render.y v] by (1)\n    end\n    set x to ((((-224) - ((x scroll) mod (32))) + ((32) * (render.x))) - (-32))\n    change [render.x v] by (1)\nend\nmap\n\nif <key (up arrow v) pressed?> then\n    change [y scroll v] by (1)\nend\nif <key (down arrow v) pressed?> then\n    change [y scroll v] by (-1)\nend\nif <key (right arrow v) pressed?> then\n    change [x scroll v] by (1)\nend\nif <key (left arrow v) pressed?> then\n    change [x scroll v] by (-1)\nend\nif <(x scroll) < [0]> then\n    set [x scroll v] to [0]\nend\nif <(y scroll) < [0]> then\n    set [y scroll v] to [0]\nend\nif <((y scroll) / (32)) > ((level height) - (12))> then\n    set [y scroll v] to (((level height) - (12)) * (32))\nend\nif <((x scroll) / (32)) > ((level width) - (16))> then\n    set [x scroll v] to (((level width) - (16)) * (32))\nend\n\ndelete all of [level v]\nset [level height v] to [125]\nset [level width v] to [200]\nrepeat (25000)\n    add [0] to [level v]\nend\n\nwhen I receive [tick v]\nrender\nif <not <(object) = [0]>> then\n    switch costume to (object)\n    show\n    go to x: (x) y: (y)\n    broadcast (say v)\n    think (message) for (.01) seconds\nend\nhide\nbroadcast (coins v)\n\nif <mouse down?> then\n    replace item (((([floor v] of ((((mouse x) + (x scroll)) + (272)) / (32)) ) * (level height)) + ([floor v] of ((((mouse y) + (y scroll)) + (156)) / (32)) )) + (1)) of [level v] with (tile type)\nend\n\nwhen [space v] key pressed\n\nif <key (space v) pressed?> then\n    ask [] and wait\n    set [tile type v] to (answer)\nend\nif <((y scroll) / (32)) > ((level height) - (12))> then\n    set [y scroll v] to (((level height) - (12)) * (32))\nend\nif <((x scroll) / (32)) > ((level width) - (16))> then\n    set [x scroll v] to (((level width) - (16)) * (32))\nend\n\ndefine rest coins\ndelete all of [coins v]\nrepeat (999)\n    add [0] to [coins v]\nend\n\nwhen flag clicked\nrest coins\n\nwhen I receive [say v]\n\nwhen I receive [tick v]\nchange y by (() - ())\n\nwhen I receive [remder v]\nrender\n\nset [wall jumps v] to [1]\n\ndefine map\n\ngo to x: (0) y: (0)\nset [render.x v] to [0]\nrepeat (200)\n    set y to (0)\n    change x by (1)\n    repeat (125)\n        change [render.x v] by (1)\n        change y by (1)\n        set pen color to (#cecece)\n        if <(item (render.x) of [level v]) < [48]> then\n            set pen color to (#76ce85)\n        end\n        if <(letter (1) of (item (render.x) of [level v])) = [c]> then\n            set pen color to (#bba965)\n        end\n        if <not <(item (render.x) of [level v]) = [0]>> then\n            pen up\n            pen down\n            pen up\n        end\n    end\nend\n\nwhen flag clicked\n\nforever\n\nset [stuff v] to (item (((([floor v] of ((((mouse x) + (x scroll)) + (272)) / (32)) ) * (level height)) + ([floor v] of ((((mouse y) + (y scroll)) + (156)) / (32)) )) + (1)) of [level v])\nif <(x scroll) < [0]> then\n    set [x scroll v] to [0]\nend\n\nsay [you need 200 coins]\n\nrest coins\nset [stuff v] to [0]\nset [coins v] to [0]\nrepeat (length of [level v])\n    change [stuff v] by (1)\n    if <(letter (1) of (item (stuff) of [level v])) = [c]> then\n        if <(item (join (join (letter (2) of (item (stuff) of [level v])) (letter (3) of (item (stuff) of [level v]))) (join (letter (4) of (item (stuff) of [level v])) (letter (5) of (item (stuff) of [level v])))) of [coins v]) = [0]> then\n            change [coins v] by (1)\n            replace item (join (join (letter (2) of (item (stuff) of [level v])) (letter (3) of (item (stuff) of [level v]))) (join (letter (4) of (item (stuff) of [level v])) (letter (5) of (item (stuff) of [level v])))) of [coins v] with [1]\n        end\n    end\nend\n\n@player\n\nif <(water) = [0]> then\n    broadcast (go to save v) and wait\nend\nif <(y vel) < [0]> then\n\ndefine find tile\nset [total x pos v] to ((x position) + (x scroll))\nset [total y pos v] to ((y position) + (y scroll))\nset [tile v] to ((([floor v] of (((total x pos) + (272)) / (32)) ) * (level height)) + ([floor v] of (((total y pos) + (180)) / (32)) ))\n\ndefine scroll\nx scroll\nchange [x scroll v] by ((x position) / (20))\nchange x by ((x position) / (-20))\nchange [y scroll v] by ((((y vel) * (2)) - (y position)) / (-20))\nchange y by ((((y vel) * (2)) - (y position)) / (20))\nif <(x scroll) < [0]> then\n    change x by (x scroll)\n    set [x scroll v] to [0]\nend\nif <(y scroll) < [32]> then\n    change y by ((y scroll) - (32))\n    set [y scroll v] to [32]\nend\nif <((y scroll) / (32)) > ((level height) - (12))> then\n    change y by ((y scroll) - (((level height) - (12)) * (32)))\n    set [y scroll v] to (((level height) - (12)) * (32))\nend\nif <((x scroll) / (32)) > ((level width) - (16))> then\n    change x by ((x scroll) - (((level width) - (16)) * (32)))\n    set [x scroll v] to (((level width) - (16)) * (32))\nend\n\ndefine x scroll\nif <(x scroll) < [0]> then\n    change x by (x scroll)\n    set [x scroll v] to [0]\nend\nif <((x scroll) / (32)) > ((level width) - (16))> then\n    change x by ((x scroll) - (((level width) - (16)) * (32)))\n    set [x scroll v] to (((level width) - (16)) * (32))\nend\n\ndefine down\nset [ground v] to [0]\nif <(total y pos) < ((round ((total y pos) / (32))) * (32))> then\n    if <not <[not solid v] contains (item ((tile) - (1)) of [level v])?>> then\n        if <not <(letter (1) of (item ((tile) - (1)) of [level v])) = [c]>> then\n            change y by (((round ((total y pos) / (32))) * (32)) - (total y pos))\n            change y by (-4)\n            set [touching ground v] to [0]\n            set [y vel v] to [-.1]\n            set [ground v] to [1]\n        end\n    else\n        if <not <[not solid v] contains (item (((tile) - (1)) + (level height)) of [level v])?>> then\n            if <(total x pos) > (((round ((total x pos) / (32))) * (32)) + (4))> then\n                if <not <(letter (1) of (item (((tile) - (1)) + (level height)) of [level v])) = [c]>> then\n                    change y by (((round ((total y pos) / (32))) * (32)) - (total y pos))\n                    change y by (-4)\n                    set [touching ground v] to [0]\n                    set [y vel v] to [-.1]\n                    set [ground v] to [1]\n                end\n            end\n        end\n        if <not <[not solid v] contains (item (((tile) - (1)) - (level height)) of [level v])?>> then\n            if <((round ((total x pos) / (32))) * (32)) > ((total x pos) + (4))> then\n                if <not <(letter (1) of (item (((tile) - (1)) - (level height)) of [level v])) = [c]>> then\n                    change y by (((round ((total y pos) / (32))) * (32)) - (total y pos))\n                    change y by (-4)\n                    set [touching ground v] to [0]\n                    set [y vel v] to [-.1]\n                    set [ground v] to [1]\n                end\n            end\n        end\n    end\nend\nif <not <<[not solid v] contains (item (tile) of [level v])?> or <(letter (1) of (item (tile) of [level v])) = [c]>>> then\n    change y by (32)\nend\nif <(ground) = [0]> then\n    if <(touching ground) = [0]> then\n        set [touching ground v] to [1]\n    end\nend\n\ndefine up\nfind ceiling\nif <not <[not solid v] contains (item (tile) of [level v])?>> then\n    if <not <(letter (1) of (item (tile) of [level v])) = [c]>> then\n        change y by (((round ((total y pos) / (32))) * (32)) - (total y pos))\n        change y by (-4)\n        set [y vel v] to [0]\n    end\nelse\n    if <not <[not solid v] contains (item ((tile) + (level height)) of [level v])?>> then\n        if <(total x pos) > (((round ((total x pos) / (32))) * (32)) + (4))> then\n            if <not <(letter (1) of (item ((tile) + (level height)) of [level v])) = [c]>> then\n                change y by (((round ((total y pos) / (32))) * (32)) - (total y pos))\n                change y by (-4)\n                set [y vel v] to [0]\n            end\n        end\n    end\n    if <not <[not solid v] contains (item ((tile) - (level height)) of [level v])?>> then\n        if <((round ((total x pos) / (32))) * (32)) > ((total x pos) + (4))> then\n            if <not <(letter (1) of (item ((tile) - (level height)) of [level v])) = [c]>> then\n                change y by (((round ((total y pos) / (32))) * (32)) - (total y pos))\n                change y by (-4)\n                set [y vel v] to [0]\n            end\n        end\n    end\nend\n\ndefine find ceiling\nset [tile v] to ((([floor v] of (((total x pos) + (272)) / (32)) ) * (level height)) + ([ceiling v] of (((total y pos) + (164)) / (32)) ))\n\ndefine right\nfind right\nif <not <[not solid v] contains (item (tile) of [level v])?>> then\n    if <not <(letter (1) of (item (tile) of [level v])) = [c]>> then\n        change x by (((round ((total x pos) / (32))) * (32)) - (total x pos))\n        set [x vel v] to [0]\n        if <<key (w v) pressed?> or <key (up arrow v) pressed?>> then\n            if <(y vel) < [-.1]> then\n                if <(wall jumps) = [1]> then\n                    find tile\n                    if <not <(item (tile) of [level v]) = [52]>> then\n                        set [touching ground v] to [0]\n                        set [x vel v] to [-4]\n                        set [y vel v] to [15]\n                    end\n                    find right\n                end\n            end\n        end\n    end\nelse\n    if <not <[not solid v] contains (item ((tile) - (1)) of [level v])?>> then\n        if <((total y pos) - (12)) > ((round ((total y pos) / (32))) * (32))> then\n            if <not <(letter (1) of (item ((tile) - (1)) of [level v])) = [c]>> then\n                change x by (((round ((total x pos) / (32))) * (32)) - (total x pos))\n                set [x vel v] to [0]\n                if <<key (w v) pressed?> or <key (up arrow v) pressed?>> then\n                    if <(y vel) < [-.1]> then\n                        if <(wall jumps) = [1]> then\n                            find tile\n                            if <not <(item (tile) of [level v]) = [52]>> then\n                                set [touching ground v] to [0]\n                                set [x vel v] to [-4]\n                                set [y vel v] to [15]\n                            end\n                            find right\n                        end\n                    end\n                end\n            end\n        end\n    end\n    if <not <[not solid v] contains (item ((tile) + (1)) of [level v])?>> then\n        if <((round ((total y pos) / (32))) * (32)) > ((total y pos) + (16))> then\n            if <not <(letter (1) of (item ((tile) + (1)) of [level v])) = [c]>> then\n                change x by (((round ((total x pos) / (32))) * (32)) - (total x pos))\n                set [x vel v] to [0]\n                if <<key (w v) pressed?> or <key (up arrow v) pressed?>> then\n                    if <(y vel) < [-.1]> then\n                        if <(wall jumps) = [1]> then\n                            find tile\n                            if <not <(item (tile) of [level v]) = [52]>> then\n                                set [touching ground v] to [0]\n                                set [x vel v] to [-4]\n                                set [y vel v] to [15]\n                            end\n                            find right\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\ndefine find right\nfind tile\nset [tile v] to (((round (((total x pos) + (272)) / (32))) * (level height)) + ([ceiling v] of (((total y pos) + (148)) / (32)) ))\n\ndefine find left\nfind tile\nset [tile v] to (((round (((total x pos) + (240)) / (32))) * (level height)) + ([ceiling v] of (((total y pos) + (148)) / (32)) ))\n\ndefine left\nfind left\nif <not <[not solid v] contains (item (tile) of [level v])?>> then\n    if <not <(letter (1) of (item (tile) of [level v])) = [c]>> then\n        change x by (((round ((total x pos) / (32))) * (32)) - (total x pos))\n        set [x vel v] to [0]\n        if <<key (w v) pressed?> or <key (up arrow v) pressed?>> then\n            if <(y vel) < [-.1]> then\n                if <(wall jumps) = [1]> then\n                    find tile\n                    if <not <(item (tile) of [level v]) = [52]>> then\n                        set [touching ground v] to [0]\n                        set [x vel v] to [4]\n                        set [y vel v] to [15]\n                    end\n                    find left\n                end\n            end\n        end\n    end\nelse\n    if <not <[not solid v] contains (item ((tile) - (1)) of [level v])?>> then\n        if <((total y pos) - (12)) > ((round ((total y pos) / (32))) * (32))> then\n            if <not <(letter (1) of (item ((tile) - (1)) of [level v])) = [c]>> then\n                change x by (((round ((total x pos) / (32))) * (32)) - (total x pos))\n                set [x vel v] to [0]\n                if <<key (w v) pressed?> or <key (up arrow v) pressed?>> then\n                    if <(y vel) < [-.1]> then\n                        if <(wall jumps) = [1]> then\n                            find tile\n                            if <not <(item (tile) of [level v]) = [52]>> then\n                                set [touching ground v] to [0]\n                                set [x vel v] to [4]\n                                set [y vel v] to [15]\n                            end\n                            find left\n                        end\n                    end\n                end\n            end\n        end\n    end\n    if <not <[not solid v] contains (item ((tile) + (1)) of [level v])?>> then\n        if <((round ((total y pos) / (32))) * (32)) > ((total y pos) + (16))> then\n            if <not <(letter (1) of (item ((tile) + (1)) of [level v])) = [c]>> then\n                change x by (((round ((total x pos) / (32))) * (32)) - (total x pos))\n                set [x vel v] to [0]\n                if <<key (w v) pressed?> or <key (up arrow v) pressed?>> then\n                    if <(y vel) < [-.1]> then\n                        if <(wall jumps) = [1]> then\n                            find tile\n                            if <not <(item (tile) of [level v]) = [52]>> then\n                                set [touching ground v] to [0]\n                                set [x vel v] to [4]\n                                set [y vel v] to [15]\n                            end\n                            find left\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [boss fight v]\nset [x scroll v] to [4030]\nset [y scroll v] to [0]\ngo to x: (0) y: (0)\n\nwhen I receive [go to save v]\ndeath\nset [x scroll v] to (save x)\nset [y scroll v] to (save y)\ngo to x: (0) y: (0)\n\ndefine death\nset [death x v] to (total x pos)\nset [death y v] to (total y pos)\nset [ghost v] effect to (0)\nrepeat (20)\n    go to x: (0) y: (0)\n    set [rand v] to (pick random (-7) to (7))\n    set [x scroll v] to ((death x) + (rand))\n    change x by (() - (rand))\n    set [rand v] to (pick random (-7) to (7))\n    set [y scroll v] to ((death y) + (rand))\n    change y by (() - (rand))\n    broadcast (remder v)\n    change [ghost v] effect by (5)\nend\nset [ghost v] effect to (0)\n\nchange [x scroll v] by (1)\nchange [y scroll v] by (pick random (-10) to (10))\n\nwhen I receive [win v]\nset [x scroll v] to (save x)\nset [y scroll v] to (save y)\ngo to x: (0) y: (0)\n\nset [jumps v] to [50]\n\nset [jumps v] to [60]\n\nif <(wall jumps) = [1]> then\n    if <[] = [50]> then\n        set [y vel v] to [20]\n        change [touching ground v] by (1)\n        set [w press v] to [1]\n    end\nend\n\nwhen I receive [start game v]\nshow\ndelete all of [not solid v]\nadd [0] to [not solid v]\nadd [49] to [not solid v]\nadd [0] to [not solid v]\nadd [51] to [not solid v]\nadd [0] to [not solid v]\nadd [52] to [not solid v]\nadd [53] to [not solid v]\nadd [54] to [not solid v]\nadd [55] to [not solid v]\nadd [56] to [not solid v]\nadd [57] to [not solid v]\nadd [58] to [not solid v]\nadd [59] to [not solid v]\nadd [0] to [not solid v]\nadd [0] to [not solid v]\nadd [64] to [not solid v]\nadd [0] to [not solid v]\nset [wall jumps v] to [0]\nset [red v] to [1]\nset [blue v] to [1]\nset [save block v] to [0]\nset [x scroll v] to [3900]\nset [y scroll v] to [1600]\nset [save x v] to (x scroll)\nset [save y v] to (y scroll)\nset [jumps v] to [1]\nset [coins collected v] to [0]\nset [water v] to [0]\ngo to x: (0) y: (0)\nforever\n    if <(item (tile) of [level v]) = [53]> then\n        broadcast (go to save v) and wait\n    end\n    if <(item (tile) of [level v]) = [59]> then\n        if <((([floor v] of ((tick) / (3)) ) - (9)) mod (16)) = [6]> then\n            go to x: (0) y: (0)\n            set [x scroll v] to (save x)\n            set [y scroll v] to (save y)\n        end\n    end\n    if <<<key (d v) pressed?> or <key (right arrow v) pressed?>> or <<mouse down?> and <(x position) < (mouse x)>>> then\n        change [x vel v] by (.5)\n    end\n    if <<<key (a v) pressed?> or <key (left arrow v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        change [x vel v] by (-.5)\n    end\n    set [x vel v] to ((x vel) * (.93))\n    change x by ((x vel) / (2))\n    scroll\n    right\n    left\n    change x by ((x vel) / (2))\n    scroll\n    right\n    left\n    change [y vel v] by (-.9)\n    find tile\n    if <(item (tile) of [level v]) = [52]> then\n        set [y vel v] to ((y vel) * (.8))\n    else\n        set [y vel v] to ((y vel) * (.93))\n    end\n    change y by ((y vel) / (2))\n    find tile\n    down\n    up\n    change y by ((y vel) / (2))\n    scroll\n    find tile\n    down\n    up\n    find tile\n    if <(item (tile) of [level v]) = [52]> then\n        set [touching ground v] to [0]\n    end\n    if <<<key (w v) pressed?> or <key (up arrow v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n        if <(touching ground) < (jumps)> then\n            if <(y vel) < [0]> then\n                if <(w press) = [0]> then\n                    set [y vel v] to [20]\n                    change [touching ground v] by (1)\n                    set [w press v] to [1]\n                end\n            end\n        end\n    end\n    if <not <<<key (w v) pressed?> or <key (up arrow v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>>> then\n        set [w press v] to [0]\n    end\n    if <(item (tile) of [level v]) = [49]> then\n        replace item (3) of [not solid v] with [48]\n        set [red v] to [2]\n    end\n    if <(item (tile) of [level v]) = [51]> then\n        replace item (5) of [not solid v] with [50]\n        set [blue v] to [2]\n    end\n    if <(item (tile) of [level v]) = [54]> then\n        set [save x v] to (total x pos)\n        set [save y v] to (total y pos)\n        set [save block v] to (tile)\n    end\n    if <(item (tile) of [level v]) = [55]> then\n        if <(jumps) = [1]> then\n            set [jumps v] to [2]\n        end\n    end\n    if <(item (tile) of [level v]) = [56]> then\n        set [wall jumps v] to [1]\n    end\n    if <(item (tile) of [level v]) = [57]> then\n        set [jumps v] to [3]\n    end\n    if <(letter (1) of (item (tile) of [level v])) = [c]> then\n        if <[0] = (item (join (join (letter (2) of (item (tile) of [level v])) (letter (3) of (item (tile) of [level v]))) (join (letter (4) of (item (tile) of [level v])) (letter (5) of (item (tile) of [level v])))) of [coins v])> then\n            change [coins collected v] by (1)\n            replace item (join (join (letter (2) of (item (tile) of [level v])) (letter (3) of (item (tile) of [level v]))) (join (letter (4) of (item (tile) of [level v])) (letter (5) of (item (tile) of [level v])))) of [coins v] with [1]\n            broadcast (coin v)\n        end\n    end\n    if <(coins collected) > [9]> then\n        replace item (14) of [not solid v] with [63]\n    end\n    if <(coins collected) > [59]> then\n        replace item (15) of [not solid v] with [65]\n    end\n    if <(coins collected) > [249]> then\n        replace item (16) of [not solid v] with [66]\n    end\n    find tile\n    scroll\n    broadcast (tick v)\nend\n\nwhen flag clicked\nhide\n\n@frame\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [start game v]\nshow\n\n@pixel platformer thumbnail\n\nwhen flag clicked\nset [ghost v] effect to (100)\n\n@text engine\n\ndefine write text (x) (y) (text)\nshow\nset size to (100) %\nset [write text.i v] to [0]\ngo to x: (x) y: (y)\nrepeat (length of (text))\n    change [write text.i v] by (1)\n    switch costume to (letter (write text.i) of (text))\n    stamp\n    change x by (10)\nend\nhide\n\nwhen I receive [coins v]\nwrite text (-200) (150) (join [coins: ] (join (coins collected) [ /301]))\nwrite text (-200) (-120) (item (1) of [events v])\nwrite text (-200) (-130) (item (2) of [events v])\nwrite text (-200) (-140) (item (3) of [events v])\n\nwrite text (-200) (140) [like favorite and follow]\n\n@intro\n\nwhen flag clicked\nswitch backdrop to (backdrop2 v)\nshow\nset volume to (100) %\ngo to x: (0) y: (0)\nstart sound [rolemu_-_neogauge v]\nswitch costume to (logo v)\nerase all\nset size to (800) %\nwait (1.4) seconds\nrepeat (28)\n    change x by (5)\n    change y by ((40) / (28))\n    set size to (((600) / ((x position) / (2))) + (140)) %\nend\nstamp\nset size to (200) %\nswitch costume to (name v)\ngo to x: (-300) y: (40)\nglide (.5) secs to x: (-20) y: (40)\nstamp\nhide\ngo to x: (10) y: (-200)\nwait (1.1) seconds\nswitch costume to (games v)\nshow\nglide (.5) secs to x: (-20) y: (-10)\nstamp\nwait (2) seconds\nswitch backdrop to (backdrop1 v)\nerase all\nhide\nbroadcast (find slot v)\n\nbroadcast (start game v)\n\n@coder_d6's cloud kit v3\n\ndefine decode (data)\nset [i v] to [1]\nset [characters v] to [ abcdefghijklmnopqrstuvwxyz1234567890!@#$%^&*\(\)`~-=_+\[\]{}\|;:'",./<>?]\nset [decoded v] to []\nset [decode.data v] to (data)\nrepeat (length of (data))\n    infanit join (decoded) (letter (join (letter (i) of (decode.data)) (letter ((i) + (1)) of (decode.data))) of (characters))\n    set [decoded v] to (join)\n    change [i v] by (2)\nend\n\ndefine code (data)\nset [i v] to [0]\nset [characters v] to [ abcdefghijklmnopqrstuvwxyz1234567890!@#$%^&*\(\)`~-=_+\[\]{}\|;:'",./<>?]\nset [coded v] to []\nrepeat (length of (data))\n    change [i v] by (1)\n    set [j v] to [0]\n    repeat until <(letter (j) of (characters)) = (letter (i) of (data))>\n        change [j v] by (1)\n    end\n    if <(length of (j)) > [1]> then\n        set [coded v] to (join (coded) (j))\n    else\n        infanit join (coded) (join [0] (j))\n        set [coded v] to (join)\n    end\nend\n\ndefine infanit join (join1) (join2)\ndelete (all) of [join data v]\nset [join.i v] to [0]\nrepeat (length of (join1))\n    change [join.i v] by (1)\n    add (letter (join.i) of (join1)) to [join data v]\nend\nset [join.i v] to [0]\nrepeat (length of (join2))\n    change [join.i v] by (1)\n    add (letter (join.i) of (join2)) to [join data v]\nend\nset [join v] to (join data)\n\ndefine seperate (data)\ndecode (data)\ndelete (all) of [data v]\nset [i v] to [1]\nrepeat until <(i) > (length of (decoded))>\n    set [word v] to []\n    if <(letter (i) of (decoded)) = [~]> then\n        change [i v] by (1)\n    end\n    repeat until <<(letter (i) of (decoded)) = [~]> or <(i) > (length of (decoded))>>\n        if <not <(letter (i) of (decoded)) = [~]>> then\n            set [word v] to (join (word) (letter (i) of (decoded)))\n        end\n        change [i v] by (1)\n    end\n    if <not <(word) = []>> then\n        add (word) to [data v]\n    end\nend\n\ndefine rejoin (data)\ndelete (all) of [rejoin data v]\nset [rejoin.i v] to [0]\nrepeat (length of (data))\n    change [rejoin.i v] by (1)\n    if <(letter (rejoin.i) of (data)) = [ ]> then\n        add [~] to [rejoin data v]\n    else\n        add (letter (rejoin.i) of (data)) to [rejoin data v]\n    end\nend\nadd [~] to [rejoin data v]\ncode (rejoin data)\nset [rejoined v] to (coded)\n\nwhen I receive [find slot v]\nset [check1 v] to (☁ player 1)\nset [check2 v] to (☁ player 2)\nset [check3 v] to (☁ player 3)\nset [check4 v] to (☁ player 4)\nset [check5 v] to (☁ player 5)\nset [check6 v] to (☁ player 6)\nset [check7 v] to (☁ player 7)\nset [check8 v] to (☁ player 8)\nwait (10) seconds\nif <(check1) = (☁ player 1)> then\n    set [player v] to [1]\nelse\n    if <(check2) = (☁ player 2)> then\n        set [player v] to [2]\n    else\n        if <(check3) = (☁ player 3)> then\n            set [player v] to [3]\n        else\n            if <(check4) = (☁ player 4)> then\n                set [player v] to [4]\n            else\n                if <(check5) = (☁ player 5)> then\n                    set [player v] to [5]\n                else\n                    if <(check6) = (☁ player 6)> then\n                        set [player v] to [6]\n                    else\n                        if <(check7) = (☁ player 7)> then\n                            set [player v] to [7]\n                        else\n                            if <(check8) = (☁ player 8)> then\n                                set [player v] to [8]\n                            else\n                                broadcast (full v)\n                                broadcast (start game v)\n                                stop [this script v]\n                            end\n                        end\n                    end\n                end\n                player join\n                set [id v] to [0]\n                repeat (8)\n                    change [id v] by (1)\n                    create clone of (_myself_ v)\n                end\n                broadcast (start game v)\n                show variable [players? v]\n                forever\n                    delete all of [data v]\n                    add (username) to [data v]\n                    add ([total x pos v] of [player v]) to [data v]\n                    add ([total y pos v] of [player v]) to [data v]\n                    add (timer) to [data v]\n                    add (coins collected) to [data v]\n                    rejoin (data)\n                    if <(player) = [1]> then\n                        set [☁ player 1 v] to (rejoined)\n                    else\n                        if <(player) = [2]> then\n                            set [☁ player 2 v] to (rejoined)\n                        else\n                            if <(player) = [3]> then\n                                set [☁ player 3 v] to (rejoined)\n                            else\n                                if <(player) = [4]> then\n                                    set [☁ player 4 v] to (rejoined)\n                                else\n                                    if <(player) = [5]> then\n                                        set [☁ player 5 v] to (rejoined)\n                                    else\n                                        if <(player) = [6]> then\n                                            set [☁ player 6 v] to (rejoined)\n                                        else\n                                            if <(player) = [7]> then\n                                                set [☁ player 7 v] to (rejoined)\n                                            else\n                                                if <(player) = [8]> then\n                                                    set [☁ player 8 v] to (rejoined)\n                                                end\n                                            end\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                    set [player active? v] to [1]\n                    broadcast (render players v)\n                    set [players? v] to (player active?)\n                    if <not <(check events) = (☁ events)>> then\n                        events\n                    end\n                    if <key (1 v) pressed?> then\n                        delete (1) of [events v]\n                        add (join (username) [:_hello]) to [events v]\n                        rejoin (events)\n                        set [☁ events v] to (rejoined)\n                        wait until <not <key (1 v) pressed?>>\n                    end\n                    if <key (2 v) pressed?> then\n                        delete (1) of [events v]\n                        add (join (username) [:_help]) to [events v]\n                        rejoin (events)\n                        set [☁ events v] to (rejoined)\n                        wait until <not <key (2 v) pressed?>>\n                    end\n                    if <key (3 v) pressed?> then\n                        delete (1) of [events v]\n                        add (join (username) [:_over_here]) to [events v]\n                        rejoin (events)\n                        set [☁ events v] to (rejoined)\n                        wait until <not <key (3 v) pressed?>>\n                    end\n                    if <key (4 v) pressed?> then\n                        delete (1) of [events v]\n                        add (join (username) [:_almost]) to [events v]\n                        rejoin (events)\n                        set [☁ events v] to (rejoined)\n                        wait until <not <key (4 v) pressed?>>\n                    end\n                    if <key (5 v) pressed?> then\n                        delete (1) of [events v]\n                        add (join (username) [:_coins!]) to [events v]\n                        rejoin (events)\n                        set [☁ events v] to (rejoined)\n                        wait until <not <key (5 v) pressed?>>\n                    end\n                    set [check events v] to (☁ events)\n                end\n            end\n        end\n    end\nend\nplayer join\nset [id v] to [0]\nrepeat (8)\n    change [id v] by (1)\n    create clone of (_myself_ v)\nend\nbroadcast (start game v)\nshow variable [players? v]\nforever\n    delete all of [data v]\n    add (username) to [data v]\n    add ([total x pos v] of [player v]) to [data v]\n    add ([total y pos v] of [player v]) to [data v]\n    add (timer) to [data v]\n    add (coins collected) to [data v]\n    rejoin (data)\n    if <(player) = [1]> then\n        set [☁ player 1 v] to (rejoined)\n    else\n        if <(player) = [2]> then\n            set [☁ player 2 v] to (rejoined)\n        else\n            if <(player) = [3]> then\n                set [☁ player 3 v] to (rejoined)\n            else\n                if <(player) = [4]> then\n                    set [☁ player 4 v] to (rejoined)\n                else\n                    if <(player) = [5]> then\n                        set [☁ player 5 v] to (rejoined)\n                    else\n                        if <(player) = [6]> then\n                            set [☁ player 6 v] to (rejoined)\n                        else\n                            if <(player) = [7]> then\n                                set [☁ player 7 v] to (rejoined)\n                            else\n                                if <(player) = [8]> then\n                                    set [☁ player 8 v] to (rejoined)\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    set [player active? v] to [1]\n    broadcast (render players v)\n    set [players? v] to (player active?)\n    if <not <(check events) = (☁ events)>> then\n        events\n    end\n    if <key (1 v) pressed?> then\n        delete (1) of [events v]\n        add (join (username) [:_hello]) to [events v]\n        rejoin (events)\n        set [☁ events v] to (rejoined)\n        wait until <not <key (1 v) pressed?>>\n    end\n    if <key (2 v) pressed?> then\n        delete (1) of [events v]\n        add (join (username) [:_help]) to [events v]\n        rejoin (events)\n        set [☁ events v] to (rejoined)\n        wait until <not <key (2 v) pressed?>>\n    end\n    if <key (3 v) pressed?> then\n        delete (1) of [events v]\n        add (join (username) [:_over_here]) to [events v]\n        rejoin (events)\n        set [☁ events v] to (rejoined)\n        wait until <not <key (3 v) pressed?>>\n    end\n    if <key (4 v) pressed?> then\n        delete (1) of [events v]\n        add (join (username) [:_almost]) to [events v]\n        rejoin (events)\n        set [☁ events v] to (rejoined)\n        wait until <not <key (4 v) pressed?>>\n    end\n    if <key (5 v) pressed?> then\n        delete (1) of [events v]\n        add (join (username) [:_coins!]) to [events v]\n        rejoin (events)\n        set [☁ events v] to (rejoined)\n        wait until <not <key (5 v) pressed?>>\n    end\n    set [check events v] to (☁ events)\nend\n\nwhen flag clicked\n\nwhen I start as a clone\nshow\nif <(id) = (player)> then\n    delete this clone\nend\n\nwhen flag clicked\nhide\nhide variable [players? v]\n\nwhen I receive [render players v]\nrender players\n\ndefine render players\nif <(id) = [1]> then\n    if <(check1) = (☁ player 1)> then\n        change [active v] by (-1)\n    else\n        set [active v] to [0]\n    end\n    seperate (☁ player 1)\n    go to x: ((item (2) of [data v]) - (x scroll)) y: ((item (3) of [data v]) - (y scroll))\n    set [check1 v] to (☁ player 1)\nelse\n    if <(id) = [2]> then\n        if <(check1) = (☁ player 2)> then\n            change [active v] by (-1)\n        else\n            set [active v] to [0]\n        end\n        seperate (☁ player 2)\n        go to x: ((item (2) of [data v]) - (x scroll)) y: ((item (3) of [data v]) - (y scroll))\n        set [check1 v] to (☁ player 2)\n    else\n        if <(id) = [3]> then\n            if <(check1) = (☁ player 3)> then\n                change [active v] by (-1)\n            else\n                set [active v] to [0]\n            end\n            seperate (☁ player 3)\n            go to x: ((item (2) of [data v]) - (x scroll)) y: ((item (3) of [data v]) - (y scroll))\n            set [check1 v] to (☁ player 3)\n        else\n            if <(id) = [4]> then\n                if <(check1) = (☁ player 4)> then\n                    change [active v] by (-1)\n                else\n                    set [active v] to [0]\n                end\n                seperate (☁ player 4)\n                go to x: ((item (2) of [data v]) - (x scroll)) y: ((item (3) of [data v]) - (y scroll))\n                set [check1 v] to (☁ player 4)\n            else\n                if <(id) = [5]> then\n                    if <(check1) = (☁ player 5)> then\n                        change [check1 v] by (-1)\n                    else\n                        set [check1 v] to [0]\n                    end\n                    seperate (☁ player 5)\n                    go to x: ((item (2) of [data v]) - (x scroll)) y: ((item (3) of [data v]) - (y scroll))\n                    set [check1 v] to (☁ player 5)\n                else\n                    if <(id) = [6]> then\n                        if <(check1) = (☁ player 6)> then\n                            change [active v] by (-1)\n                        else\n                            set [active v] to [0]\n                        end\n                        seperate (☁ player 6)\n                        go to x: ((item (2) of [data v]) - (x scroll)) y: ((item (3) of [data v]) - (y scroll))\n                        set [check1 v] to (☁ player 6)\n                    else\n                        if <(id) = [7]> then\n                            if <(check1) = (☁ player 7)> then\n                                change [active v] by (-1)\n                            else\n                                set [active v] to [0]\n                            end\n                            seperate (☁ player 7)\n                            go to x: ((item (2) of [data v]) - (x scroll)) y: ((item (3) of [data v]) - (y scroll))\n                            set [check1 v] to (☁ player 7)\n                        else\n                            if <(id) = [8]> then\n                                if <(check1) = (☁ player 8)> then\n                                    change [active v] by (-1)\n                                else\n                                    set [active v] to [0]\n                                end\n                                seperate (☁ player 8)\n                                go to x: ((item (2) of [data v]) - (x scroll)) y: ((item (3) of [data v]) - (y scroll))\n                                set [check1 v] to (☁ player 8)\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\nif <(active) < [-30]> then\n    hide\nelse\n    show\n    change [player active? v] by (1)\n    say (join (item (1) of [data v]) (join [: ] (item (5) of [data v])))\nend\n\ndefine events\ndelete all of [events v]\nseperate (☁ events)\nadd (item (1) of [data v]) to [events v]\nadd (item (2) of [data v]) to [events v]\nadd (item (3) of [data v]) to [events v]\n\ndefine player join\nevents\ndelete (1) of [events v]\nadd (join (username) [_joined]) to [events v]\nrejoin (events)\nset [☁ events v] to (rejoined)\n\nwhen I receive [start game v]\nforever\n    set [check for inative v] to (join ([total x pos v] of [player v]) ([total y pos v] of [player v]))\n    wait (60) seconds\n    if <(check for inative) = (join ([total x pos v] of [player v]) ([total y pos v] of [player v]))> then\n        broadcast (stop inactive v) and wait\n        stop [all v]\n    end\nend\n\nevents\nwait (1) seconds\n\nwhen flag clicked\n\n@Sprite1\n\nwhen flag clicked\nhide\n\nwhen I receive [find slot v]\nswitch costume to (2 v)\nshow\n\nwhen I receive [full v]\nswitch costume to (1 v)\nshow\nwait (3) seconds\nhide\n\nwhen I receive [start game v]\nhide\n\nwhen I receive [stop inactive v]\nswitch costume to (3 v)\nshow\n\n