The Longest Platformer Ever! with saves
@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
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