Hello, 3.0 || a platformer


@Stage\n\nwhen flag clicked\nswitch backdrop to (logo v)\n\nwhen I receive [game.start v]\nwait (7) seconds\nswitch backdrop to (backdrop1 v)\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\nset [ghost v] effect to (100)\nforever\n    go to [front v] layer\nend\n\nwhen I receive [game.end v]\nclear graphic effects\nforever\n    go to [front v] layer\nend\n\n@Intro\n\nwhen flag clicked\nshow\ngo to x: (0) y: (0)\nset size to (500) %\nset [ghost v] effect to (100)\nrepeat (25)\n    change size by (((250) - (size)) * (0.25))\n    change [ghost v] effect by (-5)\nend\nrepeat (10)\n    change y by ((5) - ((y position) * (0.2)))\n    change [ghost v] effect by (2.5)\nend\nrepeat (30)\n    change y by (((5) - ((y position) * (0.2))) * (-1))\n    change [ghost v] effect by (3)\nend\nhide\nbroadcast (game.start v)\n\n@Disclaimer\n\nwhen I receive [game.start v]\nshow\nset [ghost v] effect to (100)\nrepeat (25)\n    change [ghost v] effect by (-4)\nend\nwait (5) seconds\nrepeat (25)\n    change [ghost v] effect by (4)\nend\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\n\n@Music Button\n\nwhen flag clicked\nhide\nset size to (25) %\ngo to x: (-220) y: (160)\nset volume to (100) %\nforever\n    play sound [Alexey_Anisimov_-_Pop_Culture v] until done\nend\n\nwhen I receive [game.start v]\nswitch costume to (sound v)\nforever\n    wait until <<touching (mouse-pointer v)?> and <mouse down?>>\n    set volume to (0) %\n    switch costume to (no sound v)\n    wait until <not <<touching (mouse-pointer v)?> and <mouse down?>>>\n    wait until <<touching (mouse-pointer v)?> and <mouse down?>>\n    set volume to (100) %\n    switch costume to (sound v)\n    wait until <not <<touching (mouse-pointer v)?> and <mouse down?>>>\nend\n\nwhen I receive [game.start v]\nwait (7) seconds\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        change [brightness v] effect by (10)\n        wait until <not <touching (mouse-pointer v)?>>\n        clear graphic effects\n    end\nend\n\nwhen I receive [game.end v]\nhide\n\n@Player\n\nwhen flag clicked\nhide\n\nwhen I receive [game.start v]\nwait (7) seconds\ngo to x: (-210) y: (150)\nhide variable [yv v]\nhide variable [xv v]\nset [yv v] to [0]\nset [xv v] to [0]\nset [level v] to [1]\nset size to (50) %\nshow\npoint in direction (90)\nset rotation style [left-right v]\nforever\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        point in direction (-90)\n        change [xv v] by (-1)\n    end\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        point in direction (90)\n        change [xv v] by (1)\n    end\n    set [xv v] to ((XV) * (0.9))\n    change x by (XV)\n    if <touching (map v)?> then\n        change y by (1)\n        if <touching (map v)?> then\n            change y by (1)\n            if <touching (map v)?> then\n                change y by (1)\n                if <touching (map v)?> then\n                    change y by (1)\n                    if <touching (map v)?> then\n                        change y by (1)\n                        if <touching (map v)?> then\n                            change y by (1)\n                            if <touching (map v)?> then\n                                change x by ((XV) * (-1))\n                                change y by (-5)\n                                if <<<key (up arrow v) pressed?> or <key (space v) pressed?>> or <key (w 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    end\n    change [yv v] by (-1)\n    change y by (YV)\n    if <touching (map v)?> then\n        change y by ((YV) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <touching (map v)?> then\n        if <<<key (up arrow v) pressed?> or <key (space v) pressed?>> or <key (w v) pressed?>> then\n            set [yv v] to [15]\n        end\n    end\n    change y by (1)\n    if <<key (n v) pressed?> and <not <(backdrop [name v]) = [backdrop15]>>> then\n        wait (9.999999999999955e-101) seconds\n        switch backdrop to (next backdrop v)\n        broadcast (game.nextmap v)\n        go to x: (-210) y: (150)\n        change [level v] by (1)\n        set [xv v] to [0]\n        set [yv v] to [0]\n        wait until <not <key (n v) pressed?>>\n        wait until <<not <key (up arrow v) pressed?>> or <<not <key (down arrow v) pressed?>> or <<not <key (left arrow v) pressed?>> or <<not <key (right arrow v) pressed?>> or <<not <key (w v) pressed?>> or <<not <key (s v) pressed?>> or <<not <key (a v) pressed?>> or <<not <key (d v) pressed?>> or <not <key (space v) pressed?>>>>>>>>>>\n    end\n    if <(x position) > [235]> then\n        if <not <(backdrop [name v]) = [backdrop15]>> then\n            wait (9.999999999999955e-101) seconds\n            switch backdrop to (next backdrop v)\n            broadcast (game.nextmap v)\n            go to x: (-210) y: (150)\n            change [level v] by (1)\n            set [xv v] to [0]\n            set [yv v] to [0]\n            wait until <<not <key (up arrow v) pressed?>> or <<not <key (down arrow v) pressed?>> or <<not <key (left arrow v) pressed?>> or <<not <key (right arrow v) pressed?>> or <<not <key (w v) pressed?>> or <<not <key (s v) pressed?>> or <<not <key (a v) pressed?>> or <<not <key (d v) pressed?>> or <not <key (space v) pressed?>>>>>>>>>>\n        else\n            wait (9.999999999999955e-101) seconds\n            broadcast (game.end v)\n            hide\n            stop [other scripts in sprite v]\n            stop [this script v]\n        end\n    end\n    if <(y position) < [-178]> then\n        go to x: (-210) y: (150)\n        set [xv v] to [0]\n        set [yv v] to [0]\n        wait until <<not <key (up arrow v) pressed?>> or <<not <key (down arrow v) pressed?>> or <<not <key (left arrow v) pressed?>> or <<not <key (right arrow v) pressed?>> or <<not <key (w v) pressed?>> or <<not <key (s v) pressed?>> or <<not <key (a v) pressed?>> or <<not <key (d v) pressed?>> or <not <key (space v) pressed?>>>>>>>>>>\n    end\nend\n\nwhen I receive [game.start v]\nforever\n    if <not <key (any v) pressed?>> then\n        switch costume to (item (1) of [costumes to be used v])\n    else\n        if <<<key (up arrow v) pressed?> or <key (space v) pressed?>> or <key (w v) pressed?>> then\n            switch costume to (item (6) of [costumes to be used v])\n        else\n            if <<<key (left arrow v) pressed?> or <key (right arrow v) pressed?>> or <<key (d v) pressed?> or <key (a v) pressed?>>> then\n                repeat until <<not <key (any v) pressed?>> or <<key (up arrow v) pressed?> or <key (space v) pressed?>>>\n                    switch costume to (item (2) of [costumes to be used v])\n                    wait (0.1) seconds\n                    set [costume # v] to [3]\n                    repeat (3)\n                        switch costume to (item (costume #) of [costumes to be used v])\n                        change [costume # v] by (1)\n                        wait (0.1) seconds\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [game.start v]\ndelete (all) of [costumes to be used v]\nadd [1] to [costumes to be used v]\nadd [2] to [costumes to be used v]\nadd [3] to [costumes to be used v]\nadd [4] to [costumes to be used v]\nadd [5] to [costumes to be used v]\nadd [6] to [costumes to be used v]\nforever\n    if <key (c v) pressed?> then\n        if <not <(item (last) of [costumes to be used v]) = [36]>> then\n            set [# item on list v] to [1]\n            repeat (6)\n                replace item (# item on list) of [costumes to be used v] with ((item (# item on list) of [costumes to be used v]) + (6))\n                change [# item on list v] by (1)\n            end\n        else\n            delete (all) of [costumes to be used v]\n            add [1] to [costumes to be used v]\n            add [2] to [costumes to be used v]\n            add [3] to [costumes to be used v]\n            add [4] to [costumes to be used v]\n            add [5] to [costumes to be used v]\n            add [6] to [costumes to be used v]\n        end\n        wait until <not <key (c v) pressed?>>\n    end\nend\n\nwhen I receive [game.end v]\nhide\n\n@Map\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\n\nwhen I receive [game.start v]\nwait (7) seconds\nshow\nswitch costume to (costume1 v)\n\nwhen I receive [game.nextmap v]\nnext costume\nwait (1) seconds\n\n