☁️ Mythical Valleys || Multiplayer Scrolling Platformer [Demo]
@Stage\n\nwhen flag clicked\nforever\n    if <<(current [hour v]) < [19]> and <(current [hour v]) > [7]>> then\n        switch backdrop to (day v)\n    else\n        switch backdrop to (night v)\n    end\nend\n\nwhen flag clicked\nset volume to (100) %\nforever\n    play sound [Clarv & Arkis - Polar \[Bass Rebels Release\]  v] until done\nend\n\nstop all sounds\n\nwhen flag clicked\nforever\n    set [fps v] to ((1) / (((((days since 2000) - (Last time)) * (24)) * (60)) * (60)))\n    set [last time v] to (days since 2000)\nend\n\nwhen flag clicked\nforever\nend\n\n@1 . Blank_Nothing\n\n@2 . Game_Player\n\nwhen flag clicked\ndelete all of [chat v]\nadd [Hi!] to [chat v]\nadd [Come with me!] to [chat v]\nadd [Ok!] to [chat v]\nadd [Nice!] to [chat v]\nadd [Look at me!] to [chat v]\nadd [Hard!] to [chat v]\nadd [lol] to [chat v]\nadd [Bye!] to [chat v]\nadd [No thank you.] to [chat v]\n\nwhen flag clicked\nshow list [chat v]\nset [is the chat open v] to [0]\nforever\n    if <<key (t v) pressed?> or <<touching (mouse-pointer v)?> and <mouse down?>>> then\n        if <(is the chat open) = [1]> then\n            set [is the chat open v] to [0]\n        else\n            set [is the chat open v] to [1]\n        end\n        wait until <<not <<touching (mouse-pointer v)?> and <mouse down?>>> and <not <key (t v) pressed?>>>\n    end\n    Chat\nend\n\ndefine Chat\nif <(is the chat open) = [1]> then\n    if <key (1 v) pressed?> then\n        set [chat v] to [1]\n        say (item (CHAT) of [chat v])\n        wait (2) seconds\n        say []\n        set [chat v] to [0]\n    else\n        if <key (2 v) pressed?> then\n            set [chat v] to [2]\n            say (item (CHAT) of [chat v])\n            wait (2) seconds\n            say []\n            set [chat v] to [0]\n        else\n            if <key (3 v) pressed?> then\n                set [chat v] to [3]\n                say (item (CHAT) of [chat v])\n                wait (2) seconds\n                say []\n                set [chat v] to [0]\n            else\n                if <key (4 v) pressed?> then\n                    set [chat v] to [4]\n                    say (item (CHAT) of [chat v])\n                    wait (2) seconds\n                    say []\n                    set [chat v] to [0]\n                else\n                    if <key (5 v) pressed?> then\n                        set [chat v] to [5]\n                        say (item (CHAT) of [chat v])\n                        wait (2) seconds\n                        say []\n                        set [chat v] to [0]\n                    else\n                        if <key (6 v) pressed?> then\n                            set [chat v] to [6]\n                            say (item (CHAT) of [chat v])\n                            wait (2) seconds\n                            say []\n                            set [chat v] to [0]\n                        else\n                            if <key (7 v) pressed?> then\n                                set [chat v] to [7]\n                                say (item (CHAT) of [chat v])\n                                wait (2) seconds\n                                say []\n                                set [chat v] to [0]\n                            else\n                                if <key (8 v) pressed?> then\n                                    set [chat v] to [8]\n                                    say (item (CHAT) of [chat v])\n                                    wait (2) seconds\n                                    say []\n                                    set [chat v] to [0]\n                                else\n                                    if <key (9 v) pressed?> then\n                                        set [chat v] to [9]\n                                        say (item (CHAT) of [chat v])\n                                        wait (2) seconds\n                                        say []\n                                        set [chat v] to [0]\n                                    else\n                                        set [chat v] to [0]\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen flag clicked\nset [my player # v] to [0]\nset [max players v] to [10]\nbroadcast (setup opponents v) and wait\nbroadcast (join game v) and wait\nset [connect v] to [Connecting]\nif <(MY PLAYER #) > [0]> then\n    set [connect v] to [Connected]\nelse\n    set [connect v] to [Full]\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 (costume [number v]) to encoded\nwrite (username) to encoded\nwrite (round ((timer) * (10))) to encoded\nwrite (x) to encoded\nwrite (y) to encoded\nwrite (CHAT) to encoded\nset cloud # (MY PLAYER #) to (encoded)\n\nwhen flag clicked\nbroadcast (Green flag v) and wait\nbroadcast (Play Game v) and wait\n\nwhen I receive [green flag v]\nhide\ngo to [front v] layer\n\nwhen I receive [play game v]\nset [level v] to [1]\nforever\n    broadcast (Reset v) and wait\n    broadcast (Setup v) and wait\n    Reset\n    repeat until <(EXIT) > []>\n        Tick\n        broadcast (Tick v)\n    end\n    if <(EXIT) = [win]> then\n        Game - Win\n    else\n        set [exit v] to []\n    end\nend\n\ndefine Tick\nif <(TS \(mouse touching shop\)) = [0]> then\n    if <(TSB \(mouse touching shop button\)) = [0]> then\n        if <(Speed boost) = [1]> then\n            if <touching (26 . water_game v)?> then\n                change [sx v] by ((1.3) * ((2) * (<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<((mouse x) - (20)) > (x position)> and <mouse down?>>> - <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<((mouse x) + (20)) < (x position)> and <mouse down?>>>)))\n                set [sx v] to ((sx) * (1.0))\n            else\n                if <touching (10 . ladder_game v)?> then\n                    change [sx v] by ((1.3) * ((2) * (<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<((mouse x) - (20)) > (x position)> and <mouse down?>>> - <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<((mouse x) + (20)) < (x position)> and <mouse down?>>>)))\n                    set [sx v] to ((sx) * (1.0))\n                else\n                    change [sx v] by ((1.3) * ((1.8) * (<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<((mouse x) - (20)) > (x position)> and <mouse down?>>> - <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<((mouse x) + (20)) < (x position)> and <mouse down?>>>)))\n                    set [sx v] to ((sx) * (0.75))\n                end\n            end\n        else\n            if <touching (26 . water_game v)?> then\n                change [sx v] by ((1.8) * (<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<((mouse x) - (20)) > (x position)> and <mouse down?>>> - <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<((mouse x) + (20)) < (x position)> and <mouse down?>>>))\n                set [sx v] to ((sx) * (0.7))\n            else\n                if <touching (10 . ladder_game v)?> then\n                    change [sx v] by ((3) * (<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<((mouse x) - (20)) > (x position)> and <mouse down?>>> - <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<((mouse x) + (20)) < (x position)> and <mouse down?>>>))\n                    set [sx v] to ((sx) * (0.65))\n                else\n                    change [sx v] by ((1.8) * (<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<((mouse x) - (20)) > (x position)> and <mouse down?>>> - <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<((mouse x) + (20)) < (x position)> and <mouse down?>>>))\n                    set [sx v] to ((sx) * (0.75))\n                end\n            end\n        end\n    end\nend\nif <([abs v] of (sx) ) > [0.9]> then\n    Change Player x by (round (sx))\nend\nif <(TS \(mouse touching shop\)) = [0]> then\n    if <(TSB \(mouse touching shop button\)) = [0]> then\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<((mouse y) + (-20)) > (y position)> and <mouse down?>>> then\n            if <(in air) < [3]> then\n                if <(sy) > [-2]> then\n                    if <(Jump boost) = [1]> then\n                        set [sy v] to [15]\n                    else\n                        set [sy v] to [12]\n                    end\n                end\n            end\n        end\n    end\nend\nif <touching (6 . trampoline_game v)?> then\n    set [sy v] to [20]\nend\nif <touching (26 . water_game v)?> then\n    if <(TS \(mouse touching shop\)) = [0]> then\n        if <(TSB \(mouse touching shop button\)) = [0]> then\n            if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<((mouse y) + (-20)) > (y position)> and <mouse down?>>> then\n                change [y v] by (2)\n            end\n            if <<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<((mouse y) - (20)) < (y position)> and <mouse down?>>> then\n                change [y v] by (-2)\n            end\n        end\n    end\n    if <(water tick) > [0]> then\n        change [sy v] by (-0.9)\n    else\n        change [sy v] by (0.9)\n    end\n    if <(water tick) > [15]> then\n        set [water tick v] to [-15]\n    end\n    change [water tick v] by (0.0000001)\nelse\n    set [water tick v] to [-15]\n    if <touching (10 . ladder_game v)?> then\n        if <(TS \(mouse touching shop\)) = [0]> then\n            if <(TSB \(mouse touching shop button\)) = [0]> then\n                if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<((mouse y) + (-20)) > (y position)> and <mouse down?>>> then\n                    change [y v] by (6)\n                end\n                if <<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<((mouse y) - (20)) < (y position)> and <mouse down?>>> then\n                    change [y v] by (-6)\n                end\n            end\n        end\n        set [sy v] to [0]\n    else\n        if <(sy) > [-20]> then\n            change [sy v] by (-1.3)\n        end\n    end\nend\nChange player y by (sy)\n Test - Die\nset [scroll x v] to (x)\nif <(SCROLL X) < [0]> then\n    set [scroll x v] to [0]\nend\nPosition\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 <<<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<((mouse x) - (20)) > (x position)> and <mouse down?>>> or <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<((mouse x) + (20)) < (x position)> and <mouse down?>>>> or <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<((mouse y) - (20)) > (y position)> and <mouse down?>>> or <<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<((mouse y) + (20)) > (y position)> and <mouse down?>>>>> then\n    set [timeout v] to [1000]\nelse\n    change [timeout v] by (-1)\nend\nif <(Timeout) < [1]> then\n    if <not <<(username) = [AumsumTheGreatHulk]> or <(username) = [TheCactusMaster]>>> then\n        broadcast (timeout v)\n        hide\n    end\nend\n\ndefine Change Player x by (sx)\nchange [x v] by (sx)\nPosition\nif <touching (5 . platforms_game v)?> then\n    repeat (8)\n        change [y v] by (1)\n        Position\n        if <not <touching (5 . platforms_game v)?>> then\n            stop [this script v]\n        end\n    end\n    change [y v] by (-8)\n    if <touching (5 . platforms_game v)?> then\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<((mouse y) - (5)) > (y position)> and <mouse down?>>> then\n            if <(sx) > [0]> then\n                set [sx v] to [-16]\n            else\n                set [sx v] to [16]\n            end\n            set [sy v] to [12]\n        end\n        Position\n    end\n    repeat until <not <touching (5 . platforms_game v)?>>\n        change [x v] by ((([abs v] of (sx) ) / (sx)) * (-1))\n        Position\n    end\nend\n\ndefine Change player y by (sy)\nchange [y v] by (sy)\nchange [in air v] by (1)\nPosition\nrepeat until <not <touching (5 . platforms_game v)?>>\n    change [y v] by ((([abs v] of (sy) ) / (sy)) * (-1))\n    if <(sy) < [0]> then\n        set [in air v] to [0]\n    end\n    Position\n    set [sy v] to [0]\nend\nif <touching (11 . jump_through v)?> then\n    if <(sy) < [0]> then\n        change [y v] by ((sy) * (-1))\n        set [sy v] to [0]\n        set [in air v] to [0]\n        Position\n    end\nend\n\ndefine Position\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\n\ndefine  Test - Die\nif <<touching (7 . saws_danger v)?> or <touching (8 . spikes_danger v)?>> then\n    set [exit v] to [die]\n    Reset\nend\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\nset [ghost v] effect to (0)\n\nwhen flag clicked\nforever\n    if <(TS \(mouse touching shop\)) = [0]> then\n        if <(TSB \(mouse touching shop button\)) = [0]> then\n            if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<((mouse y) + (-20)) > (y position)> and <mouse down?>>> and <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<((mouse x) + (15)) > (x position)> and <mouse down?>>>> then\n                switch costume to (right up v)\n            else\n                if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<((mouse y) + (-20)) > (y position)> and <mouse down?>>> and <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<((mouse x) - (15)) < (x position)> and <mouse down?>>>> then\n                    switch costume to (left up v)\n                else\n                    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<((mouse y) + (-20)) > (y position)> and <mouse down?>>> then\n                        switch costume to (left up v)\n                    else\n                        if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<((mouse x) - (-20)) > (x position)> and <mouse down?>>> then\n                            switch costume to (right v)\n                        else\n                            if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<((mouse x) + (-20)) < (x position)> and <mouse down?>>> then\n                                switch costume to (left v)\n                            else\n                                switch costume to (middle v)\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [timeout v]\nhide\n\ndefine Reset\nif <(CHECKPOINT) = [0]> then\n    set [x v] to [-100]\n    set [y v] to [-60]\n    set [scroll y v] to (y)\n    set [scroll x v] to (x)\nelse\n    if <(CHECKPOINT) = [1]> then\n        set [x v] to [703]\n        set [y v] to [-95]\n        set [scroll y v] to (y)\n        set [scroll x v] to (x)\n    else\n        if <(CHECKPOINT) = [2]> then\n            set [x v] to [1925]\n            set [y v] to [237]\n            set [scroll y v] to (y)\n            set [scroll x v] to (x)\n        end\n    end\nend\nset [sx v] to [0]\nset [sy v] to [0]\nset [water tick v] to [-7]\nset [in air v] to [10]\nset [timeout v] to [1000]\nset [exit v] to []\nset size to (100) %\nshow\nset rotation style [left-right v]\n\nset [sy v] to [0]\n\nset [sy v] to [0]\n\n@3 . Opponents_Cloud\n\ndefine Decode chat (#)\nif <(#) = [0]> then\n\nwhen I receive [decode chat v]\nDecode chat (value)\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\ndefine setup players\nhide\nset [offline v] to [100]\nset [player # v] to [1]\npoint in direction (90)\nrepeat ((MAX PLAYERS) - (1))\n    create clone of (_myself_ v)\n    change [player # v] by (1)\nend\n\nwhen I receive [begin v]\nforever\n    if <(MY PLAYER #) = (player #)> then\n        set [offline v] to [100]\n    else\n        tick\n    end\nend\n\ndefine value = cloud # (player #)\nif <(player #) = [1]> then\n    set [value v] to (☁ P1)\nelse\n    if <(player #) = [2]> then\n        set [value v] to (☁ P2)\n    else\n        if <(player #) = [3]> then\n            set [value v] to (☁ P3)\n        else\n            if <(player #) = [4]> then\n                set [value v] to (☁ P4)\n            else\n                if <(player #) = [5]> then\n                    set [value v] to (☁ P5)\n                else\n                    if <(player #) = [6]> then\n                        set [value v] to (☁ P6)\n                    else\n                        if <(player #) = [7]> then\n                            set [value v] to (☁ P7)\n                        else\n                            if <(player #) = [8]> then\n                                set [value v] to (☁ P8)\n                            else\n                                if <(player #) = [9]> then\n                                    set [value v] to (☁ P9)\n                                else\n                                    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 [decode chat v]\nDecode chat (value)\n\ndefine tick\nvalue = cloud # (player #)\nif <(join (value) [A]) = (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 (value) [A])\n    if <(offline) > [99]> then\n        show\n    end\n    set [offline v] to [0]\nend\nbegin decode of (value)\nvalue = read from encoded\nswitch costume to (value)\nvalue = read from encoded\nif <<<(y position) < [-160]> or <[160] < (y position)>> or <<(x position) < [-220]> or <[220] < (x position)>>> then\n    think []\n    set [ghost v] effect to (0)\n    go to [front v] layer\n    if on edge, bounce\n    set rotation style [all around v]\n    switch costume to (arrow v)\n    point towards (player v)\nelse\n    set [ghost v] effect to (10)\n    set rotation style [don't rotate v]\n    think (value)\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))\nif <(costume [name v]) = [Arrow]> then\n    if on edge, bounce\n    set rotation style [all around v]\n    point towards (2 . game_player v)\nend\nvalue = read from encoded\nbroadcast (Decode chat v)\n\nwhen I receive [join game v]\nvalue = cloud # (player #)\nset [last value v] to (join (value) [A])\nwait (3) seconds\nvalue = cloud # (player #)\nif <(join (value) [A]) = (last value)> then\n    set [my player # v] to (player #)\nend\n\nwhen I receive [setup opponents v]\nsetup players\n\n@4 . Connnect_Multiplayer\n\nwhen flag clicked\nclear graphic effects\nswitch costume to (connecting v)\ngo to x: (130) y: (130)\nforever\n    wait (1) seconds\n    if <(CONNECT) = [Connected]> then\n        switch costume to (connected v)\n        wait (2) seconds\n        repeat (20)\n            change [ghost v] effect by (5)\n        end\n    else\n        if <(CONNECT) = [Full]> then\n            switch costume to (full v)\n        else\n            switch costume to (connecting v)\n        end\n    end\nend\n\nwhen I receive [timeout v]\ngo to x: (0) y: (0)\nclear graphic effects\nswitch costume to (timeout2 v)\nshow\ngo to [front v] layer\nstop [all v]\n\nwait (2) seconds\n\n@5 . Platforms_Game\n\nwhen I receive [green flag v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nClone at [480] [0]\nClone at [480] [0]\nClone at [360] [180]\nClone at [450] [2]\nClone at [360] [150]\nClone at [0] [0]\nClone at [480] [61]\nClone at [0] [-250]\nClone at [-150] [-100]\nClone at [480] [160]\nClone at [470] [-1]\nClone at [470] [0]\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) (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\n@6 . Trampoline_Game\n\nwhen I receive [green flag v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nClone at [555] [-102]\nClone at [2601] [831]\nset [x v] to [-99999]\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <touching (2 . game_player v)?> then\n    switch costume to (2 v)\nelse\n    switch costume to (1 v)\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) (y)\nset [x v] to (x)\nset [y v] to (y)\ncreate clone of (_myself_ v)\n\n@7 . Saws_Danger\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nturn right (6) degrees\ngo to [back v] layer\ngo [forward v] (5) layers\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 [play game v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nif <((1) + (1)) = [2]> then\n    Clone at [175] [-105]\n    Clone at [1595] [65]\n    Clone at [1920] [70]\n    Clone at [2050] [465]\n    Clone at [2221] [215]\n    Clone at [2258] [360]\n    Clone at [2276] [215]\n    Clone at [3204] [211]\n    Clone at [3317] [79]\n    Clone at [3427] [214]\n    Clone at [3542] [79]\nend\nset [x v] to [-99999]\n\ndefine Clone at (x) (y)\nset [x v] to (x)\nset [y v] to (y)\ncreate clone of (_myself_ v)\n\n@8 . Spikes_Danger\n\nwhen I receive [green flag v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <[400] > [50]> then\n    switch costume to (1 v)\n    Clone at [480] [0]\n    Clone at [480] [0]\n    Clone at [360] [180]\n    Clone at [730] [150]\n    Clone at [480] [140]\n    Clone at [480] [-270]\n    Clone at [960] [0]\nend\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) (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nset [x v] to [0]\n\nClone at [-99999999999999] [-99999999999999]\n\n@9 . Chat_Cloud\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nshow\nset [ghost v] effect to (100)\nforever\n    set size to (0) %\n    wait until <(is the chat open) = [1]>\n    repeat (10)\n        set size to ((size) + (((100) - (size)) / (3))) %\n        change [ghost v] effect by (-10)\n    end\n    wait until <(is the chat open) = [0]>\n    repeat (10)\n        set size to ((size) + (((0) - (size)) / (3))) %\n        change [ghost v] effect by (10)\n    end\nend\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nshow\nset [ghost v] effect to (100)\n\nwhen [timer v] > (0.01)\nset [ghost v] effect to (100)\n\n@10 . Ladder_Game\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]\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nClone at [480] [0]\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) (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\n@11 . Jump_Through\n\nwhen I receive [green flag v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nClone at [960] [0]\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\ngo to [back v] layer\ngo [forward v] (5) layers\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) (y)\nchange [x v] by (x)\nchange [y v] by (y)\ncreate clone of (_myself_ v)\n\nhide\n\n@12 . Cloud_Art\n\nwhen I receive [green flag v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nClone at [880] [0]\nset [x v] to [-9999999]\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) (y)\nchange [x v] by (x)\nchange [y v] by (y)\ncreate clone of (_myself_ v)\n\n@13 . Clouds_Other\n\nwhen flag clicked\nset [ghost v] effect to (0)\nforever\n    hide\n    create clone of (_myself_ v)\n    wait (pick random (1.5) to (3)) seconds\nend\n\nwhen I start as a clone\nshow\nswitch costume to (pick random (1) to (5))\nif <(pick random (1) to (2)) = [2]> then\n    set [d v] to [-250]\nelse\n    set [d v] to [250]\nend\ngo to x: (d) y: (pick random (-130) to (170))\nset [ghost v] effect to (pick random (40) to (70))\nif <(d) = [250]> then\n    repeat until <(x position) < [-267]>\n        change x by (pick random (-1) to (-3))\n        go to [back v] layer\n        go to [back v] layer\n        go [backward v] (999) layers\n    end\nelse\n    repeat until <(x position) > [267]>\n        change x by (pick random (1) to (3))\n        go to [back v] layer\n        go to [back v] layer\n        go [backward v] (999) layers\n    end\nend\ndelete this clone\n\nwhen I receive [setup v]\ndelete this clone\n\n@14 . Coin_counter\n\nwhen flag clicked\nset size to (110) %\nset [clone# v] to [1]\nrepeat (30)\n    create clone of (_myself_ v)\n    change [clone# v] by (1)\nend\nhide\n\nwhen I start as a clone\nshow\nforever\n    go to x: (((clone#) * (15)) - (-55)) y: (155)\n    if <(length of (COINS)) < (clone#)> then\n        hide\n    else\n        show\n        switch costume to (letter (clone#) of (COINS))\n    end\nend\n\n@15 . Tree_Other\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\nwhen I receive [green flag v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nClone at [-91] [-58]\nClone at [1152] [143]\nClone at [1758] [120]\nset [x v] to [-99999]\n\ndefine Clone at (x) (y)\nset [x v] to (x)\nset [y v] to (y)\ncreate clone of (_myself_ v)\n\nClone at [-91] [-58]\n\nwhen flag clicked\ngo [backward v] (5) layers\n\n@16 . Other tree_Other\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) (y)\nset [x v] to (x)\nset [y v] to (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [green flag v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nClone at [46] [-68]\nClone at [394] [-68]\nClone at [692] [-68]\nClone at [1514] [114]\nClone at [1995] [260]\nset [x v] to [-99999]\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen flag clicked\ngo [backward v] (5) layers\n\nClone at [1514] [114]\n\n@17 . Thumbnail_Other\n\ndefine Bounce to final size (size)\nset [size v] to [0]\nrepeat (100)\n    set [size v] to (((size) * (0.8)) + (((size) - (size)) / (2)))\n    change size by (size)\nend\n\nwhen flag clicked\nif <<(current [hour v]) < [19]> and <(current [hour v]) > [7]>> then\n    switch costume to (day thumb v)\nelse\n    switch costume to (night thumb v)\nend\n\nwhen flag clicked\nforever\n    reset timer\n    go to x: (300) y: (300)\n    hide\n    go to [front v] layer\nend\n\nwhen [timer v] > (0.01)\nrepeat until <<(round (y position)) = [0]> and <(round (x position)) = [0]>>\n    show\n    change y by (((0) - (y position)) / (5))\n    change x by (((0) - (x position)) / (5))\nend\nwait (0.1) seconds\nbroadcast (Ugh v)\n\nwhen I receive [ugh v]\ncreate clone of (_myself_ v)\n\n@18 . Parallax_Game\n\nwhen flag clicked\nforever\n    if <<(current [hour v]) < [19]> and <(current [hour v]) > [7]>> then\n        switch costume to (day hills v)\n    else\n        switch costume to (night hills v)\n    end\nend\n\nwhen I receive [tick v]\nGo to (((((Movement ID) * (480)) - ((SCROLL X) / (6))) mod (960)) - (480)) (Y)\n\nwhen I start as a clone\npoint in direction (90)\nset [ghost v] effect to (0)\nset [movement id v] to [0]\nhide\n\ndefine Go to (x) (y)\ngo to x: (x) y: (y)\nif <<(x position) = (x)> and <(y position) = (y)>> then\n    show\nelse\n    hide\nend\ngo to [back v] layer\n\nhide\n\nwhen flag clicked\ncreate clone of (_myself_ v)\nset [movement id v] to [-1]\n\n@19 . Collectables_Game\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <touching (2 . game_player v)?> then\n    change [coins v] by (1)\n    start sound [NEW COIN SOUND EFFECT IN TOWN xDDD v]\n    switch costume to (collected v)\n    delete this clone\nend\n\nwhen I receive [green flag v]\nhide\npoint in direction (90)\nset [coins v] to [0]\nset [x v] to [0]\nset [tick v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nClone at [-53] [-55]\nClone at [90] [-90]\nClone at [200] [68]\nClone at [320] [-90]\nClone at [554] [53]\nClone at [710] [154]\nClone at [940] [315]\nClone at [1108] [138]\nClone at [1330] [130]\nClone at [1500] [100]\nClone at [1700] [100]\nClone at [1854] [175]\nClone at [1994] [549]\nClone at [2312] [415]\nClone at [2392] [199]\nClone at [2742] [162]\nClone at [2800] [410]\nClone at [2962] [175]\nClone at [3137] [180]\nClone at [3232] [109]\nClone at [3338] [185]\nClone at [3416] [115]\nClone at [3484] [115]\nClone at [3560] [168]\nClone at [3838] [115]\nClone at [3971] [115]\nClone at [4121] [122]\nset [x v] to [-99999]\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\ndefine Clone at (x) (y)\nset [x v] to (x)\nset [y v] to (y)\ncreate clone of (_myself_ v)\n\n@20 . Checkpoint_Game\n\nwhen [m v] key pressed\nset [mouse v] to (join ((mouse x) + (SCROLL X)) (join [,] (join [ ] ((mouse y) + (SCROLL Y)))))\nshow variable [mouse v]\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <(costume [name v]) = [closed]> then\n    if <touching (2 . game_player v)?> then\n        start sound [Ding Sound Effect v]\n        switch costume to (open v)\n        set [brightness v] effect to (30)\n        change [checkpoint v] by (1)\n    end\nend\ngo to [front v] layer\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) (y)\nset [x v] to (x)\nset [y v] to (y)\ncreate clone of (_myself_ v)\n\nwhen flag clicked\nhide\nset [checkpoint v] to [0]\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (closed v)\nClone at [703] [-95]\nClone at [1925] [237]\nset [x v] to [-99999]\n\nClone at [1925] [237]\n\n@22 . Assets_Other\n\nwhen flag clicked\nforever\n    Do\nend\n\ndefine Do\nhide\n\n@23 . Shop\n\nwhen I receive [green flag v]\nset [jump boost v] to [0]\nset [speed boost v] to [0]\n\nwhen I receive [tick v]\nif <(costume [name v]) = [Shop Button]> then\n    go to [front v] layer\n    if <touching (mouse-pointer v)?> then\n        set [tsb \(mouse touching shop button\) v] to [1]\n    else\n        set [tsb \(mouse touching shop button\) v] to [0]\n    end\nelse\n    if <(costume [name v]) = [Shop]> then\n        if <touching (mouse-pointer v)?> then\n            set [ts \(mouse touching shop\) v] to [1]\n        else\n            set [ts \(mouse touching shop\) v] to [0]\n        end\n    else\n        if <(costume [name v]) = [Buy jump boost]> then\n            go to [front v] layer\n            go [forward v] (11) layers\n            if <touching (mouse-pointer v)?> then\n                set [bounce v] to (((Bounce) * (.8)) + (((115) - (size)) / (5)))\n                change size by (Bounce)\n                if <mouse down?> then\n                    if <(Jump boost) = [0]> then\n                        if <(COINS) > [19]> then\n                            set [jump boost v] to [1]\n                            change [coins v] by (-20)\n                        else\n                            if <not <touching (mouse-pointer v)?>> then\n                                set [bounce v] to (((Bounce) * (.8)) + (((100) - (size)) / (5)))\n                                change size by (Bounce)\n                            end\n                        end\n                    end\n                end\n            end\n        else\n            if <(costume [name v]) = [Buy speed boost]> then\n                go to [front v] layer\n                go [forward v] (11) layers\n                if <touching (mouse-pointer v)?> then\n                    set [bounce v] to (((Bounce) * (.8)) + (((115) - (size)) / (5)))\n                    change size by (Bounce)\n                    if <mouse down?> then\n                        if <(Speed boost) = [0]> then\n                            if <(COINS) > [14]> then\n                                set [speed boost v] to [1]\n                                change [coins v] by (-15)\n                            else\n                                set [bounce v] to (((Bounce) * (.8)) + (((100) - (size)) / (5)))\n                                change size by (Bounce)\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [setup v]\ngo to x: (-190) y: (-150)\nswitch costume to (shop button v)\nset [shop v] to [0]\n\nwhen flag clicked\nshow\nset size to (100) %\nforever\n    if <touching (mouse-pointer v)?> then\n        if <mouse down?> then\n            start sound [click v]\n            if <(SHOP) = [0]> then\n                Open shop\n            else\n                set [shop v] to [0]\n                broadcast (Delete clone v)\n                go to x: (-190) y: (-150)\n                switch costume to (shop button v)\n            end\n            wait until <not <mouse down?>>\n        end\n    end\nend\n\nwhen I receive [delete clone v]\ndelete this clone\n\nwhen [timer v] > (0.01)\nhide\n\ndefine Open shop\nset [shop v] to [1]\ngo to x: (0) y: (0)\nswitch costume to (shop v)\ncreate clone of (_myself_ v)\nswitch costume to (buy jump boost v)\ncreate clone of (_myself_ v)\nswitch costume to (buy speed boost v)\ncreate clone of (_myself_ v)\nswitch costume to (shop button v)\ngo to x: (-190) y: (-150)\n\nset [jump boost v] to [0]\nset [speed boost v] to [0]\n\nwhen flag clicked\nshow\nset size to (100) %\nforever\n    if <touching (mouse-pointer v)?> then\n        set [bounce v] to (((Bounce) * (.8)) + (((115) - (size)) / (5)))\n        change size by (Bounce)\n    else\n        set [bounce v] to (((Bounce) * (.8)) + (((100) - (size)) / (5)))\n        change size by (Bounce)\n    end\nend\n\n@24 . DDTSC [IMPORTANT]\n\ndefine Smooth Glide to (end x position) (end y position) with the speed (speed) from it's starting position (start x position) (start y position)\ngo to x: (start x position) y: (start y position)\nif <<(speed) = [1]> or <(speed) < [1]>> then\n    repeat until <<(x position) = (end x position)> and <(y position) = (end y position)>>\n        go to x: (((x position) - (end x position)) / (1.1)) y: (((y position) - (end y position)) / (1.1))\n    end\nelse\n    repeat until <<(x position) = (end x position)> and <(y position) = (end y position)>>\n        go to x: (((x position) - (end x position)) / (speed)) y: (((y position) - (end y position)) / (speed))\n    end\nend\n\nwhen flag clicked\nforever\n    hide\nend\n\nwhen flag clicked\n\nwhen flag clicked\nset size to (50) %\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nforever\n    if <touching (mouse-pointer v)?> then\n        set [my variable v] to (((my variable) * (.8)) + ((50) - ((size) / (4))))\n    else\n        set [my variable v] to (((my variable) * (.8)) + ((30) - ((size) / (4))))\n    end\n    change size by (my variable)\nend\n\nwhen flag clicked\ngo to x: (0) y: (-214)\nforever\n    turn right ((((90) + (([cos v] of ((timer) * (110)) ) * (5))) - (direction)) * (.4)) degrees\n    change y by (((([cos v] of ((timer) * (120)) ) * (19)) - (y position)) * (0.3))\nend\n\nwhen [space v] key pressed\nset [x2 v] to [0]\nrepeat (10)\n    change [x2 v] by (5)\n    change x by (x2)\nend\ngo to x: (-455) y: (0)\nswitch costume to ((costume [number v]) - (1))\nrepeat (18)\n    change x by (((0) - (x position)) / (4))\nend\n\n@25 . The notif\n\nwhen I receive [run game v]\n\nwhen flag clicked\nshow\nforever\n    switch costume to (pick random (1) to (4))\n    go to x: (0) y: (185)\n    set [ghost v] effect to (100)\n    show\n    repeat until <(y position) < [160.5]>\n        change y by (((160) - (y position)) / (5))\n        change [ghost v] effect by (-5)\n    end\n    wait (3.5) seconds\n    repeat until <(y position) > [184.5]>\n        change y by (((185) - (y position)) / (5))\n        change [ghost v] effect by (5)\n    end\n    wait (pick random (14) to (28)) seconds\nend\n\n@26 . Water_Game\n\nwhen I receive [green flag v]\nset [swing amount v] to [19]\nset [swing amount v] to ((round ((swing amount) / (2))) * (2))\nset [water tick v] to [-12]\nset [x v] to [0]\nset [y v] to [0]\nset [sy v] to [0]\nhide\nswitch costume to (1 v)\nClone at [480] [-145]\nClone at [957] [-108]\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <(water tick) > [0]> then\n    change [sy v] by (0.7)\nelse\n    change [sy v] by (-0.7)\nend\nif <(water tick) > ((swing amount) - (1))> then\n    set [water tick v] to ((swing amount) * (-1))\nend\nchange [water tick v] by (1)\nchange y by (sy)\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) (y)\ncreate clone of (_myself_ v)\nset [x v] to (x)\nset [y v] to (y)\nnext costume\n\nwhen I receive [reset v]\nset [sy v] to [0]\nset [water tick v] to ((swing amount) * (-1))\n\n@27 . Info/Deco\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [play game v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (1 v)\nif <((1) + (1)) = [2]> then\n    Clone at [0] [0]\n    Clone at [320] [11]\n    Clone at [800] [45]\n    Clone at [1363] [160]\n    Clone at [1672] [223]\n    Clone at [3070] [206]\nend\nset [x v] to [-99999]\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\ndefine Clone at (x) (y)\nset [x v] to (x)\nset [y v] to (y)\ncreate clone of (_myself_ v)\nnext costume\n\n@FPS thing\n\nwhen flag clicked\nset size to (110) %\nset [clone# v] to [1]\nclone\nhide\n\nwhen I start as a clone\nshow\nforever\n    go to x: (((clone#) * (15)) - (-158)) y: (158)\n    if <(length of (round (FPS))) < (clone#)> then\n        hide\n    else\n        show\n        switch costume to (letter (clone#) of (round (FPS)))\n    end\nend\n\nwhen flag clicked\n\nforever\n\ngo to x: (-158) y: (158)\n\ndefine clone\nrepeat (30)\n    create clone of (_myself_ v)\n    change [clone# v] by (1)\nend\n\n
Guys, StratfordJames used different code. All we used was his tree and his player art, and the parlax, which was free to use \n\n*me comes back to scratch few months later* it was?\n\nTHIS IS NOT THE FINAL GAME. STAY TUNED FOR THAT!\n\n\nThe final project is almost done! With @AUMSUMTHEGREATHULK!\n\n\n\n@GravityV for small tree.\n@StratfordJames for the big one (tree) and parallax and player.\nUs for the rest\n\n\n\n#games #all\n\n* idk where Aumsum got the music from