☁ Mystic Forest - Multiplayer Scrolling Platformer #All #Games All Games
@Stage\n\n@@Blank\n\n@@Other_Players\n\ndefine begin decode of (encode)\nset [encoded v] to (encode)\nset [letter # v] to [1]\n\ndefine value=read from encode\nset [value v] to []\nforever\n    set [idx v] to (join (letter (letter #) of (Encoded)) (letter ((letter #) + (1)) of (Encoded)))\n    change [letter # v] by (2)\n    if <(idx) < [1]> then\n        stop [this script v]\n    end\n    set [value v] to (join (Value) (item (idx) of [code v]))\nend\n\ndefine setup players\nset [color v] effect to (90)\nset [offline v] to [100]\nhide\nset [player # v] to [1]\nrepeat ((MAX PLAYERS) - (1))\n    create clone of (_myself_ v)\n    change [player # v] by (1)\nend\n\nwhen I receive [begin v]\nforever\n    if <(My Player #) = (player #)> then\n        hide\n        set [offline v] to [100]\n    else\n        tick\n    end\nend\n\ndefine value=Cloud # (player)\nif <(player) = [1]> then\n    set [value v] to (☁ P1)\nelse\n    if <(player) = [2]> then\n        set [value v] to (☁ P2)\n    else\n        if <(player) = [3]> then\n            set [value v] to (☁ P3)\n        else\n            if <(player) = [4]> then\n                set [value v] to (☁ P4)\n            else\n                if <(player) = [5]> then\n                    set [value v] to (☁ P5)\n                else\n                    if <(player) = [6]> then\n                        set [value v] to (☁ P6)\n                    else\n                        if <(player) = [7]> then\n                            set [value v] to (☁ P7)\n                        else\n                            if <(player) = [8]> then\n                                set [value v] to (☁ P8)\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [setups v]\nsetup players\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 encode\nsay (Value)\nvalue=read from encode\nvalue=read from encode\nset x to ((Value) - (Scroll X))\nset [x v] to (Value)\nbroadcast (x v)\nvalue=read from encode\nset y to ((Value) - (Scroll Y))\nbroadcast (y v)\nset [y v] to (Value)\nif <<<(y position) < [-170]> or <[170] < (y position)>> or <<(x position) < [-230]> or <[230] < (x position)>>> then\n    set rotation style [all around v]\n    set size to (40) %\n    say []\n    switch costume to (arrow v)\n    point towards (@blank v)\n    point in direction (([atan v] of ((x position) / (y position)) ) + (<not <[0] > (y position)>> * (((((80) * (2)) + (40)) / (2)) + (80))))\n    if on edge, bounce\nelse\n    set size to (100) %\n    go to [front v] layer\n    set rotation style [left-right v]\n    switch costume to (costume2 v)\nend\nvalue=read from encode\n\n\n\nwhen I receive [join game v]\nvalue=Cloud # (player #)\nset [last value v] to (join [A] (Value))\nwait (3) seconds\nvalue=Cloud # (player #)\nif <(join [A] (Value)) = (Last Value)> then\n    set [my player # v] to (player #)\nend\n\nwhen I receive [x v]\n\n\nwhen flag clicked\nwait (3) seconds\n\n\n\nforever\n    if <(round ((Value) - (Scroll X))) > [150]> then\n        switch costume to (a1 v)\n    else\n        switch costume to (costume2 v)\n    end\nend\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\nwhen I start as a clone\nforever\n    go to [front v] layer\n    go [forward v] (4) layers\nend\n\nwhen I start as a clone\nforever\n    go to [front v] layer\nend\n\n@@End_Star\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPOSTION ((x) - (Scroll X)) ((y) - (Scroll Y))\n\ndefine POSTION (x) (y)\nset rotation style [left-right v]\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 (sx) (sy)\npoint in direction (90)\nset [x v] to (sx)\nset [y v] to (sy)\nset [startx v] to (sx)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\n\nforever\n    if <<touching (@player v)?> and <(Sy) < [0]>> then\n        delete this clone\n    else\n        broadcast (-1 Life v)\n        wait until <not <touching (@player v)?>>\n    end\nend\n\ndefine Smooth Gliding (end)\npoint in direction ((direction) * (-1))\nrepeat until <(round (x)) = (end)>\n    change [x v] by (((end) - (x)) / (10))\nend\n\nstop [this script v]\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(Level) = [1]> then\n    switch costume to (str v)\n    CLONE [2562] [1742]\nend\nset [x v] to [-99999]\n\nswitch costume to (red2 v)\n\nwhen I receive [die player v]\n\nhide\n\nset [ghost v] effect to (100)\ndelete this clone\n\nwhen flag clicked\nset [clone v] to [2]\n\nbroadcast (-1 Life v)\n\nchange [lives v] by (-1)\n\nwhen I start as a clone\nforever\n    if <touching (@player v)?> then\n        broadcast (WINNNSSSSS!!!! v)\n        delete this clone\n    end\n    wait until <not <touching (@player v)?>>\nend\n\nif <<(Sy) < [0]> and <([y position v] of [@player v]) > ((y position) + (15))>> then\n\nset size to (110) %\n\nwhen flag clicked\nset [coins v] to [0]\n\n@@Shop_Buy\n\nwhen I receive [shop v]\nglide (.3) secs to x: (0) y: (-120)\nforever\n    if <<mouse down?> and <not <touching (mouse-pointer v)?>>> then\n        change [yoyo v] by (1)\n        hide\n    end\nend\n\nwhen I receive [shop v]\nglide (.5) secs to x: (0) y: (-120)\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\ngo to x: (0) y: (-120)\nforever\n    go to [front v] layer\nend\n\nwhen I receive [yyeyszdf v]\nshow\nforever\n    if <<<<mouse down?> and <touching (mouse-pointer v)?>> and <<(COINS) > [30]> or <(COINS) = [30]>>> and <(costume [number v]) = [1]>> then\n        switch costume to (costume2 v)\n        set [jumpboost v] to [21]\n        set [coins v] to ((COINS) - (30))\n    end\nend\n\n@@Collectable_Life\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPOSTION ((x) - (Scroll X)) ((y) - (Scroll Y))\n\ndefine POSTION (x) (y)\nset rotation style [left-right v]\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 (sx) (sy)\npoint in direction (90)\nset [x v] to (sx)\nset [y v] to (sy)\nset [startx v] to (sx)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\n\nforever\n    if <<touching (@player v)?> and <(Sy) < [0]>> then\n        delete this clone\n    else\n        broadcast (-1 Life v)\n        wait until <not <touching (@player v)?>>\n    end\nend\n\ndefine Smooth Gliding (end)\npoint in direction ((direction) * (-1))\nrepeat until <(round (x)) = (end)>\n    change [x v] by (((end) - (x)) / (10))\nend\n\nstop [this script v]\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(Level) = [1]> then\n    switch costume to (life v)\n    CLONE [1105] [1470]\nend\nset [x v] to [-99999]\n\nswitch costume to (red2 v)\n\nwhen I receive [die player v]\n\nhide\n\nset [ghost v] effect to (100)\ndelete this clone\n\nwhen flag clicked\nset [clone v] to [2]\n\nbroadcast (-1 Life v)\n\nchange [lives v] by (-1)\n\nwhen I start as a clone\nforever\n    if <touching (@player v)?> then\n        change [lives v] by (1)\n        delete this clone\n    end\n    wait until <not <touching (@player v)?>>\nend\n\nif <<(Sy) < [0]> and <([y position v] of [@player v]) > ((y position) + (15))>> then\n\nset size to (110) %\n\nwhen flag clicked\nset [coins v] to [0]\n\n@@Player\n\ndefine Position\ngo to x: ((X) - (Scroll X)) y: ((Y) - (Scroll Y))\n\nwhen flag clicked\nset [scroll y v] to [0]\nset [x v] to [0]\nset [y v] to [0]\nset [scroll x v] to [0]\nbroadcast (GREEN FLAG v) and wait\nbroadcast (PLAY GAME v) and wait\n\ndefine Change Player Y By (sy)\nchange [y v] by (sy)\nchange [inair v] by (1)\nPosition\nrepeat until <not <touching (@platform v)?>>\n    if <(sy) > [0]> then\n        change [y v] by (-1)\n    else\n        change [y v] by (1)\n        set [inair v] to [0]\n    end\n    Position\n    set [sy v] to [0]\nend\n\ndefine GAME ON\nset [x v] to [0]\nset [y v] to [0]\nset [sy v] to [0]\nset [sx v] to [0]\nset [scroll x v] to [0]\nset [scroll y v] to [0]\nset [inair v] to [0]\nset [exit v] to []\nset size to (100) %\nset [ghost v] effect to (0)\nshow\n\nwhen I receive [green flag v]\nhide\ngo to [front v] layer\n\ndefine Game-Win\nrepeat (50)\n    point towards (exit v)\n    turn right (65) degrees\n    move ((distance to [exit v]) / (2)) steps\n    change size by (-1)\n    change [ghost v] effect by (2)\nend\nhide\nchange [level v] by (1)\nwait (1) seconds\n\ndefine Tick\nif <<<(mouse x) < (x position)> and <mouse down?>> or <<key (left arrow v) pressed?> or <key (a v) pressed?>>> then\n    change [sx v] by (-1.6)\nend\nif <<<(x position) < (mouse x)> and <mouse down?>> or <<key (right arrow v) pressed?> or <key (d v) pressed?>>> then\n    change [sx v] by (1.6)\nend\nset [sx v] to ((Sx) * (0.8))\nif <[0.9] < ([abs v] of (Sx) )> 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 <(inair) < [4]> then\n        set [sy v] to (JumpBoost)\n    end\nend\nif <(Sy) > [-20]> then\n    change [sy v] by (-2)\nend\nChange Player Y By (Sy)\nTest Die\nchange [scroll x v] by (round (((X) - (Scroll X)) / (8)))\nif <(Scroll X) < [0]> then\n    set [scroll x v] to [0]\nend\nif <[2649] < (Scroll X)> then\n    set [scroll x v] to [2649]\nend\nchange [scroll y v] by (round (((Y) - (Scroll Y)) / (8)))\nif <(Scroll Y) < [0]> then\n    set [scroll y v] to [0]\nend\nPosition\nif <(Y) < [-175]> then\n    set [exit v] to [die]\nend\n\ndefine GAME - DIE\nset [exit v] to []\nhide\n\ndefine Test Die\nif <touching (danger v)?> then\n    set [exit v] to [die]\nend\n\ndefine Change Player X By (sx)\nchange [x v] by (sx)\nPosition\nif <touching (@platform v)?> then\n    repeat (18)\n        change [y v] by (1)\n        Position\n        if <not <touching (@platform v)?>> then\n            stop [this script v]\n        end\n    end\n    change [y v] by (-18)\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 [inair v] to [0]\n    else\n        set [sx v] to [0]\n    end\n    repeat until <not <touching (@platform 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\nwhen flag clicked\nset [max players v] to [8]\nset [my player # v] to [0]\nbroadcast (setups v) and wait\nbroadcast (joining v)\nbroadcast (join game v) and wait\nif <(My Player #) > [0]> then\n    broadcast (joined v)\nelse\n    broadcast (full 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 [green flag v]\nset [level v] to [1]\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        if <(My Player #) > [0]> then\n            send cloud data\n        end\n    end\n    if <(Exit) = [win]> then\n        Game-Win\n    else\n        GAME - DIE\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                            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\nset cloud # (My Player #) to (Encoded)\n\nwhen flag clicked\nset [jumpboost v] to [16]\n\nwhen I receive [green flag v]\nset [coins v] to [0]\n\nwhen flag clicked\nforever\n    if <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <(mouse x) > [10]>>>> then\n        switch costume to (2a v)\n        if <<<mouse down?> and <(mouse y) > ((y position) + (10))>> or <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n            switch costume to (4a v)\n        end\n    else\n        if <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < [-10]>>>> then\n            switch costume to (1a v)\n            if <<<(mouse y) > ((y position) + (10))> and <mouse down?>> or <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n                switch costume to (5a v)\n            end\n        else\n            switch costume to (3a v)\n            if <<<(mouse y) > ((y position) + (10))> and <mouse down?>> or <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n                switch costume to (6a v)\n            end\n        end\n    end\nend\n\n@@Thumbnail\n\nwhen flag clicked\nset [ghost v] effect to (100)\nforever\n    go to x: (0) y: (10)\n    go to [front v] layer\nend\n\n@@Shop_Interface\n\nwhen flag clicked\ngo to [front v] layer\nset [yoyo v] to [0]\ngo to x: (0) y: (-300)\nhide\n\nwhen I receive [shop v]\nswitch costume to (shop v)\nshow\nglide (.3) secs to x: (0) y: (-120)\nbroadcast (yyeyszdf v)\nforever\n    if <<mouse down?> and <not <touching (mouse-pointer v)?>>> then\n        change [yoyo v] by (1)\n        glide (.3) secs to x: (0) y: (-300)\n        hide\n    end\nend\n\n@@Shop_Button\n\nwhen flag clicked\ngo to [front v] layer\nset size to (100) %\nforever\n    if <touching (mouse-pointer v)?> then\n        repeat until <(size) = [112]>\n            change size by (2)\n        end\n    else\n        set size to (100) %\n    end\nend\n\nwhen flag clicked\nforever\n    if <<mouse down?> and <touching (mouse-pointer v)?>> then\n        broadcast (SHOP v)\n    end\nend\n\n@@Platform_Art\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPOSTION ((x) - (Scroll X)) ((y) - (Scroll Y))\n\ndefine POSTION (x) (y)\nset rotation style [left-right v]\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 (sx) (sy)\npoint in direction (90)\nset [x v] to (sx)\nset [y v] to (sy)\nset [startx v] to (sx)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\n\nforever\n    if <<touching (@player v)?> and <(Sy) < [0]>> then\n        delete this clone\n    else\n        broadcast (-1 Life v)\n        wait until <not <touching (@player v)?>>\n    end\nend\n\ndefine Smooth Gliding (end)\npoint in direction ((direction) * (-1))\nrepeat until <(round (x)) = (end)>\n    change [x v] by (((end) - (x)) / (10))\nend\n\nstop [this script v]\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\ngo to [back v] layer\nif <(Level) = [1]> then\n    switch costume to (level 1 1 v)\n    CLONE [-50] [45]\n    CLONE [890] [45]\n    CLONE [1808] [45]\n    CLONE [2136] [45]\n    switch costume to (level 2 1 v)\n    CLONE [2384] [850]\n    switch costume to (level 2 2 v)\n    CLONE [1252] [850]\n    switch costume to (level 3 2 v)\n    CLONE [972] [1288]\n    switch costume to (level 3 3 v)\n    CLONE [1210] [1330]\n    switch costume to (level 3 4 v)\n    CLONE [2440] [1591]\n    switch costume to (level 3 1 v)\n    CLONE [1754] [1502]\nend\nset [x v] to [-99999]\n\nwhen I receive [die player v]\n\nhide\n\nwhen flag clicked\n\nset [ghost v] effect to (100)\ndelete this clone\n\nwhen flag clicked\nset [clone v] to [2]\n\nbroadcast (-1 Life v)\n\nchange [lives v] by (-1)\n\nwhen I start as a clone\n\nbroadcast (JUMP~ v)\ndelete this clone\n\nbroadcast (-1 Life v)\n\nSmooth Gliding ((startx) - (80))\nSmooth Gliding (startx)\n\nforever\n    if <touching (@player v)?> then\n        if <<(Sy) < [0]> and <([y position v] of [@player v]) > ((y position) + (15))>> then\n            change [sy v] by (50)\n        else\n            repeat until <not <touching (@player v)?>>\n                change [sx v] by (-2)\n            end\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    go to [back v] layer\n    go [backward v] (1) layers\nend\n\n@@Connecting_Art\n\nwhen flag clicked\nset [@c v] to [1]\ngo to [front v] layer\nset [ghost v] effect to (100)\nshow\ngo to x: (143) y: (150)\nswitch costume to (connecting v)\nwait (0.4) seconds\nrepeat (40)\n    change y by (((130) - (y position)) / (9))\n    change [ghost v] effect by (-10)\nend\n\nwhen I receive [begin v]\nswitch costume to (connected v)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nwait (3) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nrepeat until <(y position) > [80]>\n    change y by (((y position) - (-12)) / (8))\n    change [ghost v] effect by (16)\nend\nforever\n    stop [this script v]\nend\n\nwhen I receive [full v]\nswitch costume to (full v)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nwait (3) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nrepeat until <(y position) > [80]>\n    change y by (((y position) - (-12)) / (8))\n    change [ghost v] effect by (16)\nend\nforever\n    stop [this script v]\nend\n\nwhen flag clicked\nrepeat (5)\n    go to [front v] layer\nend\n\n@@Text Art\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPOSTION ((x) - (Scroll X)) ((y) - (Scroll Y))\n\ndefine POSTION (x) (y)\nset rotation style [left-right v]\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 (sx) (sy)\npoint in direction (90)\nset [x v] to (sx)\nset [y v] to (sy)\nset [startx v] to (sx)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\n\nforever\n    if <<touching (@player v)?> and <(Sy) < [0]>> then\n        delete this clone\n    else\n        broadcast (-1 Life v)\n        wait until <not <touching (@player v)?>>\n    end\nend\n\ndefine Smooth Gliding (end)\npoint in direction ((direction) * (-1))\nrepeat until <(round (x)) = (end)>\n    change [x v] by (((end) - (x)) / (10))\nend\n\nstop [this script v]\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(Level) = [1]> then\n    switch costume to (1a v)\n    CLONE [100] [100]\n    next costume\n    CLONE [536] [100]\n    next costume\n    CLONE [2649] [250]\n    next costume\n    CLONE [995] [1298]\nend\nset [x v] to [-99999]\n\nwhen I receive [die player v]\n\nhide\n\nwhen flag clicked\n\nset [ghost v] effect to (100)\ndelete this clone\n\nwhen flag clicked\nset [clone v] to [2]\n\nbroadcast (-1 Life v)\n\nchange [lives v] by (-1)\n\nwhen I start as a clone\n\nbroadcast (JUMP~ v)\ndelete this clone\n\nbroadcast (-1 Life v)\n\nSmooth Gliding ((startx) - (80))\nSmooth Gliding (startx)\n\nforever\n    if <touching (@player v)?> then\n        if <<(Sy) < [0]> and <([y position v] of [@player v]) > ((y position) + (15))>> then\n            change [sy v] by (50)\n        else\n            repeat until <not <touching (@player v)?>>\n                change [sx v] by (-2)\n            end\n        end\n    end\nend\n\n@@Robot_Trampoline\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPOSTION ((x) - (Scroll X)) ((y) - (Scroll Y))\n\ndefine POSTION (x) (y)\nset rotation style [left-right v]\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 (sx) (sy)\npoint in direction (90)\nset [x v] to (sx)\nset [y v] to (sy)\nset [startx v] to (sx)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\n\nforever\n    if <<touching (@player v)?> and <(Sy) < [0]>> then\n        delete this clone\n    else\n        broadcast (-1 Life v)\n        wait until <not <touching (@player v)?>>\n    end\nend\n\ndefine Smooth Gliding (end)\npoint in direction ((direction) * (-1))\nrepeat until <(round (x)) = (end)>\n    change [x v] by (((end) - (x)) / (10))\nend\n\nstop [this script v]\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(Level) = [1]> then\n    CLONE [2650] [250]\nend\nset [x v] to [-99999]\n\nwhen I receive [die player v]\n\nhide\n\nwhen flag clicked\n\nset [ghost v] effect to (100)\ndelete this clone\n\nwhen flag clicked\nset [clone v] to [2]\n\nwhen I start as a clone\nforever\n    Smooth Gliding ((startx) - (80))\n    Smooth Gliding (startx)\nend\n\nbroadcast (-1 Life v)\n\nchange [lives v] by (-1)\n\nwhen I start as a clone\nforever\n    if <touching (@player v)?> then\n        if <<(Sy) < [0]> and <([y position v] of [@player v]) > ((y position) + (15))>> then\n            change [sy v] by (50)\n        else\n        end\n    end\nend\n\nbroadcast (JUMP~ v)\ndelete this clone\n\nbroadcast (-1 Life v)\n\nwhen flag clicked\ngo to [front v] layer\n\n@@Platform\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPosition ((x) - (Scroll X)) ((y) - (Scroll Y))\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (11 v)\nif <(Level) = [1]> then\n    Clone At X [360] Y [0]\n    Clone At X [360] Y [0]\n    Clone At X [360] Y [0]\n    Clone At X [360] Y [0]\n    Clone At X [360] Y [0]\n    Clone At X [360] Y [0]\n    Clone At X [360] Y [400]\n    Clone At X [-360] Y [400]\n    Clone At X [-360] Y [0]\n    Clone At X [-400] Y [0]\n    Clone At X [-400] Y [0]\n    Clone At X [360] Y [0]\n    Clone At X [-360] Y [0]\n    Clone At X [-360] Y [0]\n    Clone At X [-360] Y [0]\n    Clone At X [360] Y [0]\n    Clone At X [360] Y [100]\n    Clone At X [360] Y [100]\n    Clone At X [-360] Y [200]\n    Clone At X [360] Y [200]\n    Clone At X [360] Y [200]\n    Clone At X [360] Y [0]\n    Clone At X [360] Y [0]\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 [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nwhen flag clicked\nswitch costume to (11 v)\n\nbroadcast (SETUP v)\n\nClone At X [2214] Y [100]\n\nClone At X [460] Y [0]\n\nClone At X [180] Y [-370]\n\nswitch costume to (11 v)\n\nswitch costume to (1 1 v)\nswitch costume to (1 2 v)\nswitch costume to (1 3 v)\nswitch costume to (1 4 v)\nswitch costume to (1 6 v)\nswitch costume to (1 5 v)\nswitch costume to (1 7 v)\nswitch costume to (1 8 v)\n\nswitch costume to (1 9 v)\n\nswitch costume to (1 11 v)\n\nClone At X [-400] Y [0]\n\nwhen flag clicked\ngo to [back v] layer\n\n@@Coins\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPOSTION ((x) - (Scroll X)) ((y) - (Scroll Y))\n\ndefine POSTION (x) (y)\nset rotation style [left-right v]\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 (sx) (sy)\npoint in direction (90)\nset [x v] to (sx)\nset [y v] to (sy)\nset [startx v] to (sx)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\n\nforever\n    if <<touching (@player v)?> and <(Sy) < [0]>> then\n        delete this clone\n    else\n        broadcast (-1 Life v)\n        wait until <not <touching (@player v)?>>\n    end\nend\n\ndefine Smooth Gliding (end)\npoint in direction ((direction) * (-1))\nrepeat until <(round (x)) = (end)>\n    change [x v] by (((end) - (x)) / (10))\nend\n\nstop [this script v]\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(Level) = [1]> then\n    switch costume to (coin v)\n    CLONE [100] [-10]\n    CLONE [170] [-10]\n    CLONE [700] [-10]\n    CLONE [770] [-10]\n    CLONE [840] [-10]\n    CLONE [910] [-10]\n    CLONE [1050] [-10]\n    CLONE [1190] [-10]\n    CLONE [1260] [-10]\n    CLONE [1489] [115]\n    CLONE [1629] [115]\n    CLONE [2200] [-10]\n    CLONE [2218] [770]\n    CLONE [2218] [770]\n    CLONE [2148] [770]\n    CLONE [2078] [770]\n    CLONE [2008] [770]\n    CLONE [1938] [770]\n    CLONE [800] [1228]\n    CLONE [680] [1228]\n    CLONE [740] [1228]\n    CLONE [1283] [1506]\n    CLONE [1327] [1506]\n    CLONE [1375] [1506]\nend\nset [x v] to [-99999]\n\nswitch costume to (red2 v)\nCLONE [600] [-20]\n\nwhen I receive [die player v]\n\nhide\n\nset [ghost v] effect to (100)\ndelete this clone\n\nwhen flag clicked\nset [clone v] to [2]\n\nbroadcast (-1 Life v)\n\nchange [lives v] by (-1)\n\nwhen I start as a clone\nforever\n    if <touching (@player v)?> then\n        change [coins v] by (1)\n        delete this clone\n    end\n    wait until <not <touching (@player v)?>>\nend\n\nif <<(Sy) < [0]> and <([y position v] of [@player v]) > ((y position) + (15))>> then\n\nset size to (110) %\n\nwhen flag clicked\nset [coins v] to [0]\n\n@@You_Win\n\nwhen flag clicked\nhide\n\nwhen I receive [winnnsssss!!!! v]\nshow\nset [ghost v] effect to (100)\ngo to x: (0) y: (0)\nshow\nswitch costume to (blank v)\nset size to (150) %\nswitch costume to (win screen v)\nrepeat (50)\n    go to [front v] layer\n    switch costume to (blank v)\n    switch costume to (win screen v)\n    change [ghost v] effect by (-5)\n    change size by (((100) - (size)) / (40))\n    set x to (((((pick random (0) to (1)) * (2)) - (1)) * ((size) - (100))) * (0.75))\n    set y to (((((pick random (0) to (1)) * (2)) - (1)) * ((size) - (100))) * (0.75))\nend\ngo to x: (0) y: (0)\nforever\n    set [ghost v] effect to (0)\n    go to [front v] layer\n    if <<key (space v) pressed?> or <mouse down?>> then\n        repeat (10)\n            change [ghost v] effect by (10)\n            hide\n            stop [this script v]\n        end\n    end\nend\n\n@@Your_Lives\n\nwhen flag clicked\ngo to [front v] layer\nshow\nforever\n    switch costume to (Lives)\nend\n\nwhen I receive [die player v]\nhide\n\nwhen I receive [begin v]\nshow\n\nwhen I receive [ded v]\nhide\n\nwhen flag clicked\nset [lives v] to [2]\n\nwhen flag clicked\nforever\n    if <(Lives) = [0]> then\n        set [lives v] to [2]\n        broadcast (GREEN FLAG v)\n    end\nend\n\n@@Enemy\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPOSTION ((x) - (Scroll X)) ((y) - (Scroll Y))\n\ndefine POSTION (x) (y)\nset rotation style [left-right v]\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 (sx) (sy)\npoint in direction (90)\nset [x v] to (sx)\nset [y v] to (sy)\nset [startx v] to (sx)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\n\nforever\n    if <<touching (@player v)?> and <(Sy) < [0]>> then\n        delete this clone\n    else\n        broadcast (-1 Life v)\n    end\nend\n\ndefine Smooth Gliding (end)\npoint in direction ((direction) * (-1))\nrepeat until <(round (x)) = (end)>\n    change [x v] by (((end) - (x)) / (10))\nend\n\nstop [this script v]\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(Level) = [1]> then\n    switch costume to (red1 v)\n    CLONE [500] [-11]\n    switch costume to (yellow 1 v)\n    CLONE [2085] [-10]\n    switch costume to (red1 v)\n    CLONE [1300] [770]\n    switch costume to (yellow 1 v)\n    CLONE [592] [865]\n    switch costume to (yellow 1 v)\nend\nset [x v] to [-99999]\n\nwhen I receive [die player v]\n\nhide\n\nwhen flag clicked\n\nset [ghost v] effect to (100)\ndelete this clone\n\nwhen flag clicked\nset [clone v] to [2]\n\nwhen I start as a clone\nforever\n    Smooth Gliding ((startx) - (80))\n    Smooth Gliding (startx)\nend\n\nbroadcast (-1 Life v)\n\nchange [lives v] by (-1)\n\nwhen I start as a clone\nforever\n    if <touching (@player v)?> then\n        if <<(Sy) < [0]> and <([y position v] of [@player v]) > ((y position) + (15))>> then\n            change [coins v] by (5)\n            change [sy v] by (35)\n            broadcast (JUMP~ v)\n            delete this clone\n        else\n            repeat until <not <touching (@player v)?>>\n                change [sx v] by (-6)\n            end\n            change [lives v] by (-1)\n            wait until <not <touching (@player v)?>>\n        end\n    end\nend\n\nbroadcast (-1 Life v)\n\n@@Danger\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\ngo to [front v] layer\nPOSTION ((x) - (Scroll X)) ((y) - (Scroll Y))\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(Level) = [1]> then\n    switch costume to (level 1 1 v)\n    CLONE AT X [360] Y [0]\nend\n\ndefine POSTION (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 [x v] by (x)\nchange [y v] by (y)\nnext costume\n\n@@Coin_Display\n\n@@Coin_Number\n\nwhen flag clicked\nset size to (60) %\nhide\nset [x position of numbers v] to [150]\nset [the number v] to [1]\nset [maximum length v] to [5]\nset [width between numbers v] to [22]\ngo to x: (x position of numbers) y: (135)\nrepeat (maximum length)\n    set [the number v] to (COINS)\n    create clone of (_myself_ v)\n    change x by (width between numbers)\nend\n\nwhen I start as a clone\ngo to [front v] layer\nshow\nforever\n    switch costume to (letter ((((x position) - (x position of numbers)) / (width between numbers)) + (1)) of (COINS))\n    if <(letter ((((x position) - (x position of numbers)) / (width between numbers)) + (1)) of (COINS)) = []> then\n        hide\n    else\n        show\n    end\nend\n\n@Music\n\nwhen flag clicked\nforever\n    set volume to (30) %\n    play sound [Vexento - Happy Robot v] until done\nend\n\n@@extra\n\nwhen flag clicked\nhide\nadd [-VOLCAN-] to [bannedlist v]\nadd [FreshMarshPuff] to [bannedlist v]\nadd [Dregyptson] to [bannedlist v]\nbroadcast (ban v)\n\nwhen I receive [ban v]\nforever\n    if <[bannedlist v] contains (username)?> then\n        go to [front v] layer\n        show\n        forever\n            stop [other scripts in sprite v]\n        end\n    else\n        hide\n    end\nend\n\nadd [RyhamTEST] to [bannedlist v]\n\ndelete all of [bannedlist v]\n\nwhen flag clicked\n\n
                         ✦✦ Mystic Forest ✦✦   \n              ✿ Multiplayer Scrolling Platformer ✿   \n\n★How To Play:★\n  ➜ Arrow keys or mobile to move\n  ➜ Jump on critters to defeat them\n  ➜ Try to keep all your lives do not die\n  ➜ Collect coins and use them in the shop\n  ➜ Play with your friends in multiplayer, who will win!\n  ➜ Get to the end star to win. If you want to keep \n       playing press space or click\n          \n        Make Sure to ❤️ and ⭐ for more fun games\n\nMore Info:\n ✔ Must be a scratcher to play multiplayer \n ✔ The maximum players is 8 if full you will not be seen\n\nPlease No Advertising\n\nMake sure to follow me @Ryham301\n\nHave Fun!\n\nCredits:\nMe For art\nStratfordJames for art\n0014049 for moving\nGriffpatch for multiplayer and scrolling engines\nAll art inspired my Super Phantom Cat 2 \nMusic Happy Robot \n\nTags: \n\n#StratfordJames for the Idea And so much help and stuff TYSM\n\n\n                  