☁︎ Cloud Multiplayer Platformer 

Instructions: 日本語は↓\n\n> Controls: \nArrow Keys/Fingers to move | Space to talk | C to change color | H to hide player names | Suggest anything in the comments! |\n\n> Credits:\n@Pizzzapi for sprites\n@blobbyfish123 for the first ever cloud project\n@Kismat12 for all of the great first project scripts\n\n> History:\nOriginally I made this on my old account @kismat12, it was my very first working cloud multiplayer game, and stepped me up to my future of making cloud multiplayer games and engines. Later after creating it and getting so many likes and awesome comments from the scratch community, @Pizzzapi came along and created some sprites for the game, making it look sleek and better looking. After a few days of great comments, and enjoyment with my success, the project suddenly shut down... I rushed to see what happened! At first I didn't think it happened, and I just needed to reload the page, and the project would start again, but no! It still would not go! So I went inside the project and pressed the green flag, nothing happened.... No script lit up like they were supposed to, it was the most unusual thing... A few months later, and finally took action, and went into the project. First I used the method that would make everything come into place more, that didn't work.... Then I backpacked the project, and made a new one, and uploaded everything there... The project finally did work! I just had to make a few modifications. Then now, I made this, an ultra upgraded one! I am happy on how it turned out, and what it has become... Enjoy! :D\n\n> Change Log:\n8/15/19: Secret surprise....\n8/14/19: Released!\n\n>コントロール：\n移動する矢印キー/指|話すスペース|色を変更するにはC |プレーヤー名を非表示にするH |コメントで何か提案してください！ |\n\n>クレジット：\nスプライト用の@Pizzzapi\n@ blobbyfish123で初めてのクラウドプロジェクト\nすばらしい最初のプロジェクトスクリプトすべてのための@ Kismat12\n\n>歴史：\nもともと私は古いアカウント@ kismat12でこれを作成しました。これは私の初めてのクラウドマルチプレイヤーゲームであり、クラウドマルチプレイヤーゲームとエンジンを作成する将来に向けてステップアップしました。後で作成し、スクラッチコミュニティから非常に多くのいいね！と素晴らしいコメントを得た後、@ Pizzzapiが登場し、ゲーム用のスプライトをいくつか作成しました。数日間の素晴らしいコメントと私の成功を楽しんだ後、プロジェクトは突然シャットダウンしました...何が起こったのか見に急ぎました！最初はそれが起こるとは思わなかったので、ページをリロードするだけで、プロジェクトが再び開始されましたが、そうではありません！それはまだ行きません！それで、私はプロジェクトの中に入って緑の旗を押しましたが、何も起こりませんでした...彼らが想定していたようにスクリプトは点灯しませんでした、それは最も珍しいことでした...数ヶ月後、最終的に行動を起こし、そして入りましたプロジェクト。最初に、すべてを適切に配置する方法を使用しましたが、機能しませんでした。その後、プロジェクトをバックパックし、新しいものを作成して、そこにすべてをアップロードしました...プロジェクトはついに機能しました！いくつかの変更を加える必要がありました。それから今、私はこれを、超アップグレードされたものにしました！私はそれがどのようになったのか、そしてそれが何になったかに満足しています...お楽しみください！ ：D\n\n>変更ログ：\n8/15/19：秘密のサプライズ....\n8/14/19：リリース！

