The Longest Platformer Ever! with saves

Instructions: text here was written by the original creator @MajesticPie\n\nCurated by @ProfessorMaddog 5/23/15!\n\n->CLICK FLAG X2<-\n->FULLSCREEN REQUIRED<-\n\nThis is The Longest Platformer Ever (Or T.L.P.E. if you've seen my profile)\nIt has 100 levels (Which are ALL possible).\nIt has 5 boss fights.\nIt has water levels.\nIT HAS EVERYTHING YOU NEED FOR A GREAT PLATFORMER!\n( ͡ᵔ ͜ʖ ͡ᵔ )\nInstructions are in game.\nHave fun!\n\nor not ¯\_(ツ)_/¯\n\nSong: "Computer Virus"- By @MajesticPie\n

@Stage\n\nwhen flag clicked\nask [type a your save number, or 1 to start a new game.] and wait\nset [save v] to (answer)\nset [save level v] to (join [backdrop] (save))\nset [level v] to (save)\nbroadcast (save v)\nswitch backdrop to (save level)\n\n@Sprite1\n\nwhen backdrop switches to [backdrop30 v]\npen down\nwait (10) seconds\npen up\nerase all\nswitch backdrop to (backdrop31 v)\n\nwhen I receive [message1 v]\nset [clircles: v] to [1]\nswitch backdrop to (backdrop1 v)\nset [level v] to [1]\ngo to x: (-223) y: (-167)\nset [yv v] to [0]\n\nwhen backdrop switches to [backdrop49 v]\nrepeat until <not <(backdrop [name v]) = [backdrop49]>>\n    if <key (3 v) pressed?> then\n        switch backdrop to (backdrop50 v)\n        change [level v] by (1)\n        go to x: (-223) y: (-167)\n        set [yv v] to [0]\n        wait until <not <key (3 v) pressed?>>\n    end\nend\n\nwhen flag clicked\nset pen size to (5)\nerase all\npen up\nset pen color to (#666666)\nswitch backdrop to (backdrop1 v)\nset [ghost v] effect to (0)\nset [level v] to [1]\nset [deaths v] to [0]\nset [clircles: v] to [0]\nset [volume: v] to [100]\nset [game v] to [1]\nset [xv v] to [0]\nset [yv v] to [0]\nhide variable [sho v]\ngo to x: (-223) y: (-166)\npoint in direction (90)\nwait (2) seconds\nshow variable [sho v]\nshow\nforever\n    if <(game) = [1]> then\n        change [yv v] by (-0.5)\n        if <key (right arrow v) pressed?> then\n            change [xv v] by (0.7)\n            point in direction (90)\n        end\n        if <key (left arrow v) pressed?> then\n            change [xv v] by (-0.7)\n            point in direction (90)\n        end\n        set [xv v] to ((Xv) * (0.9))\n        change x by (Xv)\n        if <touching color (#000008)?> then\n            change y by (1)\n            if <touching color (#000008)?> then\n                change y by (1)\n                if <touching color (#000008)?> then\n                    change y by (1)\n                    if <touching color (#000008)?> then\n                        change y by (1)\n                        if <touching color (#000008)?> then\n                            change y by (1)\n                            if <touching color (#000008)?> then\n                                change x by ((Xv) * (-1))\n                                change x by (-1)\n                                change y by (-5)\n                                change x by (1)\n                                if <key (up arrow v) pressed?> then\n                                    start sound [jump v]\n                                    if <(Xv) > [0]> then\n                                        set [xv v] to [-8]\n                                    else\n                                        set [xv v] to [8]\n                                    end\n                                    set [yv v] to [10]\n                                else\n                                    set [xv v] to [0]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        change y by (Yv)\n        if <touching color (#000008)?> then\n            change y by ((Yv) * (-1))\n            set [yv v] to [0]\n        end\n        change y by (-1)\n        if <touching color (#000008)?> then\n            if <key (up arrow v) pressed?> then\n                start sound [jump v]\n                set [yv v] to [10]\n            end\n        end\n        change y by (1)\n        if <touching color (#ffff00)?> then\n            start sound [next lvl v]\n            set [yv v] to [0]\n            go to x: (-223) y: (-167)\n            switch backdrop to (next backdrop v)\n            change [level v] by (1)\n        end\n        if <touching color (#003fff)?> then\n            start sound [jump v]\n            set [yv v] to [15]\n        end\n        if <touching color (#00ffff)?> then\n            if <key (up arrow v) pressed?> then\n                set [yv v] to [5]\n            else\n                set [yv v] to [-1]\n            end\n        end\n        if <touching color (#ff0000)?> then\n            start sound [bxsb v]\n            repeat (10)\n                change [ghost v] effect by (10)\n            end\n            set [yv v] to [0]\n            set [xv v] to [0]\n            go to x: (-223) y: (-167)\n            set [ghost v] effect to (0)\n            change [deaths v] by (1)\n        end\n        if <(level) = [101]> then\n            set [sho v] to [The end!]\n        end\n        if <(level) < [101]> then\n            set [sho v] to (join [Level ] (join (level) [/100]))\n        end\n        if <(backdrop [name v]) = [backdrop101]> then\n            set [sho v] to [¯\_\(ツ\)_/¯]\n        end\n    end\nend\n\nwhen backdrop switches to [backdrop46 v]\nrepeat until <not <(backdrop [name v]) = [backdrop46]>>\n    if <key (space v) pressed?> then\n        switch backdrop to (backdrop47 v)\n        change [level v] by (1)\n        go to x: (-223) y: (-167)\n        set [yv v] to [0]\n        wait until <not <key (space v) pressed?>>\n    end\nend\n\nwhen backdrop switches to [backdrop25 v]\nset [clircles: v] to [0]\nwait (4) seconds\nif <(Clircles:) = [0]> then\n    switch backdrop to (backdrop26 v)\nend\n\nwhen I receive [pause v]\nset [game v] to [0]\n\nwhen I receive [unpause v]\nset [game v] to [1]\n\nwhen flag clicked\nforever\n    if <key (r v) pressed?> then\n        start sound [pop v]\n        set [yv v] to [0]\n        go to x: (-223) y: (-167)\n        change [deaths v] by (1)\n        wait until <not <key (r v) pressed?>>\n    end\nend\n\nwhen I receive [save v]\nset [level v] to (save)\n\n@Sprite2\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\n\nwhen backdrop switches to [backdrop49 v]\nhide\n\nwhen backdrop switches to [backdrop20 v]\nshow\nrepeat until <not <(backdrop [name v]) = [backdrop20]>>\n    go to (mouse-pointer v)\nend\n\nwhen backdrop switches to [backdrop21 v]\nhide\n\nwhen backdrop switches to [backdrop48 v]\nswitch costume to (costume2 v)\nshow\nrepeat until <not <(backdrop [name v]) = [backdrop48]>>\n    go to (mouse-pointer v)\nend\n\n@Sprite3\n\nwhen flag clicked\nhide\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to (112.5) %\n    else\n        set size to (100) %\n    end\nend\n\nwhen this sprite clicked\nstart sound [pop v]\nbroadcast (message1 v)\nhide\n\nwhen backdrop switches to [backdrop25 v]\nshow\nwait (4) seconds\nhide\n\n@Sprite4\n\nwhen backdrop switches to [null v]\nrepeat until <not <(backdrop [name v]) = [null]>>\n    if <touching (mouse-pointer v)?> then\n        show\n    end\nend\n\nwhen flag clicked\ngo to x: (-51) y: (45)\nhide\n\nwhen backdrop switches to [null2 v]\nhide\n\n@Sprite5\n\nwhen flag clicked\ngo to x: (-110) y: (-74)\nhide\n\nwhen backdrop switches to [null v]\nrepeat until <not <(backdrop [name v]) = [null]>>\n    if <touching (mouse-pointer v)?> then\n        show\n    end\nend\n\nwhen backdrop switches to [null2 v]\nhide\n\n@Sprite6\n\nwhen flag clicked\ngo to x: (-240) y: (0)\nhide\n\nwhen backdrop switches to [backdrop34 v]\nhide\nstop [other scripts in sprite v]\n\nwhen backdrop switches to [backdrop18 v]\nshow\nrepeat until <(backdrop [name v]) = [backdrop34]>\n    repeat until <(x position) > [119]>\n        wait (0.125) seconds\n        change x by (7.5)\n    end\n    go to x: (-240) y: (0)\nend\n\nwhen backdrop switches to [backdrop56 v]\nhide\nstop [other scripts in sprite v]\n\nwhen backdrop switches to [backdrop38 v]\nhide\nstop [other scripts in sprite v]\n\nwhen backdrop switches to [backdrop89 v]\nhide\nstop [other scripts in sprite v]\n\nwhen backdrop switches to [backdrop98 v]\nshow\nrepeat until <(backdrop [name v]) = [backdrop99]>\n    repeat until <(x position) > [119]>\n        wait (0.125) seconds\n        change x by (7.5)\n    end\n    go to x: (-240) y: (0)\nend\n\nwhen backdrop switches to [backdrop99 v]\nhide\nstop [other scripts in sprite v]\n\nwhen backdrop switches to [backdrop85 v]\nshow\nrepeat until <(backdrop [name v]) = [backdrop89]>\n    repeat until <(x position) > [119]>\n        wait (0.125) seconds\n        change x by (7.5)\n    end\n    go to x: (-240) y: (0)\nend\n\nwhen backdrop switches to [backdrop36 v]\nshow\nrepeat until <(backdrop [name v]) = [backdrop37]>\n    repeat until <(x position) > [119]>\n        wait (0.125) seconds\n        change x by (7.5)\n    end\n    go to x: (-240) y: (0)\nend\n\nwhen backdrop switches to [backdrop55 v]\nshow\nrepeat until <(backdrop [name v]) = [backdrop56]>\n    repeat until <(x position) > [119]>\n        wait (0.125) seconds\n        change x by (7.5)\n    end\n    go to x: (-240) y: (0)\nend\n\nwhen backdrop switches to [backdrop37 v]\nshow\nrepeat until <(backdrop [name v]) = [backdrop38]>\n    repeat until <(x position) > [119]>\n        wait (0.125) seconds\n        change x by (7.5)\n    end\n    go to x: (-240) y: (0)\nend\n\n@Sprite7\n\nwhen flag clicked\nhide\n\nwhen I receive [message 2 v]\nask [What level are you on?] and wait\nif <(answer) = [41]> then\n    broadcast (message 3 v)\nelse\n    start sound [buzz whir v]\n    broadcast (message 2 v)\nend\n\nwhen I receive [message 4 v]\nask [What was the name of the second boss?] and wait\nif <<(answer) = [Big Larry]> or <(answer) = [big larry]>> then\n    broadcast (message 5 v)\nelse\n    start sound [buzz whir v]\n    broadcast (message 2 v)\nend\n\nwhen backdrop switches to [backdrop41 v]\nbroadcast (message 2 v)\n\nwhen I receive [message 5 v]\nask [What was the answer to question 1?] and wait\nif <(answer) = [41]> then\n    switch backdrop to (backdrop42 v)\nelse\n    start sound [buzz whir v]\n    broadcast (message 2 v)\nend\n\nwhen I receive [message 3 v]\nif <not <(username) = []>> then\n    ask [What's your username?] and wait\n    if <(answer) = (username)> then\n        broadcast (message 4 v)\n    else\n        start sound [buzz whir v]\n        broadcast (message 3 v)\n    end\nelse\n    broadcast (message 4 v)\nend\n\n@Sprite8\n\nwhen flag clicked\nshow\nwait (2) seconds\nrepeat (20)\n    change [ghost v] effect by (5)\nend\nhide\n\nwhen flag clicked\nset volume to (100) %\nforever\n    play sound [ComputerVirus v] until done\nend\n\n@download\n\nwhen flag clicked\nset [ghost v] effect to (0)\nhide\nwait (2) seconds\nforever\n    if <key (p v) pressed?> then\n        broadcast (pause v)\n        set [ghost v] effect to (100)\n        show\n        repeat (10)\n            change [ghost v] effect by (-10)\n        end\n        wait until <not <key (p v) pressed?>>\n        wait until <key (p v) pressed?>\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        broadcast (unpause v)\n        hide\n        wait until <not <key (p v) pressed?>>\n    end\nend\n\n@Sprite9\n\nwhen flag clicked\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\nforever\n    switch costume to (costume1 v)\n    wait (0.3) seconds\n    next costume\n    go to x: (pick random (-250) to (250)) y: (pick random (-200) to (200))\n    repeat (9)\n        wait (0.1) seconds\n        next costume\n    end\n    wait (pick random (0) to (0.5)) seconds\n    hide\n    wait (pick random (0) to (5)) seconds\nend\n\nwhen I start as a clone\nforever\n    switch costume to (costume1 v)\n    wait (0.3) seconds\n    next costume\n    go to x: (pick random (-250) to (250)) y: (pick random (-200) to (200))\n    repeat (9)\n        wait (0.1) seconds\n        next costume\n    end\n    wait (pick random (0) to (0.5)) seconds\n    hide\n    wait (pick random (0) to (5)) seconds\nend\n\n