Parallel - a PEN platformer #games #all

Instructions: ------------------------------------RU-------------------------------\nВ "Исследуй" 02.11.2020! 4 числа первое место!\nМой первый Pen-платформер! 100% pen уровни!\nВ лаву не падать, стрелками (или WAD или ЦФВ) двигаться. R (русское К) - респавн. M - без звука.\nХОЧЕШЬ СТАТЬ РАЗРАБОТЧИКОМ? Тогда поставь лайк, звезду на этот проект и подпишись на меня, а также напиши в комментариях "Хочу быть разработчиком". Разработчики могут пропускать уровни (нажимайте на кнопки "1, 2, 3..."), они не смотрят интро, а также им доступен турбо-режим! Уже 33 разработчиков.\nВесь код мой!\nБЛАГОДАРНОСТЬ @TimMcCool за вторую мелодию.\nНовый уровень каждые 70 лайков!\n\n#games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games #games\n#all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all #all

@Stage\n\nwhen flag clicked\nhide variable [dev v]\nswitch backdrop to (blank v)\nhide variable [player_x v]\nhide variable [player_y v]\nset [dev v] to [Developer mode | Режим разработчика]\n\nwhen I receive [intro end v]\nforever\n    play sound [Track04 v] until done\n    play sound [Track03 v] until done\n    play sound [Track02 v] until done\n    play sound [Track01 v] until done\nend\n\nwait (I can write letters into a numbers block lol) seconds\n\nwhen flag clicked\nbroadcast (draw level v)\n\nwhen flag clicked\nset [☁ кто смотрел / who watched v] to [0]\nset volume to (100) %\nforever\n    set [level v] to (join [Level ] (level \(number\)))\nend\n\nwhen I receive [intro end v]\nif <[coords v] contains (username)?> then\n    show variable [dev v]\nend\n\nwhen [m v] key pressed\nset volume to ((100) - (volume)) %\n\nwhen flag clicked\nforever\n    if <key ((join [] [ь]) v) pressed?> then\n        set volume to ((100) - (volume)) %\n        wait until <not <key ((join [] [ь]) v) pressed?>>\n    end\nend\n\nwhen I receive [death v]\nstart sound [Bonk v]\n\nwhen I receive [new level sound v]\nstart sound [Collect v]\n\nif <(pick random (1) to (1)) = [1]> then\n\n@PEN\n\ndefine Draw level 1\nDraw background\nSet up pen\ngo to x: (-240) y: (-30)\npen down\ngo to x: (-70) y: (-30)\npen up\ngo to x: (70) y: (15)\npen down\ngo to x: (240) y: (15)\ngo to x: (240) y: (15)\npen up\nDraw lava\n\ndefine Draw level 2\nDraw background\nSet up pen\ngo to [front v] layer\nset pen size to (20)\nset pen color to (#80f289)\npen up\ngo to x: (-214) y: (0)\npen down\ngo to x: (-140) y: (0)\npen up\ngo to x: (5) y: (90)\npen down\ngo to x: (110) y: (90)\npen up\nset pen size to (14)\ngo to x: (240) y: (180)\npen down\ngo to x: (240) y: (110)\npen up\ngo to x: (200) y: (-95)\npen down\nset pen size to (20)\ngo to x: (240) y: (-95)\npen down\nset pen size to (14)\ngo to x: (250) y: (17)\npen up\ngo to x: (50) y: (-25)\npen down\ngo to x: (106) y: (-25)\npen up\ngo to x: (240) y: (110)\npen down\ngo to x: (200) y: (110)\npen up\nDraw lava\n\ndefine Draw level 3\nDraw background\nSet up pen\npen up\ngo to x: (13) y: (20)\npen down\ngo to x: (-210) y: (20)\npen up\ngo to x: (49) y: (-30)\npen down\ngo to x: (0) y: (-30)\npen up\ngo to x: (240) y: (-190)\npen down\ngo to x: (240) y: (-5)\npen up\ngo to x: (240) y: (80)\npen down\ngo to x: (240) y: (190)\npen up\nDraw lava\n\ndefine Draw level 4\nDraw background\nSet up pen\npen up\ngo to x: (-178) y: (70)\npen down\ngo to x: (-178) y: (-130)\npen up\ngo to x: (-60) y: (0)\npen down\ngo to x: (-60) y: (-130)\npen up\ngo to x: (90) y: (75)\npen down\ngo to x: (90) y: (-130)\npen up\ngo to x: (200) y: (-160)\npen down\ngo to x: (200) y: (120)\npen up\nDraw lava\n\ndefine Draw lava\ngo to [front v] layer\ngo [forward v] (-1) layers\nset pen color to (#ff6e00)\nset pen size to (100)\ngo to x: (-240) y: (-160)\npen down\ngo to x: (240) y: (-160)\npen up\n\ndefine Set up pen\ngo to [front v] layer\nset pen size to (20)\nset pen color to (#7ff187)\n\nwhen flag clicked\nDraw level 1\nhide variable [in_air v]\n\nwhen I receive [intro end v]\nforever\n    if <<(level \(number\)) = [1]> or <<key (1 v) pressed?> and <[coords v] contains (username)?>>> then\n        Draw level 1\n        set [level \(number\) v] to [1]\n        wait until <not <key (1 v) pressed?>>\n    end\n    if <<(level \(number\)) = [2]> or <<key (2 v) pressed?> and <[coords v] contains (username)?>>> then\n        Draw level 2\n        set [level \(number\) v] to [2]\n        wait until <not <key (2 v) pressed?>>\n    end\n    if <<(level \(number\)) = [3]> or <<key (3 v) pressed?> and <[coords v] contains (username)?>>> then\n        Draw level 3\n        set [level \(number\) v] to [3]\n        wait until <not <key (3 v) pressed?>>\n    end\n    if <<(level \(number\)) = [4]> or <<key (4 v) pressed?> and <[coords v] contains (username)?>>> then\n        Draw level 4\n        set [level \(number\) v] to [4]\n        wait until <not <key (4 v) pressed?>>\n    end\n    if <<(level \(number\)) = [5]> or <<key (5 v) pressed?> and <[coords v] contains (username)?>>> then\n        Draw level 5\n        set [level \(number\) v] to [5]\n        wait until <not <key (5 v) pressed?>>\n    end\n    if <<(level \(number\)) = [6]> or <<key (6 v) pressed?> and <[coords v] contains (username)?>>> then\n        Draw level 7\n        set [level \(number\) v] to [6]\n        wait until <not <key (6 v) pressed?>>\n    end\n    if <<(level \(number\)) = [7]> or <<key (7 v) pressed?> and <[coords v] contains (username)?>>> then\n        Draw level 8\n        set [level \(number\) v] to [7]\n        wait until <not <key (7 v) pressed?>>\n    end\n    if <<(level \(number\)) = [8]> or <<key (8 v) pressed?> and <[coords v] contains (username)?>>> then\n        Draw level 9\n        set [level \(number\) v] to [8]\n        wait until <not <key (8 v) pressed?>>\n    end\nend\n\nwhen I receive [intro end v]\nforever\n    if <<<key (7 v) pressed?> and <[coords v] contains (username)?>> or <<<<<key (4 v) pressed?> and <[coords v] contains (username)?>> or <<<key (3 v) pressed?> and <[coords v] contains (username)?>> or <<<key (2 v) pressed?> and <[coords v] contains (username)?>> or <<key (1 v) pressed?> and <[coords v] contains (username)?>>>>> or <<<<key (5 v) pressed?> and <[coords v] contains (username)?>> or <<key (6 v) pressed?> and <[coords v] contains (username)?>>> or <<key ((join [] [к]) v) pressed?> or <key (r v) pressed?>>>> or <<key (8 v) pressed?> and <[coords v] contains (username)?>>>> then\n        broadcast (level skip v)\n    end\nend\n\ndefine Draw level 5\nDraw background\nSet up pen\ngo to x: (-240) y: (-90)\npen down\ngo to x: (-130) y: (-90)\npen up\ngo to x: (-90) y: (-5)\npen down\ngo to x: (-90) y: (-5)\npen up\ngo to x: (60) y: (70)\npen down\ngo to x: (126) y: (70)\npen up\ngo to x: (230) y: (180)\npen down\ngo to x: (230) y: (70)\ngo to x: (215) y: (70)\npen up\ngo to x: (164) y: (-60)\npen down\ngo to x: (194) y: (-60)\npen up\ngo to x: (240) y: (-110)\npen down\ngo to x: (240) y: (-30)\npen up\nDraw lava\n\ndefine Draw level 8\nDraw background\nSet up pen\ngo to x: (-225) y: (100)\npen down\ngo to x: (-225) y: (-60)\ngo to x: (-130) y: (-60)\npen up\ngo to x: (-40) y: (-10)\npen down\ngo to x: (-40) y: (33)\ngo to x: (60) y: (33)\ngo to x: (60) y: (-90)\ngo to x: (-40) y: (-90)\ngo to x: (-40) y: (-10)\npen up\ngo to x: (160) y: (125)\npen down\ngo to x: (160) y: (-40)\ngo to x: (245) y: (-40)\npen up\nDraw lava\n\ndefine Draw level 7\nDraw background\nSet up pen\ngo to x: (-175) y: (-70)\npen down\ngo to x: (-175) y: (-70)\npen up\ngo to x: (30) y: (-70)\npen down\ngo to x: (30) y: (-70)\npen up\ngo to x: (120) y: (-160)\npen down\ngo to x: (120) y: (30)\npen up\ngo to x: (240) y: (-60)\npen down\ngo to x: (240) y: (115)\npen up\nDraw lava\n\ndefine Draw level 9\nDraw background\nSet up pen\ngo to x: (-220) y: (60)\npen down\ngo to x: (-160) y: (60)\ngo to x: (-190) y: (60)\nchange y by (-60)\npen up\ngo to x: (-130) y: (60)\npen down\nchange y by (-60)\npen up\ngo to x: (-130) y: (30)\npen down\nchange x by (40)\ngo to x: (-90) y: (60)\nchange y by (-60)\npen up\ngo to x: (-60) y: (0)\npen down\ngo to x: (-30) y: (60)\ngo to x: (0) y: (0)\npen up\ngo to x: (-15) y: (17)\npen down\nchange x by (-30)\npen up\ngo to x: (36) y: (0)\npen down\ngo to x: (36) y: (60)\ngo to x: (70) y: (0)\ngo to x: (70) y: (60)\npen up\ngo to x: (105) y: (0)\npen down\ngo to x: (105) y: (60)\ngo to x: (105) y: (30)\ngo to x: (135) y: (60)\ngo to x: (105) y: (30)\ngo to x: (135) y: (0)\npen up\ngo to x: (165) y: (0)\npen down\ngo to x: (200) y: (0)\ngo to x: (200) y: (30)\ngo to x: (165) y: (30)\ngo to x: (165) y: (60)\ngo to x: (200) y: (60)\npen up\ngo to x: (235) y: (-140)\npen down\ngo to x: (235) y: (180)\npen up\ngo to x: (0) y: (-70)\npen down\nset pen color to (#dfd700)\ngo to x: (0) y: (-25)\npen down\ngo to x: (0) y: (-70)\npen up\ngo to x: (0) y: (-95)\npen down\ngo to x: (0) y: (-95)\npen up\nDraw lava\n\ndefine Draw background\ngo to [back v] layer\nset pen color to (#57c5f2)\nset pen size to (1000)\npen up\ngo to x: (-200) y: (0)\npen down\ngo to x: (200) y: (0)\npen up\n\n@Player\n\nwhen flag clicked\nSetup\n\ndefine detect_ground <up>\nrepeat until <not <touching color (#7ff188)?>>\n    if <up> then\n        change y by (-1)\n    else\n        change y by (1)\n        set [in_air v] to [0]\n    end\n    set [y_speed v] to [0]\nend\n\ndefine Walk (steps)\nchange x by (steps)\nset [sklon v] to [0]\nrepeat until <<not <touching color (#7ff188)?>> or <(sklon) = [8]>>\n    change y by (1)\n    change [sklon v] by (1)\nend\nif <(sklon) = [8]> then\n    change x by ((-1) * (steps))\n    change y by (-8)\nend\n\nwhen flag clicked\nshow variable [level v]\nset [level \(number\) v] to [1]\n\nwhen flag clicked\nhide variable [level v]\n\nwhen I receive [intro end v]\nwait (0.9) seconds\nshow\n\nwhen I receive [intro end v]\nshow variable [level v]\n\nwhen I receive [intro end v]\nforever\n    if <<<<key (up arrow v) pressed?> or <key ((join [] [ц]) v) pressed?>> or <key (w v) pressed?>> and <(in_air) < [8]>> then\n        set [y_speed v] to [10]\n    end\nend\n\nwhen I receive [intro end v]\nforever\n    if <touching color (#ff6e00)?> then\n        go to x: (-170) y: (100)\n        set [y_speed v] to [0]\n        broadcast (death v)\n    end\nend\n\nwhen I receive [intro end v]\nforever\n    change [y_speed v] by (-2)\n    change y by (y_speed)\n    change [in_air v] by (1)\n    detect_ground <(y_speed) > [0]>\nend\n\nwhen I receive [intro end v]\nforever\n    if <<(x position) > [238]> and <not <touching color (#ff6e00)?>>> then\n        broadcast (new level v)\n    end\nend\n\nwhen I receive [intro end v]\nforever\n    if <<<key (right arrow v) pressed?> or <key ((join [] [в]) v) pressed?>> or <key (d v) pressed?>> then\n        switch costume to (right v)\n        Walk [7]\n    end\n    if <<<key (left arrow v) pressed?> or <key ((join [] [ф]) v) pressed?>> or <key (a v) pressed?>> then\n        switch costume to (left v)\n        Walk [-7]\n    end\nend\n\nwhen flag clicked\nforever\n    detect_ground <(y_speed) > [0]>\nend\n\nwhen flag clicked\nforever\n    if <not <<<key (left arrow v) pressed?> and <<<key (w v) pressed?> and <<key (a v) pressed?> and <key (d v) pressed?>>> and <<key (up arrow v) pressed?> and <key (right arrow v) pressed?>>>> and <<key ((join [] [ф]) v) pressed?> and <<key ((join [] [ц]) v) pressed?> and <key ((join [] [в]) v) pressed?>>>>> then\n        switch costume to (normal v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <<<key (up arrow v) pressed?> or <key ((join [] [ц]) v) pressed?>> or <key (w v) pressed?>> then\n        switch costume to (up v)\n    end\nend\n\ndefine Setup\ngo to x: (-170) y: (60)\nhide\ngo to [front v] layer\nset size to (68) %\nset [y_speed v] to [0]\nset rotation style [don't rotate v]\n\nwhen flag clicked\nset [ghost v] effect to (100)\n\nwhen I receive [intro end v]\nset [ghost v] effect to (0)\n\nwhen I receive [level skip v]\ngo to x: (-177) y: (141)\n\nwhen I receive [new level v]\nif <(level \(number\)) = [3]> then\n    go to x: (-200) y: (130)\n    Setup new level\nelse\n    if <(level \(number\)) = [2]> then\n        go to x: (-170) y: (111)\n        Setup new level\n    else\n        if <(level \(number\)) = [6]> then\n            go to x: (-180) y: (150)\n            Setup new level\n        else\n            go to x: (-200) y: (130)\n            Setup new level\n        end\n    end\nend\n\ndefine Setup new level\nchange [level \(number\) v] by (1)\nbroadcast (draw level v)\nbroadcast (new level sound v)\n\nforever\n    if <<<key (up arrow v) pressed?> or <key ((join [] [ц]) v) pressed?>> or <key (w v) pressed?>> then\n        play sound [jump v] until done\n    end\nend\n\nwhen I receive [intro end v]\n\nwhen I receive [intro end v]\nforever\n    if <<touching color (#7ff086)?> or <touching color (#ff6e00)?>> then\n        set [touching ground \(bool\) v] to [1]\n    else\n        set [touching ground \(bool\) v] to [0]\n    end\nend\n\n@Turbo detect\n\nwhen flag clicked\nforever\n    switch costume to (setup v)\n    reset timer\n    repeat (5)\n        switch costume to (turbo v)\n    end\n    if <<not <(timer) > [0.05]>> and <not <[coords v] contains (username)?>>> then\n        stop [all v]\n    end\nend\n\n@thumbnail\n\nwhen flag clicked\nset [ghost v] effect to (100)\nswitch costume to (костюм 1 v)\nshow\ngo to [front v] layer\ngo to x: (0) y: (0)\n\n@Intro\n\nwhen flag clicked\nhide\nif <not <[coords v] contains (username)?>> then\n    broadcast (start\(intro\) v)\n    reset timer\n    set volume to (100) %\n    broadcast (sound \(intro\) v)\n    hide variable [clone-id v]\n    hide variable [counter v]\n    show\n    go to x: (0) y: (0)\n    switch costume to (ава v)\n    go to [front v] layer\n    show\n    set size to (0) %\n    set [clone-id v] to [0]\n    repeat (5)\n        change [clone-id v] by (1)\n        create clone of (_myself_ v)\n        wait (0.00000001) seconds\n    end\nelse\n    broadcast (INTRO END v)\n    stop [other scripts in sprite v]\n    stop [this script v]\nend\n\nwhen I start as a clone\nif <(clone-id) = [1]> then\n    clear graphic effects\n    set [ghost v] effect to (100)\n    set size to (100) %\n    switch costume to (stripes v)\n    go to [front v] layer\n    go to x: (0) y: (0)\n    wait (2.15) seconds\n    set [ghost v] effect to (0)\n    repeat (132)\n        change y by (4)\n        change [color v] effect by (2)\n    end\n    repeat (25)\n        change [ghost v] effect by (4)\n    end\n    stop [this script v]\nelse\n    if <(clone-id) = [2]> then\n        go to x: (0) y: (0)\n        set size to (100) %\n        go to [back v] layer\n        clear graphic effects\n        go [forward v] (0) layers\n        switch costume to (фон v)\n        show\n        repeat (50)\n            change size by (0.5)\n        end\n        hide\n    else\n        if <(clone-id) = [3]> then\n            clear graphic effects\n            switch costume to (u v)\n            go to [front v] layer\n            hide\n            set size to (90) %\n            go to x: (-95) y: (8)\n            point in direction (90)\n            wait (2) seconds\n            show\n            repeat (6)\n                set size to (110) %\n                repeat (18)\n                    change size by (-2)\n                end\n            end\n            wait (0.5) seconds\n            repeat (25)\n                change [ghost v] effect by (4)\n            end\n        else\n            if <(clone-id) = [4]> then\n                clear graphic effects\n                switch costume to (m v)\n                go to [front v] layer\n                hide\n                set size to (90) %\n                go to x: (95) y: (8)\n                point in direction (90)\n                wait (1.9) seconds\n                show\n                repeat (6)\n                    set size to (110) %\n                    repeat (18)\n                        change size by (-2)\n                    end\n                end\n                wait (0.5) seconds\n                repeat (25)\n                    change [ghost v] effect by (4)\n                end\n            else\n                if <(clone-id) = [5]> then\n                    clear graphic effects\n                    set [ghost v] effect to (100)\n                    go to [front v] layer\n                    go [forward v] (-1) layers\n                    switch costume to (unicornmable v)\n                    set size to (100) %\n                    go to x: (0) y: (0)\n                    wait (2.25) seconds\n                    repeat (25)\n                        change [ghost v] effect by (-4)\n                    end\n                    wait (3.75) seconds\n                    repeat (25)\n                        change [ghost v] effect by (4)\n                    end\n                end\n            end\n        end\n    end\nend\nhide\n\nwhen flag clicked\nwait (6.5) seconds\nrepeat (5)\n    change [ghost v] effect by (20)\nend\nwait (2) seconds\nhide\nbroadcast (INTRO END v)\nstop [other scripts in sprite v]\nstop [this script v]\n\nwhen I receive [start\(intro\) v]\nset [counter v] to [0]\nrepeat (10)\n    change [counter v] by (0.5)\n    change size by (10)\nend\nwait (1.5) seconds\nrepeat (6)\n    change size by (-20)\nend\nhide\n\nwhen [timer v] > (0)\ngo to [back v] layer\n\nwhen I receive [sound \(intro\) v]\nstart sound [intro v]\n\nif <(pick random (1) to (2)) = [1]> then\n\n