-DOORS A PLATFORMER- but bad

Instructions: pls no ads

@Stage\n\nwhen flag clicked\nforever\n    play sound [doors-roblox-ost-dawn-of-the-doors-By-Tuna v] until done\nend\n\n@Player\n\nwhen flag clicked\nshow\nreset  X [-200] Y [0]\nset [ok v] to [0]\nset [level v] to [1]\nforever\n    if <(ok) = [0]> then\n        Speed [1] Friction [0.88] Gravity [-1] Jump height [13]\n        if <touching (spikes v)?> then\n            set [ok v] to [1]\n            set rotation style [all around v]\n            set [y v] to [10]\n            start sound [Voicy_Oof! - Roblox Death Sound  v]\n            repeat (20)\n                change [y v] by (-1)\n                change [ghost v] effect by (5)\n                turn right (8) degrees\n                change y by (Y)\n            end\n            set [ok v] to [0]\n            reset  X [-200] Y [0]\n        end\n    end\n    if <[240] < (x position)> then\n        change [level v] by (1)\n        reset  X [-200] Y [0]\n    end\nend\n\ndefine reset  X (x) Y (y)\ngo to x: (x) y: (y)\nset [y v] to [0]\nset [x v] to [0]\nset rotation style [left-right v]\npoint in direction (90)\nclear graphic effects\n\ndefine Speed (speed) Friction (friction) Gravity (gravity) Jump height (jump height)\nchange [y v] by (gravity)\nif <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <(x position) < (mouse x)>>>> then\n    change [x v] by (speed)\n    point in direction (90)\nend\nif <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>>> then\n    change [x v] by ((speed) * (-1))\n    point in direction (-90)\nend\nset [x v] to ((X) * (friction))\nchange x by (X)\nrepeat (8)\n    change y by <touching (platform v)?>\nend\nif <touching (platform v)?> then\n    change x by (() - (X))\n    change y by (-8)\n    if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(y position) < (mouse y)>>>> then\n        set [y v] to ((jump height) - (3))\n        set [x v] to ((5) - ((14) * <[0] < (X)>))\n    end\nend\nchange y by (Y)\nif <touching (platform v)?> then\n    change y by ((Y) * (-1))\n    set [y v] to [0]\nend\nchange y by (-1)\nif <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(y position) < (mouse y)>>>> then\n    if <touching (platform v)?> then\n        start sound [RXQHWYP-jump v]\n        set [y v] to (jump height)\n    end\nend\nchange y by (1)\nif <<key (down arrow v) pressed?> or <<key (s v) pressed?> or <<mouse down?> and <(mouse y) < (y position)>>>> then\n    switch costume to (player2 v)\nelse\n    switch costume to (player v)\nend\n\n@Platform\n\nwhen flag clicked\nshow\ngo to [front v] layer\nforever\n    switch costume to (level)\nend\n\nwhen flag clicked\ngo to x: (0) y: (0)\n\n@spikes\n\nwhen flag clicked\nforever\n    switch costume to (level)\nend\n\nset size to (100) %\n\n@background\n\nwhen flag clicked\ngo to [back v] layer\nforever\n    switch costume to (level)\nend\n\n@　\n\nwhen flag clicked\nhide\ngo to [front v] layer\n\n@remember\n\nwhen flag clicked\nforever\n    hide\n    go to x: (-91) y: (-190)\n    wait (60) seconds\n    show\n    go to [front v] layer\n    glide (1) secs to x: (-91) y: (-149)\n    wait (2) seconds\n    glide (1) secs to x: (-90) y: (-190)\nend\n\n@effect\n\nwhen flag clicked\nclear graphic effects\ngo to [back v] layer\nchange [ghost v] effect by (40)\n\n