Biomes // v0.1 [Really Hard Platformer :P]

Instructions: !WARNING!\n\n-This game is still in developement some glitchs and LAG can appear!\n\n-All levels tested by me IT IS NOT IMPOSSIBLE\n\n-Instructions-\n\nWASD/Arrow Keys for movement\nKeep away from spikes and saws\nTouch the portal for the next level

@Stage\n\nwhen flag clicked\nbroadcast (Ebick Music v)\n\nwhen I receive [ebick music v]\nforever\n    play sound [Alan Walker - Force v] until done\nend\n\nwhen I receive [stop ebick music ; - ; v]\nstop [other scripts in sprite v]\n\n@Player\n\nwhen flag clicked\nset [last level v] to [1]\nset [level v] to [1]\ngo to [front v] layer\nbroadcast (Play v)\n\ndefine Setup\nset [effekt v] to [100]\nset [brightness v] effect to (effekt)\npoint in direction (90)\nset [slope v] to [0]\nset [scrollx v] to [0]\nset [scrolly v] to [100]\nset [x v] to [-120]\nset [y v] to [200]\nset [xvel v] to [0]\nset [yvel v] to [10]\nPosition\n\ndefine Change X by (val3)\nchange [x v] by (val3)\nPosition\nif <<touching (platform v)?> or <touching (_edge_ v)?>> then\n    repeat (15)\n        change [y v] by (1)\n        Position\n        if <not <<touching (platform v)?> or <touching (_edge_ v)?>>> then\n            stop [this script v]\n        end\n    end\n    change [y v] by (-15)\n    Position\n    repeat until <not <<touching (platform v)?> or <touching (_edge_ v)?>>>\n        if <(val3) > [0]> then\n            change [x v] by (-1)\n        else\n            change [x v] by (1)\n        end\n        Position\n    end\nend\n\ndefine Position\ngo to x: ((x) - (ScrollX)) y: ((y) - (ScrollY))\nif <<(x position) = ((x) - (ScrollX))> and <(y position) = ((y) - (ScrollY))>> then\n    show\nelse\n    hide\nend\n\ndefine Change Y by (val4)\nset [lowest v] to [0]\nset [lowestd v] to [0]\nchange [y v] by (val4)\nPosition\nif <<touching (platform v)?> or <touching (_edge_ v)?>> then\n    repeat until <not <<touching (platform v)?> or <touching (_edge_ v)?>>>\n        if <(val4) > [0]> then\n            change [y v] by (-1)\n        else\n            change [y v] by (1)\n        end\n        Position\n        set [yvel v] to [0]\n    end\n    if <<<key (w v) pressed?> or <<key (up arrow v) pressed?> or <<(mouse y) > (y position)> and <mouse down?>>>> and <(val4) < [1]>> then\n        change [yvel v] by (16)\n    end\nend\n\ndefine Physics\nswitch costume to ( v)\nif <not <(effekt) = [0]>> then\n    change [effekt v] by (-10)\n    set [brightness v] effect to (effekt)\nend\nchange [yvel v] by (-1)\nChange Y by (Yvel)\nif <<key (a v) pressed?> or <<key (left arrow v) pressed?> or <<(mouse x) < (x position)> and <mouse down?>>>> then\n    change [xvel v] by (-2.5)\n    switch costume to (-1 v)\nend\nif <<key (d v) pressed?> or <<key (right arrow v) pressed?> or <<(mouse x) > (x position)> and <mouse down?>>>> then\n    change [xvel v] by (2.5)\n    switch costume to (1 v)\nend\nset [xvel v] to ((Xvel) * (0.8))\nChange X by (round (Xvel))\nchange [scrollx v] by (round (((x) - (ScrollX)) / (5)))\nif <<(ScrollX) < [0]> or <(Level) = [2]>> then\n    set [scrollx v] to [0]\nend\nif <[3820] < (ScrollX)> then\n    set [scrollx v] to [3820]\nend\nchange [scrolly v] by (round (((y) - (ScrollY)) / (5)))\nif <(ScrollY) < [0]> then\n    set [scrolly v] to [0]\nend\nPosition\nif <<touching (spikes v)?> or <touching (saws v)?>> then\n    broadcast (Kill v)\nend\nif <touching (end v)?> then\n    change [level v] by (1)\nend\n\nwhen I receive [kill v]\nDelete clones\nstart sound [Crunch v]\nswitch costume to (ded v)\nbroadcast (Stop Ebick Music ; - ; v)\nstop [other scripts in sprite v]\nrepeat until <<(round (ScrollX)) = [0]> and <(round (ScrollY)) = [100]>>\n    change [scrollx v] by (((0) - (ScrollX)) / (5))\n    change [scrolly v] by (((100) - (ScrollY)) / (5))\n    Position\n    broadcast (Position v)\nend\nSetup\nbroadcast (Play v)\nbroadcast (Ebick Music v)\n\nwhen I receive [play v]\nswitch costume to ( v)\nshow\nforever\n    Setup\n    broadcast (Delete v)\n    broadcast (Clone v) and wait\n    repeat until <not <(Level) = (Last Level)>>\n        Physics\n        create clone of (_myself_ v)\n        broadcast (Position v)\n        broadcast (Rotation v)\n    end\n    set [last level v] to (Level)\nend\n\nset [x v] to [4000]\nset [scrollx v] to [4000]\nset [y v] to [200]\nset [scrolly v] to [200]\nPosition\nbroadcast (Position v)\n\nwhen I start as a clone\nswitch costume to (trial v)\nclear graphic effects\nrepeat (10)\n    change [ghost v] effect by (10)\n    Position\nend\ndelete this clone\n\ndefine Delete clones\ndelete this clone\n\n@Saws\n\nwhen I receive [position v]\nGet Position to x: ((x) - (ScrollX)) y: ((y) - (ScrollY))\n\ndefine Create Clone to x: (x) y: (y) costume: (costume)\nGet Position to x: (x) y: (y)\nset [x v] to (x)\nset [y v] to (y)\nswitch costume to (costume)\ngo to [back v] layer\ngo [forward v] (2) layers\ncreate clone of (_myself_ v)\n\nwhen I receive [clone v]\nif <(Level) = [1]> then\n    Create Clone to x: [0] y: [90] costume: [1]\n    Create Clone to x: [50] y: [125] costume: [1]\n    Create Clone to x: [675] y: [90] costume: [1]\n    Create Clone to x: [1215] y: [140] costume: [1]\n    Create Clone to x: [1775] y: [140] costume: [1]\n    Create Clone to x: [2185] y: [35] costume: [1]\n    Create Clone to x: [2655] y: [-25] costume: [1]\nend\nchange [y v] by (-9999999999)\n\ndefine Get Position to x: (x) y: (y)\ngo to x: (x) y: (y)\nif <<(x position) = (x)> and <(y position) = (y)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [rotation v]\npoint in direction ((([cos v] of ((timer) * (50)) ) * (1000)) + (90))\n\nwhen I receive [delete v]\ndelete this clone\n\n@Platform\n\nwhen I receive [position v]\nGet Position to x: ((x) - (ScrollX)) y: ((y) - (ScrollY))\n\ndefine Create Clone to x: (x) y: (y) costume: (costume)\nGet Position to x: (x) y: (y)\nset [x v] to (x)\nset [y v] to (y)\nswitch costume to (costume)\ncreate clone of (_myself_ v)\n\nwhen I receive [clone v]\nif <(Level) = [1]> then\n    Create Clone to x: [0] y: [0] costume: [1]\n    Create Clone to x: [480] y: [0] costume: [2]\n    Create Clone to x: [960] y: [0] costume: [3]\n    Create Clone to x: [1440] y: [0] costume: [4]\n    Create Clone to x: [1920] y: [0] costume: [5]\n    Create Clone to x: [2400] y: [0] costume: [6]\n    Create Clone to x: [2880] y: [0] costume: [7]\n    Create Clone to x: [3360] y: [0] costume: [8]\n    Create Clone to x: [3840] y: [0] costume: [9]\nelse\n    Create Clone to x: [0] y: [0] costume: [10]\nend\nchange [y v] by (-9999999999)\n\ndefine Get Position to x: (x) y: (y)\ngo to x: (x) y: (y)\nif <<(x position) = (x)> and <(y position) = (y)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [delete v]\ndelete this clone\n\n@Decorations\n\nwhen I receive [position v]\nGet Position to x: ((x) - (ScrollX)) y: ((y) - (ScrollY))\n\ndefine Create Clone to x: (x) y: (y) costume: (costume)\nGet Position to x: (x) y: (y)\nset [x v] to (x)\nset [y v] to (y)\nswitch costume to (costume)\ngo to [back v] layer\ncreate clone of (_myself_ v)\n\nwhen I receive [clone v]\nif <(Level) = [1]> then\n    Create Clone to x: [0] y: [0] costume: [1]\n    Create Clone to x: [480] y: [0] costume: [2]\n    Create Clone to x: [960] y: [0] costume: [3]\n    Create Clone to x: [1440] y: [0] costume: [4]\n    Create Clone to x: [1920] y: [0] costume: [5]\n    Create Clone to x: [2400] y: [0] costume: [6]\n    Create Clone to x: [2880] y: [0] costume: [7]\n    Create Clone to x: [3360] y: [0] costume: [8]\n    Create Clone to x: [3840] y: [0] costume: [9]\nelse\n    Create Clone to x: [0] y: [0] costume: [10]\nend\nchange [y v] by (-9999999999)\n\ndefine Get Position to x: (x) y: (y)\ngo to x: (x) y: (y)\nif <<(x position) = (x)> and <(y position) = (y)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [delete v]\ndelete this clone\n\n@Spikes\n\nwhen I receive [position v]\nGet Position to x: ((x) - (ScrollX)) y: ((y) - (ScrollY))\n\ndefine Create Clone to x: (x) y: (y) costume: (costume)\nGet Position to x: (x) y: (y)\ngo to [front v] layer\nset [x v] to (x)\nset [y v] to (y)\nswitch costume to (costume)\ncreate clone of (_myself_ v)\n\nwhen I receive [clone v]\nif <(Level) = [1]> then\n    Create Clone to x: [0] y: [0] costume: [1]\n    Create Clone to x: [480] y: [0] costume: [2]\n    Create Clone to x: [960] y: [0] costume: [3]\n    Create Clone to x: [1440] y: [0] costume: [4]\n    Create Clone to x: [1920] y: [0] costume: [5]\n    Create Clone to x: [2400] y: [0] costume: [6]\n    Create Clone to x: [2880] y: [0] costume: [7]\n    Create Clone to x: [3360] y: [0] costume: [8]\n    Create Clone to x: [3840] y: [0] costume: [9]\nend\nchange [y v] by (-9999999999)\n\ndefine Get Position to x: (x) y: (y)\ngo to x: (x) y: (y)\nif <<(x position) = (x)> and <(y position) = (y)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [delete v]\ndelete this clone\n\n@End\n\nwhen I receive [position v]\nGet Position to x: ((x) - (ScrollX)) y: ((y) - (ScrollY))\n\ndefine Create Clone to x: (x) y: (y) costume: (costume)\nGet Position to x: (x) y: (y)\nset [x v] to (x)\nset [y v] to (y)\nswitch costume to (costume)\ncreate clone of (_myself_ v)\n\nwhen I receive [clone v]\nif <(Level) = [1]> then\n    Create Clone to x: [4000] y: [230] costume: [1]\nend\nchange [y v] by (-9999999999)\n\ndefine Get Position to x: (x) y: (y)\ngo to x: (x) y: (y)\nif <<(x position) = (x)> and <(y position) = (y)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [delete v]\ndelete this clone\n\n@Thumbnail\n\nwhen flag clicked\nhide\n\n