-Pastel- Multiplayer Scrolling Platformer Server 1 #games

Instructions: NEW AND MUCH BETTER MULTIPLAYER GAME: https://scratch.mit.edu/projects/414678508/\n                                ~~~~~~~~~~~~\nWelcome to my first multiplayer game, Pastel! NEW SCRATCHERS CANNOT PLAY, as they do not have access to variables stored in the cloud until they reach the Scratcher rank. Press "T" to chat! And, if the game is full or the traffic is too high, please try server 2: https://scratch.mit.edu/projects/413744181/\n                                ~~~~~~~~~~~~\nI know that this game is super short, but I was just testing out some cloud variables and wanted to focus on the multiplayer aspect of the game most. Hopefully it's short and sweet :D\n                                ~~~~~~~~~~~~\nMobile controls, arrow keys, or WASD to move! Avoid enemies, spikes, and pastel poisoin, all while safe-chatting with friends and collecting all the coins to finish the game! If you are inactive, you will be kicked!\n                                ~~~~~~~~~~~~\nFeatures used in this game that I have never used before:\n- Multiplayer\n- Online Chat\n- Love/Fave Detector\n- Enemey AI\n- Moving Poison\n                                ~~~~~~~~~~~~\nPlease don't forget to love, fave, and follow if you enjoyed! I had a lot of fun making this (It took around a week to make), so you can probably expect to see some more multiplayer games in the future. Yay!\n                                ~~~~~~~~~~~~\nHave a fantastic day!\nLove,\nTropicalCoder13\n                                ~~~~~~~~~~~~\n#pastel #platformer #pastelplatformer #mobile #mobileplatformer #mobilefriendly #multiplayer #multiplayerplatformer #scrollingmultiplayerplatformer #scrollingplatformer #scrollingmultiplayer #scrolling #cloud #cloudmultiplayer #tropicalcoder13 #griffpatch #games #chat #online #onlinechat #safechat #enemies #scrollingenemies #enemyai #player #oneeye #spikes #dangers #coins #timer #hmm #what #else #should #I #tag #games #games #games #games #games\n\n\n\n\n@StratfordJames LOVED!?!?? \n

