Volcano "A platformer " 

Instructions: go to dungeon (part1) for the "story"\nVolcano (Storyline):\n...That Cave you entered in Grassland led into a volcano!\nyou try to turn back but the passage has fallen in...\nControls\n∆A-D to move the flashlight\n∆Arrows/touchscreen to move\n∆Don't touch lava\n∆Watch out for secret passageways and traps! ...\n∆... And moving platforms ( in secret passageways! )\n\n\n\n\n\n

@Stage\n\nwhen flag clicked\nforever\n    play sound [The Magician - Deep Volcano.mp3 v] until done\nend\n\nwhen flag clicked\nforever\n    if <(level) = [15]> then\n        switch backdrop to (backdrop3 v)\n    else\n        switch backdrop to (backdrop1 v)\n    end\nend\n\n@Slides\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\n\nswitch costume to (1 v)\npoint in direction (90)\ngo to x: (0) y: (0)\nclear graphic effects\nshow\nforever\n    play sound [Monsters Inc theme \(full\).mp3 v] until done\nend\n\nwhen this sprite clicked\n\nstart sound [Bonk v]\nrepeat (50)\n    change [ghost v] effect by (10)\n    turn left (15) degrees\n    change y by (10)\n    change x by (-10)\nend\npoint in direction (90)\nnext costume\nclear graphic effects\nglide (0.5) secs to x: (0) y: (0)\n\nwait (0) seconds\n\nrepeat (43)\n    change [ghost v] effect by (-10)\nend\ngo to x: (0) y: (0)\n\nturn left (-15) degrees\n\nwhen [any v] key pressed\n\nstart sound [Bonk v]\nrepeat (50)\n    change [ghost v] effect by (10)\n    turn left (15) degrees\n    change y by (10)\n    change x by (-10)\nend\npoint in direction (90)\nnext costume\nclear graphic effects\nglide (0.5) secs to x: (0) y: (0)\n\n@Player\n\nwhen flag clicked\nforever\n    set [ply v] to (y position)\n    set [plx v] to (x position)\nend\n\nwait (0.05) seconds\nnext costume\n\nwhen [space v] key pressed\n\nhide\n\nwhen flag clicked\ngo to x: (-175) y: (0)\nset size to (20) %\nshow\nset [brightness v] effect to (0)\nset [level v] to [1]\nset [yv v] to [0]\nset [xv v] to [0]\nset rotation style [left-right v]\nforever\n    if <touching (water v)?> then\n        change [playery v] by (-0.05)\n    else\n        change [playery v] by (-0.5)\n    end\n    if <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        change [playerx v] by (0.7)\n        point in direction (-90)\n    else\n        if <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>> then\n            change [playerx v] by (-0.7)\n            point in direction (90)\n        end\n    end\n    set [playerx v] to ((PlayerX) * (0.9))\n    change x by (PlayerX)\n    if <<touching (levelhit v)?> or <touching (mplatform v)?>> then\n        change y by (1)\n        if <<touching (levelhit v)?> or <touching (mplatform v)?>> then\n            change y by (1)\n            if <<touching (levelhit v)?> or <touching (mplatform v)?>> then\n                change y by (1)\n                if <<touching (levelhit v)?> or <touching (mplatform v)?>> then\n                    change y by (1)\n                    if <<touching (levelhit v)?> or <touching (mplatform v)?>> then\n                        change y by (1)\n                        if <<touching (levelhit v)?> or <touching (mplatform v)?>> then\n                            change x by ((PlayerX) * (-1))\n                            change x by (-1)\n                            change y by (-5)\n                            if <touching (null v)?> then\n                                change x by (Change)\n                            end\n                            change x by (1)\n                            if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>> then\n                                if <not <touching color (#00ff55)?>> then\n                                    if <(PlayerX) > [0]> then\n                                        set [playerx v] to [0]\n                                    else\n                                        set [playerx v] to [0]\n                                    end\n                                    if <touching (water v)?> then\n                                        change [playery v] by (2)\n                                    else\n                                        set [playery v] to [8]\n                                    end\n                                end\n                            else\n                                set [playerx v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (PlayerY)\n    if <<touching (levelhit v)?> or <touching (mplatform v)?>> then\n        change y by ((PlayerY) * (-1))\n        set [playery v] to [0]\n    end\n    change y by (-1)\n    if <<<touching (levelhit v)?> or <touching (boss v)?>> or <touching (mplatform v)?>> then\n        if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>> then\n            set [playery v] to [10]\n        end\n    end\n    if <<(PlayerX) > [2]> or <(PlayerX) < [-2]>> then\n        if <not <<(PlayerY) > [0.7]> or <(PlayerY) < [-0.7]>>> then\n            switch costume to ((Costume) + (3))\n            if <not <(Costume) > [7]>> then\n                change [costume v] by (1)\n            else\n                set [costume v] to [0]\n            end\n        else\n            if <(PlayerY) > [0.5]> then\n                switch costume to (jump v)\n            else\n                if <(PlayerY) < [-0.5]> then\n                    switch costume to (fall v)\n                end\n            end\n        end\n    else\n        switch costume to (stand v)\n    end\n    if <<<touching (obstacles v)?> or <touching (sprite1 v)?>> or <touching (sprite3 v)?>> then\n        broadcast (pl has died lol v)\n        start sound [oooooff! v]\n        go to x: (-188) y: (-146)\n        go to x: (-175) y: (0)\n        set [playerx v] to [0]\n        set [playery v] to [0]\n        point in direction (90)\n    end\n    if <<touching (trampolines v)?> or <<touching (trampolines2 v)?> or <touching (trampolines3 v)?>>> then\n        set [playery v] to [15]\n    end\n    if <touching (boss v)?> then\n        set [playery v] to [7]\n    end\n    if <<<touching (_edge_ v)?> and <(x position) > [180]>> or <<(level) = [15]> and <<touching (_edge_ v)?> and <(y position) > [180]>>>> then\n        go to x: (-188) y: (-146)\n        go to x: (-232) y: (-37)\n        set [playerx v] to [0]\n        set [playery v] to [0]\n        point in direction (90)\n        broadcast (next level v)\n    end\n    change y by (1)\nend\n\nif <touching color (#00cc44)?> then\n    change y by (100)\nend\n\nswitch costume to (hitbox v)\n\nset [playery v] to [8]\n\n\n\n\nnext costume\n\n    switch costume to ((Costume) - (1))\nend\n\n\n\nchange [playery v] by (0.7)\n\nnext costume\n\n\n\nwhen I start as a clone\ndelete this clone\n\nwhen flag clicked\nforever\n    create clone of (_myself_ v)\nend\n\nplay sound [oooooff! v] until done\n\nset size to (20) %\nset [ghost v] effect to (0)\nrepeat (15)\n    turn right (3) degrees\n    change [ghost v] effect by ((100) / (15))\n    change size by (((20) / (15)) * (-1))\nend\ndelete this clone\n\nwhen I receive [player die v]\nstart sound [oooooff! v]\ngo to x: (-188) y: (-146)\ngo to x: (-175) y: (0)\nset [playerx v] to [0]\nset [playery v] to [0]\npoint in direction (90)\n\n@LevelHIT\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\n\nwhen I receive [next level v]\nnext costume\n\n@FrontART\n\nwhen flag clicked\ngo to [front v] layer\ngo to x: (0) y: (0)\n\nwhen flag clicked\nswitch costume to (1 v)\ngo to x: (0) y: (0)\n\nwhen I receive [next level v]\nnext costume\n\n@BackART\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [back v] layer\ngo [forward v] (1) layers\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\n\nwhen I receive [next level v]\nnext costume\n\n@Sprite2\n\nwhen flag clicked\ngo to [back v] layer\nforever\n    go to (player v)\n    point in direction (d)\nend\n\nwhen flag clicked\nforever\n    if <key (a v) pressed?> then\n        change [d v] by (-5)\n    end\n    if <key (d v) pressed?> then\n        change [d v] by (5)\n    end\n    if <(level) = [15]> then\n        hide\n    else\n        show\n    end\nend\n\n@Sprite1\n\nwhen flag clicked\ngo to [back v] layer\nswitch costume to (costume1 v)\ngo to x: (0) y: (2)\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nforever\n    if <(y position) > [0]> then\n        change [y v] by (-0.3)\n    end\n    if <(y position) < [0]> then\n        change [y v] by (0.3)\n    end\n    change y by ((y) / (4))\nend\n\nset [level v] to [13]\n\n@Mplatform\n\nwhen flag clicked\nset [level v] to [1]\nforever\n    if <(level) = [12]> then\n        show\n    else\n        if <(level) = [13]> then\n            show\n        else\n            hide\n        end\n    end\nend\n\nhide\n\nif <(level) = [9]> then\n    show\nend\n\nhide\n\nwhen I receive [next level v]\nrepeat (10)\n    if <(level) = [12]> then\n        show\n        go to x: (0) y: (-133)\n    else\n        if <(level) = [13]> then\n            show\n            go to x: (0) y: (-147)\n        else\n            hide\n        end\n    end\nend\n\nif <(level) = [9]> then\n    show\n    go to x: (0) y: (-50)\nend\n\ndefine Moving Platform physics\nforever\n    repeat until <touching (levelhit v)?>\n        change x by (3)\n    end\n    wait (0.5) seconds\n    change x by (-3)\n    repeat until <touching (levelhit v)?>\n        change x by (-3)\n    end\n    wait (0.5) seconds\n    change x by (3)\nend\n\nwhen flag clicked\nMoving Platform physics\n\nwhen I receive [next level v]\nchange [level v] by (1)\n\ngo to x: (0) y: (-100)\n\ngo to x: (0) y: (-150)\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\nshow\nforever\n    go to [front v] layer\nend\n\n@Sprite3\n\nwhen flag clicked\ngo to [front v] layer\nswitch costume to (costume13 v)\ngo to x: (0) y: (51)\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nforever\n    if <(y position) > [0]> then\n        change [y v] by (-2.05555837897650759467890456789734)\n    end\n    if <(y position) < [0]> then\n        change [y v] by (2.5555837897650759467890456789734)\n    end\n    change y by ((y) / (7))\nend\n\nset [level v] to [13]\n\n@Sprite4\n\nwhen flag clicked\n\nwhen I receive [end scenes v]\nforever\n    go to [front v] layer\nend\n\nwhen I receive [end scenes v]\nforever\n    if <not <(costume [number v]) = [3]>> then\n        wait until <mouse down?>\n        next costume\n        wait (1) seconds\n    end\nend\n\nwhen flag clicked\nforever\n    reset timer\nend\n\nwhen [timer v] > (0.3)\nhide\n\nwhen flag clicked\nhide\nforever\n    if <(level) = [16]> then\n        go to x: (0) y: (0)\n        show\n        switch costume to (costume1 v)\n        broadcast (END SCENES v)\n        stop [this script v]\n    else\n        hide\n    end\nend\n\n