STICKMAN PAKOUR! or "The Box"

Instructions:                       Welcome to STICKMAN PAKOUR!\n                            A Scrolling PLATFORMER\n======================STORY========================\nYou have been kidnapped and placed in a test: "The Box". You must Complete this to win back your freedom. Good Luck!\n===================INSTRUCTIONS!====================\nUse Arrow Keys to move!\nOh by the way TIMES TICKING!!!\nPost your time in the comments

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop2 v)\n\nwhen I receive [introdone v]\nswitch backdrop to (backdrop1 v)\nforever\n    play sound [Vexento - Arcade v] until done\nend\n\nwhen I receive [end v]\nswitch backdrop to (backdrop3 v)\nforever\n    play sound [TheFatRat - Monody \(Remix for Rolling Sky\).mp3 v] until done\nend\n\nstop [other scripts in stage v]\n\n@Border\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\n\nwhen flag clicked\n\nwhen I receive [end v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [introdone v]\nwait (0.01) seconds\ngo to x: (0) y: (0)\ngo to [front v] layer\nshow\n\n@Ground\n\nwhen I receive [engine_tick v]\nset [scrollx v] to ((ScrollX) + (ALL SPRITE))\nif <(ScrollX) < [0]> then\n    set [scrollx v] to [0]\nend\ngo to x: ((PositionX) - (ScrollX)) y: (0)\n\nwhen I receive [end v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [introdone v]\nshow\nset [positionx v] to [0]\nset [scrollx v] to [0]\nswitch costume to (part1 v)\nset [num. parts 2 v] to [10]\nrepeat ((Num. parts 2) - (1))\n    create clone of (_myself_ v)\n    next costume\n    change [positionx v] by (479)\nend\n\nwhen flag clicked\nhide\n\n@Text\n\nwhen I receive [engine_tick v]\ngo [backward v] (1) layers\nset [scrollx v] to ((ScrollX) + (ALL SPRITE))\nif <(ScrollX) < [0]> then\n    set [scrollx v] to [0]\nend\ngo to x: ((PositionX) - (ScrollX)) y: (0)\n\nwhen I receive [end v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [introdone v]\nshow\nset [positionx v] to [0]\nset [scrollx v] to [0]\nswitch costume to (part1 v)\nset [num. parts 2 v] to [5]\nrepeat ((Num. parts 2) - (1))\n    go [backward v] (999) layers\n    create clone of (_myself_ v)\n    next costume\n    change [positionx v] by (479)\nend\n\n@Player2\n\ndefine None\nswitch costume to (hitbox v)\nchange [playery v] by (-1)\nif <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n    point in direction (-90)\n    change [playerx v] by (-1.2)\nend\nif <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n    point in direction (90)\n    change [playerx v] by (1.2)\nend\nset [playerx v] to ((PLayerX) * (0.9))\nif <touching (ground v)?> then\n    set [playery v] to [0]\n    change y by (1)\nend\nif <touching (ground v)?> then\n    set [playery v] to [0]\n    change y by (1)\nend\nif <touching (ground v)?> then\n    set [playery v] to [0]\n    change y by (1)\nend\nif <touching (ground v)?> then\n    set [playery v] to [0]\n    change y by (1)\nend\nif <touching (ground v)?> then\n    change y by (-4)\n    change x by ((PLayerX) * (-1))\n    if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n        set [playery v] to [15]\n        if <([abs v] of (PLayerX) ) = (PLayerX)> then\n            set [playerx v] to [-10]\n        else\n            set [playerx v] to [10]\n        end\n    else\n        set [playerx v] to [0]\n    end\nend\nchange y by (PLayerY)\nif <touching (ground v)?> then\n    change y by ((PLayerY) - ((PLayerY) * (2)))\n    set [playery v] to [0]\nend\nchange y by (-1)\nif <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <touching (ground v)?>> then\n    set [playery v] to [15]\nend\nchange y by (1)\nset x to (0)\nset [all sprite v] to (PLayerX)\nif <<<touching (_edge_ v)?> and <[-10] > (y position)>> or <key (r v) pressed?>> then\n    switch costume to (stand v)\n    wait until <not <key (r v) pressed?>>\n    set [playerx v] to [0]\n    set [playery v] to [-3]\n    set [all sprite v] to [-300]\n    point in direction (90)\n    set y to (180)\nend\nswitch costume to (idle v)\nif <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<key (left arrow v) pressed?> or <key (a v) pressed?>>> then\n    switch costume to (Walk)\nend\nif <(y vel) > [1]> then\n    switch costume to (jump v)\nend\nif <(y vel) < [-3]> then\n    switch costume to (fall v)\nend\nif <touching color (#00ff55)?> then\n    hide\n    broadcast (End v)\n    stop [other scripts in sprite v]\n    stop [this script v]\nend\nbroadcast (Engine_Tick v)\n\nif <touching color (#ff0000)?> then\n    broadcast (Engine_Tick v)\n    switch costume to (stand v)\n    set [playerx v] to [0]\n    set [playery v] to [-3]\n    set [all sprite v] to [-300]\n    point in direction (90)\n    set y to (80)\nend\n\nwhen I receive [introdone v]\nshow\npoint in direction (90)\ngo to x: (0) y: (180)\nset rotation style [left-right v]\ngo to [front v] layer\nset size to (67) %\nset [playerx v] to [0]\nset [playery v] to [-3]\nforever\n    platform physics (10) (-1) (0.7) (2)\nend\n\nwhen I receive [introdone v]\nset [walk v] to [5]\nforever\n    change [walk v] by (1)\n    if <(Walk) > [8]> then\n        set [walk v] to [5]\n    end\n    wait (0.05) seconds\nend\n\nwhen flag clicked\nhide\n\n@TIME\n\nwhen flag clicked\nhide variable [time: v]\n\nwhen I receive [end v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [introdone v]\nreset timer\nshow variable [time: v]\nforever\n    set [time: v] to (timer)\nend\n\n@Intro\n\nwhen flag clicked\nshow\nswitch costume to (costume1 v)\nstop all sounds\nset size to (30) %\npoint in direction (90)\ngo to x: (0) y: (-180)\nGlide (0) (0) (1)\nset [turn v] to [0]\nset [logo v] to [0]\nrepeat (5)\n    repeat (25)\n        point in direction (((([cos v] of (Turn) ) + ([cos v] of (timer) )) * (3)) + (85))\n        change y by ([cos v] of (Turn) )\n        change [turn v] by (5)\n    end\n    repeat (2)\n        start sound [sizzle v]\n        change size by (10)\n    end\n    repeat (2)\n        change size by (-10)\n    end\nend\nstart sound [explosion v]\nrepeat (10)\n    change size by (10)\n    change [ghost v] effect by (10)\n    turn right (2) degrees\nend\nset [logo v] to [1]\nbroadcast (pop v)\n\ndefine None\nrepeat (50)\n    change x by (((x) - (x position)) * ((speed) / (5)))\n    change y by (((y) - (y position)) * ((speed) / (5)))\nend\n\nwhen flag clicked\nforever\n    if <(IsDone?) = [0]> then\n        create clone of (_myself_ v)\n    end\nend\n\nwhen I start as a clone\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen I receive [pop v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen I receive [introdone v]\nhide\nstop [other scripts in sprite v]\n\n@Particles\n\nwhen flag clicked\nshow\nset [ghost v] effect to (100)\n\nwhen I receive [pop v]\nrepeat (20)\n    create clone of (_myself_ v)\nend\nwait (((letter (1) of (size)) * (2)) + ((letter (1) of (size)) / ((letter (1) of (size)) * (2)))) seconds\nbroadcast (IntroDone v)\n\nwhen I start as a clone\nset [turn v] to (pick random (2) to (15))\nset rotation style [all around v]\npoint in direction (pick random (-179) to (180))\nforever\n    turn right (turn) degrees\nend\n\nwhen I start as a clone\npop\n\ndefine pop\nset size to (200) %\nswitch costume to (pick random (1) to (3))\ngo to [front v] layer\nset [ghost v] effect to (0)\nset [yv v] to (pick random (-1) to (30))\nset [xv v] to (pick random (-20) to (20))\ngo to (intro v)\nrepeat until <touching (_edge_ v)?>\n    set [xv v] to ((xv) * (0.9))\n    change [yv v] by (-1)\n    set [yv v] to ((yv) * (0.9))\n    change x by (xv)\n    change y by (yv)\nend\ndelete this clone\n\nwhen I receive [introdone v]\nhide\nstop [other scripts in sprite v]\n\n@end\n\nwhen flag clicked\nhide\n\nwhen I receive [end v]\nset size to (200) %\ngo to x: (0) y: (-30)\npoint in direction (90)\nshow\nforever\n    repeat (5)\n        repeat (25)\n            point in direction (((([cos v] of (Turn) ) + ([cos v] of (timer) )) * (3)) + (85))\n            change y by ([cos v] of (Turn) )\n            change [turn v] by (5)\n        end\n    end\nend\n\n@Sprite2\n\nwhen flag clicked\nhide\nforever\n    go to [front v] layer\n    show\n    go to x: (0) y: (0)\n    set [ghost v] effect to (100)\nend\n\n