Platformer #game #All #platformer

Instructions: welcome to platformer arrow keys to move watch out for lava spikes and saws and you can swim in water \n

@Stage\n\nwhen flag clicked\nset volume to (70) %\nforever\n    set volume to (70) %\n    play sound [Vexento - Syndrome v] until done\nend\n\n@Player\n\nwhen flag clicked\nset [xvel v] to [0]\nset [yvel v] to [0]\nset [level v] to [1]\ngo to x: (-180) y: (-50)\nforever\n    Run physics [0.9] [0.9] [-1] [15]\n    if <<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<mouse down?> and <(y position) > (mouse y)>>> then\n        if <not <<touching color (#4c86ff)?> or <touching color (#437de0)?>>> then\n            switch costume to (costume2 v)\n        else\n            switch costume to (costume1 v)\n        end\n    else\n        switch costume to (costume1 v)\n    end\nend\n\ndefine Run physics (speed) (friction) (gravity) (jump height)\nchange [yvel v] by (gravity)\nif <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n    change [xvel v] by (speed)\nend\nif <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(x position) > (mouse x)>>> then\n    change [xvel v] by ((speed) * (-1))\nend\nset [xvel v] to ((Xvel) * (friction))\nchange x by (Xvel)\nif <touching (ground v)?> then\n    change y by (1)\nend\nif <touching (ground v)?> then\n    change y by (1)\nend\nif <touching (ground v)?> then\n    change y by (1)\nend\nif <touching (ground v)?> then\n    change y by (1)\nend\nif <touching (ground v)?> then\n    change y by (-4)\n    change x by ((Xvel) * (-1))\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n        set [yvel v] to ((jump height) - (3.5))\n        if <[0] < (Xvel)> then\n            set [xvel v] to [-6]\n        else\n            set [xvel v] to [6]\n        end\n    else\n        set [xvel v] to [0]\n    end\nend\nchange y by (Yvel)\nif <touching (ground v)?> then\n    change y by ((Yvel) * (-1))\n    set [yvel v] to [0]\nend\nchange y by (-1)\nif <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n    if <touching (ground v)?> then\n        set [yvel v] to (jump height)\n    end\nend\nchange y by (1)\n\nwhen I receive [ded v]\nstart sound [Roblox Death Sound  OOF Sound Effect v]\ngo to x: (-180) y: (-50)\nset [ghost v] effect to (0)\n\nwhen I start as a clone\nrepeat (10)\n    change size by (-5)\n    change [ghost v] effect by (5)\nend\ndelete this clone\n\nwhen I receive [next level v]\ngo to x: (-180) y: (-50)\n\nwhen flag clicked\nrepeat until <(Level) = [22]>\n    if <[220] < (x position)> then\n        broadcast (Next level v) and wait\n        wait until <not <[220] < (x position)>>\n    end\n    if <<<(y position) < [-170]> or <touching (spikes v)?>> or <<touching (lava v)?> or <touching (saw v)?>>> then\n        broadcast (Ded v) and wait\n    end\n    if <touching (bouncy v)?> then\n        set [yvel v] to [20]\n    end\nend\n\nwhen flag clicked\nforever\n    if <<touching color (#54ceff)?> or <touching color (#63d2ff)?>> then\n        if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(x position) > (mouse x)>>> then\n            change [xvel v] by (-1.3)\n        end\n        if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n            change [xvel v] by (1.3)\n        end\n        if <<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<mouse down?> and <(y position) > (mouse y)>>> then\n            change [yvel v] by (-1.3)\n        end\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n            change [yvel v] by (1.3)\n        end\n        set [xvel v] to ((Xvel) * (0.81))\n        set [yvel v] to ((Yvel) * (0.81))\n        change [yvel v] by (((Yvel) / (14.9)) + (0.1))\n    end\n    set size to (125) %\nend\n\nwhen I receive [respawn v]\ngo to x: (-180) y: (-50)\nset [ghost v] effect to (0)\n\nwhen flag clicked\nforever\n    go to [front v] layer\n    go [backward v] (1) layers\nend\n\nwhen flag clicked\nforever\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\nforever\n    if <[220] < (x position)> then\n        play sound [Ding Sound Effect v] until done\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (bouncy v)?> then\n        play sound [Mario_Jump_-_Gaming_Sound_Effect v] until done\n    end\nend\n\nwhen flag clicked\nforever\n    if <<<(y position) < [-170]> or <touching (spikes v)?>> or <<touching (lava v)?> or <touching (saw v)?>>> then\n        play sound [Roblox Death Sound  OOF Sound Effect v] until done\n    end\nend\n\n@Ground\n\nwhen flag clicked\nswitch costume to (costume1 v)\nforever\n    go to [front v] layer\n    go [backward v] (5) layers\n    set [level v] to (costume [number v])\n    go to x: (0) y: (0)\nend\n\nwhen I receive [next level v]\nnext costume\n\n@Spikes\n\nwhen flag clicked\nswitch costume to (costume1 v)\nforever\n    go to [front v] layer\n    go [backward v] (10) layers\n    set [level v] to (costume [number v])\n    go to x: (0) y: (0)\nend\n\nwhen I receive [next level v]\nnext costume\n\n@Lava\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\nforever\n    go to [front v] layer\n    go [backward v] (9) layers\n    set [level v] to (costume [number v])\nend\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\ngo to [front v] layer\ngo [backward v] (9) layers\nforever\n    repeat (20)\n        change y by (0.5)\n    end\n    repeat (20)\n        change y by (-0.5)\n    end\nend\n\n@Bouncy\n\nwhen I start as a clone\ngo to [front v] layer\ngo [backward v] (8) layers\nswitch costume to (costume1 v)\nshow\nforever\n    if <touching (player v)?> then\n        switch costume to (costume1 v)\n        repeat until <(costume [number v]) = [5]>\n            next costume\n        end\n        repeat until <(costume [number v]) = [1]>\n            switch costume to ((costume [number v]) - (1))\n        end\n    end\nend\n\nwhen flag clicked\nhide\nforever\n    go to [front v] layer\n    go [backward v] (8) layers\nend\n\ndefine Clone at x: (x) y: (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen flag clicked\ngo to [front v] layer\ngo [backward v] (8) layers\nhide\nif <(Level) = [4]> then\n    Clone at x: [-120] y: [-115]\nelse\n    hide\n    delete this clone\nend\n\nwhen I receive [next level v]\nif <(Level) = [3]> then\n    Clone at x: [-120] y: [-115]\nelse\n    hide\n    delete this clone\nend\n\n@Woter\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\nforever\n    go to [front v] layer\n    go [backward v] (11) layers\n    set [level v] to (costume [number v])\nend\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\ngo to [front v] layer\ngo [backward v] (9) layers\nforever\n    repeat (20)\n        change y by (0.5)\n    end\n    repeat (20)\n        change y by (-0.5)\n    end\nend\n\n@Saw\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to [front v] layer\ngo [backward v] (9) layers\nforever\n    set size to (70) %\n    hide\n    go to [front v] layer\n    go [backward v] (9) layers\n    go to x: (0) y: (0)\nend\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [next level v]\nif <(Level) = [1]> then\n    Clone at x: [150] y: [-125]\nelse\n    if <(Level) = [3]> then\n        Clone at x: [30] y: [125]\n    else\n        hide\n        delete this clone\n    end\nend\n\nwhen flag clicked\ngo to [front v] layer\ngo [backward v] (8) layers\nhide\nif <(Level) = [2]> then\n    Clone at x: [150] y: [-125]\nelse\n    if <(Level) = [4]> then\n        Clone at x: [30] y: [125]\n    else\n        hide\n        delete this clone\n    end\nend\n\ndefine Clone at x: (x) y: (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\ngo to [front v] layer\ngo [backward v] (8) layers\nswitch costume to (costume1 v)\nshow\nforever\n    turn right (10) degrees\nend\n\nwhen I receive [next level v]\ndelete this clone\n\nwait until <(Level) = [50]>\n\n@Love fave\n\nwhen flag clicked\nset [costume v] to [0]\nhide\nforever\n    if <not <<(LOVED__) = [1]> and <(FAVED___) = [1]>>> then\n        wait (pick random (30) to (40)) seconds\n        switch costume to (costume1 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@Text\n\nwhen flag clicked\nswitch costume to (costume2 v)\nforever\n    go to [front v] layer\n    go [backward v] (2) layers\n    set [level v] to (costume [number v])\n    go to x: (0) y: (0)\nend\n\nwhen I receive [next level v]\nnext costume\n\n@Tb\n\nwhen flag clicked\nhide variable [timer v]\ngo to [front v] layer\nhide\nset [ghost v] effect to (100)\nforever\n    set [timer v] to (timer)\nend\n\nwhen [timer v] > (Timer)\nset [ghost v] effect to (0)\nshow\nforever\n    go to [front v] layer\nend\n\n