=Umbrella=  =Scrolling Platformer=

Instructions: ||flashing lights! watch out kiddos||\n=Umbrella=  =Scrolling Platformer=\n\n=================instructions================\nUse wad, <^> or mobile to move\nDon't touch spikes or lava \nGet to the portal\n====================info===================\nThere are many bugs, but i wont fix them. I was going to share this on @red_sweatshirt, but shared it on this account.

@Stage\n\nwhen flag clicked\nforever\n    play sound [rain v] until done\n    switch backdrop to (2 v)\nend\n\nwhen flag clicked\nforever\n    wait (pick random (10) to (20)) seconds\n    broadcast (thunder v)\n    start sound [thunder v]\nend\n\nwhen flag clicked\nforever\n    if <(LEVEL) = [3]> then\n        stop [all v]\n    end\nend\n\n@player\n\nwhen flag clicked\nhide\nforever\n    if <(LEVEL) = [3]> then\n        hide\n        go to x: (0) y: (0)\n        stop [other scripts in sprite v]\n    end\nend\n\ndefine Change Player Y By (sy)\nchange [player: y v] by (sy)\nchange [in air v] by (1)\nPosition\nrepeat until <not <touching (platforms v)?>>\n    if <(sy) > [0]> then\n        change [player: y v] by (-1)\n    else\n        change [player: y v] by (1)\n        set [in air v] to [0]\n    end\n    Position\n    set [sy v] to [0]\nend\n\ndefine Change Player X By (sx)\nchange [player: x v] by (sx)\nPosition\nif <touching (platforms v)?> then\n    repeat (12)\n        change [player: y v] by (1)\n        Position\n        if <not <touching (platforms v)?>> then\n            stop [this script v]\n        end\n    end\n    change [player: y v] by (-12)\n    repeat until <not <touching (platforms v)?>>\n        if <(sx) > [0]> then\n            change [player: x v] by (-1)\n        else\n            change [player: x v] by (1)\n        end\n        Position\n    end\nend\n\ndefine Tick\nif <<key (left arrow v) pressed?> or > then\n    change [sx v] by (-2.2)\nend\nif <<key (right arrow v) pressed?> or > then\n    change [sx v] by (2.2)\nend\nset [sx v] to ((sx) * (0.8))\nif <([abs v] of (sx) ) > [0.9]> then\n    Change Player X By (round (sx))\nend\nif  then\n    if <(in air) < [4]> then\n        set [sy v] to [16]\n    end\nend\nif <(sy) > [-20]> then\n    change [sy v] by (-2)\nend\nChange Player Y By (sy)\nTest - Die\nchange [scroll x v] by (round (((Player: x) - (SCROLL X)) / (10)))\nif <(SCROLL X) < [0]> then\n    set [scroll x v] to [0]\nend\nchange [scroll y v] by (round (((Player: y) - (SCROLL Y)) / (10)))\nif <(SCROLL Y) < [0]> then\n    set [scroll y v] to [0]\nend\nPosition\nif <(Player: y) < [-180]> then\n    set [exit v] to [Die]\nend\nif <touching (trampolines v)?> then\n    set [sy v] to [15]\nend\n\ndefine Game On\nswitch costume to (1 v)\nset [player: x v] to (Spawn X)\nset [player: y v] to (Spawn Y)\nset [scroll x v] to (Spawn X)\nset [scroll y v] to (Spawn Y)\nset [sy v] to [0]\nset [in air v] to [0]\nset [exit v] to []\nset [sx v] to [0]\npoint in direction (90)\nset size to (100) %\nset [ghost v] effect to (0)\nshow\n\ndefine Test - Die\nif <touching (death things v)?> then\n    set [exit v] to [Die]\nend\n\ndefine Game - Win\nrepeat (50)\n    point towards (portal 1 v)\n    turn right (65) degrees\n    move ((distance to [portal 1 v]) / (2)) steps\n    change size by (-1)\n    change [ghost v] effect by (2)\nend\nhide\nbroadcast (New Start v)\nchange [level v] by (1)\nwait (1) seconds\n\ndefine Game - Die\nbroadcast (die v)\nset [exit v] to []\nrepeat (5)\n    hide\n    wait (0.05) seconds\n    show\n    wait (0.05) seconds\nend\nclear graphic effects\nhide\nwait (0.25) seconds\n\ndefine Position\ngo to x: ((Player: x) - (SCROLL X)) y: ((Player: y) - (SCROLL Y))\n\nwhen I receive [play game v]\nset [level v] to [1]\nforever\n    broadcast (Reset v) and wait\n    broadcast (Setup v) and wait\n    Game On\n    repeat until <(EXIT) > []>\n        Tick\n        broadcast (Tick v)\n    end\n    if <(EXIT) = [Win]> then\n        Game - Win\n    else\n        Game - Die\n    end\nend\n\nwhen I receive [green flag v]\nhide\ngo to [back v] layer\ngo [forward v] (2) layers\n\nwhen flag clicked\nset [spawn y v] to [0]\nset [spawn x v] to [0]\n\nwhen flag clicked\nset [level v] to [1]\n\nwhen flag clicked\nhide\nset [score v] to [0]\n\nwhen flag clicked\nforever\n    set [collected v] to (COLLECTED MAX)\nend\n\nif <key (up arrow v) pressed?> then\n    if <(sx) > [0]> then\n        set [sx v] to [-16]\n    else\n        set [sx v] to [0]\n    end\n    set [in air v] to [0]\nelse\n    set [sx v] to [0]\nend\n\nwhen flag clicked\nforever\n    set rotation style [left-right v]\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        point in direction (90)\n    end\n    if <<key (left arrow v) pressed?> or <key (w v) pressed?>> then\n        point in direction (-90)\n    end\nend\n\nwhen flag clicked\nforever\n    wait (pick random (3) to (10)) seconds\n    wait (.1) seconds\n    switch costume to (1 v)\n    wait (.1) seconds\n    switch costume to (2 v)\n    wait (.1) seconds\n    switch costume to (3 v)\n    wait (.1) seconds\n    switch costume to (2 v)\n    wait (.1) seconds\n    switch costume to (1 v)\n    wait (.1) seconds\n    switch costume to (1 v)\nend\n\n@umbrella\n\nwhen flag clicked\nshow\nforever\n    if <(LEVEL) = [3]> then\n        hide\n        go to x: (0) y: (0)\n        stop [other scripts in sprite v]\n    end\nend\n\nwhen flag clicked\nforever\n    switch costume to (1 v)\n    set rotation style [left-right v]\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        point in direction (90)\n    end\n    if <<key (left arrow v) pressed?> or <key (w v) pressed?>> then\n        point in direction (-90)\n    end\nend\n\nwhen flag clicked\nforever\n    set x to ([x position v] of [player v])\n    set y to ([y position v] of [player v])\nend\n\ngo to [back v] layer\ngo [forward v] (10) layers\n\n@platforms\n\nwhen I receive [green flag v]\nshow\n\nwhen I receive [tick v]\nPosition ((Platforms: x) - (SCROLL X)) ((Platforms: y) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nset [platforms: x v] to [0]\nset [platforms: y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (1 1 v)\n    Clone At x: [480] y: [0]\n    Clone At x: [480] y: [0]\n    Clone At x: [480] y: [0]\n    Clone At x: [480] y: [0]\nend\nif <(LEVEL) = [2]> then\n    show\n    switch costume to (2 1 v)\n    Clone At x: [480] y: [0]\n    Clone At x: [480] y: [0]\n    Clone At x: [480] y: [0]\n    Clone At x: [480] y: [0]\n    Clone At x: [480] y: [0]\n    Clone At x: [480] y: [0]\n    Clone At x: [480] y: [0]\n    Clone At x: [480] y: [0]\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    show\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone At x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [platforms: x v] by (x)\nchange [platforms: y v] by (y)\nnext costume\n\nwhen flag clicked\nshow\nset [level v] to [1]\nbroadcast (new start v)\n\nwhen I receive [play game v]\nshow\n\n@decor\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPosition ((Platforms: x) - (SCROLL X)) ((Platforms: y) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nset [platforms: x v] to [0]\nset [platforms: y v] to [0]\nif <(LEVEL) = [1]> then\n    go to [back v] layer\n    switch costume to (1 1 v)\n    Clone At x: [480] y: [0]\n    Clone At x: [480] y: [0]\n    Clone At x: [480] y: [0]\n    Clone At x: [480] y: [0]\n    Clone At x: [480] y: [0]\nend\nif <(LEVEL) = [2]> then\n    go to [back v] layer\n    switch costume to (2 1 v)\n    Clone At x: [480] y: [0]\n    Clone At x: [480] y: [0]\n    Clone At x: [480] y: [0]\n    Clone At x: [480] y: [0]\n    Clone At x: [480] y: [0]\n    Clone At x: [480] y: [0]\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone At x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [platforms: x v] by (x)\nchange [platforms: y v] by (y)\nnext costume\n\nwhen flag clicked\ngo to [back v] layer\ngo [forward v] (1) layers\nhide\nset [level v] to [1]\n\nClone At x: [480] y: [0]\n\nClone At x: [480] y: [0]\n\n@death things\n\nwhen I receive [green flag v]\nshow\n\nwhen I receive [tick v]\nPosition ((Danger: x) - (SCROLL X)) ((Danger: y) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nset [danger: x v] to [0]\nset [danger: y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (1 1 v)\n    Clone At x: [480] y: [0]\n    Clone At x: [480] y: [0]\n    Clone At x: [480] y: [0]\n    Clone At x: [480] y: [0]\n    Clone At x: [480] y: [0]\nelse\n    show\n    if <(LEVEL) = [2]> then\n        switch costume to (2 1 v)\n        Clone At x: [480] y: [0]\n        Clone At x: [480] y: [0]\n        Clone At x: [480] y: [0]\n        Clone At x: [480] y: [0]\n        Clone At x: [480] y: [0]\n    else\n        show\n    end\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    show\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone At x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [danger: x v] by (x)\nchange [danger: y v] by (y)\ngo to [back v] layer\nnext costume\n\ngo to [front v] layer\n\nwhen flag clicked\nhide\n\nhide\n\nhide\n\nhide\n\n@portal 1\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPosition ((Exit Portal: x) - (SCROLL X)) ((Exit Portal: y) - (SCROLL Y))\nif <<(COLLECTED) = (COLLECTED MAX)> or <(COLLECTED MAX) < (COLLECTED)>> then\n    switch costume to (open portal v)\n    if <touching (player v)?> then\n        set [exit v] to [Win]\n        set [spawn x v] to [0]\n        set [spawn y v] to [0]\n    end\nelse\n    switch costume to (closed portal v)\nend\n\nwhen I receive [setup v]\nhide\nset [collected v] to [0]\nset [exit portal: x v] to [0]\nset [exit portal: y v] to [0]\nif <(LEVEL) = [1]> then\n    go to [front v] layer\n    Clone At x: [2400] y: [200]\nend\nif <(LEVEL) = [2]> then\n    go to [front v] layer\n    Clone At x: [2400] y: [150]\nend\n\ndefine Position (x) (y)\ngo [backward v] (99) layers\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone At x: (x) y: (y)\nset [exit portal: x v] to (x)\nset [exit portal: y v] to (y)\n\nwhen I receive [open portal v]\nswitch costume to (closed portal v)\n\nwhen flag clicked\nforever\n    turn right (3) degrees\nend\n\n@portal 2\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPosition ((Exit Portal: x) - (SCROLL X)) ((Exit Portal: y) - (SCROLL Y))\nif <<(COLLECTED) = (COLLECTED MAX)> or <(COLLECTED MAX) < (COLLECTED)>> then\n    switch costume to (open portal v)\n    if <touching (player v)?> then\n        set [exit v] to [Win]\n        set [spawn x v] to [0]\n        set [spawn y v] to [0]\n    end\nelse\n    switch costume to (closed portal v)\nend\n\nwhen I receive [setup v]\nhide\nset [collected v] to [0]\nset [exit portal: x v] to [0]\nset [exit portal: y v] to [0]\nif <(LEVEL) = [1]> then\n    go to [front v] layer\n    Clone At x: [2400] y: [200]\nend\nif <(LEVEL) = [2]> then\n    go to [front v] layer\n    Clone At x: [2400] y: [150]\nend\n\ndefine Position (x) (y)\ngo [backward v] (99) layers\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone At x: (x) y: (y)\nset [exit portal: x v] to (x)\nset [exit portal: y v] to (y)\n\nwhen I receive [open portal v]\nswitch costume to (closed portal v)\n\nwhen flag clicked\nforever\n    turn right (-3) degrees\nend\n\n@check point\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\ngo to [back v] layer\nPosition ((Exit Portal: x) - (SCROLL X)) ((Exit Portal: y) - (SCROLL Y))\nif <touching (player v)?> then\n    set [spawn x v] to (([x position v] of [player v]) + (SCROLL X))\n    set [spawn y v] to (([y position v] of [player v]) + (SCROLL Y))\n    set [check point v] to [1]\nend\nif <(Check Point) = [0]> then\n    switch costume to (closed v)\nelse\n    switch costume to (open v)\nend\n\nwhen I receive [setup v]\nhide\nswitch costume to (closed v)\nset [collected v] to [0]\nset [exit portal: x v] to [0]\nset [exit portal: y v] to [0]\nif <(LEVEL) = [1]> then\n    Clone At x: [1107] y: [40]\nelse\n    if <(LEVEL) = [2]> then\n        Clone At x: [1050] y: [-30]\n    else\n        Clone At x: [1107] y: [-30]\n    end\nend\n\ndefine Position (x) (y)\ngo [backward v] (99) layers\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone At x: (x) y: (y)\nset [exit portal: x v] to (x)\nset [exit portal: y v] to (y)\n\nwhen I receive [open portal v]\nswitch costume to (open v)\n\nwhen I receive [new start v]\nset [check point v] to [0]\n\nwhen flag clicked\nforever\nend\n\n@play\n\nwhen this sprite clicked\n\nwhen flag clicked\nhide\nbroadcast (fake play game v)\n\nshow\nforever\n    go to [front v] layer\n    switch costume to (1 v)\n    set size to (100) %\n    go to x: (0) y: (40)\nend\n\n@border\n\nwhen flag clicked\nswitch costume to (0 v)\nshow\nforever\n    go to x: (0) y: (0)\n    if <(LEVEL) = [3]> then\n        broadcast (end v)\n        switch costume to (3 v)\n    end\nend\n\nswitch costume to (3 v)\n\nwhen I receive [green flag v]\nforever\n\nwhen I receive [play game v]\nforever\n    go to [front v] layer\nend\n\nwhen I receive [play game v]\nwait (2.7) seconds\nif <(LEVEL) = [1]> then\n    switch costume to (1 v)\nend\nif <(LEVEL) = [2]> then\n    switch costume to (2 v)\nend\n\nshow\n\n@black flash\n\nwhen flag clicked\nhide\ngo to [front v] layer\n\nwhen I receive [fake play game v]\nset [ghost v] effect to (0)\nshow\nrepeat (4)\n    change [ghost v] effect by (-25)\nend\nbroadcast (Play Game v)\nwait (.25) seconds\nbroadcast (Green Flag v)\nwait (.25) seconds\nwait (2) seconds\nrepeat (4)\n    change [ghost v] effect by (25)\nend\nhide\nclear graphic effects\n\nwhen I receive [fake play game v]\nforever\n    go to [front v] layer\n    go to x: (0) y: (0)\nend\n\n@fuzz\n\nwhen flag clicked\nshow\nforever\n    go to x: (0) y: (0)\n    go to [front v] layer\n    switch costume to (1 v)\n    set [ghost v] effect to (50)\nend\n\nwhen flag clicked\nforever\n    if <(LEVEL) = [3]> then\n        hide\n    end\nend\n\n@lighting\n\nwhen flag clicked\nhide\nforever\n    if <(LEVEL) = [3]> then\n        hide\n        go to x: (0) y: (0)\n        stop [other scripts in sprite v]\n    end\nend\n\nwhen I receive [thunder v]\nhide\nwait (.001) seconds\nshow\nwait (.001) seconds\nhide\nwait (.001) seconds\nshow\nwait (.001) seconds\nhide\nwait (.001) seconds\nshow\nwait (.001) seconds\nhide\nwait (.001) seconds\nshow\nwait (.001) seconds\nhide\nwait (.001) seconds\nhide\nwait (.001) seconds\nshow\nwait (.001) seconds\nhide\nwait (.001) seconds\nshow\nwait (.001) seconds\nhide\nwait (.001) seconds\nshow\nwait (.001) seconds\nhide\nwait (.001) seconds\nshow\nwait (.001) seconds\nhide\nwait (.001) seconds\nshow\nwait (.001) seconds\nhide\nwait (.1) seconds\nshow\nwait (.1) seconds\nhide\nwait (.001) seconds\nshow\nwait (.1) seconds\nhide\nwait (.1) seconds\nshow\nwait (.1) seconds\nhide\nwait (.01) seconds\nshow\nwait (.001) seconds\nhide\nwait (.1) seconds\nshow\nwait (.1) seconds\nhide\nwait (.1) seconds\nshow\nwait (.1) seconds\nhide\nwait (1) seconds\nshow\nwait (.1) seconds\nhide\n\nwhen I receive [thunder v]\nswitch costume to (1 v)\nshow\ngo to [front v] layer\nclear graphic effects\nset [brightness v] effect to (20)\n\nwhen flag clicked\nhide\n\ngo to x: (0) y: (0)\n\n@rain drops\n\nwhen flag clicked\nhide\nforever\n    if <(LEVEL) = [3]> then\n        hide\n        go to x: (0) y: (0)\n        stop [other scripts in sprite v]\n    end\nend\n\nwhen flag clicked\nhide\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\ngo to x: (pick random (-500) to (500)) y: (500)\nhide\nclear graphic effects\nset [ghost v] effect to (pick random (60) to (90))\nswitch costume to (1 v)\nshow\nrepeat until <<touching (player v)?> or <<touching (umbrella v)?> or <touching (platforms v)?>>>\n    change y by (-10)\nend\nif <<touching (player v)?> or <<touching (umbrella v)?> or <touching (platforms v)?>>> then\n    switch costume to (2 v)\n    wait (.1) seconds\n    delete this clone\nend\n\n@End Screen\n\nwhen flag clicked\nhide\nforever\n    if <(LEVEL) = [3]> then\n        show\n        switch costume to (1 v)\n        play sound [Glorious_morning v] until done\n        go to x: (0) y: (0)\n        go to [front v] layer\n    end\nend\n\nwhen I receive [end v]\nshow\nswitch costume to (1 v)\nplay sound [Glorious_morning v] until done\ngo to x: (0) y: (0)\ngo to [front v] layer\n\n@thumbnail\n\nwhen flag clicked\nhide\nforever\n    go to x: (0) y: (0)\nend\n\ngo to [front v] layer\n\n@Sprite1\n\n