GRASSLAND ADVENTURE a multiplayer platformer #FRONTPAGE #Games #All 

Instructions: You control the character with the arrow keys, with the mouse or with W,A,S,D.(With the spacebar or the mouse you can also open a parachute).\n ☁This game is multiplayer!!! ☁\n\nPlease:❤️and⭐️

@Stage\n\nwhen flag clicked\nbroadcast (Start v)\nforever\n    set volume to (100) %\n    play sound [Popsicle v] until done\nend\n\n@blank\n\n@player\n\nwhen flag clicked\nforever\n    if <<key (space v) pressed?> or <<mouse down?> and <(y position) < (mouse y)>>> then\n        if <[11] < (in air)> then\n            set [sy v] to [-3]\n            broadcast (Whoosh v)\n            broadcast (### v)\n        end\n    end\nend\n\nwhen I receive [whoosh v]\nset volume to (2000) %\nplay sound [Low Whoosh v] until done\nwait until <(in air) = [0]>\n\nwhen flag clicked\nhide\nset [max players v] to [8]\nset [my player # v] to [0]\nbroadcast (Connecting v)\nbroadcast (Setup Others v) and wait\nbroadcast (Join Game v) and wait\nif <(MY PLAYER #) > [0]> then\n    broadcast (Connected v)\n    start sound [Connect v]\nelse\n    broadcast (Full v)\n    start sound [Disconnect v]\nend\nbroadcast (Begin v)\n\ndefine write (val) to encoded\nset [letter # v] to [1]\nrepeat (length of (val))\n    set [encoded v] to (join (encoded) (item # of (letter (letter #) of (val)) in [code v]))\n    change [letter # v] by (1)\nend\nset [encoded v] to (join (encoded) [00])\n\nwhen I receive [begin v]\nforever\n    if <(MY PLAYER #) > [0]> then\n        send cloud data\n    end\nend\n\ndefine set cloud # (player) to (value)\nif <(player) = [1]> then\n    set [☁ p1 v] to (value)\nelse\n    if <(player) = [2]> then\n        set [☁ p2 v] to (value)\n    else\n        if <(player) = [3]> then\n            set [☁ p3 v] to (value)\n        else\n            if <(player) = [4]> then\n                set [☁ p4 v] to (value)\n            else\n                if <(player) = [5]> then\n                    set [☁ p5 v] to (value)\n                else\n                    if <(player) = [6]> then\n                        set [☁ p6 v] to (value)\n                    else\n                        if <(player) = [7]> then\n                            set [☁ p7 v] to (value)\n                        else\n                            if <(player) = [8]> then\n                                set [☁ p8 v] to (value)\n                            else\n                                if <(player) = [9]> then\n                                    set [☁ p9 v] to (value)\n                                else\n                                    if <(player) = [10]> then\n                                        set [☁ p10 v] to (value)\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\ndefine send cloud data\nset [encoded v] to []\nwrite (username) to encoded\nwrite (round ((timer) * (10))) to encoded\nwrite (x) to encoded\nwrite (y) to encoded\nwrite (Chat Words) to encoded\nset cloud # (MY PLAYER #) to (encoded)\n\ndefine Position Player\nset [x v] to (CHECKPOINT X)\nset [y v] to (CHECKPOINT Y)\nset [sx v] to [0]\nset [sy v] to [0]\nset [scroll x v] to (CHECKPOINT X)\nset [scroll y v] to (CHECKPOINT Y)\nset [in air v] to [0]\nset [exit v] to []\n\nwhen I receive [play game v]\nforever\n    broadcast (Reset v) and wait\n    broadcast (Setup v) and wait\n    Game On\n    repeat until <(EXIT) > []>\n        Tick\n        broadcast (Tick v)\n    end\n    if <(EXIT) = [win]> then\n        Game - Win\n    else\n        Game - Die\n    end\nend\n\ndefine Position\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\n\ndefine Change Player y by (sy)\nif <not <touching (water v)?>> then\n    change [y v] by (sy)\n    change [in air v] by (1)\nelse\n    change [y v] by ((sy) / (2))\n    set [in air v] to [0]\nend\nPosition\nrepeat until <not <touching (platforms3 v)?>>\n    if <(sy) > [0]> then\n        change [y v] by (-1)\n    else\n        change [y v] by (1)\n        set [in air v] to [0]\n    end\n    Position\n    set [sy v] to [0]\nend\n\ndefine Tick\nshow\nif <not <key (any v) pressed?>> then\n    switch costume to (ldl v)\nend\nif <<<(mouse x) < ((x position) + (-10))> and <mouse down?>> or <<key (left arrow v) pressed?> or <key (a v) pressed?>>> then\n    switch costume to (left v)\n    change [sx v] by (-2)\nend\nif <<<((x position) + (10)) < (mouse x)> and <mouse down?>> or <<key (right arrow v) pressed?> or <key (d v) pressed?>>> then\n    switch costume to (right v)\n    change [sx v] by (2)\nend\nif <<<<(y position) < (mouse y)> and <mouse down?>> or <<key (up arrow v) pressed?> or <key (w v) pressed?>>> and <<<(mouse x) < (x position)> and <mouse down?>> or <<key (left arrow v) pressed?> or <key (a v) pressed?>>>> then\n    switch costume to (left up v)\nend\nif <<<<(y position) < (mouse y)> and <mouse down?>> or <<key (up arrow v) pressed?> or <key (w v) pressed?>>> and <<<(x position) < (mouse x)> and <mouse down?>> or <<key (right arrow v) pressed?> or <key (d v) pressed?>>>> then\n    switch costume to (right up v)\nend\nset [sx v] to ((sx) * (0.8))\nif <([abs v] of (sx) ) > [0.9]> then\n    Change Player x by (round (sx))\nend\nif <<<(y position) < (mouse y)> and <mouse down?>> or <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n    if <(in air) < [4]> then\n        set [sy v] to [18]\n        switch costume to (ldl v)\n    end\nend\nif <(sy) > [-20]> then\n    change [sy v] by (-2)\nend\nChange Player y by (sy)\nTest - Die\nset [scroll x v] to (x)\nif <(SCROLL X) < [0]> then\n    set [scroll x v] to [0]\nend\nchange [scroll y v] by (round (((y) - (SCROLL Y)) / (10)))\nif <(SCROLL Y) < [0]> then\n    set [scroll y v] to [0]\nend\nPosition\nif <(y) < [-180]> then\n    set [exit v] to [die]\nend\nif <(x) < [-220]> then\n    set [x v] to [-220]\nend\n\ndefine Change Player x by (sx)\npoint in direction (90)\nchange [x v] by (sx)\nPosition\nif <touching (platforms3 v)?> then\n    repeat (12)\n        change [y v] by (1)\n        Position\n        if <not <touching (platforms3 v)?>> then\n            stop [this script v]\n        end\n    end\n    change [y v] by (-12)\n    if <<<(y position) < (mouse y)> and <mouse down?>> or <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n        if <(sx) > [0]> then\n            set [sx v] to [-16]\n        else\n            set [sx v] to [16]\n        end\n        set [in air v] to [0]\n    else\n        set [sx v] to [0]\n    end\n    repeat until <not <touching (platforms3 v)?>>\n        if <(sx) > [0]> then\n            change [x v] by (-1)\n        else\n            change [x v] by (1)\n        end\n        Position\n    end\nend\n\ndefine Test - Die\nif <touching (danger v)?> then\n    start sound [ v]\n    set [exit v] to [die]\n    Position Player\nend\nif <touching (water v)?> then\n    start sound [ v]\n    set [exit v] to [die]\n    Position Player\nend\n\nwhen flag clicked\nPosition Player\n\nwhen flag clicked\nforever\n    if <(EXIT) = [die]> then\n        Position Player\n    end\nend\n\nwhen flag clicked\nset [checkpoint x v] to [-80]\nset [checkpoint y v] to [100]\n\nwhen flag clicked\nforever\n    if <not <<key (up arrow v) pressed?> or <<key (down arrow v) pressed?> or <<key (right arrow v) pressed?> or <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<key (d v) pressed?> or <<key (s v) pressed?> or <<key (w v) pressed?> or <mouse down?>>>>>>>>>> then\n        switch costume to (ldl v)\n    end\nend\n\ndefine Position Player\n\nwhen I receive [start v]\nshow\nbroadcast (Play Game v)\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\n@Others\n\nwhen I receive [begin v]\nset [names v] to [1]\nforever\n    if <key (n v) pressed?> then\n        if <(names) = [1]> then\n            wait until <not <key (n v) pressed?>>\n            set [names v] to [0]\n        else\n            wait until <not <key (n v) pressed?>>\n            set [names v] to [1]\n        end\n    end\nend\n\nwhen I receive [setup others v]\nsetup players\n\ndefine setup players\nhide\nset [offline v] to [100]\nset [player # v] to [1]\nrepeat ((MAX PLAYERS) - (1))\n    create clone of (_myself_ v)\n    change [player # v] by (1)\nend\n\ndefine value = cloud # (player)\nif <(player) = [1]> then\n    set [value v] to (☁ P1)\nelse\n    if <(player) = [2]> then\n        set [value v] to (☁ P2)\n    else\n        if <(player) = [3]> then\n            set [value v] to (☁ P3)\n        else\n            if <(player) = [4]> then\n                set [value v] to (☁ P4)\n            else\n                if <(player) = [5]> then\n                    set [value v] to (☁ P5)\n                else\n                    if <(player) = [6]> then\n                        set [value v] to (☁ P6)\n                    else\n                        if <(player) = [7]> then\n                            set [value v] to (☁ P7)\n                        else\n                            if <(player) = [8]> then\n                                set [value v] to (☁ P8)\n                            else\n                                if <(player) = [9]> then\n                                    set [value v] to (☁ P9)\n                                else\n                                    if <(player) = [10]> then\n                                        set [value v] to (☁ P10)\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [begin v]\nforever\n    if <(MY PLAYER #) = (player #)> then\n        set [offline v] to [100]\n        hide\n    else\n        Tick\n    end\nend\n\ndefine Tick\nvalue = cloud # (player #)\nif <(join [A] (value)) = (last value)> then\n    change [offline v] by (1)\n    if <(offline) = [100]> then\n        hide\n    end\nelse\n    set [last value v] to (join [A] (value))\n    if <(offline) > [99]> then\n        show\n    end\n    set [offline v] to [0]\nend\nbegin decode of (value)\nvalue = read from encoded\nif <(names) = [1]> then\n    say (join (player #) (join [:] (value)))\nelse\n    say []\nend\nvalue = read from encoded\nvalue = read from encoded\nset x to ((value) - (SCROLL X))\nvalue = read from encoded\nset y to (((value) - (SCROLL Y)) + (8))\nvalue = read from encoded\nbroadcast (Decode Chat v)\n\ndefine begin decode of (encoded)\nset [encoded v] to (encoded)\nset [letter # v] to [1]\n\ndefine value = read from encoded\nset [value v] to []\nforever\n    set [idx v] to (join (letter (letter #) of (encoded)) (letter ((letter #) + (1)) of (encoded)))\n    change [letter # v] by (2)\n    if <(idx) < [1]> then\n        stop [this script v]\n    end\n    set [value v] to (join (value) (item (idx) of [code v]))\nend\n\nwhen I receive [join game v]\nvalue = cloud # (player #)\nset [last value v] to (join [A] (value))\nwait (3) seconds\nvalue = cloud # (player #)\nif <(join [A] (value)) = (last value)> then\n    set [my player # v] to (player #)\nend\n\ndefine Decode Chat (chat)\nif <(chat) = [1]> then\n    say (item (1) of [chat v]) for (2) seconds\nelse\n    if <(chat) = [2]> then\n        say (item (2) of [chat v]) for (2) seconds\n    else\n        if <(chat) = [3]> then\n            say (item (3) of [chat v]) for (2) seconds\n        else\n            if <(chat) = [4]> then\n                say (item (4) of [chat v]) for (2) seconds\n            else\n                if <(chat) = [5]> then\n                    say (item (5) of [chat v]) for (2) seconds\n                else\n                    if <(chat) = [6]> then\n                        say (item (6) of [chat v]) for (2) seconds\n                    else\n                        if <(chat) = [7]> then\n                            say (item (7) of [chat v]) for (2) seconds\n                        else\n                            if <(chat) = [8]> then\n                                say (item (8) of [chat v]) for (2) seconds\n                            else\n                                if <(chat) = [9]> then\n                                    say (item (9) of [chat v]) for (2) seconds\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [decode chat v]\nDecode Chat (value)\n\n@Platforms3\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPosition ((Platforms: x) - (SCROLL X)) ((Platforms: y) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nset [platforms: x v] to [0]\nset [platforms: y v] to [0]\nif <(LEVEL2) = [1]> then\n    switch costume to (level 1 1 v)\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [180]\n    Clone at x: [480] y: [280]\n    Clone at x: [1380] y: [-480]\n    Clone at x: [500] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [0] y: [300]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\nelse\n    if <(LEVEL2) = [2]> then\n        switch costume to (level 2 1 v)\n        show\n    end\nend\n\ndefine Position (x) (y)\nset size to (100) %\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [platforms: x v] by (x)\nchange [platforms: y v] by (y)\nnext costume\n\n@DANGER\n\nwhen I start as a clone\nforever\n    turn right (5) degrees\nend\n\nwhen flag clicked\ngo [backward v] (11) layers\n\nwhen I start as a clone\nforever\n    if <(costume [number v]) = [8]> then\n        point in direction (90)\n    end\nend\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPosition ((DANGER: DANGER: x) - (SCROLL X)) ((DANGER: DANGER: y) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nset [danger: danger: x v] to [0]\nset [danger: danger: y v] to [0]\nif <(LEVEL2) = [1]> then\n    switch costume to (level 1 1 v)\n    Clone at x: [995] y: [38]\n    Clone at x: [530] y: [90]\n    Clone at x: [269] y: [345]\n    Clone at x: [1495] y: [-470]\n    Clone at x: [400] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [460] y: [320]\n    Clone at x: [350] y: [-45]\n    Clone at x: [-200] y: [-335]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\nelse\n    if <(LEVEL2) = [2]> then\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [danger: danger: x v] by (x)\nchange [danger: danger: y v] by (y)\nnext costume\n\n@Checkpoints\n\nwhen I receive [tick v]\nPosition ((@x) - (SCROLL X)) ((@y) - (SCROLL Y))\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\ndefine Clone at x: (x) y: (y)\nchange [check points number# v] by (1)\nset [@x v] to (x)\nset [@y v] to (y)\ncreate clone of (_myself_ v)\nhide\n\nwhen I start as a clone\nshow\nset [ghost v] effect to (0)\nswitch costume to (off v)\nforever\n    if <touching (player v)?> then\n        set [checkpoint x v] to (@x)\n        set [checkpoint y v] to (@y)\n    end\n    if <<(@x) = (CHECKPOINT X)> and <(@y) = (CHECKPOINT Y)>> then\n        repeat (8)\n            change [ghost v] effect by (11)\n        end\n        delete this clone\n    else\n        switch costume to (off v)\n    end\nend\n\nwhen flag clicked\nset [check points number# v] to [0]\nset [@x v] to [-120]\nset [@y v] to [100]\nset [checkpoint x v] to [-80]\nset [checkpoint y v] to [100]\n\nwhen I receive [play game v]\nswitch costume to (blankkk v)\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nshow\n\nwhen I receive [start v]\nset [@x v] to [-120]\nset [@y v] to [100]\nClone at x: [3200] y: [57]\n\n@Exit\n\nwhen I receive [tick v]\nPosition ((Exit: x) - (SCROLL X)) ((Exit: y) - (SCROLL Y))\n\ndefine Position (x) (y)\ngo to [back v] layer\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen flag clicked\nset [exit: x v] to [6146]\nset [exit: y v] to [291]\n\nwhen flag clicked\nforever\n    if <touching (player v)?> then\n        set [exit v] to [win]\n    end\nend\n\nwhen flag clicked\nhide\n\n@Collectables\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nnext costume\nPosition ((Collectables: x) - (SCROLL X)) ((Collectables: y) - (SCROLL Y))\nif <touching (player v)?> then\n    start sound [Collect v]\n    change [# v] by (1)\n    if <(COLLECTED) = (COLLECTED_MAX)> then\n        broadcast (Open Portal v)\n    end\n    delete this clone\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\ndefine Clone at x: (x) y: (y)\nset [collectables: x v] to (x)\nset [collectables: y v] to (y)\nchange [collected_max v] by (1)\ncreate clone of (_myself_ v)\n\nwhen flag clicked\nset [# v] to [0]\nset [coins v] to [0]\nset [collected v] to [0]\nset [collected_max v] to [0]\nhide\nset [collectables: x v] to [0]\nset [collectables: y v] to [0]\nif <(LEVEL2) = [1]> then\n    switch costume to (coin1 v)\n    Clone at x: [195] y: [50]\n    Clone at x: [430] y: [50]\n    Clone at x: [835] y: [210]\n    Clone at x: [1525] y: [240]\n    Clone at x: [2118] y: [338]\n    Clone at x: [4165] y: [80]\n    Clone at x: [4973] y: [360]\nend\nset [collectables: x v] to [-9999999999]\n\nwhen flag clicked\nforever\n    set [collected v] to (join (#) (join [ ] [/ 7]))\nend\n\n@texture\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [tick v]\nPosition ((3380) - (SCROLL X)) ((32) - (SCROLL Y))\n\nwhen flag clicked\nforever\n    go to [back v] layer\n    go to [back v] layer\nend\n\n@texture 2\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\n    go [backward v] (20) layers\nelse\n    hide\nend\n\nwhen I receive [tick v]\nPosition ((2161) - (SCROLL X)) ((503) - (SCROLL Y))\n\n@Cloud\n\nwhen I receive [tick v]\nPosition ((2500) - (SCROLL X)) ((150) - (SCROLL Y))\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    go to [back v] layer\n    show\nelse\n    hide\nend\n\n@music\n\nwhen I receive [play game v]\nforever\n    play sound [Danimal Cannon & Zef - Chronos v] until done\nend\n\n@TB\n\nwhen flag clicked\ngo to [front v] layer\nset [exit v] to []\nswitch costume to (tb v)\nrepeat (3)\n    repeat until <(EXIT) = [win]>\n        set [ghost v] effect to (100)\n    end\nend\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nset [ghost v] effect to (0)\nswitch costume to (win v)\n\nwhen flag clicked\nhide variable [collected v]\n\nwhen I receive [start v]\nshow variable [collected v]\n\nwhen flag clicked\nbroadcast (Start v)\n\nwhen flag clicked\nforever\n    go to [front v] layer\n    go to [front v] layer\n    go to [front v] layer\n    go to [front v] layer\nend\n\n@#\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\n\nwhen I receive [tick v]\nPosition ([x position v] of [player v]) ([y position v] of [player v])\n\nwhen flag clicked\nforever\n    hide\n    go to [front v] layer\n    go [backward v] (10) layers\nend\n\nwhen I receive [### v]\nif <(EXIT) = []> then\n    show\nend\n\nwhen [space v] key pressed\nif <(in air) > [10]> then\n    set volume to (2000) %\n    play sound [Low Whoosh v] until done\n    wait until <(in air) = [0]>\nend\n\nwhen flag clicked\nforever\n    if <(EXIT) = [win]> then\n        hide\n    end\nend\n\n@Gif\n\nwhen flag clicked\nset [exit v] to []\nswitch costume to (gif v)\nrepeat until <(EXIT) = [win]>\n    set [ghost v] effect to (100)\nend\n\nwhen [timer v] > (Timer)\nset [ghost v] effect to (0)\nforever\n    next costume\nend\n\nwhen flag clicked\nforever\n    set [timer v] to (timer)\nend\n\nwhen [timer v] > (Timer)\nset [ghost v] effect to (0)\nforever\n    go to [front v] layer\nend\n\n