Badboyhalo's Adventure (Platformer)

Instructions: Use wad or the arrow keys to get to the eye of ender.\nThis is a @Platformer\nIf you want more levels get 25 hearts and star.\nuse e to open your inventory. Use R to reset\n___________________________________________\nUpdate June/8/2021\nFixed the nocliping through walls, added better platformer script's and a intro (May be laggy)\nJune/8/2021/3:41 PM\nAdded animations\nJune/26/2021\nSo I deleted Intro and put something different, Press g\n\n

@Stage\n\n@Bad\n\ndefine Say: (string1)\nset volume to (100) %\nset instrument to (20 v)\ndelete (all) of [dialogue v]\nset [b v] to []\nadd [] to [dialogue v]\nrepeat (length of (string1))\n    say (item (1) of [dialogue v])\n    start sound [pop v]\n    if <<<(letter (b) of (string1)) = [.]> or <<(letter (b) of (string1)) = [?]> or <(letter (b) of (string1)) = [!]>>> or <(letter (b) of (string1)) = [,]>> then\n        wait (0.5) seconds\n    end\n    change [b v] by (1)\n    replace item (last) of [dialogue v] with (join (item (last) of [dialogue v]) (letter (b) of (string1)))\nend\nif <(letter (b) of (string1)) = [-]> then\n    say (string1) for (0.001) seconds\nelse\n    say (string1) for (1.25) seconds\nend\n\nwhen I receive [start v]\nshow\nswitch costume to (hitbox v)\nset [stage v] to [1]\ngo to x: (-170) y: (-120)\nforever\n    if <key (right arrow v) pressed?> then\n        change [xv v] by (1)\n    end\n    if <key (left arrow v) pressed?> then\n        change [xv v] by (-1)\n    end\n    set [xv v] to ((Xv) * (0.9))\n    change x by (Xv)\n    if <<touching (ground v)?> or <<touching (walls v)?> or <touching (aim bot v)?>>> then\n        change y by (1)\n        if <<touching (ground v)?> or <<touching (walls v)?> or <touching (aim bot v)?>>> then\n            change y by (1)\n            if <<touching (ground v)?> or <<touching (walls v)?> or <touching (aim bot v)?>>> then\n                change y by (1)\n                if <<touching (ground v)?> or <<touching (walls v)?> or <touching (aim bot v)?>>> then\n                    change y by (1)\n                    if <<touching (ground v)?> or <<touching (walls v)?> or <touching (aim bot v)?>>> then\n                        change y by (1)\n                        if <<touching (ground v)?> or <<touching (walls v)?> or <touching (aim bot v)?>>> then\n                            change x by ((Xv) * (-1))\n                            change y by (-5)\n                            if <key (up arrow v) pressed?> then\n                                if <(Xv) > [0]> then\n                                    set [xv v] to [-5]\n                                else\n                                    set [xv v] to [5]\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 [yv v] by (-1)\n    change y by (Yv)\n    if <<touching (ground v)?> or <<touching (walls v)?> or <touching (aim bot v)?>>> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <<(Inf jump) = [1]> or <<touching (ground v)?> or <<touching (walls v)?> or <touching (aim bot v)?>>>> then\n        if <key (up arrow v) pressed?> then\n            set [yv v] to [13]\n        end\n    end\n    if <touching (spikes v)?> then\n        go to x: (-170) y: (-120)\n    end\n    if <touching (bouncy v)?> then\n        set [yv v] to [35]\n    end\n    if <touching (terampoline v)?> then\n        change [yv v] by (18)\n    end\n    if <touching (eyes of ender v)?> then\n        change [stage v] by (1)\n        broadcast (Stage change v)\n        go to x: (-170) y: (-120)\n    end\n    change y by (1)\nend\n\nwhen flag clicked\nset [inf jump v] to [0]\nshow list [inventory v]\ndelete all of [inventory v]\ngo to x: (-142) y: (-76)\n\nwhen I receive [star v]\nshow\n\ndefine Deadorreset (x) (y)\nif <key (r v) pressed?> then\n    go to x: (x) y: (y)\nend\n\nwhen flag clicked\nbroadcast (start v)\nforever\n    Deadorreset [-142] [-116]\n    Inventory [e] [f]\nend\n\ndefine Inventory (activate key open) (activate key close)\nif <key ((activate key open) v) pressed?> then\n    hide list [inventory v]\nend\nif <key ((activate key close) v) pressed?> then\n    show list [inventory v]\nend\n\nwhen I receive [dead v]\ngo to x: (-137) y: (-123)\n\ndefine Anim (anim)\nif <(Moving) = [0]> then\n    switch costume to (default v)\nend\nif <(anim) = [1]> then\n    switch costume to (right v)\n    set [moving v] to [1]\nelse\n    set [moving v] to [0]\n    if <(anim) = [-1]> then\n        switch costume to (left v)\n        set [moving v] to [1]\n    else\n        set [moving v] to [0]\n    end\nend\n\nwhen flag clicked\nforever\n    Anim (<key (right arrow v) pressed?> - <key (left arrow v) pressed?>)\nend\n\nwhen flag clicked\nforever\n    if <key (g v) pressed?> then\n        ask [Say:] and wait\n        Say: (answer)\n    end\nend\n\nchange [stage v] by (1)\n\n@Eyes of Ender\n\nwhen flag clicked\nset size to (100) %\n\nwhen flag clicked\nforever\n    repeat (6)\n        change y by (2)\n        wait (0) seconds\n    end\n    repeat (12)\n        change y by (-2)\n        wait (0) seconds\n    end\n    repeat (6)\n        change y by (2)\n        wait (0) seconds\n    end\nend\n\nwhen I receive [stage change v]\nrepeat (10)\n    change size by (-10)\nend\nwait (0) seconds\nrepeat (10)\n    change size by (10)\nend\n\nwhen I receive [stage change v]\nforever\n    if <(Stage) = [3]> then\n        go to x: (125) y: (73)\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nhide\nforever\n    if <(Stage) = [1]> then\n        go to x: (170) y: (70)\n        stop [this script v]\n    end\nend\n\nwhen I receive [stage change v]\nforever\n    if <(Stage) = [2]> then\n        go to x: (103) y: (65)\n        stop [this script v]\n    end\nend\n\nwhen I receive [stage change v]\nforever\n    if <(Stage) = [4]> then\n        go to x: (-201) y: (94)\n        stop [this script v]\n    end\nend\n\nwhen I receive [stage change v]\nforever\n    if <(Stage) = [5]> then\n        go to x: (130) y: (148)\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    add (join (Stage) [ Eye of ender]) to [inventory v]\n    broadcast (Invent update v)\nend\n\nwhen I receive [stage change v]\nforever\n    if <(Stage) = [7]> then\n        go to x: (-156) y: (155)\n        stop [this script v]\n    end\nend\n\nwhen I receive [star v]\nshow\n\nwhen I receive [stage change v]\nforever\n    if <(Stage) = [8]> then\n        go to x: (150) y: (-80)\n        stop [this script v]\n    end\nend\n\nwhen I receive [stage change v]\nforever\n    if <(Stage) = [9]> then\n        go to x: (-190) y: (145)\n        stop [this script v]\n    end\nend\n\nstop [this script v]\n\nwhen I receive [stage change v]\nforever\n    if <(Stage) = [10]> then\n        go to x: (-190) y: (145)\n        stop [this script v]\n    end\nend\n\nwhen I receive [invent update v]\ndelete all of [inventory v]\n\n@ground\n\n@walls\n\nwhen flag clicked\nhide\nset [my variable v] to [0]\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to x: (6) y: (-68)\n\nwhen I receive [stage change v]\nshow\nSetup (Stage) Stage\n\nnext costume\n\nwhen I receive [star v]\nshow\n\ndefine Setup (setup number) Stage\nforever\n    switch costume to (setup number)\n    stop [this script v]\nend\n\n@screen\n\nwhen flag clicked\nshow variable [☁ times played v]\ngo to x: (0) y: (0)\nset [ghost v] effect to (0)\nclear graphic effects\nshow\nbroadcast (M-0302 v)\nforever\n    go to x: ((mouse x) / (10)) y: ((mouse y) / (10))\nend\n\nwhen I receive [star v]\nhide variable [☁ times played v]\nrepeat (50)\n    wait (0) seconds\n    change [ghost v] effect by (2)\nend\nhide\n\nwhen I receive [m-0302 v]\nforever\n    repeat (25)\n        change [pixelate v] effect by (2)\n    end\n    repeat (25)\n        change [pixelate v] effect by (-2)\n    end\nend\n\nchange [whirl v] effect by (2)\n\n@Aim bot\n\nwhen flag clicked\nwait until <[5] = (Stage)>\nshow\n\nwhen flag clicked\nhide\n\nwhen I receive [ko v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nforever\n    if <touching (sword v)?> then\n        hide\n        broadcast (Skeleton Dead v)\n    end\nend\n\nwhen I receive [stage change v]\nSetup\n\ndefine Setup\nif <[5] < (Stage)> then\n    show\nend\n\n@some more Aim bot\n\nwhen flag clicked\nhide\nwait until <[5] = (Stage)>\nshow\nforever\n    point towards (bad v)\nend\n\nwhen I receive [ko v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [skeleton dead v]\nhide\n\nwhen I receive [stage change v]\nSetup\n\ndefine Setup\nif <[5] < (Stage)> then\n    show\nend\n\n@Some much Aim bot\n\nwhen flag clicked\nhide\nwait until <[5] = (Stage)>\nshow\n\nwhen flag clicked\nforever\n    repeat until <[1] = (power)>\n        go to (some more aim bot v)\n        point towards (bad v)\n    end\n    repeat until <[0] = (power)>\n        create clone of (_myself_ v)\n    end\nend\n\nwhen flag clicked\nforever\n    wait (5) seconds\n    set [power v] to [1]\n    wait (0.1) seconds\n    set [power v] to [0]\nend\n\nwhen flag clicked\nforever\n    if <[8] = (Stage)> then\n        broadcast (KO v)\n        stop [other scripts in sprite v]\n        hide\n    end\nend\n\nwhen I start as a clone\nrepeat until <touching color (#90723a)?>\n    move (10) steps\nend\nwait (0.1) seconds\ndelete this clone\n\nwhen I start as a clone\nforever\n    if <touching (bad v)?> then\n        broadcast (Dead v)\n        delete this clone\n    end\nend\n\nwhen I receive [skeleton dead v]\nhide\n\nwhen I receive [stage change v]\nSetup\n\ndefine Setup\nif <[5] < (Stage)> then\n    show\nelse\n    hide\nend\n\n@spikes\n\nwhen flag clicked\nforever\n    if <touching (bad v)?> then\n        broadcast (Dead v)\n    end\nend\n\nwhen flag clicked\npoint in direction (90)\ngo to x: (67) y: (86)\nhide\nwait until <(Stage) = [6]>\nshow\nwait until <(Stage) = [7]>\ngo to x: (-38) y: (-120)\nwait until <(Stage) = [8]>\ngo to x: (134) y: (-27)\npoint in direction (180)\nwait until <(Stage) = [9]>\nhide\n\nshow\n\n@Click\n\nwhen this sprite clicked\nbroadcast (Star v)\nchange [☁ times played v] by (1)\nhide\n\nwhen flag clicked\ngo to [front v] layer\ngo to x: (0) y: (-140)\nshow\n\n@Commands\n\nwhen flag clicked\nforever\n    if <(username) = [Robloxgeek515]> then\n        if <key (c v) pressed?> then\n            ask [Command] and wait\n            if < (answer) contains [Inf]?> then\n                change [inf jump v] by (1)\n            end\n            if < (answer) contains [Stage]?> then\n                ask [Command sec] and wait\n                set [stage v] to (answer)\n                broadcast (Stage change v)\n            end\n        end\n    end\nend\n\nwhen I start as a clone\ncreate clone of (_myself_ v)\n\n@Sword\n\nwhen flag clicked\nshow\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\nforever\n    if <touching (bad v)?> then\n        broadcast (Wood swird v)\n    end\nend\n\nwhen I receive [wood swird v]\nhide\nforever\n    if <<mouse down?> or <key (space v) pressed?>> then\n        show\n    else\n        hide\n    end\nend\n\nwhen I receive [wood swird v]\nforever\n    go to x: (([x position v] of [bad v]) + (25)) y: ([y position v] of [bad v])\nend\n\nwhen I receive [wood swird v]\nforever\n    next costume\n    wait (0.2) seconds\nend\n\nif <<key (a v) pressed?> or <key (d v) pressed?>> then\nelse\n    switch costume to (costume1 v)\nend\n\ngo to x: (0) y: (0)\n\n@instance.new(Script)\n\nwhen flag clicked\nInstance.new(Script) [10] In script if level greater than 10 set level to 10\n\ndefine Instance.new(Script) (new.script) In script if level greater than 10 set level to 10\nforever\n    if <[14] < (Stage)> then\n        set [stage v] to [14]\n        broadcast (Stage change v)\n    end\nend\n\n