ROBOT || ☁️multiplayer platformer #games

Instructions: Can you beat my record of 14.719 seconds?\nWarning: this may lag on many devices\n(in order to reduce lag, I decided to add waits in the multiplayer positioning scripts, so sorry if the multiplayer is jumping around too much XD)\nquite short as this was mostly an experiment :)\nc to chat

@Stage\n\nwhen flag clicked\n\nwhen I receive [begin v]\nforever\n    play sound [Plugged by -xaf- v] until done\nend\n\n@blank\n\n@player\n\nwhen flag clicked\nhide\nset [max players v] to [7]\nset [my player # v] to [0]\nCreate List\nbroadcast (setup - multiplayer v) and wait\nbroadcast (game ready? v) and wait\nif <(MY PLAYER #) > [0]> then\n    show\n    broadcast (BEGIN v)\nelse\n    broadcast (eek v)\nend\n\ndefine Create List\ndelete all of [letters v]\nrepeat (9)\n    add [] to [letters v]\nend\nadd [a] to [letters v]\nadd [b] to [letters v]\nadd [c] to [letters v]\nadd [d] to [letters v]\nadd [e] to [letters v]\nadd [f] to [letters v]\nadd [g] to [letters v]\nadd [h] to [letters v]\nadd [i] to [letters v]\nadd [j] to [letters v]\nadd [k] to [letters v]\nadd [l] to [letters v]\nadd [m] to [letters v]\nadd [n] to [letters v]\nadd [o] to [letters v]\nadd [p] to [letters v]\nadd [q] to [letters v]\nadd [r] to [letters v]\nadd [s] to [letters v]\nadd [t] to [letters v]\nadd [u] to [letters v]\nadd [v] to [letters v]\nadd [w] to [letters v]\nadd [x] to [letters v]\nadd [y] to [letters v]\nadd [z] to [letters v]\nadd [0] to [letters v]\nadd [1] to [letters v]\nadd [2] to [letters v]\nadd [3] to [letters v]\nadd [4] to [letters v]\nadd [5] to [letters v]\nadd [6] to [letters v]\nadd [7] to [letters v]\nadd [8] to [letters v]\nadd [9] to [letters v]\nadd [+] to [letters v]\nadd [-] to [letters v]\nadd [_] to [letters v]\nadd [.] to [letters v]\nadd [!] to [letters v]\nadd [>] to [letters v]\nadd [:] to [letters v]\nadd [\)] to [letters v]\nadd [ ] to [letters v]\n\ndefine write (val) to encoded\nset [letter # v] to [1]\nrepeat (length of (val))\n    set [encoded v] to (join (Encoded) (item # of (letter (letter #) of (val)) in [letters v]))\n    change [letter # v] by (1)\nend\nset [encoded v] to (join (Encoded) [00])\n\nwhen I receive [begin v]\nset [chat value v] to (username)\npoint in direction (90)\nforever\n    if <(MY PLAYER #) > [0]> then\n        send cloud data\n    end\n    if <not <(chat value) = (username)>> then\n        say (chat value)\n    else\n        say []\n    end\nend\n\ngo to [front v] layer\n\ndefine set cloud # (player) to (value)\nif <(player) = [1]> then\n    set [☁ p1 v] to (value)\nelse\n    if <(player) = [2]> then\n        set [☁ p2 v] to (value)\n    else\n        if <(player) = [3]> then\n            set [☁ p3 v] to (value)\n        else\n            if <(player) = [4]> then\n                set [☁ p4 v] to (value)\n            else\n                if <(player) = [5]> then\n                    set [☁ p5 v] to (value)\n                else\n                    if <(player) = [6]> then\n                        set [☁ p6 v] to (value)\n                    else\n                        set [☁ p7 v] to (value)\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [begin v]\nshow\nforever\n    chat\nend\n\ndefine send cloud data\nset [encoded v] to []\nwrite (chat value) to encoded\nwrite (round ((timer) * (10))) to encoded\nwrite (x) to encoded\nwrite (y) to encoded\nset cloud # (MY PLAYER #) to (Encoded)\n\nwrite (costume [name v]) to encoded\n\nwhen I receive [begin v]\nset [sever timeout v] to [0]\nswitch costume to (floor1 v)\nset size to (40) %\nset [sy v] to [0]\nforever\n    broadcast (reset v) and wait\n    broadcast (setup v) and wait\n    setup\n    repeat until <(exit) > []>\n        show\n        tick\n        broadcast (Tick v) and wait\n    end\n    game - die\nend\n\ndefine tick\nif <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n    switch costume to (right v)\n    change player x by [12]\nend\nif <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n    if <<key (w v) pressed?> or <key (up arrow v) pressed?>> then\n        switch costume to (upleft v)\n    else\n        switch costume to (left v)\n    end\n    change player x by [-12]\nend\nif <<key (w v) pressed?> or <key (up arrow v) pressed?>> then\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        switch costume to (upleft v)\n    else\n        if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n            switch costume to (upright v)\n        else\n            switch costume to (up v)\n        end\n    end\n    if <(in air) < [2]> then\n        set [sy v] to [16]\n    end\nend\nif <not <key (any v) pressed?>> then\n    switch costume to (middle v)\nend\nif <key (any v) pressed?> then\n    set [sever timeout v] to [0]\nend\nchange [sy v] by (-1)\nchange player y by (sy)\nchange [scroll x v] by (round (((x) - (SCROLL X)) / (10)))\nif <(SCROLL X) < [0]> then\n    set [scroll x v] to [0]\nend\nchange [scroll y v] by (round (((y) - (SCROLL Y)) / (10)))\nif <(SCROLL Y) < [-575]> then\n    set [scroll y v] to [0]\nend\nposition\nif <(y) < [-575]> then\n    set [exit v] to [1]\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)?> or <touching (moving v)?>> or <touching (movingleftright 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))\n\ndefine chat\nif <<(CHAT READY?) = [yes]> and <<<key (1 v) pressed?> or <key (2 v) pressed?>> or <key (3 v) pressed?>>> then\n    if <key (1 v) pressed?> then\n        set [chat value v] to [hello!]\n        broadcast (chat receed v)\n        set [delay v] to ((timer) + (15))\n    end\n    if <key (2 v) pressed?> then\n        set [chat value v] to [>:\)]\n        broadcast (chat receed v)\n        set [delay v] to ((timer) + (15))\n    end\n    if <key (3 v) pressed?> then\n        set [chat value v] to [no comment]\n        broadcast (chat receed v)\n        set [delay v] to ((timer) + (15))\n    end\nend\n\nwhen I receive [begin v]\nforever\n    if <(timer) > (delay)> then\n        set [chat value v] to (username)\n    end\nend\n\ndefine change player x by (sx)\nchange [x v] by (sx)\nchange [in air v] by (1)\nposition\nif <<<touching (platforms v)?> or <touching (moving v)?>> or <touching (movingleftright v)?>> then\n    repeat (12)\n        change [y v] by (1)\n        position\n        if <not <<<touching (platforms v)?> or <touching (moving v)?>> or <touching (movingleftright v)?>>> then\n            stop [this script v]\n        end\n    end\n    change [y v] by (-12)\n    repeat until <not <<<touching (platforms v)?> or <touching (moving v)?>> or <touching (movingleftright 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\ndefine game - die\nrepeat (10)\n    turn right (10) degrees\n    change y by (5)\n    change [ghost v] effect by (5)\nend\nset [grav v] to [-0.3]\nrepeat (10)\n    turn right (10) degrees\n    change y by (grav)\n    change [grav v] by (-0.7)\n    change [ghost v] effect by (5)\nend\nhide\nwait (0.5) seconds\nclear graphic effects\npoint in direction (90)\n\nwhen I receive [death v]\nset [exit v] to [1]\n\nwhen I receive [fetch y v]\nset [fetched v] to (y)\n\nwhen I receive [tick v]\nif <not <touching (borders v)?>> then\n    go to [front v] layer\nend\nchange [sever timeout v] by (1)\nif <(sever timeout) > [1000]> then\n    broadcast (timeout v)\nend\n\nwhen I receive [jump v]\nset [sy v] to [12]\n\ndefine setup\nset [x v] to [0]\nset [y v] to [0]\nset [scroll x v] to [0]\nset [scroll y v] to [0]\nset [exit v] to []\nset [in air v] to [0]\nshow\n\nwhen flag clicked\nset [x v] to [0]\nset [y v] to [0]\nset [scroll x v] to [0]\nset [scroll y v] to [0]\nset [exit v] to []\nset [in air v] to [0]\n\nwhen I receive [win v]\nstop [other scripts in sprite v]\nbroadcast (shake v)\nhide\n\n@multiplayer\n\ndefine Begin decode of (encoded)\nset [encoded v] to (encoded)\nset [letter # v] to [1]\n\ndefine value = read from encoded\nset [value v] to []\nforever\n    set [idx v] to (join (letter (letter #) of (Encoded)) (letter ((letter #) + (1)) of (Encoded)))\n    change [letter # v] by (2)\n    if <(idx) < [1]> then\n        stop [this script v]\n    end\n    set [value v] to (join (value) (item (idx) of [letters v]))\nend\n\ndefine setup players\nset [offline? v] to [100]\nset [player # v] to [1]\nshow\nrepeat ((MAX PLAYERS) - (1))\n    create clone of (_myself_ v)\n    change [player # v] by (1)\nend\nhide\n\nwhen I receive [begin v]\nforever\n    if <(MY PLAYER #) = (player #)> then\n        set [offline? v] to [100]\n        hide\n    else\n        tick\n        wait (.1) seconds\n    end\nend\n\nwhen I receive [setup - multiplayer v]\nsetup players\n\ndefine tick\nvalue = cloud # (player #)\nif <(join [A] (value)) = (last value)> then\n    change [offline? v] by (2)\n    if <<(offline?) = [100]> or <(offline?) > [100]>> then\n        hide\n    end\nelse\n    set [last value v] to (join [A] (value))\n    if <(offline?) > [99]> then\n        show\n    end\n    set [offline? v] to [0]\nend\nBegin decode of (value)\nvalue = read from encoded\nsay (value)\nvalue = read from encoded\nvalue = read from encoded\nset x to ((value) - (SCROLL X))\nvalue = read from encoded\nset y to ((value) - (SCROLL Y))\nvalue = read from encoded\ncostume check\n\ndefine value = cloud # (player)\nif <(player) = [1]> then\n    set [value v] to (☁ P1)\nelse\n    if <(player) = [2]> then\n        set [value v] to (☁ P2)\n    else\n        if <(player) = [3]> then\n            set [value v] to (☁ P3)\n        else\n            if <(player) = [4]> then\n                set [value v] to (☁ P4)\n            else\n                if <(player) = [5]> then\n                    set [value v] to (☁ P5)\n                else\n                    if <(player) = [6]> then\n                        set [value v] to (☁ P6)\n                    else\n                        set [value v] to (☁ P7)\n                    end\n                end\n            end\n        end\n    end\nend\n\nchange [ghost v] effect by (2)\n\nwhen I receive [game ready? v]\nvalue = cloud # (player #)\nset [last value v] to (join [A] (value))\nwait (3) seconds\nvalue = cloud # (player #)\nif <(join [A] (value)) = (last value)> then\n    set [my player # v] to (player #)\nend\n\n\n\ndefine costume check\nif <(y position) > [155]> then\n    switch costume to (arrow v)\n    point in direction (0)\n    set y to (157)\n    set size to (100) %\nend\nif <(x position) > [210]> then\n    point in direction (90)\n    set x to (215)\n    switch costume to (arrow v)\n    set size to (100) %\nend\nif <(x position) < [-200]> then\n    point in direction (-90)\n    set x to (-215)\n    switch costume to (arrow v)\n    set size to (100) %\nend\nif <not <<<(x position) > [210]> or <(y position) > [155]>> or <(x position) < [-200]>>> then\n    point in direction (90)\n    switch costume to (middle v)\n    set size to (40) %\nend\n\n\n\n\n\nif <(costume [number v]) = [1]> then\n\n\n    \nend\n\nswitch costume to (value)\n\n@chat ui\n\nwhen I receive [begin v]\nswitch costume to (main v)\nclear graphic effects\nset [chat ready? v] to [no]\nset [ghost v] effect to (50)\nhide\nforever\n    if <(CHAT READY?) = [yes]> then\n        if <<<<key (c v) pressed?> or <key (1 v) pressed?>> or <key (2 v) pressed?>> or <key (3 v) pressed?>> then\n            wait until <not <<<<key (c v) pressed?> or <key (1 v) pressed?>> or <key (2 v) pressed?>> or <key (3 v) pressed?>>>\n            broadcast (chat receed v)\n        end\n    else\n        if <<<<key (c v) pressed?> or <key (1 v) pressed?>> or <key (2 v) pressed?>> or <key (3 v) pressed?>> then\n            wait until <not <<<<key (c v) pressed?> or <key (1 v) pressed?>> or <key (2 v) pressed?>> or <key (3 v) pressed?>>>\n            show\n            go to x: (-280) y: (0)\n            create clone of (_myself_ v)\n            set [movement v] to [20]\n            set [chat ready? v] to [yes]\n            repeat (10)\n                change x by (movement)\n                change [movement v] by (-2)\n            end\n        end\n    end\nend\n\nwhen I start as a clone\nset [movement v] to [20]\nclear graphic effects\nswitch costume to (text v)\nset [brightness v] effect to (20)\ngo to [front v] layer\nrepeat (10)\n    change x by (movement)\n    change [movement v] by (-2)\nend\n\nwhen I receive [chat receed v]\nset [movement v] to [-20]\nrepeat (5)\n    change x by (movement)\n    change [movement v] by (3.2)\nend\nset [chat ready? v] to [no]\nhide\ndelete this clone\n\n@ui\n\nwhen flag clicked\nset [check v] to [no]\nload\nshow\nclear graphic effects\nswitch costume to (connecting v)\n\nwhen I receive [begin v]\nif <(CHECK) = [no]> then\n    switch costume to (connected! v)\n    wait (1.2) seconds\n    go to [front v] layer\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    broadcast (begin v)\n    hide\n    set [check v] to [jnnjknjkbkjbiubyiubhijbhj]\nend\n\nwhen I receive [eek v]\nbroadcast (timeout v)\nswitch costume to (full v)\nstop [all v]\n\ndefine load\ngo to x: (-150) y: (-125)\npoint in direction (90)\nset [ghost.. v] to [0]\nset [which clone v] to [0]\nrepeat (12)\n    create clone of (_myself_ v)\n    turn right (30) degrees\n    change [ghost.. v] by (1)\nend\npoint in direction (90)\ngo to x: (0) y: (0)\n\nturn right (15) degrees\n\nwhen I start as a clone\nswitch costume to (1 v)\ngo to [front v] layer\nrepeat (100)\n    go to [front v] layer\n    if <<(ghost..) = (which clone)> or <(ghost..) = ((which clone) + (10))>> then\n        set [ghost v] effect to (0)\n    else\n        set [ghost v] effect to (50)\n    end\n    change [which clone v] by (1)\n    wait (0.25) seconds\nend\n\nwhen I receive [begin v]\ndelete this clone\n\n\n    set [ghost v] effect to (25)\nend\n\nif <(which clone) > [11]> then\n    change [which clone v] by (-2)\nend\n\nwhen I receive [timeout v]\nstop [other scripts in sprite v]\nswitch costume to (disconnect v)\nclear graphic effects\ngo to [front v] layer\nshow\nstop [all v]\n\n@platforms\n\nwhen I receive [begin v]\nshow\n\nwhen flag clicked\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (floor1 v)\nclone at [-50] [-116]\nclone at [420] [-116]\nclone at [800] [-116]\nclone at [1499] [-116]\nclone at [2099] [-200]\nclone at [2500] [-400]\nclone at [1850] [-400]\nclone at [1000] [-400]\nset [x v] to [999999]\n\ndefine position (x ) (y)\ngo to x: (x ) y: (y)\nif <<(x ) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine clone at (x ) (y )\nset [x v] to (x )\nset [y v] to (y )\ncreate clone of (_myself_ v)\nnext costume\n\n@bots\n\nwhen flag clicked\nswitch costume to (monster1 v)\nset size to (75) %\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nswitch costume to (join [monster] ((costume [number v]) + (1)))\nif <(costume [number v]) = [25]> then\n    switch costume to (monster1 v)\nend\nif <touching (player v)?> then\n    broadcast (fetch y v) and wait\n    if <(fetched) > ((y) + (45))> then\n        wait (0.01) seconds\n        set [death v] to [go]\n        broadcast (jump v)\n    else\n        broadcast (death v)\n        delete this clone\n    end\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine position (x ) (y)\ngo to x: (x ) y: (y)\nif <<(x ) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [setup v]\nset [death v] to []\nset [x v] to [250]\nset [movement v] to [200,300]\nset [y v] to [-172]\nswitch costume to (monster1 v)\ncreate clone of (_myself_ v)\nswitch costume to (monster1 v)\nset [x v] to [1079]\nset [y v] to [-17]\ncreate clone of (_myself_ v)\nhide\nset [x v] to [9999999]\n\nwhen I start as a clone\nforever\n    if <(death) = [go]> then\n        switch costume to (monsterdeath v)\n        repeat (4)\n            next costume\n            wait (0.01) seconds\n            change [ghost v] effect by (25)\n        end\n        delete this clone\n    end\nend\n\nif <((round (x)) - (join (letter (1) of (movement)) (join (letter (2) of (movement)) (letter (3) of (movement))))) > [0]> then\n\nwhen I start as a clone\nforever\n    repeat (50)\n        change [x v] by (0.5)\n    end\n    repeat (50)\n        change [x v] by (-0.5)\n    end\nend\n\n@thumbnail\n\nwhen flag clicked\nshow\ngo to x: (0) y: (0)\nset size to (50) %\nset [ghost v] effect to (0)\nrepeat (10)\n    go to [front v] layer\n    change size by (5)\n    change [ghost v] effect by (10)\nend\n\nwhen I receive [timeout v]\nhide\n\n@spikes\n\nwhen I receive [begin v]\nshow\n\nwhen flag clicked\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <touching (player v)?> then\n    broadcast (death v)\n    delete this clone\nend\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (spike v)\nclone at [-50] [-116]\nclone at [420] [-116]\nset [x v] to [999999]\n\ndefine position (x ) (y)\ngo to x: (x ) y: (y)\nif <<(x ) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine clone at (x ) (y )\nset [x v] to (x )\nset [y v] to (y )\ncreate clone of (_myself_ v)\nnext costume\n\n@moving\n\nwhen I receive [begin v]\nshow\n\nwhen flag clicked\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (floor1 v)\nclone at [580] [-220]\nset [x v] to [99999]\n\ndefine position (x ) (y)\ngo to x: (x ) y: (y)\nif <<(x ) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine clone at (x ) (y )\nset [x v] to (x )\nset [y v] to (y )\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nforever\n    repeat (50)\n        change [x v] by (2.5)\n    end\n    repeat (50)\n        change [x v] by (1.25)\n        change [y v] by (3)\n    end\n    repeat (50)\n        change [x v] by (-2.5)\n        change [y v] by (-3)\n    end\n    repeat (50)\n        change [x v] by (-1.25)\n    end\nend\n\n@Borders\n\nwhen flag clicked\nhide\n\nwhen I receive [reset v]\nclone\n\nwhen I start as a clone\nshow\nif <(clone) = [0]> then\n    go to x: (220) y: (0)\n    switch costume to (screen v)\n    point in direction (90)\n    repeat (10)\n        change x by (-20)\n        go to [front v] layer\n    end\n    repeat (10)\n        change x by (-2)\n        go to [front v] layer\n    end\n    repeat (10)\n        change x by (20)\n        go to [front v] layer\n    end\n    repeat (10)\n        change x by (2)\n        go to [front v] layer\n    end\nelse\n    go to x: (-220) y: (0)\n    switch costume to (screen2 v)\n    point in direction (-90)\n    go to [front v] layer\n    repeat (10)\n        change x by (20)\n        go to [front v] layer\n    end\n    repeat (10)\n        change x by (2)\n        go to [front v] layer\n    end\n    repeat (10)\n        change x by (-20)\n        go to [front v] layer\n    end\n    repeat (10)\n        change x by (-2)\n        go to [front v] layer\n    end\nend\ndelete this clone\n\ndefine clone\nset [clone v] to [0]\ncreate clone of (_myself_ v)\nchange [clone v] by (1)\ncreate clone of (_myself_ v)\n\n@deco\n\nwhen I receive [begin v]\nshow\n\nwhen flag clicked\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (words v)\nclone at [150] [-116]\nclone at [1525] [-116]\nclone at [2204] [-129]\nclone at [2381] [-425]\nset [x v] to [999999]\n\ndefine position (x ) (y)\ngo to x: (x ) y: (y)\nif <<(x ) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine clone at (x ) (y )\nset [x v] to (x )\nset [y v] to (y )\ncreate clone of (_myself_ v)\nnext costume\n\nclone at [2204] [-129]\nset [x v] to [999999]\n\n@lava\n\nwhen I receive [begin v]\nshow\n\nwhen flag clicked\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <touching (player v)?> then\n    broadcast (death v)\n    delete this clone\nend\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (lava v)\nclone at [1525] [-200]\nset [x v] to [999999]\n\nclone at [420] [-116]\n\ndefine position (x ) (y)\ngo to x: (x ) y: (y)\nif <<(x ) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine clone at (x ) (y )\nset [x v] to (x )\nset [y v] to (y )\ncreate clone of (_myself_ v)\nnext costume\n\nwhen I start as a clone\nforever\n    repeat (25)\n        change [y v] by (-0.5)\n    end\n    repeat (25)\n        change [y v] by (0.5)\n    end\nend\n\n@movingleftright\n\nwhen I receive [begin v]\nshow\n\nwhen flag clicked\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (floor1 v)\nclone at [1550] [-500]\nset [x v] to [99999]\n\ndefine position (x ) (y)\ngo to x: (x ) y: (y)\nif <<(x ) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine clone at (x ) (y )\nset [x v] to (x )\nset [y v] to (y )\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nforever\n    repeat (100)\n        change [x v] by (-2.5)\n    end\n    repeat (100)\n        change [x v] by (2.5)\n    end\nend\n\n@exit\n\nwhen I receive [begin v]\nshow\n\nwhen flag clicked\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <touching (player v)?> then\n    broadcast (win v)\n    stop [other scripts in sprite v]\nend\n\nwhen I receive [setup v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nswitch costume to (floor1 v)\nclone at [1000] [-400]\nset [x v] to [9999]\n\ndefine position (x ) (y)\ngo to x: (x ) y: (y)\nif <<(x ) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine clone at (x ) (y )\nset [x v] to (x )\nset [y v] to (y )\ncreate clone of (_myself_ v)\nnext costume\n\n@ndjonwjodnjwandj\n\nwhen I receive [shake v]\nshow\nset [radius v] to [50]\nrepeat (25)\n    set x to (pick random ((radius) * (-1)) to (radius))\n    set y to (pick random ((radius) * (-1)) to (radius))\n    change [radius v] by (-2)\nend\nbroadcast (number v)\ngo to x: (0) y: (0)\n\nwhen flag clicked\nhide\n\n@numbers\n\ndefine write (number) at X (x) y (y) (size)\nshow\nset [letter # v] to [1]\nswitch costume to (letter (letter #) of (number))\nset y to (y)\nset x to (x)\nset [real size v] to (((size) * (100)) / ((length of (number)) * (25)))\nset size to (real size) %\nrepeat (length of (number))\n    create clone of (_myself_ v)\n    change x by ((real size) / (7.5))\n    change [letter # v] by (1)\n    switch costume to (letter (letter #) of (number))\nend\nhide\n\nwhen I receive [number v]\ngo to [front v] layer\nwrite ((timer) - (3)) at X [-75] y [-90] [300]\n\n