Lifeless || A Scrolling Platformer

Instructions:                → Lifeless || A Scrolling Platformer ←\n-----------------------------------------------------------------\nInstructions:\n⦾ Use arrow keys to move\n⦾ BLUE = TRAMPOLINE\n⦾ RED = DANGER\n⦾ Click the skip button to skip a level (if needed)\n⦾ Click the restart button to restart a level (if needed)\n⦾ CHAT your time (if you want)\n⦾ Click the "M" key to mute the music (if you want to)\n\n⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️\n                  *EVERY LEVEL IS POSSIBLE*

@Stage\n\n@Intro\n\ndefine Shake X (x) Y (y) Size (s) Repeat (#) direction: (direction) speed: (speed)\nshow\nset size to (s) %\nrepeat (#)\n    change size by (((100) - (size)) / (8))\n    turn right (((direction) - (direction)) / (speed)) degrees\n    set [dir v] to (direction)\n    go to x: ((([sin v] of ((timer) * (1000)) ) * (((100) - (size)) / (2))) + (x)) y: ((([cos v] of ((timer) * (800)) ) * (((100) - (size)) / (2))) + (y))\n    set [x v] to (x position)\n    set [y v] to (y position)\nend\n\ndefine Smooth Glide and stuff | x: (x) y: (y) direction: (direction) speed: (speed) size: (size) ghost: (ghost)\nrepeat until <<(round (x position)) = (round (x))> and <<(round (y position)) = (round (y))> and <<(round (size)) = (round (size))> and <(round (direction)) = (round (direction))>>>>\n    change x by (((x) - (x position)) / (speed))\n    change y by (((y) - (y position)) / (speed))\n    change size by (((size) - (size)) / (speed))\n    change [ghost v] effect by (ghost)\n    turn right (((direction) - (direction)) / (speed)) degrees\nend\n\nwhen flag clicked\nreset timer\nset [color v] effect to (pick random (0) to (200))\nhide\nstart sound [Slooby & God's Warrior - Believe In Love2 v]\nset [clone id v] to [0]\nrepeat (20)\n    change [clone id v] by (1)\n    create clone of (_myself_ v)\nend\nParticles\nwait (15.6) seconds\nbroadcast (End Intro v)\n\nrepeat until <<(round (x position)) = (round (x))> and <<(round (y position)) = (round (y))> and <<(round (size)) = (round (size))> and <(round (direction)) = (round (direction))>>>>\n    change x by (((x) - (x position)) / (speed))\n    change y by (((y) - (y position)) / (speed))\n    change size by (((size) - (size)) / (speed))\n    change [ghost v] effect by (ghost)\n    turn right (((direction) - (direction)) / (speed)) degrees\nend\n\nwhen I start as a clone\nif <(Clone ID) = [1]> then\n    go to x: (0) y: (0)\n    switch costume to (hack v)\n    set size to (10000) %\n    switch costume to (name v)\n    point in direction (-90)\n    show\n    repeat until <<(round (size)) = (round (100))> and <(round (direction)) = (round (90))>>\n        switch costume to (hack v)\n        change size by (((100) - (size)) / (14))\n        switch costume to (name v)\n        turn right (((90) - (direction)) / (14)) degrees\n    end\n    Shake X [0] Y [50] Size [70] Repeat [15] direction: [-90] speed: [4]\n    go to [front v] layer\n    Shake X [0] Y [-50] Size [70] Repeat [15] direction: [90] speed: [3]\n    go to [front v] layer\n    Shake X [0] Y [0] Size [150] Repeat [20] direction: [-90] speed: [4]\n    go to [front v] layer\n    Shake X [0] Y [0] Size [150] Repeat [20] direction: [90] speed: [4]\n    go to [front v] layer\n    point in direction (90)\n    set [var1 v] to [1]\n    repeat (20)\n        go to [front v] layer\n        turn right (var1) degrees\n        set [dir v] to (direction)\n        go to [front v] layer\n        change size by (((200) - (size)) / (5))\n        change [var1 v] by ((var1) / (5))\n    end\n    set [var1 v] to [1]\n    repeat (35)\n        turn right (((90) - (direction)) / (7.5)) degrees\n        set [dir v] to (direction)\n        change size by (((100) - (size)) / (7.5))\n    end\n    Shake X [50] Y [0] Size [200] Repeat [15] direction: [90] speed: [4]\n    Shake X [-50] Y [0] Size [200] Repeat [15] direction: [90] speed: [4]\n    point in direction (90)\n    set [var1 v] to [1]\n    set [move v] to [10]\n    repeat (20)\n        change x by (move)\n        set [x v] to (x position)\n        go to [front v] layer\n        turn right (var1) degrees\n        set [dir v] to (direction)\n        go to [front v] layer\n        change [var1 v] by ((var1) / (5))\n    end\n    repeat (11)\n        turn right (((90) - (direction)) / (7.5)) degrees\n        change x by (move)\n        set [x v] to (x position)\n        change [move v] by (-5)\n        set [dir v] to (direction)\n    end\n    repeat until <[0] < (x position)>\n        turn right (((90) - (direction)) / (5)) degrees\n        change x by (move)\n        set [x v] to (x position)\n        change [move v] by (10)\n        set [dir v] to (direction)\n    end\n    Shake X [0] Y [0] Size [100] Repeat [10] direction: [90] speed: [4]\n    go to x: (0) y: (0)\n    set [x v] to [0]\n    set [y v] to [0]\n    repeat (2)\n        Shake X [0] Y [0] Size [110] Repeat [15] direction: [90] speed: [4]\n    end\n    set [move v] to [5]\n    repeat (3)\n        change y by (move)\n        set [y v] to (y position)\n        change [move v] by (5)\n    end\n    repeat (11)\n        change y by (move)\n        set [y v] to (y position)\n        change [move v] by (-5)\n    end\n    repeat (13)\n        change y by (move)\n        set [y v] to (y position)\n        change [move v] by (6.15)\n    end\n    wait until <(timer) > [14]>\n    repeat until <<(round (x position)) = (round (0))> and <<(round (y position)) = (round (-300))> and <(round (direction)) = (round (120))>>>\n        change x by (((0) - (x position)) / (30))\n        change y by (((-240) - (y position)) / (30))\n        switch costume to (name v)\n        turn right (((120) - (direction)) / (30)) degrees\n        change [ghost v] effect by (1.3)\n    end\n    delete this clone\nend\nif <(Clone ID) = [2]> then\n    go to x: (0) y: (0)\n    switch costume to (circle v)\n    show\n    go to [back v] layer\n    point in direction (-90)\n    repeat until <(round (size)) = (round (3000))>\n        switch costume to (hack v)\n        change size by (((3000) - (size)) / (28))\n        turn right (((90) - (direction)) / (25)) degrees\n        switch costume to (circle v)\n    end\n    wait until <(timer) > [13.5]>\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    delete this clone\nend\nif <(Clone ID) = [3]> then\n    wait (6.8) seconds\n    go to x: (0) y: (0)\n    switch costume to (circle thing v)\n    set size to (100) %\n    switch costume to (hack v)\n    set [ghost v] effect to (100)\n    show\n    go to [back v] layer\n    point in direction (-90)\n    set [var2 v] to [1]\n    repeat (20)\n        change [ghost v] effect by (-10)\n        go to [back v] layer\n        go [forward v] (5) layers\n        switch costume to (hack v)\n        turn right (var2) degrees\n        switch costume to (circle thing v)\n        change [var2 v] by ((var2) / (5))\n    end\n    set [var2 v] to [1]\n    repeat until <(costume [name v]) = [last one]>\n        turn right (((-90) - (direction)) / (8)) degrees\n        change size by (((200) - (size)) / (8))\n        next costume\n    end\n    delete this clone\nend\nif <(Clone ID) = [4]> then\n    wait (4.5) seconds\n    go to x: (0) y: (0)\n    point in direction (90)\n    switch costume to (grid1 v)\n    set size to (100) %\n    set [ghost v] effect to (0)\n    show\n    go to [back v] layer\n    go [forward v] (1) layers\n    wait until <(timer) > [13.5]>\n    delete this clone\nend\nif <(Clone ID) = [5]> then\n    Spawn Chevrons | repeat: [11]\nend\nif <(Clone ID) = [6]> then\n    Spawn Chevron2 | repeat: [11]\nend\nif <(Clone ID) = [Chevron]> then\n    set [pixelate v] effect to (0)\n    change [color v] effect by (0)\n    wait (5.1) seconds\n    go to x: (0) y: (0)\n    switch costume to (chevron v)\n    set size to (-100) %\n    set [ghost v] effect to (100)\n    set [val v] to [5]\n    show\n    go to [back v] layer\n    go [forward v] (10) layers\n    repeat (10)\n        change [color v] effect by (0)\n        set [pixelate v] effect to (0)\n        change [ghost v] effect by (-10)\n        change size by (val)\n        change [val v] by (((20) - (val)) / (6))\n    end\n    repeat until <(size) > [650]>\n        switch costume to (hack v)\n        change size by (val)\n        change [val v] by (((20) - (val)) / (6))\n        change [color v] effect by (0)\n        switch costume to (chevron v)\n    end\n    delete this clone\nend\nif <(Clone ID) = [Chevron2]> then\n    change [color v] effect by (0)\n    set [pixelate v] effect to (0)\n    wait (5.4) seconds\n    go to x: (0) y: (0)\n    switch costume to (chevron v)\n    set size to (-100) %\n    set [ghost v] effect to (100)\n    set [val v] to [5]\n    show\n    go to [back v] layer\n    go [forward v] (1) layers\n    repeat (10)\n        change [ghost v] effect by (-10)\n        set [pixelate v] effect to (0)\n        change size by (val)\n        change [color v] effect by (0)\n        change [val v] by (((20) - (val)) / (5))\n    end\n    repeat until <(size) > [650]>\n        switch costume to (hack v)\n        change size by (val)\n        change [val v] by (((20) - (val)) / (5))\n        change [color v] effect by (0)\n        switch costume to (chevron v)\n    end\n    delete this clone\nend\nif <(Clone ID) = [Particle]> then\n    wait until <(timer) > [5.4]>\n    set [move particles v] to [3]\n    wait (0) seconds\n    set size to (pick random (20) to (50)) %\n    show\n    switch costume to (pick random (16) to (17))\n    go to (random position v)\n    point in direction (pick random (0) to (360))\n    set [ghost v] effect to (pick random (0) to (70))\n    go to [back v] layer\n    repeat until <(timer) > [13]>\n        go to [back v] layer\n        go [forward v] (10) layers\n        move (move particles) steps\n        if on edge, bounce\n    end\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    delete this clone\nend\n\ndefine Spawn Chevrons | repeat: (#)\nrepeat (#)\n    set [clone id v] to [Chevron]\n    create clone of (_myself_ v)\n    wait (0.6) seconds\nend\n\ndefine Spawn Chevron2 | repeat: (#)\nrepeat (#)\n    set [clone id v] to [Chevron2]\n    create clone of (_myself_ v)\n    wait (0.6) seconds\nend\n\nwhen I start as a clone\nif <<(Clone ID) = [Chevron2]> or <(Clone ID) = [Chevron]>> then\n    set [x v] to [0]\n    set [y v] to [0]\n    forever\n        point in direction (dir)\n        go to x: (x) y: (y)\n    end\nend\n\nwhen I start as a clone\nwait until <(timer) > [6.7]>\nrepeat (20)\n    change [pixelate v] effect by (5)\n    change [color v] effect by (5)\nend\nrepeat (20)\n    change [pixelate v] effect by (-5)\n    change [color v] effect by (-5)\nend\n\nwhen flag clicked\nwait until <(timer) > [5.4]>\nrepeat (10)\n    repeat (10)\n        change [move particles v] by ((4) - ((move particles) / (4)))\n    end\n    set [move particles v] to [4]\n    wait (0.2) seconds\nend\n\ndefine Particles\nrepeat (20)\n    set [clone id v] to [Particle]\n    create clone of (_myself_ v)\nend\n\n@Play Button\n\nwhen this sprite clicked\nbroadcast (Start v)\nhide\n\nwhen I receive [skin select v]\nhide\n\nwhen I receive [end intro v]\nshow\nforever\n    go to [front v] layer\n    if <touching (mouse-pointer v)?> then\n        switch costume to (edit - play2 v)\n    else\n        switch costume to (edit - play v)\n    end\nend\n\nwhen flag clicked\nhide\n\n@Thumbnail\n\nwhen flag clicked\nhide\n\ngo to [front v] layer\n\nwhen I receive [end intro v]\nshow\n\nwhen I receive [start v]\nhide\n\n@LEVELs\n\nwhen I receive [start v]\nshow\nswitch costume to (blank v)\nset size to (600) %\nswitch costume to (level 1 v)\nset [scrollx v] to [547]\nset [scrolly v] to [252]\nforever\n    go to x: (ScrollX) y: (ScrollY)\nend\n\nwhen flag clicked\nhide\n\ndefine POSItion\nset [scrollx v] to [547]\nset [scrolly v] to [252]\n\nwhen I receive [level up! v]\nnext costume\nPOSItion\n\nwhen I receive [game! v]\n\n    broadcast (YOU WIN! v)\nend\n\nset [scrollx v] to [547]\nset [scrolly v] to [252]\n\nset [scrollx v] to [547]\nset [scrolly v] to [252]\n\nset [scrollx v] to [547]\nset [scrolly v] to [252]\n\nset [scrollx v] to [547]\nset [scrolly v] to [252]\n\nwhen I receive [skip v]\nset [scrollx v] to [547]\nset [scrolly v] to [252]\nnext costume\n\nwhen flag clicked\n\n@Player\n\nwhen I receive [start v]\nswitch costume to (idle v)\nshow\nset [xvel v] to [0]\nset [yvel v] to [0]\nforever\n    broadcast (tick v)\nend\n\nwhen flag clicked\nhide\nhide variable [timer v]\n\ndefine TICK\nif <key (right arrow v) pressed?> then\n    change [xvel v] by (1)\n    switch costume to (right v)\nend\nif <key (left arrow v) pressed?> then\n    change [xvel v] by (-1)\n    switch costume to (left v)\nend\nif <key (d v) pressed?> then\n    change [xvel v] by (1)\nend\nif <key (a v) pressed?> then\n    change [xvel v] by (-1)\nend\nchange x by (Xvel)\nset [xvel v] to ((Xvel) * (0.9))\nif <touching color (#000000)?> then\n    change y by (1)\n    if <touching color (#000000)?> then\n        change y by (1)\n        if <touching color (#000000)?> then\n            change y by (1)\n            if <touching color (#000000)?> then\n                change y by (1)\n                if <touching color (#000000)?> then\n                    change y by (1)\n                    if <touching color (#000000)?> then\n                        change x by ((Xvel) * (-1))\n                        change y by (-5)\n                        if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n                            if <(Xvel) > [0]> then\n                                set [xvel v] to [-10]\n                            else\n                                set [xvel v] to [10]\n                            end\n                            set [yvel v] to [15]\n                        else\n                            set [xvel v] to [0]\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\nchange [yvel v] by (-1)\nchange y by (Yvel)\nif <touching color (#000000)?> then\n    change y by ((Yvel) * (-1))\n    set [yvel v] to [0]\nend\nchange y by (-1)\nif <key (up arrow v) pressed?> then\n    if <touching color (#000000)?> then\n        set [yvel v] to [13]\n    end\nend\nchange y by (1)\nchange [scrollx v] by ((x position) * (-1))\nchange [scrolly v] by ((y position) * (-1))\ngo to x: (0) y: (0)\nif <<touching color (#ff0000)?> or <(ScrollY) > [700]>> then\n    set [scrollx v] to [547]\n    set [scrolly v] to [252]\nend\nif <touching color (#00a9ff)?> then\n    broadcast (LEVEL UP! v) and wait\nend\n\nwhen I receive [tick v]\nTICK\n\npen up\npen down\n\nwhen I receive [game! v]\nwait (0.1) seconds\nswitch costume to (costume1 v)\nwait (0.1) seconds\nswitch costume to (costume1 v)\n\nwhen I receive [game! v]\nshow variable [timer v]\nset [timer v] to [0]\nforever\n    wait (0.1) seconds\n    change [timer v] by (0.1)\nend\n\nif <[] > [50]> then\n\nwhen flag clicked\nforever\n    if <touching color (#9966ff)?> then\n        hide variable [timer v]\n    end\nend\n\nbroadcast (duh v)\n\nwhen I receive [start v]\nforever\n    if <touching color (#00ff60)?> then\n        hide variable [timer v]\n        broadcast (hideall v)\n    end\nend\n\nwhen I start as a clone\nrepeat (10)\n    change size by (-9)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen I receive [game! v]\n\nwhen [m v] key pressed\nstop all sounds\nset volume to (-100) %\n\nwhen flag clicked\nif <touching color (#9966ff)?> then\n    hide variable [☁ high score v]\nend\n\nwhen I receive [game! v]\n\nwhen I start as a clone\nrepeat (5)\n    change [ghost v] effect by (10)\n    change size by (-5)\nend\ndelete this clone\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen flag clicked\nforever\n    if <touching color (#0400ff)?> then\n        set [yvel v] to [35]\n    end\nend\n\nif <(Xvel) > [0]> then\n    set [xvel v] to [-10]\nelse\n    set [xvel v] to [10]\nend\nset [yvel v] to [15]\n\nif <(Xvel) > [0]> then\n    set [xvel v] to [-10]\nelse\n    set [xvel v] to [20]\nend\n\nchange [pixelate v] effect by (1)\n\nwhen flag clicked\nforever\n    if <key (up arrow v) pressed?> then\n        switch costume to (up v)\n    end\n    if <not <<key (up arrow v) pressed?> and <<key (right arrow v) pressed?> and <key (left arrow v) pressed?>>>> then\n        switch costume to (idle v)\n    end\nend\n\nwhen I receive [end intro v]\nwait (0.2) seconds\nset volume to (100) %\nstart sound [TheFatRat - Prelude v]\n\nforever\n    if <touching color (#00ff60)?> then\n        hide\n    end\nend\n\nforever\n    if <touching color (#00ff60)?> then\n        hide\n    end\nend\n\nwhen flag clicked\nhide variable [timer v]\nhide variable [☁ high score v]\n\n@Thumbnail2\n\nwhen flag clicked\nhide\n\nshow\ngo to [front v] layer\n\nhide variable [timer v]\n\n@Love fave\n\nwhen flag clicked\ngo to [front v] layer\nset [costume v] to [0]\nhide\nforever\n    if <not <<(LOVED__) = [1]> and <(FAVED___) = [1]>>> then\n        wait (pick random (15) to (20)) seconds\n        switch costume to (follow! v)\n        go to x: (0) y: (50)\n        show\n        go to [front v] layer\n        start sound [pop v]\n        repeat (9)\n            change y by (-6)\n        end\n        repeat (5)\n            change y by (3)\n        end\n        repeat (5)\n            change y by (-1)\n        end\n        wait (2) seconds\n        repeat (15)\n            change y by (7)\n        end\n        hide\n    end\n    if <(Costume) > [0]> then\n        hide\n        stop [this script v]\n    end\nend\n\n@RESET\n\nwhen flag clicked\nhide\n\nset [scrollx v] to [547]\nset [scrolly v] to [252]\n\nset [scrollx v] to [547]\nset [scrolly v] to [252]\n\nset [scrollx v] to [547]\nset [scrolly v] to [252]\n\nset [scrollx v] to [547]\nset [scrolly v] to [252]\n\nset [scrollx v] to [547]\nset [scrolly v] to [252]\n\nset [scrollx v] to [547]\nset [scrolly v] to [252]\n\nset [scrollx v] to [547]\nset [scrolly v] to [252]\n\nwhen I receive [start v]\ngo to x: (136) y: (101)\nshow\n\nwhen this sprite clicked\nset [scrollx v] to [547]\nset [scrolly v] to [252]\n\nwhen I receive [start v]\nstop all sounds\nplay sound [Vexento - Tevo \(Original Mix\) v] until done\n\nshow\n\nwhen I receive [game! v]\n\nwhen I receive [start v]\nshow variable [timer v]\n\nset [scrollx v] to [547]\nset [scrolly v] to [252]\n\nwhen I receive [hideall v]\nhide\n\n@SKIP\n\nwhen flag clicked\nhide\n\nwhen this sprite clicked\nbroadcast (skip v)\n\nwhen I receive [start v]\nforever\n    if <touching color (#9966ff)?> then\n        hide\n    end\nend\n\nwhen I receive [start v]\ngo to x: (16) y: (35)\nshow\n\nwhen I receive [start v]\nset [timer v] to [0]\nforever\n    wait (0.1) seconds\n    change [timer v] by (0.1)\nend\n\nwhen I receive [hideall v]\nhide\n\n@Text_Time\n\nwhen flag clicked\nhide\n\nwhen I receive [game! v]\nshow\n\nwhen I receive [duh v]\nhide\n\nwhen I receive [skip v]\n\nhide\n\nwhen flag clicked\n\nwhen flag clicked\nhide variable [timer v]\n\nwhen I receive [start v]\nshow\n\nwhen I receive [game! v]\nforever\n    if <touching color (#9966ff)?> then\n        hide\n    end\nend\n\nwhen I receive [hideall v]\nhide\n\n@confetti\n\nwhen flag clicked\nset [clone? v] to [0]\nhide\n\nwhen I start as a clone\nset [clone? v] to [1]\ngo to [front v] layer\nshow\nswitch costume to (pick random (1) to (4))\ngo to x: (pick random (-230) to (230)) y: (-170)\nset [x vel v] to (pick random (-5) to (5))\nset [y vel v] to (pick random (6) to (10))\nrepeat until <touching (_edge_ v)?>\n    change x by (X vel)\n    change y by (Y vel)\n    change [y vel v] by (-.25)\n    set [x vel v] to ((X vel) * (.95))\nend\ndelete this clone\n\ndefine Clone\nrepeat (2)\n    create clone of (_myself_ v)\nend\n\nwhen I receive [confetti v]\nif <(clone?) = [0]> then\n    repeat (10)\n        Clone\n    end\nend\n\nwhen I receive [hideall v]\nforever\n    broadcast (Confetti v)\n    wait (5) seconds\nend\n\n@Others\n\nwhen I receive [start v]\nset [names v] to [1]\nforever\n    if <key (n v) pressed?> then\n        if <(names) = [1]> then\n            wait until <not <key (n v) pressed?>>\n            set [names v] to [0]\n        else\n            wait until <not <key (n v) pressed?>>\n            set [names v] to [1]\n        end\n    end\nend\n\nwhen I receive [setup others v]\nsetup others\n\ndefine setup others\nhide\nset [offline v] to [100]\nset [player # v] to [1]\nrepeat ((MAX PLAYERS) - (1))\n    create clone of (_myself_ v)\n    change [player # v] by (1)\nend\n\nwhen I receive [join game v]\nvalue = cloud # (player #)\nset [last value v] to (join [A] (value))\nwait (3) seconds\nvalue = cloud # (player #)\nif <(join [A] (value)) = (last value)> then\n    set [my player # v] to (player #)\nend\n\ndefine value = cloud # (player)\nif <(player) = [1]> then\n    set [value v] to (☁ P1)\nelse\n    if <(player) = [2]> then\n        set [value v] to (☁ P2)\n    else\n        if <(player) = [3]> then\n            set [value v] to (☁ P3)\n        else\n            if <(player) = [4]> then\n                set [value v] to (☁ P4)\n            else\n                if <(player) = [5]> then\n                    set [value v] to (☁ P5)\n                else\n                    if <(player) = [6]> then\n                        set [value v] to (☁ P6)\n                    else\n                        if <(player) = [7]> then\n                            set [value v] to (☁ P7)\n                        else\n                            if <(player) = [8]> then\n                                set [value v] to (☁ P8)\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <(MY PLAYER #) = (player #)> then\n        set [offline v] to [100]\n        hide\n    else\n        Tick\n    end\nend\n\ndefine Tick\nvalue = cloud # (player #)\nif <(join [A] (value)) = (last value)> then\n    change [offline v] by (1)\n    if <(offline) = [100]> then\n        hide\n    end\nelse\n    set [last value v] to (join [A] (value))\n    if <(offline) > [99]> then\n        show\n    end\n    set [offline v] to [0]\nend\nbegin decode of (value)\nvalue = read from encoded\nif <(names) = [1]> then\n    say (value)\nelse\n    say []\nend\nvalue = read from encoded\nvalue = read from encoded\nset x to (value)\nvalue = read from encoded\nset y to (value)\nvalue = read from encoded\nswitch costume to (value)\nvalue = read from encoded\nif <([costume # v] of [level v]) = (value)> then\n    if <[100] > (offline)> then\n        show\n    else\n        hide\n    end\nelse\n    hide\nend\nvalue = read from encoded\n\ndefine begin decode of (encoded)\nset [encoded v] to (encoded)\nset [letter # v] to [1]\n\ndefine value = read from encoded\nset [value v] to []\nforever\n    set [idx v] to (join (letter (letter #) of (encoded)) (letter ((letter #) + (1)) of (encoded)))\n    change [letter # v] by (2)\n    if <(idx) < [1]> then\n        stop [this script v]\n    end\n    set [value v] to (join (value) (item (idx) of [code v]))\nend\n\n