☁️ Pico's world ✦ MMO cloud platformer sequel v1.4 by TimMcCool
@Stage\n\nwhen I receive [tick 3 v]\nif <(end) = [1]> then\n    if <([floor v] of (([tick v] of [cloud v]) / (2)) ) = (([tick v] of [cloud v]) / (2))> then\n        add [0] to [record v]\n        add [0] to [record v]\n    end\nend\n\nwhen flag clicked\n\nbroadcast (main game v)\n\nwhen I receive [start music v]\nforever\n    play sound [Sounds of the Boreal Forest v] until done\nend\n\nwhen I receive [start music v]\nforever\n    if <(pick random (1) to (3)) = [1]> then\n        play sound [life-of-riley-by-kevin-macleod v] until done\n        play sound [Nebula v] until done\n    else\n        if <(pick random (1) to (2)) = [1]> then\n            play sound [Nebula v] until done\n            play sound [alan-walker-nebula-new-song-2019-1080pfhr v] until done\n        else\n            play sound [alan-walker-nebula-new-song-2019-1080pfhr v] until done\n            play sound [life-of-riley-by-kevin-macleod v] until done\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(mute) = [1]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\n@blank\n\n@Thumbnail\n\nwhen I receive [thumbnail v]\nshow\nset [ghost v] effect to (100)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nstop [all v]\n\nwhen I receive [tick 3 v]\ngo to [front v] layer\nif <(end) = [0]> then\n    show\n    set [ghost v] effect to (100)\nend\n\nwhen flag clicked\nhide\n\n@intro\n\ndefine xb\nset [velocity v] to (((velocity) * (0.7)) + (((size) - (100)) * (-0.2)))\nchange size by ([floor v] of (velocity) )\n\nwhen flag clicked\npoint in direction (90)\nhide variable [power v]\nset [id v] to [0]\ncreate clone of (_myself_ v)\nset [id v] to [1]\ncreate clone of (_myself_ v)\nshow\nswitch costume to (costume1 v)\nset size to (45) %\ngo to x: (-300) y: (5000)\nset [sy v] to [0]\nrepeat until <(y position) < [41]>\n    change x by (8)\n    change [sy v] by (-2)\n    change y by (sy)\n    if <(y position) < [40]> then\n        start sound [Boing v]\n        set y to (40)\n        set [brightness v] effect to (100)\n    end\nend\nset [sy v] to [20]\nchange x by (8)\nchange [sy v] by (-2)\nchange y by (sy)\nchange [brightness v] effect by (-10)\nrepeat (9)\n    change x by (8)\n    change [sy v] by (-2)\n    change y by (sy)\n    change [brightness v] effect by (-10)\nend\nrepeat until <(y position) < [40]>\n    change x by (8)\n    change [sy v] by (-2)\n    change y by (sy)\n    if <(y position) < [41]> then\n        switch costume to (costume3 v)\n        start sound [Boing v]\n        broadcast (start music v)\n        set [id v] to [3]\n        create clone of (_myself_ v)\n        set [id v] to [4]\n        create clone of (_myself_ v)\n        forever\n            set rotation style [left-right v]\n            wait (2) seconds\n            switch costume to (costume2 v)\n            repeat (6)\n                point in direction (90)\n                next costume\n                repeat (4)\n                    change x by (2.5)\n                end\n            end\n            wait (2) seconds\n            switch costume to (costume2 v)\n            repeat (6)\n                point in direction (-90)\n                next costume\n                repeat (4)\n                    change x by (-2.5)\n                end\n            end\n            wait (2) seconds\n            switch costume to (costume2 v)\n            repeat (6)\n                next costume\n                repeat (4)\n                    change x by (-2.5)\n                end\n            end\n            wait (2) seconds\n            switch costume to (costume2 v)\n            repeat (6)\n                point in direction (90)\n                next costume\n                repeat (4)\n                    change x by (2.5)\n                end\n            end\n        end\n    end\nend\n\nwhen I start as a clone\nif <(id) = [3]> then\n    set [ghost v] effect to (100)\n    go to x: (0) y: (0)\n    switch costume to (costume2 v)\n    set size to (100) %\n    set size to (20) %\n    forever\n        xb\n        change [ghost v] effect by (-10)\n        go to [front v] layer\n        go [backward v] (1) layers\n        show\n    end\nelse\n    if <(id) = [4]> then\n        set x to (0)\n        button (id)\n    else\n        if <(id) = [5]> then\n            set x to (-85)\n            button (id)\n        else\n            if <(id) = [6]> then\n                set x to (85)\n                button (id)\n            else\n                set [ghost v] effect to (100)\n                go to x: (0) y: (-30)\n                set [brightness v] effect to (-3)\n                if <(id) = [1]> then\n                    set [brightness v] effect to (3)\n                end\n                wait ((join [0.] (id)) * (4)) seconds\n                forever\n                    change [ghost v] effect by (-10)\n                    go to [back v] layer\n                    go [forward v] ((1) + (id)) layers\n                    show\n                    switch costume to ((3) + (id))\n                    set size to (100) %\n                    change y by (((y position) - (45)) / (-6))\n                end\n            end\n        end\n    end\nend\n\nset y to (0)\n\ndefine button (id)\nset y to (-130)\nset [ghost v] effect to (100)\nset size to (100) %\nset size to (20) %\npoint in direction (110)\nforever\n    set rotation style [all around v]\n    switch costume to (join [a] (id))\n    change [ghost v] effect by (-10)\n    go to [front v] layer\n    go [backward v] (1) layers\n    show\n    if <(intro: picked?) = [1]> then\n        repeat (7)\n            change size by (-10)\n            change [ghost v] effect by (15)\n            turn right (5) degrees\n        end\n        delete this clone\n    end\n    if <touching (mouse-pointer v)?> then\n        repeat until <<mouse down?> or <not <touching (mouse-pointer v)?>>>\n            change size by (((size) - (120)) / (-5))\n            set [brightness v] effect to (-20)\n            turn right (((direction) - (80)) / (-5)) degrees\n        end\n        repeat until <<not <mouse down?>> or <not <touching (mouse-pointer v)?>>>\n            change size by (((size) - (120)) / (-5))\n            set [brightness v] effect to (-20)\n            turn right (((direction) - (80)) / (-5)) degrees\n        end\n        if <touching (mouse-pointer v)?> then\n            if <<(id) = [5]> or <(id) = [6]>> then\n                set [intro: picked? v] to [1]\n            end\n            repeat (7)\n                change size by (-10)\n                change [ghost v] effect by (15)\n                turn right (5) degrees\n            end\n            if <(id) = [4]> then\n                set [id v] to [5]\n                create clone of (_myself_ v)\n                set [id v] to [6]\n                create clone of (_myself_ v)\n                delete this clone\n            end\n            if <(id) = [5]> then\n                set [multiplayer? v] to [0]\n                broadcast (transition v)\n                wait (1) seconds\n                broadcast (main game v)\n            end\n            if <(id) = [6]> then\n                set [multiplayer? v] to [1]\n                broadcast (transition v)\n                wait (1) seconds\n                broadcast (main game v)\n            end\n            delete this clone\n        end\n    else\n        change size by (((size) - (100)) / (-5))\n        set [brightness v] effect to (0)\n        turn right (((direction) - (90)) / (-5)) degrees\n    end\nend\n\nwhen I receive [main game v]\nstop [other scripts in sprite v]\nhide\ndelete this clone\n\nwhen flag clicked\nset [intro: picked? v] to [0]\n\n@Cloud\n\ndefine Encode\nset [output v] to []\nset [n v] to [0]\nrepeat (length of [post on cloud v])\n    set [l v] to [0]\n    change [n v] by (1)\n    repeat (length of (item (n) of [post on cloud v]))\n        change [l v] by (1)\n        switch costume to (letter (L) of (item (n) of [post on cloud v]))\n        if <(costume [number v]) < [10]> then\n            set [output v] to (join (Output) (join [0] (costume [number v])))\n        else\n            set [output v] to (join (Output) (costume [number v]))\n        end\n    end\n    set [output v] to (join (Output) [01])\nend\nset [send to cloud v] to (Output)\n\ndefine Prepare Data\ndelete all of [post on cloud v]\nadd (player id) to [post on cloud v]\nadd (timer) to [post on cloud v]\nadd (round (xpos)) to [post on cloud v]\nadd (round (ypos)) to [post on cloud v]\nif <is compiled?> then\n    add (join [ⓣ ] (username)) to [post on cloud v]\nelse\n    add (username) to [post on cloud v]\nend\nadd (chat) to [post on cloud v]\nadd (join (status) (rainbow effect)) to [post on cloud v]\nDecode recorded data\ndelete all of [record v]\n\ndefine Decode (data)\nset [n v] to [1]\nset [output v] to []\nset [l v] to [1]\nrepeat (((length of (data)) - (1)) / (2))\n    change [l v] by (2)\n    switch costume to (join (letter ((L) - (1)) of (data)) (letter (L) of (data)))\n    if <(costume [name v]) = [~]> then\n        if <(n) = [1]> then\n            if <not <[active players ids v] contains (Output)?>> then\n                if <(cloned?) = [0]> then\n                    if <[active players ids v] contains []?> then\n                        set [item v] to (item # of [] in [active players ids v])\n                        replace item (item) of [active check v] with [0]\n                        set [get_item v] to (item # of [] in [active players ids v])\n                        replace item (item # of [] in [active players ids v]) of [active players ids v] with (Output)\n                    else\n                        add (Output) to [active players ids v]\n                        add [0] to [active check v]\n                        add [0] to [x v]\n                        add [0] to [y v]\n                        add [0] to [active players v]\n                        add [0] to [chat v]\n                        add [0] to [status v]\n                        repeat (50)\n                            add [0] to [record_other players v]\n                        end\n                        set [get_item v] to (length of [active check v])\n                    end\n                    if <not <(Output) = (player id)>> then\n                        set [cloned? v] to [1]\n                        create clone of (opponents v)\n                    end\n                else\n                    stop [this script v]\n                end\n            end\n            set [item v] to (item # of (Output) in [active players ids v])\n        end\n        if <(n) = [2]> then\n            if <(Output) > (item (item) of [active check v])> then\n                replace item (item) of [active check v] with (Output)\n            else\n                stop [this script v]\n            end\n        end\n        if <(n) = [3]> then\n            replace item (item) of [x v] with (Output)\n        end\n        if <(n) = [4]> then\n            replace item (item) of [y v] with (Output)\n        end\n        if <(n) = [5]> then\n            replace item (item) of [active players v] with (Output)\n            if <(username) = (Output)> then\n                if <not <(item (item) of [active players ids v]) = (player id)>> then\n                    stop [all v]\n                end\n            end\n        end\n        if <(n) = [6]> then\n            replace item (item) of [chat v] with (Output)\n        end\n        if <(n) = [7]> then\n            replace item (item) of [status v] with (Output)\n        end\n        if <[7] < (n)> then\n            replace item (((item) * (50)) - ((57) - (n))) of [record_other players v] with (Output)\n        end\n        change [n v] by (1)\n        set [output v] to []\n    else\n        set [output v] to (join (Output) (costume [name v]))\n    end\nend\n\ndefine Download Data\ndelete all of [cloud data v]\nImport ☁ [1] (join [=] (☁ 1))\nImport ☁ [2] (join [=] (☁ 2))\nImport ☁ [3] (join [=] (☁ 3))\nImport ☁ [4] (join [=] (☁ 4))\nImport ☁ [5] (join [=] (☁ 5))\nImport ☁ [6] (join [=] (☁ 6))\nImport ☁ [7] (join [=] (☁ 7))\nImport ☁ [8] (join [=] (☁ 8))\nImport ☁ [9] (join [=] (☁ 9))\nImport ☁ [10] (join [=] (☁ 10))\n\ndefine Decode Data\nset [i v] to [0]\nrepeat (length of [cloud data v])\n    change [i v] by (1)\n    Decode (item (i) of [cloud data v])\nend\n\ndefine Send Data\nif <(which cloud?) = [1]> then\n    set [☁ 1 v] to (send to cloud)\nend\nif <(which cloud?) = [2]> then\n    set [☁ 2 v] to (send to cloud)\nend\nif <(which cloud?) = [3]> then\n    set [☁ 3 v] to (send to cloud)\nend\nif <(which cloud?) = [4]> then\n    set [☁ 4 v] to (send to cloud)\nend\nif <(which cloud?) = [5]> then\n    set [☁ 5 v] to (send to cloud)\nend\nif <(which cloud?) = [6]> then\n    set [☁ 6 v] to (send to cloud)\nend\nif <(which cloud?) = [7]> then\n    set [☁ 7 v] to (send to cloud)\nend\nif <(which cloud?) = [8]> then\n    set [☁ 8 v] to (send to cloud)\nend\nif <(which cloud?) = [9]> then\n    set [☁ 9 v] to (send to cloud)\nend\nif <(which cloud?) = [10]> then\n    set [☁ 10 v] to (send to cloud)\nend\n\ndefine Init cloud\nset [send to cloud v] to [0]\nset [player id v] to (pick random (999) to (999999))\ndelete all of [record v]\ndelete all of [active players v]\ndelete all of [active players ids v]\ndelete all of [active check v]\ndelete all of [record_other players v]\ndelete all of [x v]\ndelete all of [chat v]\ndelete all of [real cloud data v]\ndelete all of [cloud data v]\ndelete all of [status v]\ndelete all of [y v]\nset [next post on cloud v] to [15]\nadd (join [=] (☁ 1)) to [real cloud data v]\nadd (join [=] (☁ 2)) to [real cloud data v]\nadd (join [=] (☁ 3)) to [real cloud data v]\nadd (join [=] (☁ 4)) to [real cloud data v]\nadd (join [=] (☁ 5)) to [real cloud data v]\nadd (join [=] (☁ 6)) to [real cloud data v]\nadd (join [=] (☁ 7)) to [real cloud data v]\nadd (join [=] (☁ 8)) to [real cloud data v]\nadd (join [=] (☁ 9)) to [real cloud data v]\nadd (join [=] (☁ 10)) to [real cloud data v]\n\ndefine Import ☁ (id) (data)\nif <(item (id) of [real cloud data v]) = (data)> then\n    stop [this script v]\nend\nreplace item (id) of [real cloud data v] with (data)\nadd (data) to [cloud data v]\n\ndefine ☁ Cloud\nset [cloned? v] to [0]\nDownload Data\nDecode Data\nif <(next post on cloud) < (tick)> then\n    Prepare Data\n    Encode\n    set [which cloud? v] to (pick random (1) to (10))\n    Send Data\n    set [next post on cloud v] to ((tick) + (15))\nend\n\ndefine Decode recorded data\nset [encoded.recording v] to []\nset [i v] to [0]\nrepeat ((length of [record v]) / (2))\n    change [i v] by (2)\n    add (item ((i) - (1)) of [record v]) to [post on cloud v]\n    add (item (i) of [record v]) to [post on cloud v]\nend\n\nwhen I receive [tick 1 v]\nset [active players v] to [1]\n\nwhen I receive [main game v]\nbroadcast (Setup v) and wait\nif <(multiplayer?) = [1]> then\n    Init cloud\nend\nset [tick v] to [0]\nforever\n    if <(multiplayer?) = [1]> then\n        ☁ Cloud\n    end\n    change [tick v] by (1)\n    if <(end) = [0]> then\n        broadcast (tick 1 v)\n        broadcast (tick 2 v)\n    end\n    broadcast (tick 3 v)\nend\n\nwhen I receive [main game v]\nset [l? v] to [0]\nshow list [active players v]\nif <(multiplayer?) = [1]> then\n    show variable [active players v]\n    forever\n        wait until <key (l v) pressed?>\n        set [l? v] to [1]\n        hide list [active players v]\n        hide variable [active players v]\n        wait until <not <key (l v) pressed?>>\n        wait until <key (l v) pressed?>\n        show variable [active players v]\n        set [l? v] to [0]\n        show list [active players v]\n        wait until <not <key (l v) pressed?>>\n    end\nelse\n    hide variable [active players v]\nend\n\nwhen I receive [main game v]\nif <(multiplayer?) = [1]> then\n    set [n? v] to [1]\n    forever\n        wait until <key (n v) pressed?>\n        set [n? v] to [0]\n        wait until <not <key (n v) pressed?>>\n        wait until <key (n v) pressed?>\n        set [n? v] to [1]\n        wait until <not <key (n v) pressed?>>\n    end\nend\n\n@Opponents\n\nwhen flag clicked\nhide\nset [item v] to [-1]\n\nwhen I start as a clone\nset [item v] to (get_item)\nset [costume v] to [1-10]\nif <(item) = (item # of (player id) in [active players ids v])> then\n    delete this clone\nend\npoint in direction (90)\nwait ((2) / (30)) seconds\nset [i v] to [55]\nset [my x v] to (item (item) of [x v])\nset [my y v] to (item (item) of [y v])\nset [next x v] to (item (item) of [x v])\nset [next y v] to (item (item) of [y v])\nset [my status v] to (letter (1) of (item (item) of [status v]))\nset [brightness v] to [0]\ngo to x: ((my x) - (SCROLL X)) y: ((my y) - (SCROLL Y))\nchange y by (9)\nforever\n    show\n    if <(item (item) of [chat v]) > [0]> then\n        say (item (item (item) of [chat v]) of [chat phrases v])\n    else\n        if <(n?) = [1]> then\n            think []\n        else\n            think (item (item) of [active players v])\n        end\n    end\nend\n\nwhen I start as a clone\nset [inactive v] to [0]\nset [active check v] to (item (item) of [active check v])\n\nwhen I receive [tick 2 v]\nset [ghost v] effect to (0)\nset [brightness v] effect to (0)\nif <(item) > [0]> then\n    if <(active check) = (item (item) of [active check v])> then\n        change [inactive v] by (1)\n        if <(i) < [48]> then\n            if <([floor v] of (([tick v] of [cloud v]) / (2)) ) = (([tick v] of [cloud v]) / (2))> then\n                change [i v] by (2)\n            end\n            change [my x v] by ((item ((((item) * (50)) - (50)) + ((i) - (1))) of [record_other players v]) / (2))\n            change [my y v] by ((item ((((item) * (50)) - (50)) + ((i) - (0))) of [record_other players v]) / (2))\n            if <((item ((((item) * (50)) - (50)) + ((i) - (1))) of [record_other players v]) / (2)) > [0]> then\n                set [impulse v] to [1]\n            else\n                if <[0] > ((item ((((item) * (50)) - (50)) + ((i) - (1))) of [record_other players v]) / (2))> then\n                    set [impulse v] to [-1]\n                else\n                    set [impulse v] to [0]\n                end\n            end\n        end\n        if <(inactive) > [59]> then\n            replace item (item) of [active players v] with []\n            replace item (item) of [active players ids v] with []\n            delete this clone\n        end\n    else\n        set [inactive v] to [0]\n        set [my x v] to (next x)\n        set [my y v] to (next y)\n        set [next x v] to (item (item) of [x v])\n        set [next y v] to (item (item) of [y v])\n        set [i v] to [0]\n    end\n    set [active check v] to (item (item) of [active check v])\n    set size to (30) %\n    go to x: ((my x) - (SCROLL X)) y: ((my y) - (SCROLL Y))\n    change y by (9)\n    if <not <(letter (1) of (item (item) of [status v])) = (my status)>> then\n        set [brightness v] to [100]\n    end\n    set [my status v] to (letter (1) of (item (item) of [status v]))\n    switch costume to (costume)\n    walk cycle (my status)\n    set [brightness v] effect to (brightness)\n    change [active players v] by (1)\n    change [brightness v] by ((brightness) / (-10))\n    if <<([abs v] of (y position) ) > [140]> or <([abs v] of (x position) ) > [200]>> then\n        set size to (50) %\n        switch costume to (arrow v)\n        set rotation style [all around v]\n        set [ghost v] effect to (20)\n        if <([abs v] of (x position) ) > [200]> then\n            if <(x position) < [0]> then\n                set x to (-220)\n                point in direction ((-90) + ((y position) / (4)))\n            else\n                point in direction ((90) - ((y position) / (4)))\n                if <(l?) = [1]> then\n                    set x to (120)\n                else\n                    set x to (220)\n                end\n            end\n            if <(y position) > [170]> then\n                set y to (170)\n            else\n                if <[-170] > (y position)> then\n                    set y to (-170)\n                end\n            end\n        else\n            if <(y position) < [0]> then\n                point in direction ((180) - ((x position) / (4)))\n                set y to (-170)\n            else\n                point in direction ((0) + ((x position) / (4)))\n                set y to (170)\n            end\n        end\n        go to [front v] layer\n    end\nend\n\nwhen I receive [tick 1 v]\ngo to [front v] layer\n\nwait (0.7) seconds\n\nswitch costume to (costume)\n\nwhen I receive [tick 2 v]\ngo to [back v] layer\ngo [forward v] (60) layers\n\ndefine walk cycle (modus)\nset rotation style [left-right v]\nif <(letter (2) of (item (item) of [status v])) = [1]> then\n    change [color v] effect by (2)\nelse\n    set [color v] effect to (0)\nend\nif <(modus) = [1]> then\n    if <<[0] > (impulse)> or <(impulse) > [0]>> then\n        if <[0] > (impulse)> then\n            point in direction (-90)\n        else\n            point in direction (90)\n        end\n    end\n    if <(([tick v] of [cloud v]) mod (5)) = [0]> then\n        if <<[0] > (impulse)> or <(impulse) > [0]>> then\n            if <(costume [name v]) = [1-10]> then\n                switch costume to (1-1 v)\n            else\n                if <(costume [name v]) = [1-10]> then\n                    switch costume to (1-1 v)\n                end\n                if <(paused) = [0]> then\n                    next costume\n                end\n                if <(costume [name v]) = [1-10]> then\n                    switch costume to (1-1 v)\n                end\n            end\n            set rotation style [left-right v]\n            if <[0] > (impulse)> then\n                point in direction (-90)\n            else\n                point in direction (90)\n            end\n        else\n            switch costume to (1-10 v)\n        end\n    end\nend\nif <(modus) = [2]> then\n    point in direction (90)\n    set rotation style [left-right v]\n    if <(([tick v] of [cloud v]) mod (5)) = [0]> then\n        if <<[0] > (impulse)> or <(impulse) > [0]>> then\n            if <(letter (1) of (costume [name v])) = [1]> then\n                switch costume to (2-1 v)\n            else\n                if <(costume [name v]) = [2-10]> then\n                    switch costume to (2-1 v)\n                end\n                if <(paused) = [0]> then\n                    next costume\n                end\n                if <(costume [name v]) = [2-10]> then\n                    switch costume to (2-1 v)\n                end\n            end\n        else\n            switch costume to (2-10 v)\n        end\n    end\nend\nif <(modus) = [3]> then\n    if <<[0] > (impulse)> or <(impulse) > [0]>> then\n        if <(([tick v] of [cloud v]) mod (5)) = [0]> then\n            if <[0] > (impulse)> then\n                point in direction (-90)\n            else\n                point in direction (90)\n            end\n            if <(letter (1) of (costume [name v])) = [1]> then\n                switch costume to (3-1 v)\n            else\n                if <(costume [name v]) = [3-10]> then\n                    switch costume to (3-1 v)\n                end\n                if <(paused) = [0]> then\n                    next costume\n                end\n                if <(costume [name v]) = [3-10]> then\n                    switch costume to (3-1 v)\n                end\n            end\n        end\n    else\n        switch costume to (3-10 v)\n    end\nend\nif <(modus) = [4]> then\n    if <[0] > (impulse)> then\n        point in direction (-90)\n    else\n        point in direction (90)\n    end\n    if <((item ((((item) * (50)) - (50)) + ((i) - (0))) of [record_other players v]) / (2)) = [-2]> then\n        switch costume to (4-11 v)\n    else\n        if <<[0] > (impulse)> or <(impulse) > [0]>> then\n            if <(([tick v] of [cloud v]) mod (5)) = [0]> then\n                if <(letter (1) of (costume [name v])) = [1]> then\n                    switch costume to (4-1 v)\n                else\n                    if <<(costume [name v]) = [4-10]> or <(costume [name v]) = [4-11]>> then\n                        switch costume to (4-1 v)\n                    end\n                    if <(paused) = [0]> then\n                        next costume\n                    end\n                    if <<(costume [name v]) = [4-10]> or <(costume [name v]) = [4-11]>> then\n                        switch costume to (4-1 v)\n                    end\n                end\n            end\n        else\n            switch costume to (4-10 v)\n        end\n    end\nend\nif <(modus) = [5]> then\n    if <[0] > (impulse)> then\n        point in direction (-90)\n    else\n        point in direction (90)\n    end\n    if <<[0] > (impulse)> or <(impulse) > [0]>> then\n        if <(([tick v] of [cloud v]) mod (5)) = [0]> then\n            if <<not <(letter (1) of (costume [name v])) = [5]>> or <[9] < (join (letter (3) of (costume [name v])) (letter (4) of (costume [name v])))>> then\n                switch costume to (5-1 v)\n            end\n            if <(paused) = [0]> then\n                next costume\n            end\n            if <<not <(letter (1) of (costume [name v])) = [5]>> or <[9] < (join (letter (3) of (costume [name v])) (letter (4) of (costume [name v])))>> then\n                switch costume to (5-1 v)\n            end\n        end\n    else\n        switch costume to (5-10 v)\n    end\nend\nset [costume v] to (costume [name v])\n\nwhen I start as a clone\nforever\n    if <(mute) = [1]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\n@Platforms\n\nwhen I receive [tick 2 v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\ndefine position (x) (y)\nswitch costume to (hack v)\nset size to (100) %\ngo to [front v] layer\ngo [backward v] (30) layers\nset [ghost v] effect to (0)\nswitch costume to (id)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\nif <([id v] of [key v]) = [2]> then\n    if <(id) = [10]> then\n        switch costume to (21 v)\n        set size to (300) %\n        if <touching (hitbox v)?> then\n            broadcast (unlock v)\n            delete this clone\n        end\n        switch costume to (10 v)\n        set size to (100) %\n    end\nend\n\ndefine platfom (xpos) (ypos) (id)\nset [id v] to (id)\nset [x v] to (xpos)\nset [y v] to (ypos)\ncreate clone of (_myself_ v)\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nclear graphic effects\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (level 0 0 v)\nplatfom [0] [0] [1]\nplatfom [180] [0] [2]\nplatfom [-180] [0] [3]\nplatfom [1300] [0] [4]\nplatfom [540] [0] [5]\nplatfom [720] [0] [6]\nplatfom [1800] [400] [8]\nplatfom [2300] [100] [9]\nplatfom [2800] [-69] [10]\nplatfom [2800] [0] [11]\nplatfom [3300] [0] [7]\nplatfom [3800] [0] [13]\nplatfom [3800] [400] [15]\nplatfom [3000] [600] [16]\nplatfom [2400] [600] [17]\nplatfom [1800] [600] [18]\nplatfom [1800] [1100] [19]\nplatfom [1100] [1400] [20]\n\nset [x v] to [100000000000000000000]\nset [id v] to [1000]\n\n@Hitbox\n\ndefine Init scrolling platformer\nset [paused v] to [0]\nset [end v] to [0]\nset [sy v] to [0]\nset [scroll x v] to [-100]\nset [scroll y v] to [20]\nset [x v] to [-100]\nhide variable [timer v]\nset [y v] to [-6]\nset [in air v] to [0]\nset size to (50) %\nset [ghost v] effect to (0)\nset [ghost v] effect to (100)\nshow\n\ndefine Tick\nset [ghost v] effect to (100)\nif <not <([floor v] of (([tick v] of [cloud v]) / (2)) ) = (([tick v] of [cloud v]) / (2))>> then\n    set [last-xpos v] to (xpos)\n    set [last-ypos v] to (ypos)\nend\nif <<(paused) = [0]> and <(ftrc) = [0]>> then\n    if <(frank taco run) = [0]> then\n        if <<<(mouse x) < [-100]> and <mouse down?>> or <key (left arrow v) pressed?>> then\n            if <(status) = [2]> then\n                Change Player x by [-4]\n            end\n            if <(status) = [1]> then\n                Change Player x by [-6]\n            end\n            if <(status) = [3]> then\n                Change Player x by [-8]\n            end\n            if <(status) = [4]> then\n                Change Player x by [-6]\n            end\n            if <not <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > [10]>>>> then\n                if <(status) = [5]> then\n                    Change Player x by [-6]\n                end\n            end\n        end\n        if <<key (right arrow v) pressed?> or <<[100] < (mouse x)> and <mouse down?>>> then\n            if <(status) = [2]> then\n                Change Player x by [4]\n            end\n            if <(status) = [1]> then\n                Change Player x by [6]\n            end\n            if <(status) = [3]> then\n                Change Player x by [8]\n            end\n            if <(status) = [4]> then\n                Change Player x by [6]\n            end\n            if <not <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > [10]>>>> then\n                if <(status) = [5]> then\n                    Change Player x by [6]\n                end\n            end\n        end\n    end\n    if <(status) = [5]> then\n        if <not <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > [10]>>>> then\n            if <(sy-next) > [0]> then\n                set [sy v] to (sy-next)\n                set [sy-next v] to [0]\n            end\n        end\n    else\n        set [sy-next v] to [0]\n    end\n    if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > [10]>>> then\n        if <(in air) < [4]> then\n            if <(in air) = [0]> then\n                change [*jumps v] by (1)\n            end\n            if <(status) = [1]> then\n                set [sy v] to [11]\n            end\n            if <(status) = [2]> then\n                set [sy v] to [20]\n            end\n            if <(status) = [3]> then\n                set [sy v] to [9]\n            end\n            if <(status) = [4]> then\n                set [sy v] to [11]\n            end\n            if <(status) = [5]> then\n                if <[30] > (sy-next)> then\n                    change [sy-next v] by (1)\n                end\n            end\n        end\n    end\n    if <touching (booster v)?> then\n        set [sy v] to [23]\n        broadcast (bounce v)\n        change y by (sy)\n        if <not <touching (booster v)?>> then\n            start sound [smw_spring_jump @ToadfanSchool v]\n        end\n        change y by ((0) - (sy))\n    end\n    if <<(status) = [4]> and <[-2] > (sy)>> then\n        set [sy v] to [-2]\n    else\n        change [sy v] by (-0.5)\n    end\n    if <<(status) = [4]> and <[-2] > (sy)>> then\n        set [sy v] to [-2]\n    else\n        change [sy v] by (-0.5)\n    end\n    set [sy v] to ((round ((sy) * (10))) / (10))\n    if <(sy) < [-15]> then\n        set [sy v] to [-15]\n    end\n    Change Player y by (sy)\n    Position\n    go to [front v] layer\n    if <(frank taco run) = [0]> then\n        change [scroll x v] by (round ((((x) - ((l?) * (-40))) - (SCROLL X)) / (10)))\n        change [scroll y v] by (round (((y) - (SCROLL Y)) / (3)))\n        if <(SCROLL Y) < [20]> then\n            set [scroll y v] to [20]\n        end\n        Position\n        if <touching (water v)?> then\n            set [paused v] to [1]\n            broadcast (drowning v)\n        end\n        if <touching (danger v)?> then\n            set [paused v] to [1]\n            broadcast (dying v)\n        end\n        if <key (r v) pressed?> then\n            respawn\n        end\n        if <touching (potal v)?> then\n            set [paused v] to [1]\n            set [end v] to [1]\n            broadcast (won v)\n        end\n    else\n        change [scroll x v] by (round (((4350) - (SCROLL X)) / (10)))\n        change [scroll y v] by (round (((580) - (SCROLL Y)) / (3)))\n        if <(SCROLL Y) < [20]> then\n            set [scroll y v] to [20]\n        end\n        Position\n        if <touching (obstacle v)?> then\n            set [frank taco run v] to [0]\n            set [paused v] to [1]\n            broadcast (dying v)\n        end\n        if <not <(status) = [5]>> then\n            set [frank taco run v] to [0]\n        end\n    end\nend\nif <([floor v] of (([tick v] of [cloud v]) / (2)) ) = (([tick v] of [cloud v]) / (2))> then\n    add ((xpos) - (last-xpos)) to [record v]\n    add ((ypos) - (last-ypos)) to [record v]\nend\n\ndefine Change Player y by (sy)\nchange [y v] by (sy)\nchange [in air 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 [in air v] to [0]\n    end\n    Position\n    set [sy v] to [0]\nend\n\ndefine Position\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\nset [xpos v] to (x)\nset [ypos v] to (y)\n\ndefine Change Player x by (sx)\nchange [x v] by (sx)\nPosition\nif <touching (platforms v)?> then\n    repeat (12)\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 (-12)\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 I receive [tick 1 v]\nTick\n\nwhen I receive [drowning v]\nstart sound [water splash v]\nrepeat (40)\n    change y by (-2)\n    change [ypos v] by (-2)\nend\nrespawn\n\nwhen I receive [dying v]\nstart sound [argh v]\nset [before eff scroll x v] to (SCROLL X)\nset [before eff scroll y v] to (SCROLL Y)\nrepeat (13)\n    set [scroll x v] to (before eff scroll x)\n    set [scroll y v] to (before eff scroll y)\n    change [scroll x v] by (pick random (-4) to (4))\n    change [scroll y v] by (pick random (-4) to (4))\n    Position\nend\nrepeat (21)\n    set [scroll x v] to (before eff scroll x)\n    set [scroll y v] to (before eff scroll y)\n    Position\nend\nrespawn\n\ndefine respawn\nset [x v] to (CHECKPOINT-X)\nchange [scroll x v] by (((SCROLL X) - (CHECKPOINT-X)) / (-1.03))\nset [y v] to ((CHECKPOINT-Y) - (30))\nset [scroll y v] to ((CHECKPOINT-Y) - (30))\nif <(SCROLL Y) < [20]> then\n    set [scroll y v] to [20]\nend\nbroadcast (tick 2 v)\nPosition\nwait (0.1) seconds\nset [sy v] to [0]\nset [sy-next v] to [0]\nset [in air v] to [30]\nset [paused v] to [0]\n\nwhen flag clicked\nset [end v] to [0]\n\nwhen I receive [won v]\nif <([floor v] of (([tick v] of [cloud v]) / (2)) ) = (([tick v] of [cloud v]) / (2))> then\n    add ((xpos) - (last-xpos)) to [record v]\n    add ((ypos) - (last-ypos)) to [record v]\nend\n\nwhen I receive [respawn v]\nrespawn\n\nwhen flag clicked\nforever\n    if <(mute) = [1]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\nwhen I receive [main game v]\nInit scrolling platformer\n\nwhen flag clicked\nhide variable [active players v]\nhide\n\n@Art\n\nwhen I receive [tick 2 v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\ndefine position (x) (y)\nset size to (100) %\nswitch costume to (id)\ngo to [back v] layer\ngo [forward v] (30) layers\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\ndefine platfom (xpos) (ypos) (id)\nset [id v] to (id)\nset [x v] to (xpos)\nset [y v] to (ypos)\ncreate clone of (_myself_ v)\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nclear graphic effects\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (level 0 0 v)\nset [ghost v] effect to (0)\nplatfom [0] [0] [1]\nplatfom [180] [0] [2]\nplatfom [-180] [0] [3]\nplatfom [1300] [0] [4]\nplatfom [540] [0] [5]\nplatfom [720] [0] [6]\nplatfom [1800] [400] [8]\nplatfom [2000] [400] [7]\nplatfom [3000] [400] [9]\nplatfom [2700] [0] [10]\nplatfom [3000] [0] [11]\nplatfom [3800] [0] [12]\nplatfom [3800] [400] [13]\nplatfom [3000] [800] [14]\nplatfom [2400] [800] [16]\nplatfom [1800] [1300] [17]\nplatfom [1100] [1400] [18]\nplatfom [2800] [-69] [19]\nset [id v] to [1000]\n\nwhen I receive [unlock v]\nif <(id) = [19]> then\n    start sound [coin smw v]\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    delete this clone\nend\n\n@Danger\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick 2 v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nClone at x: [1800] y: [600] id [2]\nClone at x: [1800] y: [1100] id [3]\nClone at x: [2480] y: [298] id [1]\nClone at x: [1100] y: [1400] id [5]\nset [x v] to [1830]\nset [y v] to [930]\nset [id v] to [4]\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nswitch costume to (id)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\ngo to [back v] layer\npoint in direction (90)\nset size to (140) %\nif <(id) = [1]> then\n    change y by ((([sin v] of (((days since 2000) * (86400)) * (200)) ) * (20)) - (20))\nend\nif <(id) = [4]> then\n    set size to (120) %\n    point in direction ((([sin v] of (((days since 2000) * (86400)) * (130)) ) * (45)) + (90))\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y) id (1)\nshow\nset size to (140) %\nset [x v] to (x)\nset [id v] to (1)\nset [y v] to (y)\ncreate clone of (_myself_ v)\n\nwhen flag clicked\nforever\n    if <(mute) = [1]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\nwhen I start as a clone\nforever\n    if <(mute) = [1]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\n@useless particle effect\n\nwhen flag clicked\ngo to x: (0) y: (-30000)\nhide\n\nwhen I start as a clone\nset [y v] to (pick random (20) to (30))\nshow\neff (pick random (-3) to (3))\n\ndefine eff (x)\nset [-1 v] to [1]\nset [color v] effect to (0)\nset [ghost v] effect to (pick random (40) to (80))\nset [brightness v] effect to (0)\nset size to (pick random (40) to (90)) %\nforever\n    go to [front v] layer\n    change x by ((x) * (-1))\n    change y by (y)\n    change [y v] by (-2)\n    if <touching (_edge_ v)?> then\n        if <(-1) = [1]> then\n            set [-1 v] to [-1]\n        else\n            set [-1 v] to [1]\n        end\n    end\n    if <(y position) < [-170]> then\n        delete this clone\n    end\nend\n\nwhen I receive [drowning v]\ngo to x: ([x position v] of [hitbox v]) y: (-3000)\ncreate clone of (_myself_ v)\ngo to x: ([x position v] of [hitbox v]) y: (-3000)\ncreate clone of (_myself_ v)\ngo to x: ([x position v] of [hitbox v]) y: (-3000)\ncreate clone of (_myself_ v)\ngo to x: ([x position v] of [hitbox v]) y: (-3000)\ncreate clone of (_myself_ v)\ngo to x: ([x position v] of [hitbox v]) y: (-3000)\ncreate clone of (_myself_ v)\n\n@Booster\n\nwhen I receive [tick 2 v]\nposition ((x) - (SCROLL X)) (((y) + (([cos v] of ((days since 2000) * ((86400) * (100))) ) * (10))) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nClone at x: [3450] y: [600]\nClone at x: [1368] y: [230]\nClone at x: [3663] y: [620]\nClone at x: [2590] y: [560]\nClone at x: [1700] y: [720]\nClone at x: [1775] y: [1002]\nset [x v] to [1272]\nset [y v] to [-10]\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\npoint in direction ((90) + (pick random ((brightness) / (-5)) to ((brightness) / (5))))\nchange [brightness v] by ((brightness) / (-10))\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\n    set size to (85) %\nelse\n    hide\nend\ngo to [back v] layer\nset [brightness v] effect to (brightness)\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\nshow\nset size to (85) %\nset [x v] to (x)\nset [y v] to (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [bounce v]\nif <(distance to [hitbox v]) < [100]> then\n    set [brightness v] to [100]\nend\n\nwhen flag clicked\nforever\n    if <(mute) = [1]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\nwhen I start as a clone\nforever\n    if <(mute) = [1]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\nwhen flag clicked\nhide\n\n@Checkpoint\n\nwhen I receive [tick 2 v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nClone at x: [-85] y: [30]\nClone at x: [2938] y: [-30]\nClone at x: [2504] y: [803]\nClone at x: [2058] y: [1345]\nClone at x: [4078] y: [430]\nset [x v] to [-333333]\n\ndefine position (x) (y)\ngo to x: (x) y: ((y) - (50))\nturn right (((direction) - (90)) / (-8)) degrees\nset [brightness v] effect to (((direction) - (90)) * (2))\nif <<(x) = (x position)> and <((y) - (50)) = (y position)>> then\n    show\n    if <touching (hitbox v)?> then\n        if <not <(CHECKPOINT-X) = (x)>> then\n            point in direction (135)\n            set [brightness v] effect to (((direction) - (90)) * (2))\n        end\n        set [checkpoint-x v] to (x)\n        set [checkpoint-y v] to (y)\n    end\n    if <<(CHECKPOINT-Y) = (y)> and <(CHECKPOINT-X) = (x)>> then\n        switch costume to (on v)\n    else\n        switch costume to (off v)\n    end\nelse\n    hide\nend\ngo to [back v] layer\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\nshow\nset size to (140) %\nset [x v] to (x)\nset [y v] to (y)\ncreate clone of (_myself_ v)\n\nwhen flag clicked\nset [checkpoint-y v] to [30]\nset [checkpoint-x v] to [-85]\n\nset [checkpoint-y v] to [3000]\nset [checkpoint-x v] to [1000]\n\nwhen flag clicked\nforever\n    if <(mute) = [1]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\n@Background\n\nwhen I start as a clone\nswitch costume to (pick random (1) to (2))\n\nwhen I receive [tick 2 v]\nshow\ngo to [back v] layer\nset [ghost v] effect to (86)\ngo to x: (((SCROLL X) + ((i) * (-1155))) / (-5)) y: ((SCROLL Y) / (-5))\n\nwhen I receive [start player activity updating v]\nforever\n    if <(@CON) = [yes]> then\n        broadcast (Tick-cloud v) and wait\n        wait (00) seconds\n    end\nend\n\ndefine clone\nset [i v] to [-1]\nrepeat (3)\n    create clone of (_myself_ v)\n    change [i v] by (2)\nend\n\nwhen I start as a clone\nhide\n\nwhen I receive [setup without waiting v]\nset size to (100) %\nclone\nforever\n    switch costume to (2 v)\n    go to [back v] layer\n    set [ghost v] effect to (86)\n    go to x: (((SCROLL X) - (-1155)) / (-5)) y: ((SCROLL Y) / (-5))\nend\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nforever\n    show\n    go to [back v] layer\n    set [ghost v] effect to (86)\n    go to x: (0) y: (-100)\n    set size to (120) %\nend\n\nwhen I receive [main game v]\nstop [other scripts in sprite v]\n\nwhen I receive [tick 3 v]\ngo to [back v] layer\n\n@Water\n\nwhen flag clicked\npoint in direction (1)\nhide\n\nwhen I start as a clone\nshow\n\nwhen I receive [tick 2 v]\nset [ghost v] effect to (75)\ngo to [front v] layer\ngo [backward v] (3) layers\nset y to ((([cos v] of (((tic) * (0.5)) + ((direction) * (100))) ) * (10)) + (((y) - (190)) - (SCROLL Y)))\nset rotation style [don't rotate v]\nset x to (([cos v] of (((tic) * (0.5)) + (((direction) + (2)) * (100))) ) * (200))\n\nwhen I receive [setup without waiting v]\nset [y v] to [0]\nrepeat (3)\n    create clone of (_myself_ v)\n    change [y v] by (10)\n    turn right (1) degrees\nend\n\nwhen flag clicked\nforever\n    if <(mute) = [1]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\nwhen I receive [main game v]\nset [tic v] to [0]\nforever\n    change [tic v] by (10)\nend\n\n@Player\n\nwhen I receive [character change v]\nset [brightness v] to [100]\nstart sound [Teleport3 v]\nset [brightness v] effect to (brightness)\nwait (0) seconds\nrepeat (50)\n    change [brightness v] by ((brightness) / (-10))\n    set [brightness v] effect to (brightness)\nend\n\nwhen I receive [tick 2 v]\ngo to [front v] layer\nshow\ngo to (hitbox v)\nchange y by (9)\nset size to (30) %\nif <(chat) > [0]> then\n    say (item (chat) of [chat phrases v])\nelse\n    say []\nend\n\nwhen flag clicked\nset [status v] to [1]\nset [rainbow effect v] to [0]\n\nwhen I receive [tick 2 v]\nif <<[3840] < (xpos)> and <(xpos) < [3920]>> then\n    if <<[150] < (ypos)> and <(ypos) < [200]>> then\n        if <not <(status) = [2]>> then\n            set [rainbow effect v] to [0]\n            set [status v] to [2]\n            set [power v] to [30]\n            switch costume to (2-10 v)\n            broadcast (character change v)\n        end\n    end\nend\nif <<[1820] < (xpos)> and <(xpos) < [1880]>> then\n    if <<[220] < (ypos)> and <(ypos) < [350]>> then\n        if <not <(status) = [3]>> then\n            set [rainbow effect v] to [0]\n            set [status v] to [3]\n            set [power v] to [15]\n            switch costume to (3-10 v)\n            broadcast (character change v)\n        end\n    end\nend\nif <<[2420] < (xpos)> and <(xpos) < [2480]>> then\n    if <<[620] < (ypos)> and <(ypos) < [660]>> then\n        if <not <(status) = [4]>> then\n            set [rainbow effect v] to [0]\n            set [coins v] to [42]\n            set [status v] to [4]\n            set [power v] to [75]\n            switch costume to (4-10 v)\n            broadcast (character change v)\n        end\n    end\nend\nif <<[2530] < (xpos)> and <(xpos) < [2630]>> then\n    if <<[-80] < (ypos)> and <(ypos) < [0]>> then\n        if <not <(status) = [5]>> then\n            set [rainbow effect v] to [0]\n            set [status v] to [5]\n            set [power v] to [180]\n            switch costume to (5-10 v)\n            broadcast (character change v)\n        end\n    end\nend\nhide variable [power v]\nhide variable [coins v]\nif <not <(status) = [1]>> then\n    show variable [power v]\n    if <<key (x v) pressed?> or <(Power) = [0]>> then\n        set [rainbow effect v] to [0]\n        if <key (x v) pressed?> then\n            change [*nopower v] by (1)\n        end\n        set [status v] to [1]\n        switch costume to (1-10 v)\n        broadcast (character change v)\n        if <(frank taco run) = [1]> then\n            broadcast (respawn v)\n        end\n    end\nend\nif <(status) = [4]> then\n    if <(rainbow effect) = [0]> then\n        show variable [coins v]\n    end\nend\nwalk cycle (status)\n\nwhen I receive [won v]\nrepeat (40)\n    change x by (((x position) - ([x position v] of [potal v])) / (-4))\n    change y by (((y position) - ([y position v] of [potal v])) / (-4))\nend\n\nwhen I receive [main game v]\nhide variable [coins v]\nforever\n    wait (1) seconds\n    change [power v] by (-1)\nend\n\ndefine walk cycle (modus)\nif <(rainbow effect) = [1]> then\n    change [color v] effect by (2)\nelse\n    set [color v] effect to (0)\nend\nif <(modus) = [1]> then\n    if <<(paused) = [0]> or <touching (potal v)?>> then\n        if <<<<(mouse x) < [-100]> and <mouse down?>> or <<[100] < (mouse x)> and <mouse down?>>> or <<key (left arrow v) pressed?> or <key (right arrow v) pressed?>>> then\n            if <<<(mouse x) < [-100]> and <mouse down?>> or <key (left arrow v) pressed?>> then\n                point in direction (-90)\n            else\n                point in direction (90)\n            end\n        end\n        if <(([tick v] of [cloud v]) mod (5)) = [0]> then\n            if <<<key (left arrow v) pressed?> or <key (right arrow v) pressed?>> or <<<(mouse x) < [-100]> and <mouse down?>> or <<[100] < (mouse x)> and <mouse down?>>>> then\n                if <<(costume [name v]) = [1-10]> or <(costume [name v]) = [1-11]>> then\n                    switch costume to (1-1 v)\n                else\n                    if <<(costume [name v]) = [1-10]> or <(costume [name v]) = [1-11]>> then\n                        switch costume to (1-1 v)\n                    end\n                    if <(paused) = [0]> then\n                        next costume\n                    end\n                    if <<(costume [name v]) = [1-10]> or <(costume [name v]) = [1-11]>> then\n                        switch costume to (1-1 v)\n                    end\n                end\n                set rotation style [left-right v]\n                if <<<(mouse x) < [-100]> and <mouse down?>> or <key (left arrow v) pressed?>> then\n                    point in direction (-90)\n                else\n                    point in direction (90)\n                end\n            else\n                switch costume to (1-10 v)\n            end\n        end\n    else\n        switch costume to (1-11 v)\n    end\nend\nif <(modus) = [2]> then\n    point in direction (90)\n    set rotation style [left-right v]\n    if <<(paused) = [0]> or <touching (potal v)?>> then\n        if <(([tick v] of [cloud v]) mod (5)) = [0]> then\n            if <<<key (left arrow v) pressed?> or <key (right arrow v) pressed?>> or <<<(mouse x) < [-100]> and <mouse down?>> or <<[100] < (mouse x)> and <mouse down?>>>> then\n                if <(letter (1) of (costume [name v])) = [1]> then\n                    switch costume to (2-1 v)\n                else\n                    if <<(costume [name v]) = [2-10]> or <(costume [name v]) = [2-11]>> then\n                        switch costume to (2-1 v)\n                    end\n                    if <(paused) = [0]> then\n                        next costume\n                    end\n                    if <<(costume [name v]) = [2-10]> or <(costume [name v]) = [2-11]>> then\n                        switch costume to (2-1 v)\n                    end\n                end\n            else\n                switch costume to (2-10 v)\n            end\n        end\n    else\n        switch costume to (2-11 v)\n    end\nend\nif <(modus) = [3]> then\n    if <<(paused) = [0]> or <touching (potal v)?>> then\n        if <<<key (left arrow v) pressed?> or <key (right arrow v) pressed?>> or <<<(mouse x) < [-100]> and <mouse down?>> or <<[100] < (mouse x)> and <mouse down?>>>> then\n            if <(([tick v] of [cloud v]) mod (5)) = [0]> then\n                if <<<(mouse x) < [-100]> and <mouse down?>> or <key (left arrow v) pressed?>> then\n                    point in direction (-90)\n                else\n                    point in direction (90)\n                end\n                if <(letter (1) of (costume [name v])) = [1]> then\n                    switch costume to (3-1 v)\n                else\n                    if <<(costume [name v]) = [3-10]> or <(costume [name v]) = [3-11]>> then\n                        switch costume to (3-1 v)\n                    end\n                    if <(paused) = [0]> then\n                        next costume\n                    end\n                    if <<(costume [name v]) = [3-10]> or <(costume [name v]) = [3-11]>> then\n                        switch costume to (3-1 v)\n                    end\n                end\n            end\n        else\n            switch costume to (3-10 v)\n        end\n    else\n        switch costume to (3-11 v)\n    end\nend\nif <(modus) = [4]> then\n    if <<(paused) = [0]> or <touching (potal v)?>> then\n        if <<<(mouse x) < [-100]> and <mouse down?>> or <key (left arrow v) pressed?>> then\n            point in direction (-90)\n        else\n            point in direction (90)\n        end\n        if <([sy v] of [hitbox v]) = [-2]> then\n            switch costume to (4-11 v)\n        else\n            if <<<key (left arrow v) pressed?> or <key (right arrow v) pressed?>> or <<<(mouse x) < [-100]> and <mouse down?>> or <<[100] < (mouse x)> and <mouse down?>>>> then\n                if <(([tick v] of [cloud v]) mod (5)) = [0]> then\n                    if <(letter (1) of (costume [name v])) = [1]> then\n                        switch costume to (4-1 v)\n                    else\n                        if <<<(costume [name v]) = [4-10]> or <(costume [name v]) = [4-12]>> or <(costume [name v]) = [4-11]>> then\n                            switch costume to (4-1 v)\n                        end\n                        if <(paused) = [0]> then\n                            next costume\n                        end\n                        if <<<(costume [name v]) = [4-10]> or <(costume [name v]) = [4-12]>> or <(costume [name v]) = [4-11]>> then\n                            switch costume to (4-1 v)\n                        end\n                    end\n                end\n            else\n                switch costume to (4-10 v)\n            end\n        end\n    else\n        switch costume to (4-12 v)\n    end\nend\nif <(modus) = [5]> then\n    if <<(paused) = [0]> or <touching (potal v)?>> then\n        if <<<(mouse x) < [-100]> and <mouse down?>> or <key (left arrow v) pressed?>> then\n            point in direction (-90)\n        else\n            point in direction (90)\n        end\n        if <<<<<key (left arrow v) pressed?> or <key (right arrow v) pressed?>> or <<<(mouse x) < [-100]> and <mouse down?>> or <<[100] < (mouse x)> and <mouse down?>>>> and <not <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > [10]>>>>> and <(frank taco run) = [0]>> then\n            if <(([tick v] of [cloud v]) mod (5)) = [0]> then\n                if <<not <(letter (1) of (costume [name v])) = [5]>> or <[9] < (join (letter (3) of (costume [name v])) (letter (4) of (costume [name v])))>> then\n                    switch costume to (5-1 v)\n                end\n                if <(paused) = [0]> then\n                    next costume\n                end\n                if <<not <(letter (1) of (costume [name v])) = [5]>> or <[9] < (join (letter (3) of (costume [name v])) (letter (4) of (costume [name v])))>> then\n                    switch costume to (5-1 v)\n                end\n            end\n        else\n            if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > [10]>>> then\n                if <(([tick v] of [cloud v]) mod (5)) = [0]> then\n                    if <<(join (letter (3) of (costume [name v])) (letter (4) of (costume [name v]))) < [11]> or <not <(letter (1) of (costume [name v])) = [5]>>> then\n                        switch costume to (5-11 v)\n                    else\n                        if <not <(costume [name v]) = [5-15]>> then\n                            if <(paused) = [0]> then\n                                next costume\n                            end\n                        end\n                    end\n                end\n            else\n                switch costume to (5-10 v)\n            end\n        end\n    else\n        switch costume to (5-10 v)\n    end\nend\n\nwhen I receive [tick 2 v]\ngo to [front v] layer\ngo [backward v] (8) layers\nif <(paused) = [1]> then\n    go [backward v] (15) layers\nend\n\nwhen flag clicked\nswitch costume to (1-1 v)\nhide\n\n@coins\n\nwhen I receive [tick 2 v]\nposition ((item (id) of [coin x v]) - (SCROLL X)) ((item (id) of [coin y v]) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nbroadcast (setup without waiting v)\nset [id v] to [43]\n\ndefine position (x) (y)\nif <not <(status) = [4]>> then\n    set [id v] to [43]\n    delete this clone\nend\ngo to x: (x) y: (y)\nset size to (60) %\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\n    if <touching (player v)?> then\n        set [{last coin v] to (id)\n        change [coins v] by (-1)\n        create clone of (coin effect v)\n        if <(Coins) = [0]> then\n            set [rainbow effect v] to [1]\n            set [power v] to [90]\n            start sound [Complete Level v]\n        else\n            start sound [coin v]\n        end\n        if <[0] < ((id) - (3))> then\n            change [id v] by (-3)\n        else\n            set [id v] to [43]\n            delete this clone\n        end\n        go to x: ((item (id) of [coin x v]) - (SCROLL X)) y: ((item (id) of [coin y v]) - (SCROLL Y))\n    end\nelse\n    hide\nend\ngo to [front v] layer\n\nwhen I receive [setup without waiting v]\nforever\n    wait until <(status) = [4]>\n    set [id v] to ((Coins) - (0))\n    create clone of (_myself_ v)\n    set [id v] to ((Coins) - (1))\n    create clone of (_myself_ v)\n    set [id v] to ((Coins) - (2))\n    wait until <not <(status) = [4]>>\nend\n\nwhen flag clicked\nforever\n    if <(mute) = [1]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\nwhen I start as a clone\nforever\n    if <(mute) = [1]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\nwhen flag clicked\nhide\n\n@notifications\n\nwhen flag clicked\nhide\n\ndefine setup achievements\nset [*jumps v] to [0]\nset [*nopower v] to [0]\ndelete all of [achievements v]\nrepeat (13)\n    add [0] to [achievements v]\nend\n\ndefine achievement (a) get\nreplace item (a) of [achievements v] with [1]\nswitch costume to (a)\nrepeat (10)\n    change y by (((y position) - (-135)) / (-5))\n    change [ghost v] effect by (-8)\nend\nrepeat (10)\n    change y by (((y position) - (-135)) / (-5))\nend\nwait (1) seconds\nrepeat (10)\n    change y by (1.2)\n    change [ghost v] effect by (10)\nend\n\nwhen I receive [tick 2 v]\nset x to ((160) - ((l?) * (100)))\ngo to [front v] layer\n\nwhen I receive [main game v]\nsetup achievements\nreset timer\nforever\n    set size to (80) %\n    show\n    set [ghost v] effect to (100)\n    go to x: ((160) - ((l?) * (100))) y: (-185)\n    if <(item (1) of [achievements v]) = [0]> then\n        if <(multiplayer?) = [1]> then\n            achievement [1] get\n        end\n    end\n    if <(item (2) of [achievements v]) = [0]> then\n        if <(*jumps) > [4]> then\n            achievement [2] get\n        end\n    end\n    if <(item (3) of [achievements v]) = [0]> then\n        if <(*jumps) > [19]> then\n            achievement [3] get\n        end\n    end\n    if <(item (4) of [achievements v]) = [0]> then\n        if <(status) = [3]> then\n            achievement [4] get\n        end\n    end\n    if <(item (5) of [achievements v]) = [0]> then\n        if <(status) = [2]> then\n            achievement [5] get\n        end\n    end\n    if <(item (6) of [achievements v]) = [0]> then\n        if <(status) = [4]> then\n            achievement [6] get\n        end\n    end\n    if <(item (7) of [achievements v]) = [0]> then\n        if <<(status) = [4]> and <(rainbow effect) = [1]>> then\n            achievement [7] get\n        end\n    end\n    if <(item (8) of [achievements v]) = [0]> then\n        if <key (r v) pressed?> then\n            if <(frank taco run) = [0]> then\n                achievement [8] get\n            end\n        end\n    end\n    if <(item (9) of [achievements v]) = [0]> then\n        if <(*nopower) = [1]> then\n            achievement [9] get\n        end\n    end\n    if <(item (10) of [achievements v]) = [0]> then\n        if <(status) = [5]> then\n            achievement [10] get\n        end\n    end\n    if <(item (11) of [achievements v]) = [0]> then\n        if <<(rainbow effect) = [1]> and <(status) = [5]>> then\n            achievement [11] get\n        end\n    end\n    if <(item (12) of [achievements v]) = [0]> then\n        if <(timer) > [30]> then\n            achievement [12] get\n        end\n    end\n    if <(item (13) of [achievements v]) = [0]> then\n        if <([id v] of [key v]) = [2]> then\n            achievement [13] get\n        end\n    end\nend\n\n@coin effect\n\nwhen I start as a clone\nshow\nset size to (60) %\nrepeat (10)\n    go to x: ((item ({last coin) of [coin x v]) - (SCROLL X)) y: ((item ({last coin) of [coin y v]) - (SCROLL Y))\n    change [ghost v] effect by (10)\n    change size by (3)\nend\ndelete this clone\n\nwhen flag clicked\nhide\n\n@chat\n\nwhen I receive [tick 2 v]\ngo to [front v] layer\nshow\ngo to x: (-130) y: (0)\n\nwhen flag clicked\nhide\n\nwhen I receive [main game v]\nset [ghost v] effect to (100)\nset [chat v] to [0]\nset [chatmenu v] to [0]\nforever\n    if <(multiplayer?) = [1]> then\n        wait until <key (t v) pressed?>\n        wait until <not <key (t v) pressed?>>\n        repeat (10)\n            change [ghost v] effect by (-9)\n        end\n        set [chatmenu v] to [1]\n        wait until <(chatmenu) = [0]>\n        repeat (10)\n            change [ghost v] effect by (9)\n        end\n    end\nend\n\nwhen I receive [main game v]\nforever\n    wait until <not <(chat) = [0]>>\n    wait (2) seconds\n    set [chat v] to [0]\nend\n\nwhen I receive [main game v]\nforever\n    if <(chatmenu) = [1]> then\n        if <key (t v) pressed?> then\n            set [chatmenu v] to [0]\n        end\n        if <key ((join [] [1]) v) pressed?> then\n            set [chat v] to [1]\n            set [chatmenu v] to [0]\n        end\n        if <key ((join [] [2]) v) pressed?> then\n            set [chat v] to [2]\n            set [chatmenu v] to [0]\n        end\n        if <key ((join [] [3]) v) pressed?> then\n            set [chat v] to [3]\n            set [chatmenu v] to [0]\n        end\n        if <key ((join [] [4]) v) pressed?> then\n            set [chat v] to [4]\n            set [chatmenu v] to [0]\n        end\n        if <key ((join [] [5]) v) pressed?> then\n            set [chat v] to [5]\n            set [chatmenu v] to [0]\n        end\n        if <key ((join [] [6]) v) pressed?> then\n            set [chat v] to [6]\n            set [chatmenu v] to [0]\n        end\n        if <key ((join [] [7]) v) pressed?> then\n            set [chat v] to [7]\n            set [chatmenu v] to [0]\n        end\n        if <key ((join [] [8]) v) pressed?> then\n            set [chat v] to [8]\n            set [chatmenu v] to [0]\n        end\n    end\nend\n\n@Potal\n\nwhen flag clicked\nset [id v] to [0]\nshow\n\nwhen I receive [setup v]\nswitch costume to (costume1 v)\nset [id v] to [1]\ncreate clone of (_myself_ v)\nset [id v] to [0]\n\nwhen I receive [tick 2 v]\nshow\ngo to x: ((1314) - (SCROLL X)) y: ((1570) - (SCROLL Y))\nset [ghost v] effect to (25)\nif <(id) = [0]> then\n    turn right (3) degrees\nelse\n    turn right (-3) degrees\nend\n\nwhen I receive [won v]\nwait (2) seconds\nswitch costume to (costume2 v)\ndelete this clone\n\nwhen flag clicked\nhide\n\n@win\n\nwhen flag clicked\nhide\n\nwhen I receive [won v]\nset [l? v] to [0]\nwait (0.5) seconds\nstart sound [unlock v]\nhide variable [power v]\nhide variable [coins v]\nhide variable [active players v]\nset [id v] to [100]\nshow\nset [ghost v] effect to (100)\nset size to (200) %\nswitch costume to (1 v)\nrepeat (30)\n    change [ghost v] effect by (-6)\n    change size by (((size) - (100)) / (-8))\n    go to x: ((pick random (((size) - (100)) / (3)) to ((((size) - (100)) / (3)) * (-1))) - (0)) y: (pick random (((size) - (100)) / (3)) to ((((size) - (100)) / (3)) * (-1)))\nend\ngo to x: (0) y: (0)\nwait (0.3) seconds\nset [id v] to [2]\ncreate clone of (_myself_ v)\nset [id v] to [3]\ncreate clone of (_myself_ v)\nset [id v] to [4]\ncreate clone of (_myself_ v)\nset [id v] to [5]\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nif <(id) = [5]> then\n    show variable [timer v]\n    set [timer v] to (timer)\n    switch costume to (5 v)\n    go to x: (0) y: (0)\n    set [ghost v] effect to (100)\n    repeat (10)\n        change [ghost v] effect by (-8)\n    end\nelse\n    wait (0.7) seconds\n    switch costume to (id)\n    go to x: (0) y: (-50)\n    set [ghost v] effect to (100)\n    repeat (10)\n        change [ghost v] effect by (-8)\n        change y by ((y position) / (-3))\n    end\n    repeat (20)\n        change y by ((y position) / (-3))\n    end\n    forever\n        if <(id) = [3]> then\n            clear graphic effects\n            if <touching (mouse-pointer v)?> then\n                set [brightness v] effect to (-30)\n                if <mouse down?> then\n                    set [brightness v] effect to (-50)\n                    wait until <<not <mouse down?>> or <not <touching (mouse-pointer v)?>>>\n                    if <touching (mouse-pointer v)?> then\n                        broadcast (continue v) and wait\n                    end\n                end\n            end\n        end\n        if <(id) = [4]> then\n            clear graphic effects\n            if <touching (mouse-pointer v)?> then\n                set [brightness v] effect to (-30)\n                if <mouse down?> then\n                    set [brightness v] effect to (-50)\n                    wait until <<not <mouse down?>> or <not <touching (mouse-pointer v)?>>>\n                    if <touching (mouse-pointer v)?> then\n                        hide variable [timer v]\n                        hide variable [power v]\n                        hide variable [coins v]\n                        hide variable [active players v]\n                        broadcast (thumbnail v)\n                        delete this clone\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [continue v]\nstop [other scripts in sprite v]\nset [paused v] to [0]\nset [end v] to [0]\nhide variable [timer v]\nshow variable [active players v]\nhide variable [power v]\nhide variable [coins v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\ndelete this clone\n\nwhen I receive [thumbnail v]\nif <(id) = [5]> then\n    delete this clone\nend\n\nwhen I receive [tick 3 v]\ngo to [front v] layer\nif <not <(id) = [100]>> then\n    if <(costume [number v]) = [1]> then\n        go [backward v] (5) layers\n    end\n    if <(costume [number v]) = [2]> then\n        go [backward v] (4) layers\n    end\n    if <(costume [number v]) = [3]> then\n        go [backward v] (3) layers\n    end\n    if <(costume [number v]) = [4]> then\n        go [backward v] (2) layers\n    end\nend\n\nwhen flag clicked\nforever\n    if <(mute) = [1]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\n@key\n\nwhen I receive [tick 2 v]\nset [ghost v] effect to (10)\nset size to (90) %\nif <(id) = [0]> then\n    point in direction ((([sin v] of ((timer) * (100)) ) * (10)) + (90))\n    go to x: ((2180) - (SCROLL X)) y: ((([cos v] of ((timer) * (100)) ) * (10)) + ((1200) - (SCROLL Y)))\n    if <touching (hitbox v)?> then\n        start sound [SE_KeyGet v]\n        set [id v] to [2]\n    end\nend\nif <(id) = [2]> then\n    point in direction ((([sin v] of ((timer) * (100)) ) * (10)) + (90))\n    go to (hitbox v)\n    change y by ((([cos v] of ((timer) * (100)) ) * (10)) + (55))\nend\nif <(id) = [3]> then\n    hide\nend\n\nwhen I receive [tick 2 v]\ngo to [front v] layer\ngo [backward v] (20) layers\n\nwhen flag clicked\nhide\nset [id v] to [0]\n\nwhen I receive [main game v]\nset [id v] to [0]\nshow\n\nwhen flag clicked\nforever\n    if <(mute) = [1]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\nwhen I receive [unlock v]\nset [id v] to [3]\n\n@Sprite1\n\nwhen flag clicked\nhide\n\nwhen I receive [tick 3 v]\nif <(end) = [0]> then\n    go to [front v] layer\n    go [backward v] (1) layers\n    go [backward v] (id) layers\n    switch costume to (id)\n    show\n    change y by (((y position) + (<not <<(status) = [5]> and <key (up arrow v) pressed?>>> * (50))) / (-3))\n    if <(id) = [0]> then\n        set x to (0)\n    else\n        set x to ((-255) + (([sy-next v] of [hitbox v]) * ((610) / (70))))\n    end\nelse\n    hide\nend\n\nwhen I receive [setup v]\nset [id v] to [0]\ncreate clone of (_myself_ v)\nset [id v] to [1]\n\nwhen flag clicked\nhide\n\n@tacos\n\nwhen flag clicked\nset [frank taco run v] to [0]\nset [id v] to [0]\n\nwhen I receive [tick 2 v]\nset size to (20) %\nset [ghost v] effect to (0)\nif <(id) = [0]> then\n    point in direction (90)\n    go to x: ((4200) - (SCROLL X)) y: ((480) - (SCROLL Y))\n    if <touching (hitbox v)?> then\n        set [frank taco run v] to [1]\n        set [tacos v] to [9]\n        set [id v] to [1]\n        set [{last taco x v] to (x position)\n        set [{last taco y v] to (y position)\n        create clone of (coin effect2 v)\n    end\nend\nif <(id) = [1]> then\n    set [ghost v] effect to (100)\n    go to x: (100) y: (0)\n    if <(([tick v] of [cloud v]) mod (30)) = [0]> then\n        set [id v] to [2]\n        go to x: (10000) y: (pick random (-100) to (180))\n        create clone of (_myself_ v)\n        set [id v] to [1]\n    end\nend\nif <(status) = [5]> then\n    show\nelse\n    hide\n    set [id v] to [0]\nend\nif <(frank taco run) = [0]> then\n    delete this clone\nend\nif <(id) = [2]> then\n    change x by (-5)\n    set [ghost v] effect to (0)\n    if <(x position) < [-260]> then\n        delete this clone\n    end\n    if <(ftrc) = [0]> then\n        if <touching (hitbox v)?> then\n            set [{last taco x v] to (x position)\n            set [{last taco y v] to (y position)\n            change [tacos v] by (-1)\n            if <[0] < (Tacos)> then\n                create clone of (coin effect2 v)\n                delete this clone\n            else\n                set [ftrc v] to [1]\n                broadcast (fcrtc v)\n                set [power v] to [300]\n                create clone of (coin effect2 v)\n                delete this clone\n            end\n        end\n    end\nend\n\nwhen I receive [tick 2 v]\ngo to [front v] layer\ngo [backward v] (20) layers\n\nwhen I receive [dying v]\nwait until <(paused) = [1]>\nwait until <(paused) = [0]>\nwait until <(rainbow effect) = [0]>\nset [id v] to [0]\n\nwhen flag clicked\nforever\n    if <(mute) = [1]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\nwhen I start as a clone\nforever\n    if <(mute) = [1]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\nwhen flag clicked\nhide\n\n@obstacle\n\nwhen flag clicked\nset [frank taco run v] to [0]\nset [id v] to [1]\n\nwhen I receive [tick 2 v]\nset size to (50) %\nset [ghost v] effect to (0)\nif <(frank taco run) = [1]> then\n    if <(id) = [1]> then\n        set [ghost v] effect to (100)\n        go to x: (100) y: (0)\n        if <(([tick v] of [cloud v]) mod (60)) = [0]> then\n            set [id v] to [2]\n            go to x: (10000) y: (pick random (-180) to (180))\n            create clone of (_myself_ v)\n            set [id v] to [1]\n        end\n    end\nend\nif <(id) = [2]> then\n    turn right (3) degrees\n    change x by (-5)\n    set [ghost v] effect to (0)\n    if <(x position) < [-280]> then\n        delete this clone\n    end\nend\nif <(frank taco run) = [1]> then\n    show\n    show variable [tacos v]\nelse\n    hide variable [tacos v]\n    hide\n    delete this clone\nend\n\nwhen I receive [tick 2 v]\ngo to [front v] layer\ngo [backward v] (20) layers\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nforever\n    if <(mute) = [1]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\nwhen I start as a clone\nforever\n    if <(mute) = [1]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\nwhen flag clicked\nhide\n\n@coin effect2\n\nwhen I start as a clone\nshow\nclear graphic effects\nset size to (60) %\nif <[0] < (Tacos)> then\n    start sound [coin v]\nelse\n    start sound [Complete Level v]\nend\nrepeat (10)\n    go to x: ({last taco x) y: ({last taco y)\n    change [ghost v] effect by (10)\n    change size by (3)\nend\ndelete this clone\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nforever\n    if <(mute) = [1]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\nwhen I start as a clone\nforever\n    if <(mute) = [1]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\nwhen flag clicked\nhide\n\n@Sprite2\n\nwhen flag clicked\nhide\nforever\n    go to [front v] layer\nend\n\nwhen I receive [tick 3 v]\nif <(timer) < [3]> then\n    go to [front v] layer\nelse\n    stop [other scripts in sprite v]\nend\n\nwhen I receive [setup without waiting v]\nwait (0.1) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\n\nwhen I receive [transition v]\nshow\nset [ghost v] effect to (100)\ngo to x: (0) y: (0)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\nwhen flag clicked\nhide\n\n@Sprite3\n\nwhen flag clicked\nhide\n\nwhen I receive [main game v]\nshow\nset [mute v] to [0]\nforever\n    if <(mute) = [1]> then\n        switch costume to (kostüm1 v)\n    else\n        switch costume to (kostüm2 v)\n    end\n    set [ghost v] effect to (70)\n    if <(status) = [1]> then\n        go to x: (-220) y: (160)\n    else\n        go to x: (-220) y: (140)\n    end\n    if <touching (mouse-pointer v)?> then\n        change size by (((size) - (124)) / (-5))\n        set [ghost v] effect to (40)\n        point in direction ((90) + ((16) * ([sin v] of ((timer) * (300)) )))\n        if <mouse down?> then\n            if <(mute) = [0]> then\n                set [mute v] to [1]\n            else\n                set [mute v] to [0]\n            end\n        end\n        if <(mute) = [1]> then\n            switch costume to (kostüm1 v)\n        else\n            switch costume to (kostüm2 v)\n        end\n        wait until <not <<mouse down?> and <touching (mouse-pointer v)?>>>\n    else\n        turn right (((direction) - (90)) / (-5)) degrees\n        change size by (((size) - (100)) / (-5))\n    end\nend\n\n@Sprite4\n\nwhen I receive [tick 2 v]\ngo to [front v] layer\nshow\nif <(ftrc) = [1]> then\n    change [ghost v] effect by (-10)\n    change size by (((size) - (100)) / (-6))\nelse\n    set [ghost v] effect to (100)\n    set size to (10) %\nend\n\nwhen flag clicked\nset [ghost v] effect to (100)\nset [ftrc v] to [0]\n\nwhen I receive [fcrtc v]\nwait (2) seconds\nset [ftrc v] to [0]\nset [frank taco run v] to [0]\nset [rainbow effect v] to [1]\nset [power v] to [300]\nbroadcast (respawn v)\n\nwhen flag clicked\nhide\n\n
☁️ Pico's world ✦ Multiplayer cloud scrolling platformer\nᴘʟᴀʏ ᴡɪᴛʜ ᴏᴛʜᴇʀ sᴄʀᴀᴛᴄʜᴇʀs ᴀʟʟ ᴏᴠᴇʀ ᴛʜᴇ ᴡᴏʀʟᴅ!\n\nThis platformer is MMO, there is no player limit :) Player record: 45 players at the same time.\nLag?\n- Play on TurboWarp: https://turbowarp.org/443370138?interpolate\n- Play on SERVER 2:\nhttps://scratch.mit.edu/projects/444276193/\n- Play in "Singleplayer"\nBest played with Opera and Safari.\nThis game supports infinite players!\n\n✦ INSTRUCTIONS:\n[arrow keys] to move\n[t] to open chat\n[n] to show other players name (WARNING: causes lag, might crash slow computers)\n[l] to show / hide active players list\n[r] to respawn to checkpoint\n\nThere are 4 hidden stations (you need a key to access one of them). How many of them could you find?\nCould you finish the whole game?\nFollow for more fun games!\n\n✦ INFORMATION: You are playing as Pico. On your way there are 4 hidden stations where you can change your player into another member of the "Scratch family" (Nano, Giga etc). \n\nIf you choose "Multiplayer", you can see other players playing and you are able to chat with them. If you choose "Singleplayer", you can't see other players (and other players can't see you) and you can't chat with them.\n\nmade of 3400+ blocks\n\n✦ FAQ\n(frequently asked questions)\n\nQ: Is this game mobile friendly?\nA: Yes!\n\nQ: Can I use turbo mode?\nA: There is no turbo mode detector, but please don't do it.\n\nQ: I can't see anyone.\nA: You're the only one who is playing or you chose "Singleplayer" or you're still a New Scratcher\n\nQ: Can I advertise?\nA: No (lol)\n\nCredits ©\nAlmost all code and art by me\nMusic: Kevin MacLeod - Life of Riley (incompetech.com)\nMusic: Alan Walker - Nebula\nMusic: Illenium - Let You Go (@-xaf- remix)\nPico / Nano / Giga / Tera / Frank art from Scratch Sprite Library\nSpring design inspired by veewo (Super Phantom Cat 2)\n@Game-cloud for water\n@-zerx- and icmy123 for some ideas\n@griffpatch_tutor, @griffpatch and @cloud-multiplayer for inspiration\n\nEnjoy!