platformer for roffc007  contest 
@Stage\n\n@Blank\n\n@Player\n\ndefine wall sensing bug\nif <<touching (ground v)?> or <touching (movin platformer v)?>> then\n    change y by (1)\nend\n\ndefine reset\nset [xvel v] to [0]\nset [yvel v] to [0]\ngo to x: (-216) y: (40)\n\nwhen I receive [next level v]\nreset\n\ndefine setup platformer\nset [health v] to [7]\nset [gravity v] to [10]\nset [jump force v] to [15]\nset [speed v] to [1.5]\nset [scene v] to [1]\n\nwhen I receive [run v]\nforever\n    Show Health (health) of [7] offset y [-40]\n    if <(health) < [1]> then\n        start sound [thump soft v]\n        broadcast (__Screen Wipe v)\n        set [scene v] to [1]\n        set [health v] to [7]\n    end\n    left and right controls\n    wall sensing bug\n    wall sensing bug\n    wall sensing bug\n    wall sensing bug\n    walljumping/sensing\n    wall sensing\n    jumping\n    if <(x position) > [239]> then\n        broadcast (__Screen Wipe v)\n        broadcast (Next Level v) and wait\n        change [scene v] by (1)\n    end\n    if <<touching (lava v)?> or <touching (spikes v)?>> then\n        start sound [Wood Tap v]\n        change [health v] by (-1)\n        reset\n    end\n    if <touching (trampoline v)?> then\n        start sound [jump1 v]\n        set [yvel v] to [20]\n    end\nend\n\ndefine left and right controls\nif <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(x position) > (mouse x)>>> then\n    change [xvel v] by ((speed) - ((speed) * (2)))\n    set [direction v] to [-90]\nend\nif <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n    change [xvel v] by (speed)\n    set [direction v] to [90]\nend\nset [xvel v] to ((xvel) * (0.85))\nchange x by (xvel)\n\ndefine walljumping/sensing\nif <<touching (ground v)?> or <touching (movin platformer v)?>> then\n    change y by (-4)\n    change x by ((xvel) * (-1))\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n        if <(xvel) > ((gravity) + ((gravity) - ((gravity) * (2))))> then\n            set [xvel v] to (round ((gravity) - ((gravity) * (2))))\n        else\n            set [xvel v] to (round (gravity))\n        end\n        set [yvel v] to ((gravity) + ((gravity) - ((gravity) / (2))))\n    else\n        set [xvel v] to ((gravity) + ((gravity) - ((gravity) * (2))))\n    end\nend\n\ndefine wall sensing\nchange [yvel v] by ((((gravity) + ((gravity) - ((gravity) * (2)))) + (1)) * (-1))\nchange y by (yvel)\nif <<touching (ground v)?> or <touching (movin platformer v)?>> then\n    change y by ((yvel) - ((yvel) * (2)))\n    set [yvel v] to ((gravity) + ((gravity) - ((gravity) * (2))))\nend\nchange y by (-1)\n\ndefine jumping\nif <<<touching (ground v)?> or <touching (movin platformer v)?>> and <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>>> then\n    start sound [jump1 v]\n    set [yvel v] to (jump force)\nend\nchange y by (1)\n\nwhen I receive [run v]\nforever\n    broadcast (forever loop v)\nend\n\nwhen I receive [forever loop v]\npoint in direction (direction)\nset [x v] to (round (x position))\nset [y v] to (round (y position))\n\ndefine Show Health (health) of (max) offset y (y)\nadd (x position) to [healths v]\nadd ((y position) + (y)) to [healths v]\nadd ((health) / (max)) to [healths v]\ncreate clone of (health bar v)\n\nwhen flag clicked\nforever\n    switch costume to ([costume name v] of [thanks v])\nend\n\nwhen I receive [reset v]\nreset\n\nwhen flag clicked\nshow\ndelete all of [healths v]\nset rotation style [left-right v]\nreset\nsetup platformer\nbroadcast (run v)\nbroadcast (Next Level v)\n\n@Ground\n\nwhen flag clicked\nshow\nforever\n    switch costume to (Scene)\nend\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [8]> then\n        broadcast (eliminate skip v)\n    end\nend\n\n@Spikes\n\nwhen flag clicked\nforever\n    switch costume to (Scene)\nend\n\n@Thanks\n\nwhen flag clicked\nhide\nwait (1) seconds\nwait until <(Actions \(love/fave\)) = [2]>\nwait (1) seconds\nshow\ngo to x: (0) y: (50)\nreset timer\ngo to [front v] layer\nswitch costume to (red v)\nset [ghost v] effect to (100)\nrepeat until <(timer) > [3.5]>\n    change y by ((y position) / (-15))\n    change [ghost v] effect by (-3)\nend\nswitch costume to (blue v)\nreset timer\nrepeat until <(timer) > [3.5]>\n    change y by (((y position) - (-100)) / (-15))\n    change [ghost v] effect by (10)\nend\nhide\n\nwhen flag clicked\nswitch costume to (red v)\n\n@Detector\n\nwhen flag clicked\nshow\nset [ghost v] effect to (100)\nset [actions \(love/fave\) v] to [0]\nforever\n    set [touching v] to [none]\n    Detect [love] at [-201] [-220]\n    Detect [fave] at [-201] [-220]\nend\n\ndefine Detect (thing) at (x) (y)\nswitch costume to (empty v)\nset size to (27000) %\ngo to x: (x) y: (y)\nset size to (100) %\nswitch costume to (thing)\nif <touching (mouse-pointer v)?> then\n    set [touching v] to (costume [name v])\nend\n\nwhen flag clicked\nforever\n    wait until <(touching) = [love]>\n    wait (0.2) seconds\n    if <(touching) = [love]> then\n        change [actions \(love/fave\) v] by (1)\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    wait until <(touching) = [fave]>\n    wait (0.2) seconds\n    if <(touching) = [fave]> then\n        change [actions \(love/fave\) v] by (1)\n        stop [this script v]\n    end\nend\n\n@Love and fave reminder\n\nwhen flag clicked\nwait (5) seconds\ngo to [front v] layer\n\nwhen flag clicked\nhide\nwait (1) seconds\nforever\n    if <(Actions \(love/fave\)) < [2]> then\n        switch costume to (costume1 v)\n        go to x: (0) y: (150)\n        show\n        go to [front v] layer\n        start sound [High Whoosh v]\n        repeat (11)\n            change y by (-6)\n        end\n        repeat (7)\n            change y by (3)\n        end\n        repeat (6)\n            change y by (-2)\n        end\n        wait (5) seconds\n        start sound [High Whoosh v]\n        repeat (17)\n            change y by (7)\n        end\n        hide\n        wait (pick random (10) to (20)) seconds\n    else\n        stop [this script v]\n    end\nend\n\n@Clouds\n\nwhen I start as a clone\nforever\n    switch costume to (pick random (1) to (2))\n    set size to (pick random (40) to (70)) %\n    go to [back v] layer\n    set [ghost v] effect to (pick random (5) to (20))\n    if <(pick random (1) to (2)) = [1]> then\n        show\n        go to x: (-200) y: (pick random (20) to (180))\n        repeat (220)\n            change x by (2)\n        end\n        hide\n        wait (pick random (1) to (5)) seconds\n    end\n    if <(pick random (1) to (2)) = [2]> then\n        show\n        go to x: (220) y: (pick random (20) to (180))\n        repeat (110)\n            change x by (-4)\n        end\n        hide\n        wait (pick random (1) to (5)) seconds\n    end\nend\n\nwhen I receive [message1 v]\nrepeat (5)\n    create clone of (_myself_ v)\n    wait (1) seconds\nend\n\n@Health Bar\n\nwhen flag clicked\ngo [backward v] (213) layers\nhide\ndelete all of [healths v]\n\nwhen I start as a clone\nset x to (item (1) of [healths v])\nset y to (item (2) of [healths v])\nswitch costume to ((10) * (item (3) of [healths v]))\ndelete (1) of [healths v]\ndelete (1) of [healths v]\ndelete (1) of [healths v]\nif <not <touching (_edge_ v)?>> then\n    show\n    wait (0) seconds\nend\ndelete this clone\n\ndefine Show Health (health) of (max) offset y (y)\nadd (x position) to [healths v]\nadd ((y position) + (y)) to [healths v]\nadd ((health) / (max)) to [healths v]\ncreate clone of (health bar v)\n\nwhen flag clicked\ngo to [back v] layer\nwait (8) seconds\ngo to [front v] layer\n\nwhen flag clicked\nhide\n\nwhen I receive [eliminate skip v]\nhide\n\n@Thumbnail2\n\nwhen flag clicked\ngo to x: (0) y: (0)\nclear graphic effects\ngo to [front v] layer\nshow\nrepeat (10)\n    change [ghost v] effect by (10)\nend\n\n
don't be mean to me I'm just trying to make friends :)\nso I am going to keep comments on this time and pls don't give hate just good vibes  :) 