@Stage\n\nwhen flag clicked\nhide variable [mouse v]\nforever\n    if <<(username) = [TropicalCoder13]> and <key (m v) pressed?>> then\n        set [mouse v] to (join ((mouse x) + (SCROLL X)) (join [,] ((mouse y) + ())))\n        show variable [mouse v]\n    end\nend\n\nwhen flag clicked\nset volume to (100) %\nplay sound [\(No Copyright\) Piano Inspiring Dream \(1\) v] until done\n\nwhen I receive [ended! v]\nset volume to (0) %\nstop all sounds\n\n@Player You\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\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]\nshow list [chat v]\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 (platforms 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    change size by (-1)\n    change [ghost v] effect by (2)\nend\nhide\nset [exit v] to [win]\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    switch costume to (left v)\n    change [sx v] by (-2)\nend\nif <<<(x position) < (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\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 [16]\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\nwhen I receive [begin v]\nset [is the chat open v] to [0]\nshow list [chat v]\nforever\n    Chat\n    if <<key (t v) pressed?> or <<touching (mouse-pointer v)?> and <mouse down?>>> then\n        if <(is the chat open) = [1]> then\n            show list [chat v]\n            set [is the chat open v] to [0]\n        else\n            set [is the chat open v] to [1]\n            hide list [chat v]\n        end\n        wait until <<not <<touching (mouse-pointer v)?> and <mouse down?>>> and <not <key (t v) pressed?>>>\n    end\nend\n\ndefine GAME - DIE\nset [exit v] to []\nrepeat (26)\n    change [ghost v] effect by (4)\nend\n\ndefine TEST-DIE\nif <<touching (pastel posions v)?> or <<touching (enemy ai v)?> or <<touching (dangers v)?> and <<touching color (#00e5ff)?> or <touching color (#95e8ff)?>>>>> then\n    set [exit v] to [die]\nend\n\ndefine CHANGE PLAYER X By (sx)\nchange [x v] by (sx)\nPosition\nif <touching (platforms v)?> then\n    repeat (18)\n        change [y v] by (1)\n        Position\n        if <not <touching (platforms 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 (platforms 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 [begin v]\nswitch costume to (front 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\nwrite (Chat) to encoded\nset cloud # (My Player #) to (Encoded)\n\nwhen I receive [begin v]\nset [ghost v] effect to (0)\nwait (5) seconds\n\nadd [HI] to [chat v]\n\nadd [This is how you do it] to [chat v]\n\nwhen I receive [joined v]\nforever\n    wait (500) seconds\n    if <<key (any v) pressed?> or <mouse down?>> then\n        set [moved v] to [1000]\n    else\n        change [moved v] by (-1)\n    end\n    if <(Moved) < [1]> then\n        stop [all v]\n    end\nend\n\n@Your Online Pals\n\ndefine Decode chat (chat)\nif <(chat) = [0]> then\n\ndefine begin decode of (encode)\nset [encodied 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 (encodied)) (letter ((letter #) + (1)) of (encodied)))\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\n    go to [back v] layer\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\nif <(names) = [1]> then\n    say (join (player #) (join [:] (value)))\nelse\n    say []\nend\nvalue=read from encode\nvalue=read from encode\nset x to ((value) - (SCROLL X))\nvalue=read from encode\nset y to ((value) - (SCROLL Y))\nvalue=read from encode\nbroadcast (Decode chat v)\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 [decode chat v]\nDecode chat (value)\n\nDecode chat (value)\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\n@Platforms\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\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 [450] Y [0]\n    CLONE AT X [450] Y [0]\n    CLONE AT X [700] Y [0]\n    CLONE AT X [750] Y [0]\nelse\n    if <(LEVEL) = [2]> then\n        switch costume to (level 2 1 v)\n        CLONE AT X [0] Y [360]\n        CLONE AT X [400] Y [320]\n    else\n        if <(LEVEL) = [2]> then\n            switch costume to (level 3 1 v)\n        end\n    end\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@Joining\n\nwhen flag clicked\nhide\n\nwhen I receive [begin v]\nwait (3) seconds\nhide\n\nwhen I receive [joining v]\nswitch costume to (joining v)\nshow\n\nwhen I receive [joined v]\nswitch costume to (working! v)\nshow\n\nwhen I receive [full v]\nswitch costume to (full :\( v)\nshow\n\n@Pastel Posions\n\nwhen I start as a clone\ngo [backward v] (1) layers\nforever\n    set [y v] to (([sin v] of ((timer) * (100)) ) * (10))\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\nwhen I receive [setup v]\nset [y v] to [0]\nset [x v] to [0]\nrepeat (100)\n    Position x: [450] y: [0]\nend\n\ndefine Position 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\nhide\ngo to [back v] layer\n\nwhen I receive [reset v]\ndelete this clone\n\n@Coins\n\nwhen I receive [tick v]\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <touching (player you v)?> then\n    start sound [Coin v]\n    change [coins collected v] by (1)\n    change [your total coins v] by (1)\n    if <(Coins Collected) = (COLLECTED MAX)> then\n        broadcast (Portal open v)\n    end\n    delete this clone\nend\n\nwhen I receive [setup v]\nhide\nset [ghost v] effect to (0)\nset size to (100) %\nset [y v] to [0]\nset [x v] to [0]\nset [collect v] to [0]\nset [max collect v] to [0]\nif <(LEVEL) = [1]> then\n    wait (0) seconds\n    Clone x: [100] y: [100]\n    Clone x: [-204] y: [200]\n    Clone x: [450] y: [150]\n    Clone x: [544] y: [73]\n    Clone x: [970] y: [60]\n    Clone x: [1688] y: [200]\n    Clone x: [2109] y: [40]\n    Clone x: [2222] y: [40]\nelse\nend\nset [y v] to [-99999999999]\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 x: (x) y: (y)\nset [ghost v] effect to (0)\nset size to (100) %\nset [x v] to (x)\nset [y v] to (y)\nchange [collected max v] by (1)\ncreate clone of (_myself_ v)\n\nwhen flag clicked\nset [your total coins v] to [0]\nhide\n\n@Exit\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]) = [Open]> and <touching (player you v)?>> then\n    set [exit v] to [win]\n    set [game finished? v] to [yes]\nend\nif <<(costume [name v]) = [Closed]> and <touching (player you v)?>> then\n    broadcast (Get more coinsssssssss v)\nend\n\nwhen I receive [setup v]\nswitch costume to (closed v)\nhide\nset [coins collected v] to [0]\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    Clone at x: [3075] y: [350]\nelse\n    Clone at x: [1000000000000000000000000000] y: [350]\nend\n\ncreate clone of (_myself_ v)\nchange [x v] by (450)\nnext costume\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)\nset [x v] to (x)\nset [y v] to (y)\n\nwhen flag clicked\nforever\n    if <(Coins Collected) = [7]> then\n        switch costume to (open v)\n    end\nend\n\nwhen flag clicked\ngo to [back v] layer\n\nwhen flag clicked\nset [game finished? v] to [no]\n\n@Enemy AI\n\nwhen I receive [setup v]\nhide\nset [y v] to [0]\nset [x v] to [0]\nwait (0) seconds\nif <(LEVEL) = [1]> then\n    Clone x: [707] y: [50]\n    Clone x: [2000] y: [-70]\nend\nset [y v] to [-99999999999]\n\nwhen I receive [tick v]\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\ndefine Clone x: (x) y: (y)\nhide\nset [x v] to (x)\nset [y v] to (y)\nset [back-forth v] to [0]\ncreate clone of (_myself_ v)\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 start as a clone\nshow\nset rotation style [left-right v]\nforever\n    point in direction (90)\n    set [back-forth v] to [1]\n    wait (1) seconds\n    set [back-forth v] to [2]\n    repeat (10)\n        change [x v] by (4)\n    end\n    set [back-forth v] to [1]\n    wait (1) seconds\n    set [back-forth v] to [3]\n    repeat (10)\n        change [x v] by (-4)\n    end\nend\n\n@Win\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nset volume to (100) %\nforever\n    if <(Game finished?) = [yes]> then\n        go to [front v] layer\n        show\n        repeat (10)\n            change [ghost v] effect by (15)\n        end\n        repeat (10)\n            change [ghost v] effect by (-15)\n        end\n        show\n        show\n        set volume to (100) %\n        play sound [Triumph v] until done\n        set volume to (0) %\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n        play sound [Triumph v] until done\n    end\nend\n\n@Broke :/\n\nwhen flag clicked\nhide\n\nwhen I receive [get more coinsssssssss v]\nshow\nwait (0.5) seconds\nrepeat (26)\n    change [ghost v] effect by (4)\nend\n\n@Dangers\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]\nif <(LEVEL) = [1]> then\n    switch costume to (level 1 1 v)\n    Clone at x: [450] y: [0]\n    Clone at x: [450] y: [0]\n    Clone at x: [700] y: [0]\n    Clone at x: [750] y: [0]\nelse\n    switch costume to (end v)\n    broadcast (Ended! 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\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\ncreate clone of (_myself_ v)\nchange [x v] by (450)\nnext costume\ncreate clone of (_myself_ v)\nchange [x v] by (450)\nnext costume\n\n@Love fave\n\nwhen flag clicked\nset [costume v] to [0]\nhide\nforever\n    if <not <<(LOVED__) = [1]> and <(FAVED___) = [1]>>> then\n        wait (pick random (20) to (40)) seconds\n        switch costume to (costume1 v)\n        go to x: (0) y: (50)\n        show\n        go to [front v] layer\n        start sound [pop v]\n        repeat (9)\n            change y by (-6)\n        end\n        repeat (5)\n            change y by (3)\n        end\n        repeat (5)\n            change y by (-1)\n        end\n        wait (2) seconds\n        repeat (15)\n            change y by (7)\n        end\n        hide\n    end\n    if <(Costume) > [0]> then\n        hide\n        stop [this script v]\n    end\nend\n\n@Detector\n\nwhen flag clicked\nhide\nset [faved___ v] to [0]\nset [loved__ v] to [0]\nset [clone id v] to [0]\ncreate clone of (_myself_ v)\nwait (0.2) seconds\nset [clone id v] to [1]\ncreate clone of (_myself_ v)\nwait until <<(LOVED__) = [1]> and <(FAVED___) = [1]>>\nwait (1) seconds\nbroadcast (Thanks v)\n\ngo to x: (0) y: (0)\nshow\nreset timer\nswitch costume to (pick random (1) to (4))\nset [ghost v] effect to (100)\nrepeat until <(timer) > [3.5]>\n    change y by ((y position) / (-15))\n    change [ghost v] effect by (-3)\nend\nreset timer\nrepeat until <(timer) > [3.5]>\n    change y by (((y position) - (-100)) / (-15))\n    change [ghost v] effect by (10)\nend\n\nwhen I start as a clone\nif <(clone id) = [0]> then\n    go to x: (-15) y: (0)\n    set [loved__ v] to [0]\n    switch costume to (love v)\n    forever\n        set [love? v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [loved__ v] to [1]\n        end\n    end\nend\nif <(clone id) = [1]> then\n    go to x: (0) y: (0)\n    switch costume to (fave v)\n    set [faved___ v] to [0]\n    forever\n        set [fav v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [faved___ v] to [1]\n        end\n    end\nend\n\n@Thank youuuu\n\nwhen I receive [thanks v]\nswitch costume to (costume2 v)\ngo to x: (0) y: (50)\nshow\ngo to [front v] layer\nstart sound [pop v]\nrepeat (9)\n    change y by (-6)\nend\nrepeat (5)\n    change y by (3)\nend\nrepeat (5)\n    change y by (-1)\nend\nswitch costume to (costume2 v)\nhide\nhide\ncreate clone of (_myself_ v)\nswitch costume to (costume2 v)\nhide\nhide\nwait until <(Costume) > [0.9]>\nrepeat (27)\n    change y by (15)\nend\nwait (0.02) seconds\ncreate clone of (_myself_ v)\nswitch costume to (costume2 v)\nhide\nhide\nwait until <(Costume) > [0.9]>\nrepeat (27)\n    change y by (15)\nend\n\nwhen I start as a clone\ngo to x: (0) y: (50)\nshow\ngo to [front v] layer\nrepeat (12)\n    change y by (-9)\nend\nrepeat (5)\n    change y by (3)\nend\nrepeat (5)\n    change y by (-1)\nend\nforever\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (50)\n        if <(costume [number v]) = [2]> then\n            if <mouse down?> then\n                set [costume v] to [2]\n                repeat (25)\n                    change y by (10)\n                end\n                hide\n                delete this clone\n            end\n        else\n            if <(costume [number v]) = [3]> then\n                if <mouse down?> then\n                    set [costume v] to [1]\n                    repeat (25)\n                        change y by (15)\n                    end\n                    hide\n                    delete this clone\n                end\n            end\n        end\n    else\n        set [ghost v] effect to (0)\n    end\n    if <(Costume) > [0.99]> then\n        repeat (25)\n            change y by (15)\n        end\n        hide\n        delete this clone\n    end\n    hide\n    delete this clone\nend\n\nwhen flag clicked\nhide\nset [costume v] to [0.9]\n\nif <[] = [3]> then\nif <[] = [2]> then\n\nwhen I receive [begin v]\nset [costume v] to [0.9]\nwait (0.1) seconds\nset [costume v] to [0.9]\nwait (0.2) seconds\nset [costume v] to [0.9]\n\n@Timer\n\nwhen flag clicked\nforever\n    if <(Game finished?) = [yes]> then\n        show variable [timer v]\n        set [timer v] to (timer)\n        set [timer v] to (Timer)\n        wait (100000000000000000000000000000000000000000000000000) seconds\n        wait (100000000000000000000000000000000000000000000000000) seconds\n    end\nend\n\nwhen I receive [green flag v]\nhide variable [timer v]\nreset timer\n\n@Sprite1\n\n@Sprite2\n\n@Sprite3\n\n@Sprite4\n\n@Thumbnail\n\nwhen flag clicked\nforever\n    show\n    set [ghost v] effect to (100)\n    go to [front v] layer\nend\n\n@Sprite5\n\n