3d platformer

Instructions: NEW GAME OUT NOW!\nhttps://scratch.mit.edu/projects/813731315/\n\nMINECRAFT PLATFORMER 3 IS FINALLY OUT! 6TH ON TRENDING!?! LIKE AND REMIX ROW TOO!?!\nSpam The Green Flag\nFull Screen Recommended\nINSTRUCTIONS:\n-Use Arrow Keys\n-Avoid Piglins, Wither Skeletons, Blazes, and Lava\n-Get to the End\n***COMMENT: YOUR TIME***\nMy Time: 65

@Stage\n\nwhen I receive [game on v]\nforever\n    play sound [Guardian Of Angels v] until done\nend\n\nwhen flag clicked\nswitch backdrop to (intro v)\n\nwhen I receive [game on v]\nswitch backdrop to (actual backdrop v)\n\n@Player\n\ndefine Touch Ground\nif <(Yvel) > [0]> then\n    repeat until <not <touching (ground  v)?>>\n        change [y v] by (-1)\n        set [yvel v] to [0]\n        Position\n    end\nelse\n    repeat until <not <touching (ground  v)?>>\n        change [y v] by (1)\n        set [yvel v] to [0]\n        set [falling v] to [0]\n        Position\n    end\nend\nif <<<key (w v) pressed?> or <key (up arrow v) pressed?>> and <<touching (ground  v)?> or <(falling) < [5]>>> then\n    set [yvel v] to [12]\nend\n\ndefine Touch Wall\nrepeat (10)\n    if <touching (ground  v)?> then\n        change [y v] by (1)\n        Position\n    end\nend\nPosition\nif <touching (ground  v)?> then\n    change [x v] by ((round (Xvel)) * (-1))\n    Position\n    change [y v] by (-10)\n    Position\n    if <<key (w v) pressed?> or <key (up arrow v) pressed?>> then\n        if <(Xvel) > [0]> then\n            set [xvel v] to [-6]\n        else\n            set [xvel v] to [6]\n        end\n        set [yvel v] to [11]\n    else\n        set [xvel v] to [0]\n    end\n    Position\nend\nPosition\n\ndefine Position\ngo to x: ((x) - (round (Offset X))) y: ((y) - (round (Offset Y)))\n\ndefine Scroll\nchange [offset x v] by ((x position) * (0.1))\nchange [offset y v] by ((y position) * (0.1))\n\ndefine Reset\nshow\nclear graphic effects\nset size to (40) %\ngo to x: (0) y: (100)\nset [xvel v] to [0]\nset [yvel v] to [0]\nset [falling v] to [0]\nset [x v] to [-100]\nset [y v] to [0]\nset [offset x v] to [0]\nset [offset y v] to [0]\nset [game? v] to [1]\n\nwhen I receive [play v]\nif <<key (d v) pressed?> or <key (right arrow v) pressed?>> then\n    change [xvel v] by (1)\nend\nif <<key (a v) pressed?> or <key (left arrow v) pressed?>> then\n    change [xvel v] by (-1)\nend\nset [xvel v] to ((Xvel) * (0.85))\nchange [x v] by (round (Xvel))\nPosition\nTouch Wall\nchange [yvel v] by (-1)\nchange [falling v] by (1)\nchange [y v] by (Yvel)\nPosition\nTouch Ground\nScroll\n\nwhen flag clicked\nhide\n\nwhen I receive [game on v]\nforever\n    if <<(y) < [-250]> and <touching (_edge_ v)?>> then\n        start sound [Oops v]\n        Reset\n    end\n    if <touching (door v)?> then\n        start sound [Connect v]\n        wait (0.15) seconds\n        set [game? v] to [0]\n        clear graphic effects\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        hide\n        wait (0.5) seconds\n        broadcast (Next Level v)\n        change [level v] by (1)\n        Reset\n        set [game? v] to [1]\n    end\nend\n\nwhen I receive [game on v]\nReset\nforever\n    if <(Game?) = [1]> then\n        broadcast (Play v)\n    end\nend\n\nwhen I receive [game on v]\nreset timer\nset [timer v] to [0]\nforever\n    repeat until <(Level) > [4]>\n        if <not <(Level) = [5]>> then\n            set [timer v] to (timer)\n        else\n            stop [this script v]\n        end\n    end\nend\n\nchange [timer v] by (0.1)\n\nwhen I receive [game on v]\n\nforever\n    if <(Level) = [5]> then\n        if <[] > (Timer)> then\n        end\n    end\nend\n\nwhen I receive [game on v]\nforever\n    if <key (r v) pressed?> then\n        start sound [Oops v]\n        Reset\n        wait until <not <key (r v) pressed?>>\n    end\nend\n\nwhen I receive [game on v]\nhide variable [timer v]\nwait (1) seconds\nforever\n    if <(Level) = [5]> then\n        show variable [timer v]\n        if <key (space v) pressed?> then\n            say (join [Your time is: ] (join (Timer) [ seconds.])) for (2) seconds\n        end\n    end\nend\n\nwhen flag clicked\nhide variable [timer v]\n\n@Ground \n\nforever\n    set x to ((0) - (Offset X))\n    set y to ((0) - (Offset Y))\nend\n\nwhen I receive [delete clones v]\ndelete this clone\n\nwhen I start as a clone\nshow\nforever\n    Position in view ((x_) - (round (Offset X))) ((y_) - (round (Offset Y)))\nend\n\ndefine Position in view (x) (y)\nset x to (x)\nset y to (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\ndefine Render Levels\nbroadcast (Delete Clones v)\nif <(Level) = [1]> then\n    switch costume to (costume1 1 v)\n    Render Level at [0] [0]\n    Render Level at [1] [0]\n    Render Level at [2] [0]\n    Render Level at [3] [0]\nelse\n    if <(Level) = [2]> then\n        switch costume to (costume5 2 v)\n        Render Level at [0] [0]\n        Render Level at [1] [0]\n        Render Level at [2] [0]\n        Render Level at [3] [0]\n        Render Level at [4] [0]\n        Render Level at [-1] [-1]\n    else\n        if <(Level) = [3]> then\n            switch costume to (costume1 3 v)\n            Render Level at [0] [0]\n            Render Level at [1] [0]\n            Render Level at [2] [0]\n            Render Level at [3] [0]\n            Render Level at [4] [0.8]\n            Render Level at [3] [1]\n            Render Level at [4] [2]\n        else\n            if <(Level) = [4]> then\n                switch costume to (costume16 4 v)\n                Render Level at [0] [0]\n                Render Level at [1] [0]\n                Render Level at [2] [0]\n                Render Level at [3] [0]\n                Render Level at [4] [0]\n            else\n                if <(Level) = [5]> then\n                    switch costume to (costume14 v)\n                    Render Level at [0] [0]\n                end\n            end\n        end\n    end\nend\n\ndefine Render Level at (x) (y)\nset [x_ v] to ((x) * (480))\nset [y_ v] to ((y) * (360))\ncreate clone of (_myself_ v)\nnext costume\n\nwhen I receive [next level v]\ngo to x: (0) y: (-100)\nset [xvel v] to [0]\nset [yvel v] to [0]\nhide\nRender Levels\n\nwhen I receive [game on v]\ngo to x: (0) y: (-100)\nset [xvel v] to [0]\nset [level v] to [1]\nset [yvel v] to [0]\nhide\nRender Levels\n\n@Glow\n\nwhen I receive [play v]\nshow\ngo to (player v)\ngo to [back v] layer\n\nwhen flag clicked\nhide\n\n@Door\n\ndefine Position in view (x) (y)\nset x to (x)\nset y to (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen flag clicked\nhide\n\nswitch costume to (costume2 v)\nif <(distance to [player v]) < [50]> then\n    switch costume to (costume3 v)\nend\n\nwhen I receive [next level v]\nshow\nif <(Level) = [2]> then\n    set [dx_ v] to [2130]\n    set [dy_ v] to [180]\nelse\n    if <(Level) = [3]> then\n        set [dx_ v] to [2100]\n        set [dy_ v] to [710]\n    else\n        if <(Level) = [4]> then\n            set [dx_ v] to [1850]\n            set [dy_ v] to [-100]\n        end\n    end\nend\n\nwhen I receive [game on v]\nforever\n    Position in view ((dx_) - (round (Offset X))) ((dy_) - (round (Offset Y)))\nend\n\nwhen I receive [game on v]\nshow\ngo to [back v] layer\nset [dx_ v] to [1640]\nset [dy_ v] to [-50]\n\nwhen I receive [game on v]\nshow\nclear graphic effects\nforever\n    if <(distance to [player v]) < [100]> then\n        set [brightness v] effect to ((2) * ((100) - (distance to [player v])))\n    else\n        clear graphic effects\n        switch costume to (costume1 v)\n    end\nend\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset size to (100) %\nclear graphic effects\nforever\n    switch costume to (dark2 v)\n    go to [front v] layer\n    set [ghost v] effect to (100)\n    show\nend\n\n@Intro\n\nwhen flag clicked\nstart sound [Teleport v]\nswitch backdrop to (backdrop7 v)\nset [comet v] to [1]\nswitch costume to (comet v)\nhide\nwait (1) seconds\nshow\ngo to [front v] layer\ngo to x: (200) y: (100)\nset size to (0) %\nrepeat (25)\n    if <(Comet) < [10]> then\n        change [comet v] by ((Comet) * (1.01))\n    else\n        set [comet v] to [10]\n    end\n    change x by ((0) - (Comet))\n    change y by ((0) - ((Comet) / (2)))\n    change size by ((Comet) / (3))\nend\nbroadcast (Flash v)\nrepeat (6)\n    if <(Comet) < [10]> then\n        change [comet v] by ((Comet) * (1.0000001))\n    else\n        set [comet v] to [10]\n    end\n    change x by ((0) - (Comet))\n    change y by ((0) - ((Comet) / (2)))\n    change size by ((Comet) / (3))\nend\nhide\ngo to [back v] layer\n\nwhen I receive [show v]\nstart sound [Boom Cloud v]\nshow\ngo to [back v] layer\nswitch costume to (cometblazer v)\ngo to x: (0) y: (0)\nwait (2) seconds\nbroadcast (Start v)\nwait (1) seconds\nstart sound [pop v]\nswitch costume to (cometblazer2 v)\nwait (3) seconds\nbroadcast (Go v)\n\nwhen I receive [begin v]\nhide\n\nwhen I receive [game on v]\nstop [other scripts in sprite v]\nhide\n\n@Flash\n\nwhen flag clicked\ngo to x: (0) y: (0)\nclear graphic effects\nhide\n\nwhen I receive [flash v]\ngo to [front v] layer\nswitch costume to (white v)\nshow\nset [ghost v] effect to (100)\nrepeat (20)\n    change [ghost v] effect by (-5)\nend\nset [ghost v] effect to (0)\nbroadcast (Show v)\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nset [ghost v] effect to (100)\nhide\n\nwhen I receive [go v]\ngo to [front v] layer\nswitch costume to (white v)\nshow\nset [ghost v] effect to (100)\nrepeat (20)\n    change [ghost v] effect by (-5)\nend\nset [ghost v] effect to (0)\nbroadcast (Game On v)\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nset [ghost v] effect to (100)\nhide\n\n