@Stage\n\nwhen I receive [check player slot v]\nset [@playerslot v] to [0]\nstart sound [Loading Music v]\nbroadcast (Kick Find v) and wait\nbroadcast (update1 v) and wait\ndelete all of [check v]\nadd (item (3) of [de package v]) to [check v]\nadd (item (3) of [dpkg v]) to [check v]\nadd (item (3) of [dpkg 1 v]) to [check v]\nadd (item (3) of [dpkg 2 v]) to [check v]\nadd (item (3) of [dpkg 3 v]) to [check v]\nadd (item (3) of [dpkg 4 v]) to [check v]\nadd (item (3) of [dpkg 5 v]) to [check v]\nadd (item (3) of [dpkg 6 v]) to [check v]\nadd (item (3) of [dpkg 7 v]) to [check v]\nadd (item (3) of [dpkg 8 v]) to [check v]\nwait (1) seconds\nbroadcast (update1 v) and wait\nif <(item (1) of [check v]) = (item (3) of [de package v])> then\n    set [@playerslot v] to [1]\n    broadcast (start v)\nelse\n    if <(item (2) of [check v]) = (item (3) of [dpkg v])> then\n        set [@playerslot v] to [2]\n        broadcast (start v)\n    else\n        if <(item (3) of [check v]) = (item (3) of [dpkg 1 v])> then\n            set [@playerslot v] to [3]\n            broadcast (start v)\n        else\n            if <(item (4) of [check v]) = (item (3) of [dpkg 2 v])> then\n                set [@playerslot v] to [4]\n                broadcast (start v)\n            else\n                if <(item (5) of [check v]) = (item (3) of [dpkg 3 v])> then\n                    set [@playerslot v] to [5]\n                    broadcast (start v)\n                else\n                    if <(item (6) of [check v]) = (item (3) of [dpkg 4 v])> then\n                        set [@playerslot v] to [6]\n                        broadcast (start v)\n                    else\n                        if <(item (7) of [check v]) = (item (3) of [dpkg 5 v])> then\n                            set [@playerslot v] to [7]\n                            broadcast (start v)\n                        else\n                            if <(item (8) of [check v]) = (item (3) of [dpkg 6 v])> then\n                                set [@playerslot v] to [8]\n                                broadcast (start v)\n                            else\n                                if <(item (9) of [check v]) = (item (3) of [dpkg 7 v])> then\n                                    set [@playerslot v] to [9]\n                                    broadcast (start v)\n                                else\n                                    if <(item (10) of [check v]) = (item (3) of [dpkg 8 v])> then\n                                        set [@playerslot v] to [10]\n                                        broadcast (start v)\n                                    else\n                                        set [full? v] to [True]\n                                        broadcast (full v)\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [tick v]\nif <(Kick) = [True]> then\n    broadcast (You have been booted. v) and wait\n    stop [all v]\nend\nif <<<key (any v) pressed?> or <<(Full?) = [True]> or <mouse down?>>> or <(Players) < [3]>> then\n    set [moved v] to [600]\nend\nchange [moved v] by (-1)\nif <(Moved) < [1]> then\n    set [kick v] to [True]\nend\n\nwhen I receive [initialise v]\nswitch backdrop to (cloud backdrop v)\nshow variable [players v]\nset voice to (tenor v)::tts\nset language to (en v)::tts\nset [moved v] to [600]\nset [full? v] to [False]\nset [kick v] to [Untrue]\nif <<(current [hour v]) > [17]> and <(current [hour v]) < [7]>> then\n    set [dark mode v] to [True]\n    hide variable [your data v]\n    hide variable [players v]\n    set [show bubble v] to [False]\nelse\n    set [dark mode v] to [False]\nend\n\nwhen flag clicked\nbroadcast (Initialise v) and wait\nbroadcast (Check Player Slot v) and wait\nbroadcast (Start Forever Scripts v)\n\nwhen I receive [start forever scripts v]\nif <(@PlayerSlot) = [0]> then\n\nwhen I receive [tick v]\nif <<(PARTY!) = [True]> or <(Username) = [Party!!!!]>> then\n    stop all sounds\nend\nif <(Dark Mode) = [True]> then\n    set [brightness v] effect to (-50)\nelse\n    set [brightness v] effect to (0)\nend\n\nwhen I receive [stop doing the shake v]\nstop all sounds\nswitch backdrop to (cloud backdrop v)\n\n@Cloud\n\nwhen I receive [start forever scripts v]\nforever\n    Check player If not me\nend\n\nwhen I receive [start forever scripts v]\nforever\n    if <(@PlayerSlot) = [0]> then\n        Decode Data With Player Slot [Full]\n    end\n    if <(@PlayerSlot) = [1]> then\n        Decode Data With Player Slot [1]\n        saveData (1) (My X) (My Y) (Username) (Direction) (color) (Costume #) (username)\n    end\n    if <(@PlayerSlot) = [2]> then\n        Decode Data With Player Slot [2]\n        saveData (2) (My X) (My Y) (Username) (Direction) (color) (Costume #) (username)\n    end\n    if <(@PlayerSlot) = [3]> then\n        Decode Data With Player Slot [3]\n        saveData (3) (My X) (My Y) (Username) (Direction) (color) (Costume #) (username)\n    end\n    if <(@PlayerSlot) = [4]> then\n        Decode Data With Player Slot [4]\n        saveData (4) (My X) (My Y) (Username) (Direction) (color) (Costume #) (username)\n    end\n    if <(@PlayerSlot) = [5]> then\n        Decode Data With Player Slot [5]\n        saveData (5) (My X) (My Y) (Username) (Direction) (color) (Costume #) (username)\n    end\n    if <(@PlayerSlot) = [6]> then\n        Decode Data With Player Slot [6]\n        saveData (6) (My X) (My Y) (Username) (Direction) (color) (Costume #) (username)\n    end\n    if <(@PlayerSlot) = [7]> then\n        Decode Data With Player Slot [7]\n        saveData (7) (My X) (My Y) (Username) (Direction) (color) (Costume #) (username)\n    end\n    if <(@PlayerSlot) = [8]> then\n        Decode Data With Player Slot [8]\n        saveData (8) (My X) (My Y) (Username) (Direction) (color) (Costume #) (username)\n    end\n    if <(@PlayerSlot) = [9]> then\n        Decode Data With Player Slot [9]\n        saveData (9) (My X) (My Y) (Username) (Direction) (color) (Costume #) (username)\n    end\n    if <(@PlayerSlot) = [10]> then\n        Decode Data With Player Slot [10]\n        saveData (10) (My X) (My Y) (Username) (Direction) (color) (Costume #) (username)\n    end\n    Find Players\n    broadcast (Tick v) and wait\n    set [_fps v] to ([floor v] of ((1) / ((timer) - (fr))) )\n    set [fr v] to (timer)\nend\n\ndefine Check player If not me\nUpdate Players List [1]\nwait (1) seconds\nUpdate Players List [2]\n\nwhen I receive [initialise v]\nset [fr v] to [0]\nset [_fps v] to [0]\nreset timer\ndelete all of [active? v]\nrepeat (10)\n    add [Off] to [active? v]\nend\n\ndefine Decode Data (id)\nif <(id) = [1]> then\n    update (☁ Player 1)\n    if <(id) = [1]> then\n        DPKG (Decode Result) ID? [1]\n    end\nend\nif <(id) = [2]> then\n    update (☁ Player 2)\n    if <(id) = [2]> then\n        DPKG (Decode Result) ID? [2]\n    end\nend\nif <(id) = [3]> then\n    update (☁ Player 3)\n    if <(id) = [3]> then\n        DPKG (Decode Result) ID? [3]\n    end\nend\nif <(id) = [4]> then\n    update (☁ Player 4)\n    if <(id) = [4]> then\n        DPKG (Decode Result) ID? [4]\n    end\nend\nif <(id) = [5]> then\n    update (☁ Player 5)\n    if <(id) = [5]> then\n        DPKG (Decode Result) ID? [5]\n    end\nend\nif <(id) = [6]> then\n    update (☁ Player 6)\n    if <(id) = [6]> then\n        DPKG (Decode Result) ID? [6]\n    end\nend\nif <(id) = [7]> then\n    update (☁ Player 7)\n    if <(id) = [7]> then\n        DPKG (Decode Result) ID? [7]\n    end\nend\nif <(id) = [8]> then\n    update (☁ Player 8)\n    if <(id) = [8]> then\n        DPKG (Decode Result) ID? [8]\n    end\nend\nif <(id) = [9]> then\n    update (☁ Player 9)\n    if <(id) = [9]> then\n        DPKG (Decode Result) ID? [9]\n    end\nend\nif <(id) = [10]> then\n    update (☁ Player 10)\n    if <(id) = [10]> then\n        DPKG (Decode Result) ID? [10]\n    end\nend\n\ndefine Decode Data With Player Slot (slot?)\nif <(slot?) = [Full]> then\n    Decode Data [1]\n    Decode Data [2]\n    Decode Data [3]\n    Decode Data [4]\n    Decode Data [5]\n    Decode Data [6]\n    Decode Data [7]\n    Decode Data [8]\n    Decode Data [9]\n    Decode Data [10]\nend\nif <not <(slot?) = [1]>> then\n    Decode Data [1]\nend\nif <not <(slot?) = [2]>> then\n    Decode Data [2]\nend\nif <not <(slot?) = [3]>> then\n    Decode Data [3]\nend\nif <not <(slot?) = [4]>> then\n    Decode Data [4]\nend\nif <not <(slot?) = [5]>> then\n    Decode Data [5]\nend\nif <not <(slot?) = [6]>> then\n    Decode Data [6]\nend\nif <not <(slot?) = [7]>> then\n    Decode Data [7]\nend\nif <not <(slot?) = [8]>> then\n    Decode Data [8]\nend\nif <not <(slot?) = [9]>> then\n    Decode Data [9]\nend\nif <not <(slot?) = [10]>> then\n    Decode Data [10]\nend\n\ndefine Update Players List (id)\nif <(id) = [1]> then\n    delete all of [check v]\n    add (item (3) of [de package v]) to [check v]\n    add (item (3) of [dpkg v]) to [check v]\n    add (item (3) of [dpkg 1 v]) to [check v]\n    add (item (3) of [dpkg 2 v]) to [check v]\n    add (item (3) of [dpkg 3 v]) to [check v]\n    add (item (3) of [dpkg 4 v]) to [check v]\n    add (item (3) of [dpkg 5 v]) to [check v]\n    add (item (3) of [dpkg 6 v]) to [check v]\n    add (item (3) of [dpkg 7 v]) to [check v]\n    add (item (3) of [dpkg 8 v]) to [check v]\nelse\n    if <(id) = [2]> then\n        if <not <(@PlayerSlot) = [1]>> then\n            if <(item (1) of [check v]) = (item (3) of [de package v])> then\n                replace item (1) of [active? v] with [off]\n            else\n                replace item (1) of [active? v] with [on]\n            end\n        end\n        if <not <(@PlayerSlot) = [2]>> then\n            if <(item (2) of [check v]) = (item (3) of [dpkg v])> then\n                replace item (2) of [active? v] with [off]\n            else\n                replace item (2) of [active? v] with [on]\n            end\n        end\n        if <not <(@PlayerSlot) = [3]>> then\n            if <(item (3) of [check v]) = (item (3) of [dpkg 1 v])> then\n                replace item (3) of [active? v] with [off]\n            else\n                replace item (3) of [active? v] with [on]\n            end\n        end\n        if <not <(@PlayerSlot) = [4]>> then\n            if <(item (4) of [check v]) = (item (3) of [dpkg 2 v])> then\n                replace item (4) of [active? v] with [off]\n            else\n                replace item (4) of [active? v] with [on]\n            end\n        end\n        if <not <(@PlayerSlot) = [5]>> then\n            if <(item (5) of [check v]) = (item (3) of [dpkg 3 v])> then\n                replace item (5) of [active? v] with [off]\n            else\n                replace item (5) of [active? v] with [on]\n            end\n        end\n        if <not <(@PlayerSlot) = [6]>> then\n            if <(item (6) of [check v]) = (item (3) of [dpkg 4 v])> then\n                replace item (6) of [active? v] with [off]\n            else\n                replace item (6) of [active? v] with [on]\n            end\n        end\n        if <not <(@PlayerSlot) = [7]>> then\n            if <(item (7) of [check v]) = (item (3) of [dpkg 5 v])> then\n                replace item (7) of [active? v] with [off]\n            else\n                replace item (7) of [active? v] with [on]\n            end\n        end\n        if <not <(@PlayerSlot) = [8]>> then\n            if <(item (8) of [check v]) = (item (3) of [dpkg 6 v])> then\n                replace item (8) of [active? v] with [off]\n            else\n                replace item (8) of [active? v] with [on]\n            end\n        end\n        if <not <(@PlayerSlot) = [9]>> then\n            if <(item (9) of [check v]) = (item (3) of [dpkg 7 v])> then\n                replace item (9) of [active? v] with [off]\n            else\n                replace item (9) of [active? v] with [on]\n            end\n        end\n        if <not <(@PlayerSlot) = [10]>> then\n            if <(item (10) of [check v]) = (item (3) of [dpkg 8 v])> then\n                replace item (10) of [active? v] with [off]\n            else\n                replace item (10) of [active? v] with [on]\n            end\n        end\n    end\nend\n\ndefine chatTranslate (trns)\nset [translatedchar v] to []\ninitChar\nset [j v] to [0]\nset [fin v] to []\nrepeat (length of (trns))\n    change [j v] by (1)\n    set [i v] to [0]\n    repeat until <(letter (i) of (@charList)) = (letter (j) of (trns))>\n        change [i v] by (1)\n    end\n    if <(length of (i)) < [2]> then\n        set [add v] to (join [0] (i))\n    else\n        set [add v] to (i)\n    end\n    set [fin v] to (join (fin) (add))\nend\n\ndefine initChar\nset [@charlist v] to [ abcdefghijklmnopqrstuvwxyz1234567890<>_-ABCDEFGHIJKLMNOPQRSTUVWXYZ!.,?/\'";:-=+\)\(*&^%$#@{}\[\]\|`~]\n\ndefine saveData (_id) (x) (y) (username) (direction) (color) (costume#) (other name)\nset [_encode v] to (join (join (join (x) [~]) (join (y) [~])) (join (join (pick random (10000) to (99999)) [~]) (join (join (username) [~]) (join (direction) (join [~] (join (color) (join [~] (join (costume#) (join [~] (join (other name) [~]))))))))))\nchatTranslate (_encode)\nset [_encodetrns v] to (fin)\nif <(_id) = [1]> then\n    set [☁ player 1 v] to (_encodeTRNS)\nelse\n    if <(_id) = [2]> then\n        set [☁ player 2 v] to (_encodeTRNS)\n    else\n        if <(_id) = [3]> then\n            set [☁ player 3 v] to (_encodeTRNS)\n        else\n            if <(_id) = [4]> then\n                set [☁ player 4 v] to (_encodeTRNS)\n            else\n                if <(_id) = [5]> then\n                    set [☁ player 5 v] to (_encodeTRNS)\n                else\n                    if <(_id) = [6]> then\n                        set [☁ player 6 v] to (_encodeTRNS)\n                    else\n                        if <(_id) = [7]> then\n                            set [☁ player 7 v] to (_encodeTRNS)\n                        else\n                            if <(_id) = [8]> then\n                                set [☁ player 8 v] to (_encodeTRNS)\n                            else\n                                if <(_id) = [9]> then\n                                    set [☁ player 9 v] to (_encodeTRNS)\n                                else\n                                    if <(_id) = [10]> then\n                                        set [☁ player 10 v] to (_encodeTRNS)\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\nset [your data v] to (join (round (((length of (_encodeTRNS)) / (256)) * (100))) (join [%] (join [ Is taken which is also: ] (join (length of (_encodeTRNS)) [ out of 256]))))\nif <(username) = [Cloud-Multiplayer]> then\n    show variable [your data v]\nelse\n    hide variable [your data v]\nend\n\ndefine update (data)\ninitChar\nset [p v] to [1]\nset [decode result v] to []\nrepeat ((length of (data)) / (2))\n    set [decode result v] to (join (Decode Result) (letter (join (letter (p) of (data)) (letter ((p) + (1)) of (data))) of (@charList)))\n    change [p v] by (2)\nend\n\ndefine DPKG (data) ID? (id)\nif <(id) = [1]> then\n    delete (all) of [de package v]\n    set [i v] to [0]\n    set [addtoarray v] to []\n    repeat until <(i) > ((length of (data)) - (1))>\n        change [i v] by (1)\n        if <(letter (i) of (data)) = [~]> then\n            add (addToArray) to [de package v]\n            set [addtoarray v] to []\n        else\n            set [addtoarray v] to (join (addToArray) (letter (i) of (data)))\n        end\n    end\nelse\n    if <(id) = [2]> then\n        delete (all) of [dpkg v]\n        set [i v] to [0]\n        set [addtoarray v] to []\n        repeat until <(i) > ((length of (data)) - (1))>\n            change [i v] by (1)\n            if <(letter (i) of (data)) = [~]> then\n                add (addToArray) to [dpkg v]\n                set [addtoarray v] to []\n            else\n                set [addtoarray v] to (join (addToArray) (letter (i) of (data)))\n            end\n        end\n    else\n        if <(id) = [3]> then\n            delete (all) of [dpkg 1 v]\n            set [i v] to [0]\n            set [addtoarray v] to []\n            repeat until <(i) > ((length of (data)) - (1))>\n                change [i v] by (1)\n                if <(letter (i) of (data)) = [~]> then\n                    add (addToArray) to [dpkg 1 v]\n                    set [addtoarray v] to []\n                else\n                    set [addtoarray v] to (join (addToArray) (letter (i) of (data)))\n                end\n            end\n        else\n            if <(id) = [4]> then\n                delete (all) of [dpkg 2 v]\n                set [i v] to [0]\n                set [addtoarray v] to []\n                repeat until <(i) > ((length of (data)) - (1))>\n                    change [i v] by (1)\n                    if <(letter (i) of (data)) = [~]> then\n                        add (addToArray) to [dpkg 2 v]\n                        set [addtoarray v] to []\n                    else\n                        set [addtoarray v] to (join (addToArray) (letter (i) of (data)))\n                    end\n                end\n            else\n                if <(id) = [5]> then\n                    delete (all) of [dpkg 3 v]\n                    set [i v] to [0]\n                    set [addtoarray v] to []\n                    repeat until <(i) > ((length of (data)) - (1))>\n                        change [i v] by (1)\n                        if <(letter (i) of (data)) = [~]> then\n                            add (addToArray) to [dpkg 3 v]\n                            set [addtoarray v] to []\n                        else\n                            set [addtoarray v] to (join (addToArray) (letter (i) of (data)))\n                        end\n                    end\n                else\n                    if <(id) = [6]> then\n                        delete (all) of [dpkg 4 v]\n                        set [i v] to [0]\n                        set [addtoarray v] to []\n                        repeat until <(i) > ((length of (data)) - (1))>\n                            change [i v] by (1)\n                            if <(letter (i) of (data)) = [~]> then\n                                add (addToArray) to [dpkg 4 v]\n                                set [addtoarray v] to []\n                            else\n                                set [addtoarray v] to (join (addToArray) (letter (i) of (data)))\n                            end\n                        end\n                    else\n                        if <(id) = [7]> then\n                            delete (all) of [dpkg 5 v]\n                            set [i v] to [0]\n                            set [addtoarray v] to []\n                            repeat until <(i) > ((length of (data)) - (1))>\n                                change [i v] by (1)\n                                if <(letter (i) of (data)) = [~]> then\n                                    add (addToArray) to [dpkg 5 v]\n                                    set [addtoarray v] to []\n                                else\n                                    set [addtoarray v] to (join (addToArray) (letter (i) of (data)))\n                                end\n                            end\n                        else\n                            if <(id) = [8]> then\n                                delete (all) of [dpkg 6 v]\n                                set [i v] to [0]\n                                set [addtoarray v] to []\n                                repeat until <(i) > ((length of (data)) - (1))>\n                                    change [i v] by (1)\n                                    if <(letter (i) of (data)) = [~]> then\n                                        add (addToArray) to [dpkg 6 v]\n                                        set [addtoarray v] to []\n                                    else\n                                        set [addtoarray v] to (join (addToArray) (letter (i) of (data)))\n                                    end\n                                end\n                            else\n                                if <(id) = [9]> then\n                                    delete (all) of [dpkg 7 v]\n                                    set [i v] to [0]\n                                    set [addtoarray v] to []\n                                    repeat until <(i) > ((length of (data)) - (1))>\n                                        change [i v] by (1)\n                                        if <(letter (i) of (data)) = [~]> then\n                                            add (addToArray) to [dpkg 7 v]\n                                            set [addtoarray v] to []\n                                        else\n                                            set [addtoarray v] to (join (addToArray) (letter (i) of (data)))\n                                        end\n                                    end\n                                else\n                                    if <(id) = [10]> then\n                                        delete (all) of [dpkg 8 v]\n                                        set [i v] to [0]\n                                        set [addtoarray v] to []\n                                        repeat until <(i) > ((length of (data)) - (1))>\n                                            change [i v] by (1)\n                                            if <(letter (i) of (data)) = [~]> then\n                                                add (addToArray) to [dpkg 8 v]\n                                                set [addtoarray v] to []\n                                            else\n                                                set [addtoarray v] to (join (addToArray) (letter (i) of (data)))\n                                            end\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [update1 v]\nDecode Data [1]\nDecode Data [2]\nDecode Data [3]\nDecode Data [4]\nDecode Data [5]\nDecode Data [6]\nDecode Data [7]\nDecode Data [8]\nDecode Data [9]\nDecode Data [10]\n\ndefine Find Players\nset [t v] to [0]\nset [players v] to [1]\nrepeat (9)\n    change [t v] by (1)\n    if <(item (T) of [active? v]) = [On]> then\n        change [players v] by (1)\n    end\nend\n\n@BannerStatus\n\nwhen I receive [start v]\nif <(Dark Mode) = [True]> then\n    set [brightness v] effect to (-50)\nelse\n    set [brightness v] effect to (0)\nend\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\nwhen I receive [full v]\nshow\nset voice to (tenor v)::tts\nrepeat (10)\n    change [brightness v] effect by (-10)\nend\nswitch costume to (full v)\nrepeat (10)\n    change [brightness v] effect by (10)\nend\nclear graphic effects\nspeak [Sorry, the server is full, You will shift to spectator mode]::tts\nwait (1) seconds\nhide\nswitch costume to (spectator mode v)\nshow\ngo to [front v] layer\nset [ghost v] effect to (100)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\nwhen I receive [initialise v]\nswitch costume to (connecting v)\nshow\nclear graphic effects\ngo to x: (0) y: (0)\ngo to [front v] layer\nif <(Dark Mode) = [True]> then\n    set [brightness v] effect to (-50)\nelse\n    set [brightness v] effect to (0)\nend\n\n@Players\n\nwhen I receive [initialise v]\nshow list [whitelist v]\nif <(username) = [Cloud-Multiplayer]> then\n    add [Party!!!!] to [whitelist v]\nend\nset [brightness v] effect to (0)\nhide\nset size to (20) %\nset rotation style [left-right v]\ngo to x: (0) y: (-100)\nset [party? v] to [False]\nset [username v] to (username)\nset [hide bubble? v] to [False]\nset [on? v] to [1]\nset [speed y v] to [0]\nset [falling? v] to [10]\nset [clone id v] to [0]\nrepeat (10)\n    change [clone id v] by (1)\n    create clone of (_myself_ v)\nend\n\nwhen [space v] key pressed\nhide list [whitelist v]\nwait until <not <key (any v) pressed?>>\nwait until <key (any v) pressed?>\nshow list [whitelist v]\nset [username v] to (item (Pressed) of [whitelist v])\nwait (3) seconds\nset [username v] to (username)\n\ndefine Touch Ground <up?>\nchange [falling? v] by (1)\nrepeat until <not <touching (ground v)?>>\n    if <up?> then\n        change y by (-1)\n    else\n        change y by (1)\n        set [falling? v] to [0]\n    end\n    set [speed y v] to [0]\nend\n\ndefine Walk (direction) (speed)\npoint in direction (direction)\nchange x by (speed)\nset [slope v] to [0]\nrepeat until <<(slope) = [8]> or <not <touching (ground v)?>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <(slope) = [8]> then\n    change x by ((0) - (speed))\n    change y by ((0) - (slope))\n    if <<<<<<((mouse y) - (y position)) > [50]> and <mouse down?>> and <not <(Touching?) = [True]>>> or <key (up arrow v) pressed?>> or <key (w v) pressed?>> and <([abs v] of (speed) ) > [3]>> then\n        if <(wall jump) = [0]> then\n            set [speed x v] to ((-1.2) * (speed))\n            set [speed y v] to [11]\n            set [falling? v] to [6]\n            set [wall jump v] to [15]\n        end\n    else\n        set [speed x v] to [0]\n    end\nend\nif <(speed) < [0]> then\n    change [frame v] by ((speed) / (-8))\nelse\n    change [frame v] by ((speed) / (8))\nend\n\ndefine Set Costume\nif <(falling?) < [6]> then\n    if <(frame) = [0]> then\n        switch costume to (stand_1 v)\n    else\n        switch costume to ([floor v] of ((4) + ((frame) mod (8))) )\n    end\nelse\n    if <(speed y) > [0]> then\n        switch costume to (jump_1 v)\n    else\n        switch costume to (fall_1 v)\n    end\nend\nset [costume # v] to (costume [number v])\n\ndefine (item 1) (item 2) (item 3) (item 5) (item 6) (item 7) (id) (item 8)\nset y to ((y position) + ((0.4) * ((item 2) - (y position))))\nset x to ((x position) + ((0.4) * ((item 1) - (x position))))\nswitch costume to (item 7)\nif <not <(item 3) = (item 8)>> then\n    Check For Words (item 3)\nelse\n    if <(username) = [Cloud-Multiplayer]> then\n        set [word v] to (join (item 8) (join [ : ] (Clone ID)))\n    else\n        set [word v] to (item 8)\n    end\nend\nif <(Hide Bubble?) = [True]> then\n    if <not <(item 3) = (item 8)>> then\n        think (Word)\n    else\n        think []\n    end\nelse\n    think (Word)\nend\nset [color v] effect to (item 6)\npoint in direction (item 5)\nif <(item (id) of [active? v]) = [off]> then\n    hide\nelse\n    show\nend\nif <<(item 8) = [cloud-multiplayer]> and <(item 3) = [party!!!!]>> then\n    set [party! v] to [True]\nelse\n    set [party! v] to [False]\nend\nif <(Party?) = [False]> then\n    if <(Dark Mode) = [True]> then\n        set [brightness v] effect to (-50)\n    else\n        set [brightness v] effect to (0)\n    end\nend\n\ndefine Movement (id)\nif <(Party?) = [False]> then\n    if <(Dark Mode) = [True]> then\n        set [brightness v] effect to (-50)\n    else\n        set [brightness v] effect to (0)\n    end\nend\nset [my x v] to (x position)\nset [my y v] to (y position)\nset [direction v] to (direction)\nset [color v] effect to (color)\nshow\nif <(Hide Bubble?) = [True]> then\n    if <not <(username) = (Username)>> then\n        think (Username)\n    else\n        think []\n    end\nelse\n    think (Username)\nend\nswitch costume to (hitbox v)\nif <<(speed y) < [4]> or <<<<<((mouse y) - (y position)) > [50]> and <mouse down?>> and <not <(Touching?) = [True]>>> or <key (up arrow v) pressed?>> or <key (w v) pressed?>>> then\n    change [speed y v] by (-1)\nelse\n    change [speed y v] by (-2)\nend\nchange y by (speed y)\nTouch Ground <(speed y) > [0]>\nif <(wall jump) > [0]> then\n    change [wall jump v] by (-1)\nelse\n    set [speed x v] to ((speed x) * (0.7))\n    if <<<<<mouse down?> and <(mouse x) < (x position)>> and <not <(Touching?) = [True]>>> or <key (left arrow v) pressed?>> or <key (a v) pressed?>> then\n        change [speed x v] by (-1.5)\n    end\n    if <<<<<mouse down?> and <(mouse x) > (x position)>> and <not <(Touching?) = [True]>>> or <key (right arrow v) pressed?>> or <key (d v) pressed?>> then\n        change [speed x v] by (1.5)\n    end\nend\nif <(speed x) < [-0.5]> then\n    Walk (-90) (speed x)\nelse\n    if <(speed x) > [0.5]> then\n        Walk (90) (speed x)\n    else\n        set [frame v] to [0]\n    end\nend\nif <<<<<((mouse y) - (y position)) > [50]> and <mouse down?>> and <not <(Touching?) = [True]>>> or <key (up arrow v) pressed?>> or <key (w v) pressed?>> then\n    if <<(jump key) = [0]> and <(falling?) < [3]>> then\n        set [speed y v] to [14]\n        set [falling? v] to [6]\n        set [jump key v] to [1]\n    end\nelse\n    set [jump key v] to [0]\nend\nSet Costume\n\nwhen I receive [tick v]\nif <(Clone ID) = [2]> then\n    if <(@PlayerSlot) = [2]> then\n        Movement [2]\n    else\n        (item (1) of [dpkg v]) (item (2) of [dpkg v]) (item (4) of [dpkg v]) (item (5) of [dpkg v]) (item (6) of [dpkg v]) (item (7) of [dpkg v]) [2] (item (8) of [dpkg v])\n    end\nelse\n    if <(Clone ID) = [1]> then\n        if <(@PlayerSlot) = [1]> then\n            Movement [1]\n        else\n            (item (1) of [de package v]) (item (2) of [de package v]) (item (4) of [de package v]) (item (5) of [de package v]) (item (6) of [de package v]) (item (7) of [de package v]) [1] (item (8) of [de package v])\n        end\n    else\n        if <(Clone ID) = [3]> then\n            if <(@PlayerSlot) = [3]> then\n                Movement [3]\n            else\n                (item (1) of [dpkg 1 v]) (item (2) of [dpkg 1 v]) (item (4) of [dpkg 1 v]) (item (5) of [dpkg 1 v]) (item (6) of [dpkg 1 v]) (item (7) of [dpkg 1 v]) [3] (item (8) of [dpkg 1 v])\n            end\n        else\n            if <(Clone ID) = [4]> then\n                if <(@PlayerSlot) = [4]> then\n                    Movement [4]\n                else\n                    (item (1) of [dpkg 2 v]) (item (2) of [dpkg 2 v]) (item (4) of [dpkg 2 v]) (item (5) of [dpkg 2 v]) (item (6) of [dpkg 2 v]) (item (7) of [dpkg 2 v]) [4] (item (8) of [dpkg 2 v])\n                end\n            else\n                if <(Clone ID) = [5]> then\n                    if <(@PlayerSlot) = [5]> then\n                        Movement [5]\n                    else\n                        (item (1) of [dpkg 3 v]) (item (2) of [dpkg 3 v]) (item (4) of [dpkg 3 v]) (item (5) of [dpkg 3 v]) (item (6) of [dpkg 3 v]) (item (7) of [dpkg 3 v]) [5] (item (8) of [dpkg 3 v])\n                    end\n                else\n                    if <(Clone ID) = [6]> then\n                        if <(@PlayerSlot) = [6]> then\n                            Movement [6]\n                        else\n                            (item (1) of [dpkg 4 v]) (item (2) of [dpkg 4 v]) (item (4) of [dpkg 4 v]) (item (5) of [dpkg 4 v]) (item (6) of [dpkg 4 v]) (item (7) of [dpkg 4 v]) [6] (item (8) of [dpkg 4 v])\n                        end\n                    else\n                        if <(Clone ID) = [7]> then\n                            if <(@PlayerSlot) = [7]> then\n                                Movement [7]\n                            else\n                                (item (1) of [dpkg 5 v]) (item (2) of [dpkg 5 v]) (item (4) of [dpkg 5 v]) (item (5) of [dpkg 5 v]) (item (6) of [dpkg 5 v]) (item (7) of [dpkg 5 v]) [7] (item (8) of [dpkg 5 v])\n                            end\n                        else\n                            if <(Clone ID) = [8]> then\n                                if <(@PlayerSlot) = [8]> then\n                                    Movement [8]\n                                else\n                                    (item (1) of [dpkg 6 v]) (item (2) of [dpkg 6 v]) (item (4) of [dpkg 6 v]) (item (5) of [dpkg 6 v]) (item (6) of [dpkg 6 v]) (item (7) of [dpkg 6 v]) [8] (item (8) of [dpkg 6 v])\n                                end\n                            else\n                                if <(Clone ID) = [9]> then\n                                    if <(@PlayerSlot) = [9]> then\n                                        Movement [9]\n                                    else\n                                        (item (1) of [dpkg 7 v]) (item (2) of [dpkg 7 v]) (item (4) of [dpkg 7 v]) (item (5) of [dpkg 7 v]) (item (6) of [dpkg 7 v]) (item (7) of [dpkg 7 v]) [9] (item (8) of [dpkg 7 v])\n                                    end\n                                else\n                                    if <(Clone ID) = [10]> then\n                                        if <(@PlayerSlot) = [10]> then\n                                            Movement [10]\n                                        else\n                                            (item (1) of [dpkg 8 v]) (item (2) of [dpkg 8 v]) (item (4) of [dpkg 8 v]) (item (5) of [dpkg 8 v]) (item (6) of [dpkg 8 v]) (item (7) of [dpkg 8 v]) [10] (item (8) of [dpkg 8 v])\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen [h v] key pressed\nif <(Hide Bubble?) = [True]> then\n    set [hide bubble? v] to [False]\nelse\n    if <(Hide Bubble?) = [False]> then\n        set [hide bubble? v] to [True]\n    end\nend\n\nwhen I receive [do the shake v]\nset [brightness v] effect to (50)\nset [party? v] to [True]\n\nwhen I receive [stop doing the shake v]\nset [brightness v] effect to (0)\nset [party? v] to [False]\n\ndefine Check For Words (words)\nif <(words) = (item (1) of [whitelist v])> then\n    set [word v] to (item (1) of [whitelist v])\nelse\n    if <(words) = (item (2) of [whitelist v])> then\n        set [word v] to (item (2) of [whitelist v])\n    else\n        if <(words) = (item (3) of [whitelist v])> then\n            set [word v] to (item (3) of [whitelist v])\n        else\n            if <(words) = (item (4) of [whitelist v])> then\n                set [word v] to (item (4) of [whitelist v])\n            else\n                if <(words) = (item (5) of [whitelist v])> then\n                    set [word v] to (item (5) of [whitelist v])\n                else\n                    if <(words) = (item (6) of [whitelist v])> then\n                        set [word v] to (item (6) of [whitelist v])\n                    else\n                        if <(words) = (item (7) of [whitelist v])> then\n                            set [word v] to (item (7) of [whitelist v])\n                        else\n                            if <(words) = (item (8) of [whitelist v])> then\n                                set [word v] to (item (8) of [whitelist v])\n                            else\n                                if <(words) = (item (9) of [whitelist v])> then\n                                    set [word v] to (item (9) of [whitelist v])\n                                else\n                                    if <(words) = (item (10) of [whitelist v])> then\n                                        set [word v] to (item (10) of [whitelist v])\n                                    else\n                                        if <(words) = (item (12) of [whitelist v])> then\n                                            set [word v] to (item (12) of [whitelist v])\n                                        else\n                                            if <(words) = (item (13) of [whitelist v])> then\n                                                set [word v] to (item (13) of [whitelist v])\n                                            else\n                                                if <(words) = (item (14) of [whitelist v])> then\n                                                    set [word v] to (item (14) of [whitelist v])\n                                                else\n                                                    if < (words) contains (join [kick ] (@PlayerSlot))?> then\n                                                        broadcast (You have been booted. v)\n                                                    else\n                                                        if <(words) = [cloud-multiplayer]> then\n                                                            set [word v] to [Cloud-Multiplayer]\n                                                        else\n                                                        end\n                                                    end\n                                                end\n                                            end\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\n@Ground\n\nwhen I receive [tick v]\ngo to [back v] layer\ngo to x: (4) y: (-29)\nswitch costume to (cloud ground2 v)\nif <(Dark Mode) = [True]> then\n    set [brightness v] effect to (-50)\nelse\n    set [brightness v] effect to (0)\nend\n\nwhen I receive [do the shake v]\nset [intensity v] to [5]\nwait (15) seconds\nforever\n    go to x: ((x position) + (pick random ((Intensity) * (-1)) to (Intensity))) y: ((y position) + (pick random ((Intensity) * (-1)) to (Intensity)))\nend\n\nwhen I receive [do the shake v]\nset [intensity v] to [5]\nwait (28) seconds\nstop [other scripts in sprite v]\nwait (56) seconds\nbroadcast (Stop doing the shake v)\n\n@Thumbnail\n\nwhen I receive [you have been booted. v]\nswitch costume to (you have been booted! v)\nset size to (100) %\ngo to [front v] layer\nclear graphic effects\ngo to x: (0) y: (0)\ngo to [front v] layer\nshow\n\nwhen I receive [initialise v]\nswitch costume to (thumbnail3 v)\nset size to (100) %\ngo to [front v] layer\nclear graphic effects\ngo to x: (0) y: (0)\ngo to [front v] layer\nshow\nrepeat (10)\n    change [ghost v] effect by (10)\n    go to [front v] layer\nend\n\n@colorwheel\n\nwhen I receive [initialise v]\nset [key pressed? 1 v] to [False]\nset [key pressed? 2 v] to [False]\nset [color v] to [0]\n\nwhen I receive [tick v]\nif <(Dark Mode) = [True]> then\n    set [brightness v] effect to (-50)\nelse\n    set [brightness v] effect to (0)\nend\nif <(Direction) = [90]> then\n    go to x: ((-45) + (My X)) y: ((25) + (My Y))\nelse\n    if <(Direction) = [-90]> then\n        go to x: ((45) + (My X)) y: ((25) + (My Y))\n    end\nend\nif <(@PlayerSlot) = [0]> then\n    hide\nelse\n    if <(Key Pressed? 1) = [True]> then\n        show\n    else\n        if <(Key Pressed? 1) = [False]> then\n            hide\n        end\n    end\nend\n\nwhen [c v] key pressed\nif <(Key Pressed? 1) = [True]> then\n    set [key pressed? 1 v] to [False]\nelse\n    set [key pressed? 1 v] to [True]\nend\n\nif <(Dark Mode) = [True]> then\n    set [brightness v] effect to (-50)\nelse\n    set [brightness v] effect to (0)\nend\n\n@selector\n\ndefine set color (with start at (degrees) °)\nif <(degrees) = [0]> then\n    if <(round (((direction) * (200)) / (360))) < [0]> then\n        set [color v] to ((200) + (round (((direction) * (200)) / (360))))\n    else\n        set [color v] to (round (((direction) * (200)) / (360)))\n    end\nend\n\nwhen I receive [initialise v]\ngo to (colorwheel v)\npoint in direction (0)\nhide\n\nwhen I receive [start forever scripts v]\nforever\n    if <<mouse down?> and <touching (mouse-pointer v)?>> then\n        set [touching? v] to [True]\n        set size to (80) %\n        if <(Dark Mode) = [True]> then\n            switch costume to (selector6 v)\n        else\n            switch costume to (selector7 v)\n        end\n        broadcast (set color v)\n        repeat until <not <mouse down?>>\n            go to [front v] layer\n            point towards (mouse-pointer v)\n            point in direction (round (direction))\n            set color (with start at [0] °)\n        end\n    else\n        set [touching? v] to [False]\n    end\nend\n\nwhen I receive [tick v]\ngo to (colorwheel v)\nif <(@PlayerSlot) = [0]> then\n    hide\nelse\n    if <(Key Pressed? 1) = [True]> then\n        if <(y position) > [150]> then\n            hide\n        else\n            show\n        end\n    else\n        if <(Key Pressed? 1) = [False]> then\n            hide\n        end\n    end\nend\n\n@Key Detector\n\nwhen flag clicked\nforever\n    check all keys\nend\n\ndefine check all keys\ndelete (all) of [pressed v]\nset [i v] to [1]\nrepeat (length of [special keys: keycode v])\n    if <key ((item (i) of [special keys: keycode v]) v) pressed?> then\n        add (item (i) of [special keys: key v]) to [pressed v]\n    end\n    change [i v] by (1)\nend\nif <key (\n v) pressed?> then\n    add (item (13) of [special keys: key v]) to [pressed v]\nend\n\nwhen [any v] key pressed\nif <key ((join [/] []) v) pressed?> then\n    ask [Command?] and wait\n    if << (answer) contains (item (1) of [/commands v])?> and < (answer) contains [/]?>> then\n        set [username v] to (join (item (1) of [/commands v]) (letter (length of (answer)) of (answer)))\n        wait (3) seconds\n        set [username v] to (username)\n    end\nend\n\n