Moon Light. MMO platformer
@Stage\n\nwhen flag clicked\nadd data\nforever\n    play sound [Super Mario Odyssey - Cap Kingdom v] until done\nend\n\ndefine add data\ndelete all of [letter data v]\nadd [] to [letter data v]\nadd [011010505061616808010464] to [letter data v]\nadd [0008085858676765655454044453535151404000] to [letter data v]\nadd [6150501010010107071818585867] to [letter data v]\nadd [000808585867676161505000] to [letter data v]\nadd [6000000804440868] to [letter data v]\nadd [600000080444] to [letter data v]\nadd [615050101001010707181858586767646444] to [letter data v]\nadd [000860680464] to [letter data v]\nadd [105030381858] to [letter data v]\nadd [00603037372828181807] to [letter data v]\nadd [0008043434682450] to [letter data v]\nadd [00080868] to [letter data v]\nadd [0800003434606068] to [letter data v]\nadd [080000686860] to [letter data v]\nadd [01101050506161676758581818070701] to [letter data v]\nadd [080000505061616363545404] to [letter data v]\nadd [011010505061616666484818180707016846] to [letter data v]\nadd [0800005050616163635454043468] to [letter data v]\nadd [601010010103031414545465656767585808] to [letter data v]\nadd [00603038] to [letter data v]\nadd [00070718185858676760] to [letter data v]\nadd [00383860] to [letter data v]\nadd [0018183434585860] to [letter data v]\nadd [00686008] to [letter data v]\nadd [003434603438] to [letter data v]\nadd [006060080868] to [letter data v]\nadd [123030380868] to [letter data v]\nadd [011010505061616262080868] to [letter data v]\nadd [01101050506161636354542454656567675858181807] to [letter data v]\nadd [505850050565] to [letter data v]\nadd [600000040413135353646467675858181807] to [letter data v]\nadd [5020200404070718185858676765655454242405] to [letter data v]\nadd [00606018] to [letter data v]\nadd [011010505061616363545414140303015465656767585818180707050514] to [letter data v]\nadd [011010505061616664141403030166484818] to [letter data v]\nadd [011010505061616767585818180707010167] to [letter data v]\nadd [243333444453] to [letter data v]\nadd [2031] to [letter data v]\nadd [30364838] to [letter data v]\nadd [454343232325255555646462625151111102020606171767] to [letter data v]\nadd [2028404803630565] to [letter data v]\nadd [5111110202030314145454656566665757173038] to [letter data v]\nadd [600811115757] to [letter data v]\nadd [22303042] to [letter data v]\nadd [68020201011010202031313232050507071818383864] to [letter data v]\nadd [32303211325132233243] to [letter data v]\nadd [403232363648] to [letter data v]\nadd [203232363628] to [letter data v]\nadd [0868] to [letter data v]\nadd [2444] to [letter data v]\nadd [04643137] to [letter data v]\nadd [13531555] to [letter data v]\nadd [403131333324243535373748] to [letter data v]\nadd [503030383858] to [letter data v]\nadd [203131333344443535373728] to [letter data v]\nadd [103030383818] to [letter data v]\nadd [3038] to [letter data v]\nadd [1058] to [letter data v]\nadd [31414142423232313747474848383837] to [letter data v]\nadd [31414142423232314638] to [letter data v]\nadd [20224042] to [letter data v]\nadd [3032] to [letter data v]\nadd [30020234] to [letter data v]\nadd [3628] to [letter data v]\nadd [30626234] to [letter data v]\nadd [2737373838282827] to [letter data v]\nadd [38383634344444535351514040202011] to [letter data v]\nadd [5018] to [letter data v]\nset [characters v] to [ abcdefghijklmnopqrstuvwxyz1234567890~`!@#$%^&*\(\)_-+={\[}\]|\:;"'<,>.?/]\n\n@thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\n\n@game\n\ndefine add values (ax) : (ay) : (bx) : (by) : (cx) : (cy) :\nreplace item (5) of [values v] with ([abs v] of ((((((((ax) * (by)) + ((bx) * (cy))) + ((cx) * (ay))) - ((ax) * (cy))) - ((bx) * (ay))) - ((cx) * (by))) / (2)) )\n\ndefine level 2 (tri 1) (tri2) (tri3) (tri4) (tri5) (tri6) (tri7) (tri8) (a) (b) (c) (d) (e) (f)\nrepeat until <(_tri0) < (tri8)>\n    set [_tri0 v] to ((tri 1) * (_tri0))\n    set pen size to ((_tri0) + (.5))\n    go to x: ((a) + ((_tri0) * (tri2))) y: ((b) + ((_tri0) * (tri3)))\n    go to x: ((c) + ((_tri0) * (tri4))) y: ((d) + ((_tri0) * (tri5)))\n    go to x: ((e) + ((_tri0) * (tri6))) y: ((f) + ((_tri0) * (tri7)))\n    go to x: ((a) + ((_tri0) * (tri2))) y: ((b) + ((_tri0) * (tri3)))\nend\n\ndefine level 1 (tri2) (tri3) (tri4) (a) (b) (c) (d) (e) (f)\nset [_tri1 v] to (((tri2) + ((tri3) + (tri4))) / (2))\nset [_tri0 v] to ((2) * ([sqrt v] of ((((_tri1) - (tri2)) * (((_tri1) - (tri3)) * ((_tri1) - (tri4)))) / (_tri1)) ))\ngo to x: (((((tri2) * (a)) + ((tri3) * (c))) + ((tri4) * (e))) / ((2) * (_tri1))) y: (((((tri2) * (b)) + ((tri3) * (d))) + ((tri4) * (f))) / ((2) * (_tri1)))\nset pen size to (_tri0)\npen down\nif <<(tri3) < (tri2)> or <(tri4) < (tri2)>> then\n    if <(tri4) < (tri3)> then\n        set [_tri1 v] to (([sqrt v] of ((((x position) - (e)) * ((x position) - (e))) + (((y position) - (f)) * ((y position) - (f)))) ) / ((_tri0) / (2)))\n    else\n        set [_tri1 v] to (([sqrt v] of ((((x position) - (c)) * ((x position) - (c))) + (((y position) - (d)) * ((y position) - (d)))) ) / ((_tri0) / (2)))\n    end\nelse\n    set [_tri1 v] to (([sqrt v] of ((((x position) - (a)) * ((x position) - (a))) + (((y position) - (b)) * ((y position) - (b)))) ) / ((_tri0) / (2)))\nend\n\ndefine -Rex- Tri fill improved (a) (b) (c) (d) (e) (f) (r)\nswitch costume to (small v)\nset size to (99999999999) %\nswitch costume to (big v)\nlevel 1 ([sqrt v] of ((((c) - (e)) * ((c) - (e))) + (((d) - (f)) * ((d) - (f)))) ) ([sqrt v] of ((((a) - (e)) * ((a) - (e))) + (((b) - (f)) * ((b) - (f)))) ) ([sqrt v] of ((((a) - (c)) * ((a) - (c))) + (((b) - (d)) * ((b) - (d)))) ) (a) (b) (c) (d) (e) (f)\nlevel 2 ((.5) - ((.5) / (_tri1))) (((x position) - (a)) / (_tri0)) (((y position) - (b)) / (_tri0)) (((x position) - (c)) / (_tri0)) (((y position) - (d)) / (_tri0)) (((x position) - (e)) / (_tri0)) (((y position) - (f)) / (_tri0)) ((((_tri1) * (r)) / ((_tri1) - (1))) + (.25)) (a) (b) (c) (d) (e) (f)\nset pen size to (r)\ngo to x: (a) y: (b)\ngo to x: (c) y: (d)\ngo to x: (e) y: (f)\ngo to x: (a) y: (b)\npen up\n\nwhen flag clicked\nint vars\ndelete all of [quick find v]\ndelete all of [active players v]\ndelete all of [player data v]\ndelete all of [online v]\ndelete all of [last data v]\ndelete all of [#latest and greatest update v]\ndelete all of [name bar v]\ndelete all of [player message v]\ndelete all of [draw buffer v]\nint\ndelete all of [object data v]\ndelete all of [game data v]\ndelete all of [front layer v]\ndelete all of [moon bits v]\ndelete all of [partical v]\ndelete all of [tri data v]\ndelete all of [flag data v]\ndelete all of [button data v]\nload level\nadd button at [-190] [-150] [left] [25]\nadd button at [-40] [-150] [right] [25]\nadd button at [-115] [-150] [back] [60]\nadd button at [-175] [-150] [CHAT MENU] [60]\nadd button at [-60] [-150] [LEAVE game] [60]\nadd button at [-100] [-140] [ONLINE] [80]\nadd button at [100] [-140] [OFFLINE] [80]\nhide\nset size to (15) %\nset [stage v] to [0]\nset [sy v] to [0]\nset [px v] to [0]\nset [py v] to [100]\nset [cam x v] to [0]\nset [cam y v] to [0]\nset [flag x v] to [-20]\nset [flag y v] to [100]\nset [on menu v] to [2]\nset [side pent v] to [0]\nset [decoded var v] to []\nset [cloud temp v] to []\nset [found data v] to []\nset [package v] to []\nnear objects\nforever\n    erase all\n    if <(on menu) = [0]> then\n        if <(last menu) = [2]> then\n            set [pent v] to [0]\n            delete all of [active players v]\n            delete all of [player data v]\n            delete all of [online v]\n            delete all of [last data v]\n            delete all of [#latest and greatest update v]\n            delete all of [name bar v]\n            delete all of [player message v]\n            delete all of [object data v]\n            delete all of [game data v]\n            delete all of [front layer v]\n            delete all of [moon bits v]\n            delete all of [partical v]\n            delete all of [tri data v]\n            delete all of [flag data v]\n            delete all of [cloud buffer v]\n            delete all of [draw buffer v]\n            delete all of [done v]\n            load level\n        end\n        set [last menu v] to (on menu)\n        control\n        back\n        draw objects\n        draw quads\n        draw particle\n        draw bits\n        send cloud data\n        receive sent data\n        player\n        fade\n        static\n        near objects\n        safe chat\n        draw buttons\n        pent\n        set [down v] to <mouse down?>\n    else\n        if <(on menu) = [1]> then\n            if <(last menu) = [2]> then\n                delete all of [object data v]\n                delete all of [game data v]\n                delete all of [front layer v]\n                delete all of [moon bits v]\n                delete all of [partical v]\n                delete all of [tri data v]\n                delete all of [flag data v]\n                load level\n            end\n            set [side pent v] to [0]\n            control\n            set [last menu v] to (on menu)\n            back\n            draw objects\n            draw quads\n            draw particle\n            draw bits\n            player\n            fade\n            static\n            near objects\n            safe chat\n            draw buttons\n            set [down v] to <mouse down?>\n        else\n            set [side pent v] to [0]\n            set [px v] to [0]\n            set [py v] to [63]\n            set [last menu v] to (on menu)\n            control\n            back\n            draw objects\n            draw quads\n            draw particle\n            draw bits\n            player\n            fade\n            static\n            near objects\n            draw buttons\n            set [down v] to <mouse down?>\n        end\n    end\n    switch costume to (big v)\n    MOON THING\n    if <<(on menu) = [0]> or <(on menu) = [1]>> then\n        time\n    end\nend\n\ndefine add quad at (x) (y) sides (w) (h) color (r) (g) (b) 2 (r2) (g2) (b2)\nadd (r) to [game data v]\nadd (g) to [game data v]\nadd (b) to [game data v]\nadd (r2) to [game data v]\nadd (g2) to [game data v]\nadd (b2) to [game data v]\nadd (x) to [game data v]\nadd (y) to [game data v]\nadd (w) to [game data v]\nadd (h) to [game data v]\n\ndefine draw quads\nset [_loop-2 v] to [0]\nrepeat (length of [near quads v])\n    change [_loop-2 v] by (1)\n    set [_loop v] to (item (_Loop-2) of [near quads v])\n    set color to [255] [255] [255]\n    -Rex- Tri fill improved (((item ((_Loop) - (3)) of [game data v]) + (item ((_Loop) - (1)) of [game data v])) - (cam x)) (((item ((_Loop) - (2)) of [game data v]) + (item ((_Loop) - (0)) of [game data v])) - (cam y)) (((item ((_Loop) - (3)) of [game data v]) + ((0) - (item ((_Loop) - (1)) of [game data v]))) - (cam x)) (((item ((_Loop) - (2)) of [game data v]) + (item ((_Loop) - (0)) of [game data v])) - (cam y)) (((item ((_Loop) - (3)) of [game data v]) + ((0) - (item ((_Loop) - (1)) of [game data v]))) - (cam x)) (((item ((_Loop) - (2)) of [game data v]) + ((0) - (item ((_Loop) - (0)) of [game data v]))) - (cam y)) [4]\n    set color to [255] [255] [255]\n    -Rex- Tri fill improved (((item ((_Loop) - (3)) of [game data v]) + (item ((_Loop) - (1)) of [game data v])) - (cam x)) (((item ((_Loop) - (2)) of [game data v]) + (item ((_Loop) - (0)) of [game data v])) - (cam y)) (((item ((_Loop) - (3)) of [game data v]) + (item ((_Loop) - (1)) of [game data v])) - (cam x)) (((item ((_Loop) - (2)) of [game data v]) + ((0) - (item ((_Loop) - (0)) of [game data v]))) - (cam y)) (((item ((_Loop) - (3)) of [game data v]) + ((0) - (item ((_Loop) - (1)) of [game data v]))) - (cam x)) (((item ((_Loop) - (2)) of [game data v]) + ((0) - (item ((_Loop) - (0)) of [game data v]))) - (cam y)) [4]\nend\nset [_loop-2 v] to [0]\nrepeat (length of [near tri v])\n    change [_loop-2 v] by (1)\n    set [_loop v] to (item (_Loop-2) of [near tri v])\n    set color to [255] [255] [255]\n    -Rex- Tri fill improved ((item ((_Loop) - (5)) of [tri data v]) - (cam x)) ((item ((_Loop) - (4)) of [tri data v]) - (cam y)) ((item ((_Loop) - (3)) of [tri data v]) - (cam x)) ((item ((_Loop) - (2)) of [tri data v]) - (cam y)) ((item ((_Loop) - (1)) of [tri data v]) - (cam x)) ((item ((_Loop) - (0)) of [tri data v]) - (cam y)) [4]\nend\nset [_loop v] to [0]\nrepeat ((length of [front layer v]) / (6))\n    change [_loop v] by (6)\n    set color to [255] [255] [255]\n    -Rex- Tri fill improved ((item ((_Loop) - (5)) of [front layer v]) - (cam x)) ((item ((_Loop) - (4)) of [front layer v]) - (cam y)) ((item ((_Loop) - (3)) of [front layer v]) - (cam x)) ((item ((_Loop) - (2)) of [front layer v]) - (cam y)) ((item ((_Loop) - (1)) of [front layer v]) - (cam x)) ((item ((_Loop) - (0)) of [front layer v]) - (cam y)) [4]\nend\n\ndefine player\nchange [on ground v] by (1)\nhitter\nchange [no move v] by (-1)\nchange [sy v] by (-1)\nif <(sy) < [-15]> then\n    set [sy v] to [-15]\nend\nif <(no move) < [0]> then\n    if (item (2) of [control v]) then\n        change [sy v] by (-3)\n    end\n    if (item (1) of [control v]) then\n        if <(jump?) = [0]> then\n            if <(wall kick) = [1]> then\n                if <(kick dir) = [2]> then\n                    start sound [Punch Swoosh v]\n                    set [y type v] to [1]\n                    set [wall kick v] to [0]\n                    set [sy v] to [13]\n                    set [sx v] to [10]\n                    set [jump? v] to [1]\n                else\n                    start sound [Punch Swoosh v]\n                    set [y type v] to [1]\n                    set [wall kick v] to [0]\n                    set [sy v] to [13]\n                    set [sx v] to [-10]\n                    set [jump? v] to [1]\n                end\n            else\n                if <(on ground) < [3]> then\n                    start sound [Kick Swoosh v]\n                    set [sy v] to [12]\n                    set [jump? v] to [1]\n                    set [double go v] to [1]\n                    repeat (10)\n                        add dust at ((px) + (pick random (-10) to (10))) ((py) - (15)) (pick random (10) to (20))\n                    end\n                else\n                    if <<(double go) = [0]> or <(double go) = [1]>> then\n                        start sound [Punch Swoosh v]\n                        set [double go v] to [2]\n                        set [sy v] to [8]\n                        set [sx v] to ((sx) * (1.2))\n                        set [jump? v] to [1]\n                        set [spin v] to [1]\n                        set [dir v] to (sx)\n                        repeat (10)\n                            add dust at ((px) + (pick random (-15) to (15))) ((py) - (pick random (-10) to (10))) (pick random (10) to (20))\n                        end\n                    end\n                end\n            end\n        end\n    else\n        set [jump? v] to [0]\n    end\nend\nchange [py v] by (sy)\nhit? (px) (py)\nif <(hit) > [0]> then\n    change [px v] by (1)\n    change [py v] by (-1)\n    hit? (px) (py)\n    if <(hit) > [0]> then\n        change [px v] by (-2)\n        hit? (px) (py)\n        if <(hit) > [0]> then\n            change [py v] by (1)\n            change [px v] by (1)\n            if <(sy) > [0]> then\n                repeat until <not <(hit) > [0]>>\n                    change [py v] by (-0.5)\n                    hit? (px) (py)\n                end\n                set [sy v] to [0]\n            else\n                repeat until <not <(hit) > [0]>>\n                    change [py v] by (0.5)\n                    hit? (px) (py)\n                end\n                set [double go v] to [0]\n                set [y type v] to [0]\n                set [spin v] to [0]\n                set [sy v] to [0]\n                if <(on ground) > [5]> then\n                    start sound [420673__sypherzent__basic-melee-hit v]\n                    repeat (10)\n                        add dust at ((px) + (pick random (-15) to (15))) ((py) - (pick random (20) to (10))) (pick random (10) to (25))\n                    end\n                end\n                set [on ground v] to [0]\n            end\n        end\n    end\nend\nx\nswitch costume to (big v)\ngo to x: ((px) - (cam x)) y: ((py) - (cam y))\ncos\nset size to (15) %\nset [brightness v] effect to (100)\nset [end cos v] to (costume [number v])\nstamp\nswitch costume to (stickman v)\nswitch costume to (small v)\nset size to (99999) %\nswitch costume to (big v)\nchange [cam x v] by ((((px) + ((list on?) * (-90))) - (cam x)) / (5))\nchange [cam y v] by (((py) - (cam y)) / (5))\nset [last v] to (wall kick)\nif <(py) < [-300]> then\n    die\nend\nif <(cam y) < [0]> then\n    set [cam y v] to [0]\nend\n\ndefine hit? (x) (y)\nset [hit v] to [0]\ncheck at ((x) + (5)) ((y) + (15))\nif <(hit) = [1]> then\n    stop [this script v]\nend\ncheck at ((x) + (5)) ((y) + (-13))\nif <(hit) = [1]> then\n    stop [this script v]\nend\ncheck at ((x) + (-5)) ((y) + (15))\nif <(hit) = [1]> then\n    stop [this script v]\nend\ncheck at ((x) + (-5)) ((y) + (-13))\nif <(hit) = [1]> then\n    stop [this script v]\nend\ncheck at ((x) + (-5)) (y)\nif <(hit) = [1]> then\n    stop [this script v]\nend\ncheck at ((x) + (5)) (y)\nif <(hit) = [1]> then\n    stop [this script v]\nend\ncheck at (x) ((y) + (-13))\nif <(hit) = [1]> then\n    stop [this script v]\nend\ncheck at (x) ((y) + (15))\n\ndefine x\nif <<(spin) = [1]> or <(wall kick) = [0]>> then\n    set rotation style [left-right v]\n    if <(on ground) < [3]> then\n        set [sx v] to ((sx) * (0.85))\n    else\n        if <(spin) = [1]> then\n            set [sx v] to ((sx) * (0.99))\n        else\n            set [sx v] to ((sx) * (0.96))\n        end\n    end\n    if <(no move) < [0]> then\n        if <(spin) = [0]> then\n            if (item (4) of [control v]) then\n                change [sx v] by ((1.3) / ((<<not <(on ground) < [3]>> and <(wall kick) = [0]>> * (3)) + (1)))\n                point in direction (90)\n            end\n            if (item (3) of [control v]) then\n                change [sx v] by ((-1.3) / ((<<not <(on ground) < [3]>> and <(wall kick) = [0]>> * (3)) + (1)))\n                point in direction (-90)\n            end\n        else\n            set rotation style [all around v]\n            if <(dir) > [0]> then\n                turn right (25) degrees\n            else\n                turn right (-25) degrees\n            end\n            if (item (4) of [control v]) then\n                change [sx v] by (0.5)\n            end\n            if (item (3) of [control v]) then\n                change [sx v] by (-0.5)\n            end\n        end\n    end\n    if <[9] < (sx)> then\n        set [sx v] to [9]\n    end\n    if <(sx) < [-9]> then\n        set [sx v] to [-9]\n    end\n    change [px v] by (sx)\n    hit? (px) (py)\n    if <(hit) > [0]> then\n        check [15]\n        if <(hit) > [0]> then\n            change [py v] by (-1)\n            if <(sx) > [0]> then\n                repeat until <not <(hit) > [0]>>\n                    change [px v] by (-0.5)\n                    hit? (px) (py)\n                end\n                set [sx v] to [0]\n            else\n                repeat until <not <(hit) > [0]>>\n                    change [px v] by (0.5)\n                    hit? (px) (py)\n                end\n                set [sx v] to [0]\n            end\n        end\n    end\n    if <[3] > (sy)> then\n        down [9]\n    end\nelse\n    set rotation style [left-right v]\n    set [sy v] to ((sy) * (0.6))\n    if <(kick dir) = [2]> then\n        point in direction (-90)\n        if (item (4) of [control v]) then\n            set [wall kick v] to [0]\n            x\n        end\n    else\n        point in direction (90)\n        if (item (3) of [control v]) then\n            set [wall kick v] to [0]\n            x\n        end\n    end\nend\nsay data\n\ndefine check at (x) (y)\nset [_loop-2 v] to [0]\nrepeat (length of [near quads v])\n    change [_loop-2 v] by (1)\n    set [_loop v] to (item (_Loop-2) of [near quads v])\n    if <<(x) > ((item ((_Loop) - (3)) of [game data v]) + ((0) - (item ((_Loop) - (1)) of [game data v])))> and <(x) < ((item ((_Loop) - (3)) of [game data v]) + (item ((_Loop) - (1)) of [game data v]))>> then\n        if <<(y) > ((item ((_Loop) - (2)) of [game data v]) + ((0) - (item ((_Loop) - (0)) of [game data v])))> and <(y) < ((item ((_Loop) - (2)) of [game data v]) + (item ((_Loop) - (0)) of [game data v]))>> then\n            set [hit v] to [1]\n        end\n    end\nend\nset [_loop-2 v] to [0]\nrepeat (length of [near tri v])\n    change [_loop-2 v] by (1)\n    set [_loop v] to (item (_Loop-2) of [near tri v])\n    check (item ((_Loop) - (5)) of [tri data v]) (item ((_Loop) - (4)) of [tri data v]) (item ((_Loop) - (3)) of [tri data v]) (item ((_Loop) - (2)) of [tri data v]) (item ((_Loop) - (1)) of [tri data v]) (item ((_Loop) - (0)) of [tri data v]) to (x) (y)\n    if <([abs v] of ((((item (1) of [values v]) + (item (2) of [values v])) + (item (3) of [values v])) - (item (4) of [values v])) ) < [0.01]> then\n        set [hit v] to [1]\n    end\nend\n\ndefine set color to (r) (g) (b)\nset pen color to (((r) * (65536)) + (((g) * (256)) + (b)))\n\ndefine cos\nswitch costume to (stickman v)\nif <<(round ([abs v] of (sx) )) > [0]> and <(on ground) = [0]>> then\n    change [shift v] by (0.6)\n    switch costume to (join [stickman-run-] ((([floor v] of (shift) ) mod (10)) + (1)))\n    set [fisheye v] effect to ((([sin v] of ((shift) * (45)) ) * (25)) + (0))\n    repeat (1)\n        add dust at ((px) + (pick random (-5) to (5))) ((py) - (15)) (pick random (10) to (30))\n    end\n    if <((([floor v] of (shift) ) mod (10)) + (1)) = [7]> then\n        if <not <(step) = [7]>> then\n            start sound [kolizja_v2 v]\n            set [step v] to [7]\n        end\n    end\n    if <((([floor v] of (shift) ) mod (10)) + (1)) = [2]> then\n        if <not <(step) = [2]>> then\n            start sound [kolizja_v2 v]\n            set [step v] to [2]\n        end\n    end\nelse\n    set [fisheye v] effect to (0)\n    if <not <(on ground) = [0]>> then\n        if <(sy) > [0]> then\n            switch costume to (stickman-jump1 v)\n            set [shift v] to [0]\n        else\n            change [shift v] by (0.5)\n            if <(shift) > [3]> then\n                set [shift v] to [3]\n            end\n            switch costume to (join [stickman-jump] ((([floor v] of (shift) ) mod (4)) + (1)))\n        end\n    else\n        set [shift v] to [0]\n    end\n    if <(wall kick) = [1]> then\n        switch costume to (stickman-slide v)\n        repeat (1)\n            add dust at ((px) + (pick random (-5) to (5))) ((py) - (0)) (pick random (10) to (15))\n        end\n    end\nend\nif <(spin) = [1]> then\n    switch costume to (stickman-roll v)\nend\n\nif <(last) = [0]> then\n    if <(on ground) > [25]> then\n        set [sy v] to ((sy) * (0.9))\n    end\nend\nif <not <(sy) > [0]>> then\n    if <not <(on ground) = [0]>> then\n        set [wall kick v] to [1]\n        set [kick dir v] to [2]\n        set [sy v] to ((sy) * (0.6))\n    end\nend\n\nif <(last) = [0]> then\n    if <(on ground) > [10]> then\n        set [sy v] to ((sy) * (0.9))\n    end\nend\nif <not <(sy) > [0]>> then\n    if <not <(on ground) = [0]>> then\n        set [wall kick v] to [1]\n        set [kick dir v] to [1]\n    end\nend\n\ndefine hitter\nset [wall kick v] to [0]\nif <<not <(sy) < [0]>> and <(y type) = [0]>> then\n    stop [this script v]\nend\nif <(spin) = [1]> then\n    stop [this script v]\nend\nhit? ((px) + (1)) (py)\nif <(hit) = [1]> then\n    set [wall kick v] to [1]\n    set [kick dir v] to [1]\n    stop [this script v]\nend\nhit? ((px) + (-1)) (py)\nif <(hit) = [1]> then\n    set [wall kick v] to [1]\n    set [kick dir v] to [2]\n    stop [this script v]\nend\n\nhit? ((px) + (1)) (py)\nif <<(sy) < [-1]> and <(hit) = [1]>> then\n    set [sy v] to [13]\n    set [sx v] to [-10]\n    set [jump? v] to [1]\nelse\n    hit? ((px) + (-1)) (py)\n    if <<(sy) < [-1]> and <(hit) = [1]>> then\n        set [sy v] to [13]\n    end\nend\n\ndefine add front layer tri at (x) (y) (x2) (y2) (x3) (y3)\nadd (x) to [front layer v]\nadd (y) to [front layer v]\nadd (x2) to [front layer v]\nadd (y2) to [front layer v]\nadd (x3) to [front layer v]\nadd (y3) to [front layer v]\n\nset color to (item ((_Loop) - (9)) of [game data v]) (item ((_Loop) - (8)) of [game data v]) (item ((_Loop) - (7)) of [game data v])\nset color to (item ((_Loop) - (6)) of [game data v]) (item ((_Loop) - (5)) of [game data v]) (item ((_Loop) - (4)) of [game data v])\n\ndefine back\nset [set v] to (direction)\nswitch costume to (stickman v)\nset size to (100) %\nswitch costume to (static v)\nclear graphic effects\nset [brightness v] effect to (0)\nset [ghost v] effect to (92)\npoint in direction (90)\ngo to x: ((((cam x) * (-0.5)) mod (480)) + (-240)) y: ((((cam y) * (-0.5)) mod (360)) + (-180))\nstamp\nclear graphic effects\nswitch costume to (moon v)\nset size to (38) %\nclear graphic effects\nset [brightness v] effect to (-2)\nset [ghost v] effect to (0)\npoint in direction (90)\ngo to x: (((cam x) + (-800)) * (-0.2)) y: (((cam y) + (-600)) * (-0.2))\nstamp\npoint in direction (set)\nclear graphic effects\n\ndefine fade\nset [set v] to (direction)\nclear graphic effects\ngo to x: (0) y: (0)\nswitch costume to (fade v)\nset size to (100) %\npoint in direction (90)\nset [ghost v] effect to (50)\nstamp\npoint in direction (set)\nclear graphic effects\n\ndefine draw bits\nset [_loop v] to [0]\nset [set v] to (direction)\nset rotation style [all around v]\nclear graphic effects\nrepeat ((length of [moon bits v]) / (4))\n    change [_loop v] by (4)\n    if <not <(item ((_Loop) - (0)) of [moon bits v]) = [0]>> then\n        replace item ((_Loop) - (0)) of [moon bits v] with ((item ((_Loop) - (0)) of [moon bits v]) + (-6))\n    end\n    switch costume to (big v)\n    go to x: ((item ((_Loop) - (3)) of [moon bits v]) - (cam x)) y: (((item ((_Loop) - (2)) of [moon bits v]) + ((0) - ((item ((_Loop) - (0)) of [moon bits v]) * (0.15)))) - (cam y))\n    switch costume to (moon bit v)\n    set size to (60) %\n    point in direction (item ((_Loop) - (1)) of [moon bits v])\n    replace item ((_Loop) - (1)) of [moon bits v] with ((item ((_Loop) - (1)) of [moon bits v]) + (1.5))\n    set [fisheye v] effect to (item ((_Loop) - (0)) of [moon bits v])\n    stamp\n    if <(item ((_Loop) - (0)) of [moon bits v]) = [0]> then\n        if <([sqrt v] of ((((item ((_Loop) - (3)) of [moon bits v]) - (px)) * ((item ((_Loop) - (3)) of [moon bits v]) - (px))) + (((item ((_Loop) - (2)) of [moon bits v]) - (py)) * ((item ((_Loop) - (2)) of [moon bits v]) - (py)))) ) < [20]> then\n            start sound [04_Pickup #011162 v]\n            replace item ((_Loop) - (0)) of [moon bits v] with [1]\n        end\n    end\n    if <[-160] > (item ((_Loop) - (0)) of [moon bits v])> then\n        repeat (4)\n            delete ((_Loop) - (3)) of [moon bits v]\n        end\n        change [_loop v] by (-4)\n    end\nend\nset [_loop v] to [0]\nclear graphic effects\nrepeat ((length of [flag data v]) / (4))\n    change [_loop v] by (4)\n    if <not <(item ((_Loop) - (0)) of [flag data v]) = [0]>> then\n        replace item ((_Loop) - (0)) of [flag data v] with ((item ((_Loop) - (0)) of [flag data v]) + (-6))\n    end\n    switch costume to (big v)\n    go to x: ((item ((_Loop) - (3)) of [flag data v]) - (cam x)) y: (((item ((_Loop) - (2)) of [flag data v]) + ((0) - ((item ((_Loop) - (0)) of [flag data v]) * (0.15)))) - (cam y))\n    switch costume to (flag v)\n    set size to (30) %\n    point in direction (90)\n    set [fisheye v] effect to (item ((_Loop) - (0)) of [flag data v])\n    set [brightness v] effect to (100)\n    stamp\n    if <(item ((_Loop) - (0)) of [flag data v]) = [0]> then\n        if <([sqrt v] of ((((item ((_Loop) - (3)) of [flag data v]) - (px)) * ((item ((_Loop) - (3)) of [flag data v]) - (px))) + (((item ((_Loop) - (2)) of [flag data v]) - (py)) * ((item ((_Loop) - (2)) of [flag data v]) - (py)))) ) < [20]> then\n            start sound [playSound_01 v]\n            set [flag x v] to (item ((_Loop) - (3)) of [flag data v])\n            set [flag y v] to (item ((_Loop) - (2)) of [flag data v])\n            replace item ((_Loop) - (0)) of [flag data v] with [1]\n        end\n    end\n    if <[-160] > (item ((_Loop) - (0)) of [flag data v])> then\n        repeat (4)\n            delete ((_Loop) - (3)) of [flag data v]\n        end\n        change [_loop v] by (-4)\n    end\nend\npoint in direction (set)\n\ndefine add bit (x) (y)\nadd (x) to [moon bits v]\nadd (y) to [moon bits v]\nadd [0] to [moon bits v]\nadd [0] to [moon bits v]\n\ndefine draw particle\nset [_loop v] to [0]\nrepeat ((length of [partical v]) / (4))\n    change [_loop v] by (4)\n    set color to [255] [255] [255]\n    go to x: ((item ((_Loop) - (3)) of [partical v]) - (cam x)) y: ((item ((_Loop) - (2)) of [partical v]) - (cam y))\n    replace item ((_Loop) - (2)) of [partical v] with ((item ((_Loop) - (2)) of [partical v]) + (pick random (0.1) to (2.5)))\n    replace item ((_Loop) - (1)) of [partical v] with ((item ((_Loop) - (1)) of [partical v]) + (-1.5))\n    replace item ((_Loop) - (0)) of [partical v] with ((item ((_Loop) - (0)) of [partical v]) + (7))\n    set pen (transparency v) to ((item ((_Loop) - (0)) of [partical v]) + (20))\n    set pen size to ((item ((_Loop) - (1)) of [partical v]) - (4))\n    pen down\n    pen up\n    if <(item ((_Loop) - (0)) of [partical v]) > [110]> then\n        repeat (4)\n            delete ((_Loop) - (3)) of [partical v]\n        end\n        change [_loop v] by (-4)\n    end\nend\n\ndefine add dust at (x) (y) (size)\nadd (x) to [partical v]\nadd (y) to [partical v]\nadd (size) to [partical v]\nadd [] to [partical v]\n\ndefine die\nrepeat (50)\n    add dust at ((px) + (pick random (-20) to (20))) ((py) - (pick random (-20) to (20))) (pick random (10) to (35))\nend\nset [px v] to (flag x)\nset [py v] to (flag y)\nset [no move v] to [25]\nset [sx v] to [0]\nset [sy v] to [0]\nstart sound [playSound_01 v]\nstart sound [highscoreGet02 v]\n\ndefine add flag at (x) (y)\nadd (x) to [flag data v]\nadd (y) to [flag data v]\nadd [0] to [flag data v]\nadd [0] to [flag data v]\n\ndefine add tri at (x) (y) : (x2) (y2) : (x3) (y3) color (r) (g) (b)\nadd (x) to [tri data v]\nadd (y) to [tri data v]\nadd (x2) to [tri data v]\nadd (y2) to [tri data v]\nadd (x3) to [tri data v]\nadd (y3) to [tri data v]\n\ndefine int\ndelete all of [values v]\nadd [] to [values v]\nadd [] to [values v]\nadd [] to [values v]\nadd [] to [values v]\nadd [] to [values v]\n\ndefine check (ax) (ay) (bx) (by) (cx) (cy) to (px) (py)\nadd values (ax) : (ay) : (bx) : (by) : (px) : (py) :\nreplace item (1) of [values v] with (item (5) of [values v])\nadd values (cx) : (cy) : (ax) : (ay) : (px) : (py) :\nreplace item (2) of [values v] with (item (5) of [values v])\nadd values (bx) : (by) : (cx) : (cy) : (px) : (py) :\nreplace item (3) of [values v] with (item (5) of [values v])\nadd values (ax) : (ay) : (bx) : (by) : (cx) : (cy) :\nreplace item (4) of [values v] with (item (5) of [values v])\n\ndefine ad bg object (x) (y) (size) cos (cos)\nadd (x) to [object data v]\nadd (y) to [object data v]\nadd (size) to [object data v]\nadd (cos) to [object data v]\nadd [0] to [object data v]\nadd [0] to [object data v]\n\ndefine draw objects\nset [_loop v] to [0]\nset [set v] to (direction)\nset rotation style [all around v]\nrepeat ((length of [object data v]) / (6))\n    change [_loop v] by (6)\n    switch costume to (big v)\n    go to x: ((item ((_Loop) - (5)) of [object data v]) - (cam x)) y: ((item ((_Loop) - (4)) of [object data v]) - (cam y))\n    point in direction ((([sin v] of ((item ((_Loop) - (0)) of [object data v]) / (5)) ) * (15)) + (90))\n    switch costume to (item ((_Loop) - (2)) of [object data v])\n    set size to (item ((_Loop) - (3)) of [object data v]) %\n    set [brightness v] effect to (100)\n    replace item ((_Loop) - (0)) of [object data v] with ((item ((_Loop) - (0)) of [object data v]) + (((0) - (item ((_Loop) - (0)) of [object data v])) / (15)))\n    stamp\n    if <([sqrt v] of ((((item ((_Loop) - (5)) of [object data v]) - (px)) * ((item ((_Loop) - (5)) of [object data v]) - (px))) + (((item ((_Loop) - (4)) of [object data v]) - (py)) * ((item ((_Loop) - (4)) of [object data v]) - (py)))) ) < [30]> then\n        if <(item ((_Loop) - (1)) of [object data v]) = [0]> then\n            repeat (3)\n                add dust at (item ((_Loop) - (5)) of [object data v]) ((item ((_Loop) - (4)) of [object data v]) + (pick random (-5) to (10))) [5]\n            end\n            replace item ((_Loop) - (1)) of [object data v] with [1]\n            replace item ((_Loop) - (0)) of [object data v] with ((sx) * ((360) + (pick random (1) to (100))))\n            start sound (join [grass] (pick random (1) to (5)))\n        end\n    else\n        replace item ((_Loop) - (1)) of [object data v] with [0]\n    end\nend\nswitch costume to (big v)\npoint in direction (set)\n\nreplace item ((_Loop) - (2)) of [partical v] with ((item ((_Loop) - (2)) of [partical v]) + (pick random (0.1) to (2.5)))\nreplace item ((_Loop) - (1)) of [partical v] with ((item ((_Loop) - (1)) of [partical v]) + (-1.5))\nreplace item ((_Loop) - (0)) of [partical v] with ((item ((_Loop) - (0)) of [partical v]) + (7))\nset pen (transparency v) to ((item ((_Loop) - (0)) of [partical v]) + (20))\nset pen size to (item ((_Loop) - (1)) of [partical v])\npen down\npen up\nif <(item ((_Loop) - (0)) of [partical v]) > [110]> then\n    repeat (4)\n        delete ((_Loop) - (3)) of [partical v]\n    end\n    change [_loop v] by (-4)\nend\n\ndefine check (3)\nrepeat (3)\n    change [py v] by (1)\n    hit? (px) (py)\n    if <not <(hit) > [0]>> then\n        set [sx v] to ((sx) * (0.8))\n        stop [this script v]\n    end\nend\nchange [py v] by ((3) * (-1))\n\ndefine down (#)\nrepeat (#)\n    change [py v] by (-1)\n    hit? (px) (py)\n    if <(hit) > [0]> then\n        change [py v] by (1)\n        stop [this script v]\n    end\nend\nchange [py v] by ((#) * (1))\n\ndefine static\nset [set v] to (direction)\nrepeat (5)\n    switch costume to (grass2 v)\n    set size to (100) %\n    switch costume to (static v)\n    go to x: (pick random (-25) to (25)) y: (pick random (-25) to (25))\n    point in direction (90)\n    clear graphic effects\n    set [ghost v] effect to (98)\n    stamp\nend\npoint in direction (set)\n\ndefine near objects\nchange [temp v] by (1)\nif <(temp) > [5]> then\n    set [temp v] to [0]\n    set [_loop v] to [0]\n    delete all of [near quads v]\n    repeat ((length of [game data v]) / (10))\n        change [_loop v] by (10)\n        set [near? v] to [0]\n        check distance (item ((_Loop) - (3)) of [game data v]) (item ((_Loop) - (2)) of [game data v]) (cam x) (cam y)\n        check distance ((item ((_Loop) - (3)) of [game data v]) + (item ((_Loop) - (1)) of [game data v])) ((item ((_Loop) - (2)) of [game data v]) + (item ((_Loop) - (0)) of [game data v])) (cam x) (cam y)\n        check distance ((item ((_Loop) - (3)) of [game data v]) - (item ((_Loop) - (1)) of [game data v])) ((item ((_Loop) - (2)) of [game data v]) - (item ((_Loop) - (0)) of [game data v])) (cam x) (cam y)\n        check distance ((item ((_Loop) - (3)) of [game data v]) - (item ((_Loop) - (1)) of [game data v])) ((item ((_Loop) - (2)) of [game data v]) + (item ((_Loop) - (0)) of [game data v])) (cam x) (cam y)\n        check distance ((item ((_Loop) - (3)) of [game data v]) + (item ((_Loop) - (1)) of [game data v])) ((item ((_Loop) - (2)) of [game data v]) - (item ((_Loop) - (0)) of [game data v])) (cam x) (cam y)\n        if <(near?) = [1]> then\n            add (_Loop) to [near quads v]\n        end\n    end\n    set [_loop v] to [0]\n    delete all of [near tri v]\n    repeat ((length of [tri data v]) / (6))\n        change [_loop v] by (6)\n        set [near? v] to [0]\n        check distance (item ((_Loop) - (5)) of [tri data v]) (item ((_Loop) - (4)) of [tri data v]) (cam x) (cam y)\n        check distance (item ((_Loop) - (3)) of [tri data v]) (item ((_Loop) - (2)) of [tri data v]) (cam x) (cam y)\n        check distance (item ((_Loop) - (1)) of [tri data v]) (item ((_Loop) - (0)) of [tri data v]) (cam x) (cam y)\n        if <(near?) = [1]> then\n            add (_Loop) to [near tri v]\n        end\n    end\nend\n\ndefine check distance (x) (y) (x2) (y2)\nif <([sqrt v] of ((((x) - (x2)) * ((x) - (x2))) + (((y) - (y2)) * ((y) - (y2)))) ) < [400]> then\n    set [near? v] to [1]\nend\n\ndefine send cloud data\nchange [send temp v] by (1)\nadd (round (px)) to [cloud buffer v]\nadd (round (py)) to [cloud buffer v]\nadd (end cos) to [cloud buffer v]\nadd (direction) to [cloud buffer v]\nif <(send temp) > [12]> then\n    set [send temp v] to [0]\n    set [package v] to []\n    change [sent? v] by (1)\n    encode hard value (username)\n    set [package v] to (join (package) (encoded value))\n    encode soft value (round ((timer) * (100)))\n    set [package v] to (join (package) (encoded value))\n    encode soft value (say)\n    set [package v] to (join (package) (encoded value))\n    encode soft value (length of [cloud buffer v])\n    set [package v] to (join (package) (encoded value))\n    repeat (length of [cloud buffer v])\n        encode soft value (item (1) of [cloud buffer v])\n        set [package v] to (join (package) (encoded value))\n        delete (1) of [cloud buffer v]\n    end\nend\nif <not <(package) = []>> then\n    set [cloud temp v] to (pick random (0) to (9))\n    if <(cloud temp) = [0]> then\n        set [☁ update0 v] to (package)\n        stop [this script v]\n    end\n    if <(cloud temp) = [1]> then\n        set [☁ update1 v] to (package)\n        stop [this script v]\n    end\n    if <(cloud temp) = [2]> then\n        set [☁ update2 v] to (package)\n        stop [this script v]\n    end\n    if <(cloud temp) = [3]> then\n        set [☁ update3 v] to (package)\n        stop [this script v]\n    end\n    if <(cloud temp) = [4]> then\n        set [☁ update4 v] to (package)\n        stop [this script v]\n    end\n    if <(cloud temp) = [5]> then\n        set [☁ update5 v] to (package)\n        stop [this script v]\n    end\n    if <(cloud temp) = [6]> then\n        set [☁ update6 v] to (package)\n        stop [this script v]\n    end\n    if <(cloud temp) = [7]> then\n        set [☁ update7 v] to (package)\n    end\n    if <(cloud temp) = [8]> then\n        set [☁ update8 v] to (package)\n        stop [this script v]\n    end\n    if <(cloud temp) = [9]> then\n        set [☁ update9 v] to (package)\n        stop [this script v]\n    end\nend\n\ndefine encode hard value (value)\nset [_loop v] to [0]\nset [encoded value v] to []\nrepeat (length of (value))\n    change [_loop v] by (1)\n    set [encoded value v] to (join (encoded value) (item # of (letter (_Loop) of (value)) in [characters v]))\nend\nset [encoded value v] to (join (encoded value) [0])\n\ndefine receive sent data\nset [_loop v] to [0]\nchange [temp2 v] by (1)\nif <(temp2) > [12]> then\n    set [temp2 v] to [0]\n    delete all of [done v]\n    delete all of [draw buffer v]\n    read cloud var# [0] (☁ UPDATE0)\n    read cloud var# [1] (☁ UPDATE1)\n    read cloud var# [2] (☁ UPDATE2)\n    read cloud var# [3] (☁ UPDATE3)\n    read cloud var# [4] (☁ UPDATE4)\n    read cloud var# [5] (☁ UPDATE5)\n    read cloud var# [6] (☁ UPDATE6)\n    read cloud var# [7] (☁ UPDATE7)\n    read cloud var# [8] (☁ UPDATE8)\n    read cloud var# [9] (☁ UPDATE9)\n    check for overlay\n    if <[done v] contains [Pentahedron]?> then\n        if <(pent) < [1]> then\n            change [pent v] by (0.1)\n        end\n        if <(pent) > [0.9]> then\n            set [side pent v] to [1]\n            change [pent v] by (-999999999999999999999)\n        end\n    end\nend\nmanage players\n\ndefine read cloud var# (#) (rep)\nif <(item (#) of [cloud vars v]) = (rep)> then\n    stop [this script v]\nend\nreplace item (#) of [cloud vars v] with (rep)\nset [found data v] to (rep)\nset [_loop v] to [-1]\ndecode data\nif <not <[active players v] contains (decoded var)?>> then\n    add (decoded var) to [active players v]\n    add [] to [player data v]\n    add [0] to [online v]\n    add [0] to [last data v]\n    add [0] to [#latest and greatest update v]\n    add [0] to [name bar v]\n    add [0] to [player message v]\nend\nset [_loop v] to [-1]\ndecode data\nset [ret temp v] to (decoded var)\nset [find v] to (item # of (decoded var) in [active players v])\ndecode data\nif <not <[done v] contains (ret temp)?>> then\n    if <(decoded var) > (item (find) of [#latest and greatest update v])> then\n        set [_loop v] to [-1]\n        decode data\n        replace item (item # of (decoded var) in [active players v]) of [player data v] with (found data)\n        add (decoded var) to [done v]\n        add (decoded var) to [draw buffer v]\n        decode data\n        replace item (find) of [#latest and greatest update v] with (decoded var)\n        add (decoded var) to [draw buffer v]\n        decode data\n        replace item (item # of (ret temp) in [active players v]) of [player message v] with (decoded var)\n        decode data\n        repeat (decoded var)\n            decode data\n            add (decoded var) to [draw buffer v]\n        end\n    end\nend\n\nretrieve data from var (#)\n\ndefine retrieve data from var (#)\ndelete all of [quick find v]\nadd (☁ UPDATE0) to [quick find v]\nadd (☁ UPDATE1) to [quick find v]\nadd (☁ UPDATE2) to [quick find v]\nadd (☁ UPDATE3) to [quick find v]\nadd (☁ UPDATE4) to [quick find v]\nadd (☁ UPDATE5) to [quick find v]\nadd (☁ UPDATE6) to [quick find v]\nadd (☁ UPDATE7) to [quick find v]\nadd (☁ UPDATE8) to [quick find v]\nadd (☁ UPDATE9) to [quick find v]\nset [found data v] to (item ((#) + (1)) of [quick find v])\n\ndefine decode data\nif <(_Loop) = [-1]> then\n    set [decoded var v] to []\n    repeat until <(letter (_Loop) of (found data)) = [0]>\n        set [decoded var v] to (join (decoded var) (item (join (letter (_Loop) of (found data)) (letter ((_Loop) + (1)) of (found data))) of [characters v]))\n        change [_loop v] by (2)\n    end\n    change [_loop v] by (1)\nelse\n    set [decoded var v] to []\n    repeat (letter (_Loop) of (found data))\n        change [_loop v] by (1)\n        if <(decoded var) = []> then\n            if <(letter (_Loop) of (found data)) = [0]> then\n                set [decoded var v] to (join (decoded var) [-])\n            else\n                set [decoded var v] to (join (decoded var) (letter (_Loop) of (found data)))\n            end\n        else\n            set [decoded var v] to (join (decoded var) (letter (_Loop) of (found data)))\n        end\n    end\n    change [_loop v] by (1)\nend\n\ndefine manage players\nset [set v] to (direction)\nset [_loop-2 v] to [0]\nrepeat (length of [active players v])\n    change [_loop-2 v] by (1)\n    set [found data v] to (item (_Loop-2) of [player data v])\n    set [num1 v] to (item # of (item (_Loop-2) of [active players v]) in [draw buffer v])\n    run <<not <[250] < ([abs v] of ((item (((num1) + (2)) + ((temp2) * (4))) of [draw buffer v]) - (cam x)) )>> and <not <[190] < ([abs v] of ((item (((num1) + (3)) + ((temp2) * (4))) of [draw buffer v]) - (cam y)) )>>>\nend\npoint in direction (set)\n\nif <not <[active players v] contains (decoded var)?>> then\n    add (decoded var) to [active players v]\n    add [] to [player data v]\nend\nreplace item (item # of (decoded var) in [active players v]) of [player data v] with (found data)\n\nrepeat (length of [player data v])\n    change [_loop v] by (1)\n    add (item (_Loop) of [player data v]) to [done v]\nend\n\nif <not <[done v] contains (decoded var)?>> then\n    add (decoded var) to [done v]\nend\n\nwhen [z v] key pressed\nset [test v] to (((test) * <[5] > (test)>) + (1))\n\nwhen flag clicked\n\nset [_loop v] to [0]\nset [_loop v] to [0]\nset [_loop v] to [0]\nset [_loop v] to [0]\nset [_loop v] to [0]\nset [_loop v] to [0]\nset [_loop v] to [0]\nset [_loop v] to [0]\nset [_loop v] to [0]\nset [_loop v] to [0]\n\ndefine int vars\ndelete all of [cloud vars v]\nadd (☁ UPDATE0) to [cloud vars v]\nadd (☁ UPDATE1) to [cloud vars v]\nadd (☁ UPDATE2) to [cloud vars v]\nadd (☁ UPDATE3) to [cloud vars v]\nadd (☁ UPDATE4) to [cloud vars v]\nadd (☁ UPDATE5) to [cloud vars v]\nadd (☁ UPDATE6) to [cloud vars v]\nadd (☁ UPDATE7) to [cloud vars v]\nadd (☁ UPDATE8) to [cloud vars v]\nadd (☁ UPDATE9) to [cloud vars v]\n\ndefine check for overlay\nset [_loop-2 v] to [0]\nrepeat (length of [active players v])\n    change [_loop-2 v] by (1)\n    if <not <[done v] contains (item (_Loop-2) of [active players v])?>> then\n        set [found data v] to (item (_Loop-2) of [player data v])\n        set [_loop v] to [-1]\n        decode data\n        add (decoded var) to [draw buffer v]\n        set [ret temp v] to (decoded var)\n        decode data\n        add (decoded var) to [draw buffer v]\n        replace item (item # of (ret temp) in [active players v]) of [#latest and greatest update v] with (decoded var)\n        decode data\n        replace item (item # of (ret temp) in [active players v]) of [player message v] with (decoded var)\n        decode data\n        set [ret temp v] to (decoded var)\n        repeat ((ret temp) - (4))\n            decode data\n        end\n        decode data\n        set [t1 v] to (decoded var)\n        decode data\n        set [t2 v] to (decoded var)\n        decode data\n        set [t3 v] to (decoded var)\n        decode data\n        set [t4 v] to (decoded var)\n        repeat ((ret temp) / (4))\n            add (t1) to [draw buffer v]\n            add (t2) to [draw buffer v]\n            add (t3) to [draw buffer v]\n            add (t4) to [draw buffer v]\n        end\n    end\nend\n\nset [found data v] to (rep)\n\nencode hard value []\n\ndefine encode soft value (value)\nset [_loop v] to [0]\nset [encoded value v] to []\nset [encoded value v] to (join (encoded value) (length of (value)))\nrepeat (length of (value))\n    change [_loop v] by (1)\n    if <(letter (_Loop) of (value)) = [-]> then\n        set [encoded value v] to (join (encoded value) [0])\n    else\n        set [encoded value v] to (join (encoded value) (letter (_Loop) of (value)))\n    end\nend\n\nencode soft value [-1000]\n\ndefine run <on screen?>\nif <not <(join [a] (item (_Loop-2) of [player data v])) = (join [a] (item (_Loop-2) of [last data v]))>> then\n    replace item (_Loop-2) of [last data v] with (item (_Loop-2) of [player data v])\n    replace item (_Loop-2) of [online v] with [0]\nelse\n    replace item (_Loop-2) of [online v] with ((item (_Loop-2) of [online v]) + (1))\nend\nif <on screen?> then\n    switch costume to (big v)\n    if <not <(item ((num1) + (0)) of [draw buffer v]) = (join (username) [])>> then\n        go to x: ((item (((num1) + (2)) + ((temp2) * (4))) of [draw buffer v]) - (cam x)) y: ((item (((num1) + (3)) + ((temp2) * (4))) of [draw buffer v]) - (cam y))\n        if <(distance to [mouse-pointer v]) < [50]> then\n            replace item (_Loop-2) of [name bar v] with ((item (_Loop-2) of [name bar v]) + (20))\n            if <[100] < (item (_Loop-2) of [name bar v])> then\n                replace item (_Loop-2) of [name bar v] with [1000]\n            end\n        else\n            replace item (_Loop-2) of [name bar v] with ((item (_Loop-2) of [name bar v]) + (-10))\n            if <(item (_Loop-2) of [name bar v]) < [0]> then\n                replace item (_Loop-2) of [name bar v] with [0]\n            end\n        end\n        Print: (item ((num1) + (0)) of [draw buffer v]) X: ((item (((num1) + (2)) + ((temp2) * (4))) of [draw buffer v]) - (cam x)) Y: (((item (((num1) + (3)) + ((temp2) * (4))) of [draw buffer v]) - (cam y)) + (25)) Size: [8] Color RGB: [200] [200] [200] Fade: ((150) - (item (_Loop-2) of [name bar v])) Thickness: [1.5] Spacing: [1.1] a [-0.5] line? []\n        if <not <(item (_Loop-2) of [player message v]) = [1]>> then\n            Print: (item (item (_Loop-2) of [player message v]) of [ss v]) X: ((item (((num1) + (2)) + ((temp2) * (4))) of [draw buffer v]) - (cam x)) Y: (((item (((num1) + (3)) + ((temp2) * (4))) of [draw buffer v]) - (cam y)) + ((25) + (<not <(item (_Loop-2) of [name bar v]) = [0]>> * (15)))) Size: [8] Color RGB: [200] [200] [200] Fade: [] Thickness: [1.5] Spacing: [1.2] a [-0.5] line? []\n        end\n        go to x: ((item (((num1) + (2)) + ((temp2) * (4))) of [draw buffer v]) - (cam x)) y: ((item (((num1) + (3)) + ((temp2) * (4))) of [draw buffer v]) - (cam y))\n        set size to (15) %\n        switch costume to (item (((num1) + (4)) + ((temp2) * (4))) of [draw buffer v])\n        if < (costume [name v]) contains [run]?> then\n            add dust at ((item (((num1) + (2)) + ((temp2) * (4))) of [draw buffer v]) + (pick random (-5) to (5))) ((item (((num1) + (3)) + ((temp2) * (4))) of [draw buffer v]) - (15)) (pick random (10) to (30))\n        end\n        if < (costume [name v]) contains [slide]?> then\n            add dust at ((item (((num1) + (2)) + ((temp2) * (4))) of [draw buffer v]) + (pick random (-5) to (5))) ((item (((num1) + (3)) + ((temp2) * (4))) of [draw buffer v]) - (0)) (pick random (10) to (15))\n        end\n        clear graphic effects\n        if <(costume [number v]) = [18]> then\n            set rotation style [all around v]\n            if <<not <(temp2) = [0]>> and <not <(item (((num1) + (4)) + (((temp2) - (1)) * (4))) of [draw buffer v]) = [18]>>> then\n                repeat (10)\n                    add dust at ((item (((num1) + (2)) + ((temp2) * (4))) of [draw buffer v]) + (pick random (-15) to (15))) ((item (((num1) + (3)) + ((temp2) * (4))) of [draw buffer v]) - (pick random (-10) to (10))) (pick random (10) to (20))\n                end\n            end\n        else\n            set rotation style [left-right v]\n        end\n        point in direction (item (((num1) + (5)) + ((temp2) * (4))) of [draw buffer v])\n        set [brightness v] effect to (80)\n        stamp\n    end\nelse\n    if <not <(item ((num1) + (0)) of [draw buffer v]) = (join (username) [])>> then\n        switch costume to (small v)\n        go to x: ((item (((num1) + (2)) + ((temp2) * (4))) of [draw buffer v]) - (cam x)) y: ((item (((num1) + (3)) + ((temp2) * (4))) of [draw buffer v]) - (cam y))\n        point in direction (([atan v] of (((0) - (x position)) / ((0) - (y position))) ) + (<((0) - (y position)) < [0]> * (180)))\n        move (16) steps\n        switch costume to (arrow v)\n        set [brightness v] effect to (100)\n        set size to (25) %\n        point in direction (([atan v] of (((item (((num1) + (2)) + ((temp2) * (4))) of [draw buffer v]) - ((x position) + (cam x))) / ((item (((num1) + (3)) + ((temp2) * (4))) of [draw buffer v]) - ((y position) + (cam y)))) ) + (<((item (((num1) + (3)) + ((temp2) * (4))) of [draw buffer v]) - ((y position) + (cam y))) < [0]> * (180)))\n        stamp\n    end\nend\nif <(item (_Loop-2) of [online v]) > [200]> then\n    delete (_Loop-2) of [active players v]\n    delete (_Loop-2) of [online v]\n    delete (_Loop-2) of [player data v]\n    delete (_Loop-2) of [last data v]\n    delete (_Loop-2) of [#latest and greatest update v]\n    delete (_Loop-2) of [name bar v]\n    delete (_Loop-2) of [player message v]\n    change [_loop-2 v] by (-1)\nend\n\ndefine set pen color R: (r) G: (g) B: (b) Fade: (f)\nset pen color to (((r) * (65536)) + (((g) * (256)) + (b)))\n\ndefine Print: (text) X: (x) Y: (y) Size: (s) Color RGB: (r) (g) (b) Fade: (f) Thickness: (t) Spacing: (space) a (on) line? (y)\nset pen color R: (r) G: (g) B: (b) Fade: []\nset pen (transparency v) to (f)\nset [print count v] to [1]\nrepeat (length of (text))\n    set [char count v] to [0]\n    repeat until <(letter (Char count) of (Characters)) = (letter (Print count) of (text))>\n        change [char count v] by (1)\n    end\n    set [char id v] to (Char count)\n    set [size v] to (((s) / (8)) * (t))\n    set pen size to (Size)\n    set [startx v] to (x)\n    set [line count v] to [1]\n    repeat ((length of (item (Char ID) of [letter data v])) / (4))\n        go to x: ((((startX) + (((Print count) - (1)) * ((s) * (space)))) + ((letter (Line count) of (item (Char ID) of [letter data v])) * ((s) / (8)))) + ((on) * ((length of (text)) * ((s) * (space))))) y: ((y) - ((letter ((Line count) + (1)) of (item (Char ID) of [letter data v])) * ((s) / (8))))\n        pen down\n        go to x: ((((startX) + (((Print count) - (1)) * ((s) * (space)))) + ((letter ((Line count) + (2)) of (item (Char ID) of [letter data v])) * ((s) / (8)))) + ((on) * ((length of (text)) * ((s) * (space))))) y: ((y) - ((letter ((Line count) + (3)) of (item (Char ID) of [letter data v])) * ((s) / (8))))\n        pen up\n        change [line count v] by (4)\n    end\n    change [print count v] by (1)\nend\nif <(y) = [1]> then\n    go to x: ((((startX) + ((-0.5) * ((s) * (space)))) + ((letter (Line count) of (item (Char ID) of [letter data v])) * ((s) / (8)))) + ((on) * ((length of (text)) * ((s) * (space))))) y: (((y) - ((letter ((Line count) + (1)) of (item (Char ID) of [letter data v])) * ((s) / (8)))) - (11))\n    pen down\n    go to x: ((((startX) + (((Print count) - (1)) * ((s) * (space)))) + ((letter ((Line count) + (2)) of (item (Char ID) of [letter data v])) * ((s) / (8)))) + ((on) * ((length of (text)) * ((s) * (space))))) y: (((y) - ((letter ((Line count) + (3)) of (item (Char ID) of [letter data v])) * ((s) / (8)))) - (11))\n    pen up\nend\n\ndefine say data\nif <(on menu) = [0]> then\n    if <(last say) = (say)> then\n        if <(sent?) > [4]> then\n            change [on say v] by (1)\n        end\n    else\n        set [last say v] to (say)\n        if <not <(say) = [1]>> then\n            set [sent? v] to [0]\n            set [on say v] to [0]\n        end\n    end\n    if <not <(sent?) > [4]>> then\n        change [on say v] by (0.2)\n        if <([floor v] of (on say) ) = [1]> then\n            Print: [sending] X: (((px) - (cam x)) - (35)) Y: (((py) - (cam y)) + (25)) Size: [8] Color RGB: [200] [200] [200] Fade: [] Thickness: [1.5] Spacing: [1.3] a [0] line? []\n        else\n            if <([floor v] of (on say) ) = [2]> then\n                Print: [sending.] X: (((px) - (cam x)) - (35)) Y: (((py) - (cam y)) + (25)) Size: [8] Color RGB: [200] [200] [200] Fade: [] Thickness: [1.5] Spacing: [1.3] a [0] line? []\n            else\n                if <([floor v] of (on say) ) = [3]> then\n                    Print: [sending..] X: (((px) - (cam x)) - (35)) Y: (((py) - (cam y)) + (25)) Size: [8] Color RGB: [200] [200] [200] Fade: [] Thickness: [1.5] Spacing: [1.3] a [0] line? []\n                else\n                    Print: [sending...] X: (((px) - (cam x)) - (35)) Y: (((py) - (cam y)) + (25)) Size: [8] Color RGB: [200] [200] [200] Fade: [] Thickness: [1.5] Spacing: [1.3] a [0] line? []\n                end\n            end\n        end\n        if <(on say) > [4]> then\n            set [on say v] to [0]\n        end\n    end\n    if <<not <(say) = [1]>> and <(sent?) > [4]>> then\n        Print: (item (say) of [ss v]) X: ((px) - (cam x)) Y: (((py) - (cam y)) + (25)) Size: [8] Color RGB: [200] [200] [200] Fade: [] Thickness: [1.5] Spacing: [1.2] a [-0.5] line? []\n        if <(on say) > [400]> then\n            set [on say v] to [0]\n            set [say v] to [1]\n        end\n    end\nelse\n    set [sent? v] to [99]\n    set [on say v] to [0]\n    set [say v] to [1]\nend\n\nif <not <(say) = [1]>> then\n    set [on say v] to [0]\nend\n\nset [on say v] to [0]\n\nwhen [space v] key pressed\nif <(on menu) = [0]> then\n    if <(list on?) = [1]> then\n        start sound [quitSound_01 v]\n        set [list on? v] to [0]\n    else\n        start sound [playSound_01 v]\n        set [list on? v] to [1]\n    end\n    wait until <not <key (space v) pressed?>>\nend\n\ndefine safe chat\nset [set v] to (direction)\nif <(list on?) = [1]> then\n    go to x: (0) y: (0)\n    set [ghost v] effect to (30)\n    switch costume to (box v)\n    point in direction (90)\n    stamp\n    switch costume to (mush2 v)\n    Print: [what do you want] X: [-110] Y: [170] Size: [9] Color RGB: [255] [255] [255] Fade: [] Thickness: [2] Spacing: [1.5] a [-0.5] line? []\n    Print: [to say?] X: [-110] Y: [155] Size: [9] Color RGB: [255] [255] [255] Fade: [] Thickness: [2] Spacing: [1.5] a [-0.5] line? []\n    set [_loop v] to ((1) + ((stage) * (14)))\n    if <(stage) = [0]> then\n        Print: [basic] X: [-110] Y: [130] Size: [8] Color RGB: [255] [255] [255] Fade: [] Thickness: [3] Spacing: [1.5] a [-0.5] line? [0]\n    else\n        if <(stage) = [1]> then\n            Print: [exclamation] X: [-110] Y: [130] Size: [8] Color RGB: [255] [255] [255] Fade: [] Thickness: [3] Spacing: [1.5] a [-0.5] line? [0]\n        else\n            if <(stage) = [2]> then\n                Print: [emoticon] X: [-110] Y: [130] Size: [8] Color RGB: [255] [255] [255] Fade: [] Thickness: [3] Spacing: [1.5] a [-0.5] line? [0]\n            end\n        end\n    end\n    repeat ((length of [ss v]) / (3))\n        change [_loop v] by (1)\n        if <<((130) + (((_Loop) - ((stage) * (14))) * (-17))) < (mouse y)> and <((150) + (((_Loop) - ((stage) * (14))) * (-17))) > (mouse y)>> then\n            Print: (item (_Loop) of [ss v]) X: [-110] Y: ((145) + (((_Loop) - ((stage) * (14))) * (-17))) Size: [7] Color RGB: [255] [255] [255] Fade: [] Thickness: [3] Spacing: [1.3] a [-0.5] line? [1]\n            if <<mouse down?> and <(down) = [false]>> then\n                start sound [playSound_01 v]\n                set [say v] to (_Loop)\n            end\n        else\n            Print: (item (_Loop) of [ss v]) X: [-110] Y: ((145) + (((_Loop) - ((stage) * (14))) * (-17))) Size: [6.5] Color RGB: [255] [255] [255] Fade: [] Thickness: [2] Spacing: [1.3] a [-0.5] line? [1]\n        end\n    end\nend\npoint in direction (set)\n\ndefine add button at (x) (y) (type) (size)\nadd (x) to [button data v]\nadd (y) to [button data v]\nadd (type) to [button data v]\nadd (size) to [button data v]\nadd [] to [button data v]\nadd [] to [button data v]\n\ndefine draw buttons\nset [_loop v] to [0]\nset [set v] to (direction)\nrepeat ((length of [button data v]) / (6))\n    change [_loop v] by (6)\n    if <(item ((_Loop) - (3)) of [button data v]) = [right]> then\n        if <<(list on?) = [1]> and <<(stage) = [0]> or <(stage) = [1]>>> then\n            set rotation style [all around v]\n            clear graphic effects\n            go to x: (item ((_Loop) - (5)) of [button data v]) y: (item ((_Loop) - (4)) of [button data v])\n            switch costume to (right v)\n            set size to ((item ((_Loop) - (2)) of [button data v]) + ((0) - (item ((_Loop) - (1)) of [button data v]))) %\n            set [brightness v] effect to (100)\n            point in direction ((90) + (item ((_Loop) - (1)) of [button data v]))\n            stamp\n            if <(distance to [mouse-pointer v]) < ((item ((_Loop) - (2)) of [button data v]) / (2))> then\n                replace item ((_Loop) - (1)) of [button data v] with ((item ((_Loop) - (1)) of [button data v]) + (((-10) - (item ((_Loop) - (1)) of [button data v])) / (3)))\n                if <<(down) = [false]> and <mouse down?>> then\n                    start sound [quitSound_01 v]\n                    change [stage v] by (1)\n                end\n            else\n                replace item ((_Loop) - (1)) of [button data v] with ((item ((_Loop) - (1)) of [button data v]) + (((0) - (item ((_Loop) - (1)) of [button data v])) / (3)))\n            end\n        end\n    else\n        if <(item ((_Loop) - (3)) of [button data v]) = [left]> then\n            if <<(list on?) = [1]> and <<(stage) = [1]> or <(stage) = [2]>>> then\n                set rotation style [all around v]\n                clear graphic effects\n                go to x: (item ((_Loop) - (5)) of [button data v]) y: (item ((_Loop) - (4)) of [button data v])\n                switch costume to (left v)\n                set size to ((item ((_Loop) - (2)) of [button data v]) + (item ((_Loop) - (1)) of [button data v])) %\n                set [brightness v] effect to (100)\n                point in direction ((90) + (item ((_Loop) - (1)) of [button data v]))\n                stamp\n                if <(distance to [mouse-pointer v]) < ((item ((_Loop) - (2)) of [button data v]) / (2))> then\n                    replace item ((_Loop) - (1)) of [button data v] with ((item ((_Loop) - (1)) of [button data v]) + (((10) - (item ((_Loop) - (1)) of [button data v])) / (3)))\n                    if <<(down) = [false]> and <mouse down?>> then\n                        start sound [quitSound_01 v]\n                        change [stage v] by (-1)\n                    end\n                else\n                    replace item ((_Loop) - (1)) of [button data v] with ((item ((_Loop) - (1)) of [button data v]) + (((0) - (item ((_Loop) - (1)) of [button data v])) / (3)))\n                end\n            end\n        else\n            if <(item ((_Loop) - (3)) of [button data v]) = [back]> then\n                if <(list on?) = [1]> then\n                    set rotation style [all around v]\n                    clear graphic effects\n                    go to x: (item ((_Loop) - (5)) of [button data v]) y: (item ((_Loop) - (4)) of [button data v])\n                    switch costume to (back v)\n                    set size to ((item ((_Loop) - (2)) of [button data v]) + ((0) - (item ((_Loop) - (1)) of [button data v]))) %\n                    set [brightness v] effect to (0)\n                    point in direction ((90) + (item ((_Loop) - (1)) of [button data v]))\n                    stamp\n                    if <(distance to [mouse-pointer v]) < ((item ((_Loop) - (2)) of [button data v]) / (2))> then\n                        replace item ((_Loop) - (1)) of [button data v] with ((item ((_Loop) - (1)) of [button data v]) + (((-10) - (item ((_Loop) - (1)) of [button data v])) / (3)))\n                        if <<(down) = [false]> and <mouse down?>> then\n                            start sound [quitSound_01 v]\n                            set [list on? v] to [0]\n                            set [down v] to [TRUE]\n                        end\n                    else\n                        replace item ((_Loop) - (1)) of [button data v] with ((item ((_Loop) - (1)) of [button data v]) + (((0) - (item ((_Loop) - (1)) of [button data v])) / (3)))\n                    end\n                end\n            else\n                if <(item ((_Loop) - (3)) of [button data v]) = [CHAT MENU]> then\n                    if <(list on?) = [0]> then\n                        if <(on menu) = [0]> then\n                            set rotation style [all around v]\n                            clear graphic effects\n                            if <(mouse y) < [-100]> then\n                                replace item ((_Loop) - (0)) of [button data v] with ((item ((_Loop) - (0)) of [button data v]) + (((0) - (item ((_Loop) - (0)) of [button data v])) / (5)))\n                            else\n                                replace item ((_Loop) - (0)) of [button data v] with ((item ((_Loop) - (0)) of [button data v]) + (((-50) - (item ((_Loop) - (0)) of [button data v])) / (5)))\n                            end\n                            switch costume to (big v)\n                            go to x: (item ((_Loop) - (5)) of [button data v]) y: ((item ((_Loop) - (4)) of [button data v]) + (item ((_Loop) - (0)) of [button data v]))\n                            switch costume to (chat menu v)\n                            set size to ((item ((_Loop) - (2)) of [button data v]) + ((0) - (item ((_Loop) - (1)) of [button data v]))) %\n                            set [brightness v] effect to (0)\n                            point in direction ((90) + (item ((_Loop) - (1)) of [button data v]))\n                            stamp\n                            if <(distance to [mouse-pointer v]) < ((item ((_Loop) - (2)) of [button data v]) / (2))> then\n                                replace item ((_Loop) - (1)) of [button data v] with ((item ((_Loop) - (1)) of [button data v]) + (((-10) - (item ((_Loop) - (1)) of [button data v])) / (3)))\n                                if <<(down) = [false]> and <mouse down?>> then\n                                    start sound [playSound_01 v]\n                                    set [list on? v] to [1]\n                                    set [down v] to [TRUE]\n                                end\n                            else\n                                replace item ((_Loop) - (1)) of [button data v] with ((item ((_Loop) - (1)) of [button data v]) + (((0) - (item ((_Loop) - (1)) of [button data v])) / (3)))\n                            end\n                        end\n                    end\n                else\n                    if <(item ((_Loop) - (3)) of [button data v]) = [LEAVE game]> then\n                        if <(list on?) = [0]> then\n                            if <<(on menu) = [0]> or <(on menu) = [1]>> then\n                                set rotation style [all around v]\n                                clear graphic effects\n                                if <(mouse y) < [-100]> then\n                                    replace item ((_Loop) - (0)) of [button data v] with ((item ((_Loop) - (0)) of [button data v]) + (((0) - (item ((_Loop) - (0)) of [button data v])) / (5)))\n                                else\n                                    replace item ((_Loop) - (0)) of [button data v] with ((item ((_Loop) - (0)) of [button data v]) + (((-50) - (item ((_Loop) - (0)) of [button data v])) / (5)))\n                                end\n                                switch costume to (big v)\n                                if <not <(on menu) = [1]>> then\n                                    Print: (join [active players: ] (length of [active players v])) X: [115] Y: ((item ((_Loop) - (4)) of [button data v]) + (item ((_Loop) - (0)) of [button data v])) Size: [9] Color RGB: [255] [255] [255] Fade: [] Thickness: [2] Spacing: [1.3] a [-0.5] line? [0]\n                                end\n                                go to x: (item ((_Loop) - (5)) of [button data v]) y: ((item ((_Loop) - (4)) of [button data v]) + (item ((_Loop) - (0)) of [button data v]))\n                                if <(on menu) = [1]> then\n                                    go to x: ((item ((_Loop) - (5)) of [button data v]) - (100)) y: ((item ((_Loop) - (4)) of [button data v]) + (item ((_Loop) - (0)) of [button data v]))\n                                end\n                                switch costume to (leave game v)\n                                set size to ((item ((_Loop) - (2)) of [button data v]) + ((0) - (item ((_Loop) - (1)) of [button data v]))) %\n                                set [brightness v] effect to (0)\n                                point in direction ((90) + (item ((_Loop) - (1)) of [button data v]))\n                                stamp\n                                if <(distance to [mouse-pointer v]) < ((item ((_Loop) - (2)) of [button data v]) / (2))> then\n                                    replace item ((_Loop) - (1)) of [button data v] with ((item ((_Loop) - (1)) of [button data v]) + (((-10) - (item ((_Loop) - (1)) of [button data v])) / (3)))\n                                    if <<(down) = [false]> and <mouse down?>> then\n                                        start sound [quitSound_01 v]\n                                        if <not <key (p v) pressed?>> then\n                                            set [flag x v] to [0]\n                                            set [flag y v] to [80]\n                                        end\n                                        set [on menu v] to [2]\n                                        set [down v] to [TRUE]\n                                    end\n                                else\n                                    replace item ((_Loop) - (1)) of [button data v] with ((item ((_Loop) - (1)) of [button data v]) + (((0) - (item ((_Loop) - (1)) of [button data v])) / (3)))\n                                end\n                            end\n                        end\n                    else\n                        if <(item ((_Loop) - (3)) of [button data v]) = [ONLINE]> then\n                            if <(list on?) = [0]> then\n                                if <(on menu) = [2]> then\n                                    set rotation style [all around v]\n                                    clear graphic effects\n                                    switch costume to (big v)\n                                    go to x: (item ((_Loop) - (5)) of [button data v]) y: (item ((_Loop) - (4)) of [button data v])\n                                    switch costume to (play on v)\n                                    set size to ((item ((_Loop) - (2)) of [button data v]) + ((0) - (item ((_Loop) - (1)) of [button data v]))) %\n                                    set [brightness v] effect to (0)\n                                    point in direction ((90) + (item ((_Loop) - (1)) of [button data v]))\n                                    stamp\n                                    if <(distance to [mouse-pointer v]) < ((item ((_Loop) - (2)) of [button data v]) / (2))> then\n                                        replace item ((_Loop) - (1)) of [button data v] with ((item ((_Loop) - (1)) of [button data v]) + (((-10) - (item ((_Loop) - (1)) of [button data v])) / (3)))\n                                        if <<(down) = [false]> and <mouse down?>> then\n                                            start sound [quitSound_01 v]\n                                            set [on menu v] to [0]\n                                            set [down v] to [TRUE]\n                                            set [timer v] to (timer)\n                                        end\n                                    else\n                                        replace item ((_Loop) - (1)) of [button data v] with ((item ((_Loop) - (1)) of [button data v]) + (((0) - (item ((_Loop) - (1)) of [button data v])) / (3)))\n                                    end\n                                end\n                            end\n                        else\n                            if <(item ((_Loop) - (3)) of [button data v]) = [OFFLINE]> then\n                                if <(list on?) = [0]> then\n                                    if <(on menu) = [2]> then\n                                        set rotation style [all around v]\n                                        clear graphic effects\n                                        switch costume to (big v)\n                                        go to x: (item ((_Loop) - (5)) of [button data v]) y: (item ((_Loop) - (4)) of [button data v])\n                                        switch costume to (play off v)\n                                        set size to ((item ((_Loop) - (2)) of [button data v]) + ((0) - (item ((_Loop) - (1)) of [button data v]))) %\n                                        set [brightness v] effect to (0)\n                                        point in direction ((90) + (item ((_Loop) - (1)) of [button data v]))\n                                        stamp\n                                        if <(distance to [mouse-pointer v]) < ((item ((_Loop) - (2)) of [button data v]) / (2))> then\n                                            replace item ((_Loop) - (1)) of [button data v] with ((item ((_Loop) - (1)) of [button data v]) + (((-10) - (item ((_Loop) - (1)) of [button data v])) / (3)))\n                                            if <<(down) = [false]> and <mouse down?>> then\n                                                start sound [quitSound_01 v]\n                                                set [on menu v] to [1]\n                                                set [down v] to [TRUE]\n                                                set [timer v] to (timer)\n                                            end\n                                        else\n                                            replace item ((_Loop) - (1)) of [button data v] with ((item ((_Loop) - (1)) of [button data v]) + (((0) - (item ((_Loop) - (1)) of [button data v])) / (3)))\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\npoint in direction (set)\nswitch costume to (big v)\n\nif <(mouse y) < [100]> then\n\ndefine control\ndelete all of [control v]\nif <(on menu) = [2]> then\n    add <[apple] = [banana]> to [control v]\n    add <[apple] = [banana]> to [control v]\n    add <[apple] = [banana]> to [control v]\n    add <[apple] = [banana]> to [control v]\nelse\n    add <<key (up arrow v) pressed?> or <key (w v) pressed?>> to [control v]\n    add <<key (down arrow v) pressed?> or <key (s v) pressed?>> to [control v]\n    add <<key (left arrow v) pressed?> or <key (a v) pressed?>> to [control v]\n    add <<key (right arrow v) pressed?> or <key (d v) pressed?>> to [control v]\nend\n\ndefine MOON THING\nset [set v] to (direction)\npoint in direction (90)\nclear graphic effects\ngo to x: (0) y: (y moon)\nswitch costume to (logo v)\nset size to (100) %\nstamp\npoint in direction (set)\nif <(on menu) = [2]> then\n    change [y moon v] by (((120) - (y moon)) / (4))\n    if <(username) = [Pentahedron]> then\n        change [cam x v] by ((mouse x) / (10))\n        change [cam y v] by ((mouse y) / (10))\n    else\n        change [cam x v] by ((mouse x) / (20))\n        change [cam y v] by ((mouse y) / (20))\n    end\n    set [sx v] to [0]\n    set [sy v] to [0]\nelse\n    change [y moon v] by (((240) - (y moon)) / (4))\nend\n\ndefine load level\ndelete all of [near quads v]\ndelete all of [near tri v]\nadd quad at [-50] [0] sides [100] [50] color [0] [] [] 2 [0] [] []\nadd quad at [140] [-10] sides [90] [40] color [] [0] [] 2 [] [0] []\nadd quad at [-350] [500] sides [200] [550] color [0] [] [0] 2 [0] [] [0]\nadd tri at [50] [100] : [0] [100] : [25] [200] color [0] [] []\nadd tri at [-50] [50] : [-150] [50] : [-150] [150] color [0] [] []\nadd tri at [50] [50] : [100] [30] : [50] [30] color [0] [] []\nadd front layer tri at [21] [50] [26] [100] [31] [50]\nadd bit [500] [50]\nadd bit [350] [50]\nadd bit [1200] [50]\nadd bit [-100] [150]\nad bg object [110] [34] [50] cos [grass1]\nad bg object [120] [34] [50] cos [grass2]\nad bg object [130] [34] [50] cos [grass1]\nad bg object [140] [34] [50] cos [grass2]\nad bg object [170] [30] [50] cos [mush1]\nadd quad at [500] [0] sides [15] [20] color [0] [] [] 2 [0] [] []\nadd quad at [350] [0] sides [15] [20] color [0] [] [] 2 [0] [] []\nadd quad at [650] [-100] sides [50] [200] color [0] [] [] 2 [0] [] []\nadd flag at [610] [114]\nad bg object [650] [100] [50] cos [grass1]\nad bg object [670] [100] [50] cos [grass1]\nad bg object [660] [100] [50] cos [grass1]\nadd tri at [700] [100] : [800] [10] : [700] [10] color [0] [] []\nadd quad at [1000] [-190] sides [300] [200] color [0] [] [] 2 [0] [] []\nadd front layer tri at [1000] [0] [1010] [80] [1020] [0]\nadd tri at [980] [70] : [1040] [70] : [1010] [200] color [0] [] []\nadd front layer tri at [1100] [0] [1110] [80] [1120] [0]\nadd tri at [1080] [75] : [1110] [200] : [1140] [75] color [0] [] []\nad bg object [900] [20] [50] cos [mush3]\nad bg object [920] [10] [50] cos [mush1]\nad bg object [1000] [10] [50] cos [grass1]\nad bg object [1010] [10] [50] cos [grass2]\nad bg object [1020] [10] [50] cos [grass1]\nad bg object [1030] [10] [50] cos [grass1]\nad bg object [1040] [10] [50] cos [grass2]\nadd quad at [1400] [0] sides [25] [520] color [0] [] [] 2 [0] [] []\nadd quad at [1250] [350] sides [25] [200] color [0] [] [] 2 [0] [] []\nadd quad at [1200] [500] sides [60] [50] color [0] [] [] 2 [0] [] []\nadd bit [1300] [600]\nad bg object [1200] [550] [50] cos [grass2]\nad bg object [1210] [550] [50] cos [grass2]\nadd quad at [1550] [500] sides [20] [10] color [0] [] [] 2 [0] [] []\nadd bit [1550] [550]\nadd flag at [1400] [534]\nadd quad at [1900] [0] sides [200] [500] color [0] [] [] 2 [0] [] []\nadd quad at [1900] [1100] sides [200] [500] color [0] [] [] 2 [0] [] []\nadd front layer tri at [1762] [496] [1770] [520] [1780] [456]\nadd front layer tri at [1800] [600] [1810] [550] [1820] [600]\nadd front layer tri at [1900] [600] [1910] [550] [1920] [600]\nadd front layer tri at [1850] [490] [1860] [530] [1870] [490]\nadd bit [2015] [580]\nadd bit [2015] [520]\nadd quad at [2015] [550] sides [20] [10] color [0] [] [] 2 [0] [] []\nadd tri at [2100] [500] : [2600] [50] : [2100] [50] color [] [] []\nadd bit [2352] [309]\nad bg object [2900] [90] [50] cos [grass2]\nadd quad at [2700] [0] sides [20] [10] color [0] [] [] 2 [0] [] []\nadd quad at [2800] [40] sides [20] [10] color [0] [] [] 2 [0] [] []\nadd quad at [2900] [80] sides [20] [10] color [0] [] [] 2 [0] [] []\nadd quad at [3000] [120] sides [20] [10] color [0] [] [] 2 [0] [] []\nadd quad at [3300] [120] sides [150] [50] color [0] [] [] 2 [0] [] []\nadd flag at [3200] [184]\nad bg object [3300] [170] [50] cos [grass2]\nad bg object [3310] [170] [50] cos [grass1]\nad bg object [3320] [170] [50] cos [grass1]\nad bg object [3330] [170] [50] cos [grass2]\nadd tri at [3150] [70] : [3300] [0] : [3450] [70] color [] [] []\nadd tri at [3360] [170] : [3500] [250] : [3500] [170] color [] [] []\nadd tri at [3500] [170] : [3450] [70] : [3450] [170] color [] [] []\nadd tri at [3600] [350] : [3650] [350] : [3625] [325] color [] [] []\nadd quad at [3610] [700] sides [20] [200] color [] [] [] 2 [] [] []\nadd quad at [3720] [600] sides [20] [200] color [] [] [] 2 [] [] []\nadd quad at [3800] [750] sides [100] [50] color [] [] [] 2 [] [] []\nadd bit [3600] [1000]\nad bg object [3900] [875] [75] cos [TEXT]\n\nadd flag at [150] [55]\n\nwhen [g v] key pressed\ndelete all of [object data v]\ndelete all of [game data v]\ndelete all of [front layer v]\ndelete all of [moon bits v]\ndelete all of [partical v]\ndelete all of [tri data v]\ndelete all of [flag data v]\ndelete all of [button data v]\nload level\n\nwhen [m v] key pressed\nset [m v] to (join (join (round ((mouse x) + (cam x))) [, ]) (round ((mouse y) + (cam y))))\n\nset [px v] to [0]\nx\n\nwhen flag clicked\nforever\n    play sound [Space Noise v] until done\nend\n\ndefine pent\nif <not <(side pent) = [0]>> then\n    if <not <(side pent) > [400]>> then\n        change [side pent v] by (1)\n        go to x: (0) y: (125)\n        set rotation style [don't rotate v]\n        switch costume to (pent v)\n        set size to (100) %\n        set [ghost v] effect to (([sin v] of ((side pent) + (50)) ) * (150))\n        stamp\n    end\nend\n\ndelete all of [button data v]\n\ndefine time\nset [say time v] to ((round ((((timer) - (timer)) mod (60)) * (100))) / (100))\nPrint: (join (join (join [time: ] ([floor v] of (((timer) - (timer)) / (60)) )) [']) (say time)) X: [-230] Y: [170] Size: [7] Color RGB: [255] [255] [255] Fade: [] Thickness: [2] Spacing: [1.5] a [] line? []\n\nset [☁ update0 v] to []\nset [☁ update1 v] to []\nset [☁ update2 v] to []\nset [☁ update3 v] to []\nset [☁ update4 v] to []\nset [☁ update5 v] to []\nset [☁ update6 v] to []\nset [☁ update7 v] to []\nset [☁ update8 v] to []\nset [☁ update9 v] to []\n\nset [☁ update0 v] to []\nset [☁ update1 v] to []\nset [☁ update2 v] to []\nset [☁ update3 v] to []\nset [☁ update4 v] to []\nset [☁ update5 v] to []\nset [☁ update6 v] to []\nset [☁ update7 v] to []\nset [☁ update8 v] to []\nset [☁ update9 v] to []\nint vars\ndelete all of [quick find v]\ndelete all of [active players v]\ndelete all of [player data v]\ndelete all of [online v]\ndelete all of [last data v]\ndelete all of [#latest and greatest update v]\ndelete all of [name bar v]\ndelete all of [player message v]\nint\nset [stage v] to [0]\nset [sy v] to [0]\nset [px v] to [0]\nset [py v] to [100]\nset [cam x v] to [0]\nset [cam y v] to [0]\nset [flag x v] to [-20]\nset [flag y v] to [100]\nset [on menu v] to [2]\nset [side pent v] to [0]\nset [decoded var v] to []\nset [cloud temp v] to []\nset [found data v] to [0]\nset [package v] to []\n\n
welcome to Moon Light MMO platformer! in this game you may play with infinite other scratchers online!\n(to many and it will start to lag though)\n\nI think I've fixed the bug. it should work again.\n\n\nnote: you must have scratcher status to use cloud vars. you may check this on your profile.\n\n\ncontrols:\nrun…..AD or left/right arrows\njump…..W or up arrow\nfall faster…..S or down arrow\nflip jump…..W or up arrow in mid air\nspace…..open safe chat\nnote: safe chat will take a moment to send.\n\ncode: @Pentahedron (that's me)\nart: @Pentahedron\ntriangle filler by @chrome_cat\nmusic: super Mario odyssey\nthis project is inspired by @griffpatch's game called "Massive Multiplayer Platformer v1.3" but no code was taken from it.