Exploration Platformer Series

Instructions: Sequel is out!! :DD\nlink - https://scratch.mit.edu/projects/422034218/\n\nPlease get this on top loved or top remixed!! Please! Thanks!\n\nNOTE : I didn't add a skip button because I want the time to be there and to be a little tough! Thanks\n\nHi everyone!! I'm glad to tell you I just made a multiplayer platformer and also finished it!!\nControls - \nArrow keys to move!!\nStomp on enemies to kill them!!\nDon't touch enemies or sharks!!\n This supports upto 9 players!

@Stage\n\nwhen flag clicked\nhide variable [☁ global best time: v]\nset [pitch v] effect to (0)\nforever\n    play sound [Calming v] until done\nend\n\nwhen flag clicked\nforever\n    if <(planet) = [earth]> then\n        set [pitch v] effect to (0)\n    else\n        set [pitch v] effect to (-30)\n    end\nend\n\nwhen flag clicked\nwait until <(planet) = [moon]>\nstop all sounds\n\nwhen flag clicked\nforever\n    switch costume to (planet)\nend\n\nwhen I receive [boss v]\nstop [other scripts in sprite v]\nforever\n    play sound [dungeon-quest-the-canals-boss-theme-youtubemp3free v] until done\nend\n\nwhen I receive [win v]\nstop [other scripts in sprite v]\nswitch backdrop to (moon v)\n\n@Sprite1\n\nwhen flag clicked\nset [planet v] to [earth]\nwait (8) seconds\nswitch backdrop to (earth v)\nswitch costume to (costume1 v)\ngo to x: (-209) y: (0)\nshow\nbroadcast (move v)\n\nwhen I receive [win v]\nhide\n\nwhen I receive [ouch v]\ngo to x: (-209) y: (0)\n\nwhen I receive [rockettransition v]\nstop [other scripts in sprite v]\ngo to x: (-178) y: (300)\nset [ghost v] effect to (99)\n\nwhen I receive [next thing v]\nclear graphic effects\nshow\nbroadcast (move v)\n\nwhen I receive [move v]\nset [yv v] to [0]\nset [xv v] to [0]\nif <(planet) = [earth]> then\n    forever\n        if <key (left arrow v) pressed?> then\n            switch costume to (costume1 v)\n            change [xv v] by (-0.5)\n        end\n        if <key (right arrow v) pressed?> then\n            switch costume to (costume1 v)\n            change [xv v] by (0.5)\n        end\n        change x by (Xv)\n        set [xv v] to ((Xv) * (0.9))\n        if <touching (ground v)?> then\n            change y by (0.5)\n            if <touching (ground v)?> then\n                change y by (0.5)\n                if <touching (ground v)?> then\n                    change y by (0.5)\n                    if <touching (ground v)?> then\n                        change y by (0.5)\n                        if <touching (ground v)?> then\n                            change y by (0.5)\n                            if <touching (ground v)?> then\n                                change y by (0.5)\n                                if <touching (ground v)?> then\n                                    change y by (0.5)\n                                    if <touching (ground v)?> then\n                                        change y by (0.5)\n                                        if <touching (ground v)?> then\n                                            if <key (up arrow v) pressed?> then\n                                                if <(Xv) > [0]> then\n                                                    set [xv v] to [-7]\n                                                else\n                                                    set [xv v] to [7]\n                                                end\n                                                set [yv v] to [10]\n                                            else\n                                                set [xv v] to ((Xv) * (-1.3))\n                                                change x by (Xv)\n                                                set [xv v] to [0]\n                                                change x by ((Xv) / (5))\n                                            end\n                                            change y by (-4)\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        change [yv v] by (-0.5)\n        change y by (Yv)\n        if <touching (ground v)?> then\n            set [yv v] to ((Yv) * (-0.25))\n            change y by (Yv)\n            if <touching (ground v)?> then\n                change y by (Yv)\n                if <touching (ground v)?> then\n                    change y by (Yv)\n                    if <touching (ground v)?> then\n                        change y by (Yv)\n                    end\n                end\n            end\n        end\n        change y by (-1)\n        if <<touching (ground v)?> and <key (up arrow v) pressed?>> then\n            set [yv v] to [6]\n        end\n        change y by (1)\n    end\nelse\n    if <(planet) = [moon]> then\n        forever\n            if <key (left arrow v) pressed?> then\n                switch costume to (costume1 v)\n                change [xv v] by (-0.5)\n            end\n            if <key (right arrow v) pressed?> then\n                switch costume to (costume1 v)\n                change [xv v] by (0.5)\n            end\n            change x by (Xv)\n            set [xv v] to ((Xv) * (0.9))\n            if <touching (ground v)?> then\n                change y by (0.5)\n                if <touching (ground v)?> then\n                    change y by (0.5)\n                    if <touching (ground v)?> then\n                        change y by (0.5)\n                        if <touching (ground v)?> then\n                            change y by (0.5)\n                            if <touching (ground v)?> then\n                                change y by (0.5)\n                                if <touching (ground v)?> then\n                                    change y by (0.5)\n                                    if <touching (ground v)?> then\n                                        change y by (0.5)\n                                        if <touching (ground v)?> then\n                                            change y by (0.5)\n                                            if <touching (ground v)?> then\n                                                if <key (up arrow v) pressed?> then\n                                                    if <(Xv) > [0]> then\n                                                        set [xv v] to [-7]\n                                                    else\n                                                        set [xv v] to [7]\n                                                    end\n                                                    set [yv v] to [10]\n                                                else\n                                                    set [xv v] to ((Xv) * (-1.3))\n                                                    change x by (Xv)\n                                                    set [xv v] to [0]\n                                                    change x by ((Xv) / (5))\n                                                end\n                                                change y by (-4)\n                                            end\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n            change [yv v] by (-0.2)\n            change y by (Yv)\n            if <touching (ground v)?> then\n                set [yv v] to ((Yv) * (-0.25))\n                change y by (Yv)\n                if <touching (ground v)?> then\n                    change y by (Yv)\n                    if <touching (ground v)?> then\n                        change y by (Yv)\n                        if <touching (ground v)?> then\n                            change y by (Yv)\n                        end\n                    end\n                end\n            end\n            change y by (-1)\n            if <<touching (ground v)?> and <key (up arrow v) pressed?>> then\n                set [yv v] to [10]\n            end\n            change y by (1)\n        end\n    end\nend\nif <(planet) = [venus]> then\n    forever\n        if <key (left arrow v) pressed?> then\n            switch costume to (costume1 v)\n            change [xv v] by (-0.5)\n        end\n        if <key (right arrow v) pressed?> then\n            switch costume to (costume1 v)\n            change [xv v] by (0.5)\n        end\n        change x by (Xv)\n        set [xv v] to ((Xv) * (0.9))\n        if <touching (ground v)?> then\n            change y by (0.5)\n            if <touching (ground v)?> then\n                change y by (0.5)\n                if <touching (ground v)?> then\n                    change y by (0.5)\n                    if <touching (ground v)?> then\n                        change y by (0.5)\n                        if <touching (ground v)?> then\n                            change y by (0.5)\n                            if <touching (ground v)?> then\n                                change y by (0.5)\n                                if <touching (ground v)?> then\n                                    change y by (0.5)\n                                    if <touching (ground v)?> then\n                                        change y by (0.5)\n                                        if <touching (ground v)?> then\n                                            if <key (up arrow v) pressed?> then\n                                                if <(Xv) > [0]> then\n                                                    set [xv v] to [-7]\n                                                else\n                                                    set [xv v] to [7]\n                                                end\n                                                set [yv v] to [10]\n                                            else\n                                                set [xv v] to ((Xv) * (-1.3))\n                                                change x by (Xv)\n                                                set [xv v] to [0]\n                                                change x by ((Xv) / (5))\n                                            end\n                                            change y by (-4)\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        change [yv v] by (-0.35)\n        change y by (Yv)\n        if <touching (ground v)?> then\n            set [yv v] to ((Yv) * (-0.25))\n            change y by (Yv)\n            if <touching (ground v)?> then\n                change y by (Yv)\n                if <touching (ground v)?> then\n                    change y by (Yv)\n                    if <touching (ground v)?> then\n                        change y by (Yv)\n                    end\n                end\n            end\n        end\n        change y by (-1)\n        if <<touching (ground v)?> and <key (up arrow v) pressed?>> then\n            set [yv v] to [7]\n        end\n        change y by (1)\n    end\nend\nif <<(planet) = [mars]> or <(planet) = [mercury]>> then\n    forever\n        if <key (left arrow v) pressed?> then\n            switch costume to (costume1 v)\n            change [xv v] by (-0.5)\n        end\n        if <key (right arrow v) pressed?> then\n            switch costume to (costume1 v)\n            change [xv v] by (0.5)\n        end\n        change x by (Xv)\n        set [xv v] to ((Xv) * (0.9))\n        if <touching (ground v)?> then\n            change y by (0.5)\n            if <touching (ground v)?> then\n                change y by (0.5)\n                if <touching (ground v)?> then\n                    change y by (0.5)\n                    if <touching (ground v)?> then\n                        change y by (0.5)\n                        if <touching (ground v)?> then\n                            change y by (0.5)\n                            if <touching (ground v)?> then\n                                change y by (0.5)\n                                if <touching (ground v)?> then\n                                    change y by (0.5)\n                                    if <touching (ground v)?> then\n                                        change y by (0.5)\n                                        if <touching (ground v)?> then\n                                            if <key (up arrow v) pressed?> then\n                                                if <(Xv) > [0]> then\n                                                    set [xv v] to [-7]\n                                                else\n                                                    set [xv v] to [7]\n                                                end\n                                                set [yv v] to [10]\n                                            else\n                                                set [xv v] to ((Xv) * (-1.3))\n                                                change x by (Xv)\n                                                set [xv v] to [0]\n                                                change x by ((Xv) / (5))\n                                            end\n                                            change y by (-4)\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        change [yv v] by (-0.4)\n        change y by (Yv)\n        if <touching (ground v)?> then\n            set [yv v] to ((Yv) * (-0.25))\n            change y by (Yv)\n            if <touching (ground v)?> then\n                change y by (Yv)\n                if <touching (ground v)?> then\n                    change y by (Yv)\n                    if <touching (ground v)?> then\n                        change y by (Yv)\n                    end\n                end\n            end\n        end\n        change y by (-1)\n        if <<touching (ground v)?> and <key (up arrow v) pressed?>> then\n            set [yv v] to [6]\n        end\n        change y by (1)\n    end\nend\n\nwhen I receive [move v]\nforever\n    if <(x position) > [240]> then\n        go to x: (-209) y: (0)\n        broadcast (next thing v)\n    end\n    if <touching color (#66b7ff)?> then\n        go to x: (-209) y: (0)\n    end\nend\n\nwhen I receive [boss v]\nwait (0.1) seconds\nstop [other scripts in sprite v]\n\nwhen I receive [message1 v]\nclear graphic effects\nshow\nbroadcast (move v)\n\n@Sprite2\n\ndefine Parkour\nbroadcast (Pkour v)\n\ndefine Say (text) with sound (sound)  then wait (seconds)  seconds\nset [pre word v] to (letter (1) of (text))\nset [on letter v] to [1]\nrepeat (length of (text))\n    set [word v] to (Pre Word)\n    say (Word)\n    start sound (sound)\n    change [on letter v] by (1)\n    set [post word v] to (letter (On letter) of (text))\n    set [pre word v] to (join (Pre Word) (Post Word))\nend\nwait (seconds) seconds\nsay []\n\nwhen flag clicked\nhide\n\ndefine Water Beam\nbroadcast (Wbeam v)\n\nwhen I receive [message1 v]\nforever\n    if <touching (sprite1 v)?> then\n        stop [other scripts in sprite v]\n        switch costume to (costume2 v)\n        Say [AAAH! TOO HOT!!!!! ARE YOU FROM THE SUN OR SOMETHING?! Oh, wait.] with sound [1]  then wait [4]  seconds\n        broadcast (WIN v)\n        hide\n    end\nend\n\nwhen I receive [boss v]\ngo to [front v] layer\nswitch costume to (costume1 v)\nshow\ngo to x: (117) y: (210)\nglide (1) secs to x: (107) y: (27)\nwait (1) seconds\nSay [Stop right there.] with sound [1]  then wait [3]  seconds\nSay [You heading to the sun aye?!] with sound [1]  then wait [3]  seconds\nSay [That ain't happening!] with sound [1]  then wait [3]  seconds\nSay [You have to get through me first!] with sound [1]  then wait [3]  seconds\nglide (1) secs to x: (193) y: (30)\nbroadcast (message1 v)\nrepeat until <touching (sprite1 v)?>\n    Parkour\n    switch costume to (costume1 v)\n    wait (0.2) seconds\n    switch costume to (costume1 v)\n    wait (1) seconds\n    switch costume to (costume1 v)\n    repeat (1)\n        Water Beam\n        wait (0.7) seconds\n    end\n    switch costume to (costume1 v)\n    wait (1) seconds\nend\n\n@Sprite3\n\nwhen flag clicked\nhide\n\nwhen I receive [win v]\nhide\n\n@Sprite4\n\nwhen flag clicked\nhide\n\nwhen I receive [wbeam v]\ncreate clone of (_myself_ v)\n\nwhen I receive [win v]\nhide\n\nwhen I start as a clone\nshow\ngo to x: (168) y: (40)\npoint towards (sprite1 v)\nrepeat until <touching (_edge_ v)?>\n    move (15) steps\nend\nhide\ndelete this clone\n\n@Intro\n\nwhen I start as a clone\nwait (5.5) seconds\nrepeat (50)\n    change [ghost v] effect by (2)\n    wait (0.01) seconds\nend\ndelete this clone\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [del.clone v] to [0]\nshow\nswitch costume to (costume2 v)\ngo to [front v] layer\ncreate clone of (_myself_ v)\ngo to [front v] layer\nswitch costume to (costume1 v)\nset [ghost v] effect to (100)\nrepeat (50)\n    change [ghost v] effect by (-2)\n    wait (0.01) seconds\nend\nwait (2) seconds\nrepeat (50)\n    change [ghost v] effect by (2)\n    wait (0.01) seconds\nend\nset [del.clone v] to [1]\nhide\n\n@Sprite5\n\nwhen flag clicked\ngo to [front v] layer\ngo to x: (0) y: (0)\nhide\n\n@background\n\nwhen flag clicked\nshow\nforever\n    go to [back v] layer\nend\n\nwhen flag clicked\nforever\n    switch costume to (planet)\nend\n\nwhen I receive [win v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nforever\n    go to x: ((0) + (([x position v] of [sprite1 v]) / (-15))) y: ((0) - (([y position v] of [sprite1 v]) / (8)))\nend\n\n@ground\n\nwhen I receive [next thing v]\nnext costume\n\nwhen flag clicked\nset [planet v] to [earth]\nwait (9) seconds\nwait until <(costume [number v]) = [6]>\nbroadcast (rocket v)\nwait until <(costume [number v]) = [11]>\nbroadcast (rocket v)\nwait until <(costume [number v]) = [14]>\nbroadcast (rocket v)\nwait until <(costume [number v]) = [18]>\nbroadcast (rocket v)\nwait until <(costume [number v]) = [20]>\nbroadcast (BOSS v)\n\nwhen I receive [win v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nshow\nswitch costume to (costume1 v)\nforever\n    go to x: ((0) + (([x position v] of [sprite1 v]) / (-5))) y: ((0) + (([y position v] of [sprite1 v]) / (-5)))\nend\n\n@Sprite6\n\nwhen I receive [win v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nwait (8) seconds\nforever\n    go to [front v] layer\nend\n\nwhen flag clicked\nshow\nforever\n    switch costume to (planet)\nend\n\nwhen flag clicked\nforever\n    go to x: ((0) + (([x position v] of [sprite1 v]) / (-2))) y: ((0) - (([y position v] of [sprite1 v]) / (2)))\nend\n\n@Sprite7\n\nwhen flag clicked\nwait (8) seconds\nswitch costume to (costume1 v)\ncutscene\n\ndefine cutscene\nclear graphic effects\nshow\nwait (3) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\nwhen I receive [next thing v]\nnext costume\ncutscene\n\n@Sprite8\n\nwhen flag clicked\nshow\nforever\n    go to (sprite1 v)\n    if <touching color (#66b7ff)?> then\n        broadcast (ouch v)\n    end\nend\n\nwhen I receive [rockettransition v]\nhide\n\nwhen I receive [next thing v]\nshow\n\nwhen I receive [win v]\nhide\n\n@Sprite9\n\nwhen flag clicked\nhide\n\nwhen I receive [rocket v]\nshow\nwait (0.1) seconds\nrepeat until <touching (sprite8 v)?>\n    go to x: ((167) + (([x position v] of [sprite1 v]) / (-5))) y: ((40) + (([y position v] of [sprite1 v]) / (-5)))\nend\nbroadcast (rockettransition v)\nrepeat (30)\n    change y by (10)\nend\nbroadcast (next thing v)\nif <(planet) = [mars]> then\n    set [planet v] to [mercury]\nend\nif <(planet) = [venus]> then\n    set [planet v] to [mars]\nend\nif <(planet) = [moon]> then\n    set [planet v] to [venus]\nend\nif <(planet) = [earth]> then\n    set [planet v] to [moon]\nend\nhide\n\n@Sprite10\n\nwhen flag clicked\nhide\nwait (8) seconds\nforever\n    if <(planet) = [earth]> then\n        create clone of (_myself_ v)\n        wait (0.05) seconds\n    end\nend\n\nwhen I start as a clone\ngo to [back v] layer\nshow\nclear graphic effects\ngo to (sprite1 v)\nrepeat (20)\n    change x by (pick random (-0.03) to (-0.1))\n    turn left (pick random (1) to (4)) degrees\n    change y by (pick random (1) to (2))\n    change [ghost v] effect by (5)\nend\ndelete this clone\n\n@cutscene\n\nwhen flag clicked\nhide\n\nwhen I receive [win v]\nstop all sounds\nstart sound [Klaskii Romper - Friday Night Funkin' OST v]\nshow\nswitch costume to (001w v)\nforever\n    wait (join (letter (1) of (costume [name v])) (join (letter (2) of (costume [name v])) (letter (3) of (costume [name v])))) seconds\n    next costume\nend\n\n@cutscene2\n\nshow\nswitch costume to (0.5t v)\nforever\n    wait (join (letter (1) of (costume [name v])) (join (letter (2) of (costume [name v])) (letter (3) of (costume [name v])))) seconds\n    next costume\nend\n\n