Advanced Platformer Creator #Games #All #Art 

Instructions: (Not reshared but exported into a new project)\nHey guys, @PrimeGuy_1001 here, I have made an Advanced Platformer Creator. It is non-scrolling. It has a variety of block which you can use, also, you can only use the begin block once. You can also edit player speeds. Get creating! And I'm proud to say, coding is 100% by @PrimeGuy_1001 (me)

@Stage\n\nwhen flag clicked\nset [allow v] to [0]\nset [wall jump v] to [0]\nbroadcast (Edit v)\n\n@Blocks\n\nwhen I receive [dirt v]\nswitch costume to (dirt v)\n\nwhen I receive [grass v]\nswitch costume to (grass v)\n\nwhen I receive [stone v]\nswitch costume to (stone v)\n\nwhen I receive [stone2 v]\nswitch costume to (stone2 v)\n\nwhen I receive [water v]\nswitch costume to (water v)\n\nwhen I receive [lava v]\nswitch costume to (lava v)\n\nwhen I receive [spike v]\nswitch costume to (spike v)\n\nwhen I receive [erase v]\nswitch costume to (erase v)\n\nwhen I receive [edit v]\nswitch costume to (grass v)\nshow\nstop [other scripts in sprite v]\nforever\n    set [space v] to [14]\n    set size to (25) %\n    switch costume to (grass select v)\n    show\n    go to (mouse-pointer v)\n    go to x: ((round ((x position) / (Space))) * (Space)) y: ((round ((y position) / (Space))) * (Space))\n    set [stamp v] to [1]\n    if <(x position) > [224]> then\n        set x to (224)\n        set [stamp v] to [0]\n    end\n    if <(x position) < [-224]> then\n        set x to (-224)\n        set [stamp v] to [0]\n    end\n    if <(y position) > [126]> then\n        set y to (126)\n        set [stamp v] to [0]\n    end\n    if <(y position) < [-112]> then\n        set y to (-112)\n        set [stamp v] to [0]\n    end\n    if <<<<mouse down?> and <(Stamp) = [1]>> and <(costume [number v]) = [9]>> and <(Start) = [0]>> then\n        set size to (30) %\n        switch costume to (start point v)\n        stamp\n        set [wherex v] to (x position)\n        set [wherey v] to (y position)\n        set size to (25) %\n        set [start v] to [1]\n    end\n    if <<<<mouse down?> and <(Stamp) = [1]>> and <(costume [number v]) = [9]>> and <(Start) = [1]>> then\n        set size to (30) %\n        switch costume to (void v)\n        stamp\n        set size to (25) %\n    end\n    if <<<mouse down?> and <(Stamp) = [1]>> and <(costume [number v]) = [8]>> then\n        if <touching color (#cbaf81)?> then\n            set [start v] to [0]\n        end\n        set size to (30) %\n        switch costume to (erase v)\n        stamp\n        set size to (25) %\n    end\n    if <<<mouse down?> and <(Stamp) = [1]>> and <touching color (#e5f6ff)?>> then\n        set size to (30) %\n        stamp\n        set size to (25) %\n    end\nend\n\nwhen I receive [play v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nset [wherex v] to [-220]\nset [wherey v] to [0]\nset [start v] to [0]\nerase all\n\nwhen I receive [start point v]\nswitch costume to (start point v)\n\nwhen I receive [start block v]\nset [start v] to [0]\n\n@Select - Grass\n\nwhen I receive [edit v]\nshow\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        broadcast (Grass v)\n    end\nend\n\nwhen I receive [play v]\nhide\nstop [other scripts in sprite v]\n\n@Select - Dirt\n\nwhen I receive [edit v]\nshow\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        broadcast (Dirt v)\n    end\nend\n\nwhen I receive [play v]\nhide\nstop [other scripts in sprite v]\n\n@Select - Stone Top\n\nwhen I receive [edit v]\nshow\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        broadcast (Stone v)\n    end\nend\n\nwhen I receive [play v]\nhide\nstop [other scripts in sprite v]\n\n@Select - Stone In\n\nwhen I receive [edit v]\nshow\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        broadcast (Stone2 v)\n    end\nend\n\nwhen I receive [play v]\nhide\nstop [other scripts in sprite v]\n\n@Select - Water\n\nwhen I receive [edit v]\nshow\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        broadcast (Water v)\n    end\nend\n\nwhen I receive [play v]\nhide\nstop [other scripts in sprite v]\n\n@Select - Lava\n\nwhen I receive [edit v]\nshow\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        broadcast (Lava v)\n    end\nend\n\nwhen I receive [play v]\nhide\nstop [other scripts in sprite v]\n\n@Select - Spike\n\nwhen I receive [edit v]\nshow\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        broadcast (Spike v)\n    end\nend\n\nwhen I receive [play v]\nhide\nstop [other scripts in sprite v]\n\n@Select - Eraser\n\nwhen I receive [edit v]\nshow\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        broadcast (Erase v)\n    end\nend\n\nwhen I receive [play v]\nhide\nstop [other scripts in sprite v]\n\n@Select - Start Point\n\nwhen I receive [edit v]\nshow\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        broadcast (Start Point v)\n    end\nend\n\nwhen I receive [play v]\nhide\nstop [other scripts in sprite v]\n\n@Select - Eraser2\n\nwhen I receive [erase v]\nstop [other scripts in sprite v]\nshow\nforever\n    go to [front v] layer\n    go to (mouse-pointer v)\nend\n\nwhen I receive [play v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [dirt v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [grass v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [lava v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [spike v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [start point v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [stone v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [stone2 v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [water v]\nstop [other scripts in sprite v]\nhide\n\nwhen flag clicked\nhide\n\n@Play\n\nwhen I receive [edit v]\nwait (0.5) seconds\nshow\nforever\n    set [ghost v] effect to (40)\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (0)\n        if <mouse down?> then\n            broadcast (Play v)\n            stop [this script v]\n        end\n    end\nend\n\nwhen I receive [play v]\nhide\nstop [other scripts in sprite v]\n\n@Double Jump\n\nwhen I receive [edit v]\nwait (0.5) seconds\nshow\nforever\n    set [ghost v] effect to (40)\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (0)\n        if <mouse down?> then\n            if <(costume [number v]) = [1]> then\n                next costume\n                set [allow v] to [1]\n                wait (0.2) seconds\n            end\n        end\n        if <mouse down?> then\n            if <(costume [number v]) = [2]> then\n                next costume\n                set [allow v] to [0]\n                wait (05) seconds\n            end\n        end\n    end\nend\n\nwhen I receive [play v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nswitch costume to (x v)\n\n@Wall Jump\n\nwhen I receive [edit v]\nwait (0.5) seconds\nshow\nforever\n    set [ghost v] effect to (40)\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (0)\n        if <mouse down?> then\n            if <(costume [number v]) = [1]> then\n                next costume\n                set [wall jump v] to [1]\n                wait (0.5) seconds\n            end\n        end\n        if <mouse down?> then\n            if <(costume [number v]) = [2]> then\n                next costume\n                set [wall jump v] to [0]\n                wait (0.5) seconds\n            end\n        end\n    end\nend\n\nwhen I receive [play v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nswitch costume to (x v)\n\n@Clear all\n\nwhen I receive [edit v]\nwait (0.5) seconds\nshow\nforever\n    set [ghost v] effect to (40)\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (0)\n        if <mouse down?> then\n            if <(costume [number v]) = [1]> then\n                erase all\n                broadcast (Start Block v)\n            end\n        end\n    end\nend\n\nwhen I receive [play v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nswitch costume to (x v)\n\n@Save\n\nwhen I receive [edit v]\nwait (0.5) seconds\nshow\nforever\n    set [ghost v] effect to (40)\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (0)\n        if <mouse down?> then\n            broadcast (Save v)\n        end\n    end\nend\n\nwhen I receive [play v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nswitch costume to (x v)\n\n@Edit\n\nwhen I receive [play v]\nwait (0.5) seconds\nshow\nforever\n    set [ghost v] effect to (40)\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (0)\n        if <mouse down?> then\n            broadcast (Edit v)\n            stop [this script v]\n        end\n    end\nend\n\nwhen I receive [edit v]\nhide\nstop [other scripts in sprite v]\n\n@Save menu\n\nwhen I receive [save v]\nshow\ngo to x: (0) y: (-500)\nglide (1) secs to x: (0) y: (0)\n\nwhen flag clicked\nhide\n\nwhen [space v] key pressed\nglide (1) secs to x: (0) y: (-500)\nhide\n\n@Player stats\n\nwhen I receive [play v]\nwait (0.5) seconds\nshow\nforever\n    set [ghost v] effect to (40)\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (0)\n        if <mouse down?> then\n            ask [What do you want the jump height to be?] and wait\n            if <<(answer) > [15]> or <(answer) < [0]>> then\n                ask [Jump height can only be between 0 to 15. Chose again] and wait\n            end\n            if <<(answer) > [15]> or <(answer) < [0]>> then\n                ask [Jump height can only be between 0 to 15. Chose again] and wait\n            end\n            if <<(answer) > [15]> or <(answer) < [0]>> then\n                ask [Jump height can only be between 0 to 15. Chose again] and wait\n            end\n            if <<(answer) > [15]> or <(answer) < [0]>> then\n                ask [Jump height can only be between 0 to 15. Chose again] and wait\n            end\n            if <<(answer) > [15]> or <(answer) < [0]>> then\n                ask [Jump height can only be between 0 to 15. Chose again] and wait\n            end\n            if <<(answer) > [15]> or <(answer) < [0]>> then\n                ask [Jump height can only be between 0 to 15. Chose again] and wait\n            end\n            if <<(answer) > [15]> or <(answer) < [0]>> then\n                ask [Jump height can only be between 0 to 15. Chose again] and wait\n            end\n            if <<(answer) > [15]> or <(answer) < [0]>> then\n                ask [Jump height can only be between 0 to 15. Chose again] and wait\n            end\n            set [yspeed v] to (answer)\n            ask [What do you want the speed to be?] and wait\n            if <<(answer) > [5]> or <(answer) < [0]>> then\n                ask [Speed can only be between 0 to 5. Chose again] and wait\n            end\n            if <<(answer) > [5]> or <(answer) < [0]>> then\n                ask [Speed can only be between 0 to 5. Chose again] and wait\n            end\n            if <<(answer) > [5]> or <(answer) < [0]>> then\n                ask [Speed can only be between 0 to 5. Chose again] and wait\n            end\n            if <<(answer) > [5]> or <(answer) < [0]>> then\n                ask [Speed can only be between 0 to 5. Chose again] and wait\n            end\n            if <<(answer) > [5]> or <(answer) < [0]>> then\n                ask [Speed can only be between 0 to 5. Chose again] and wait\n            end\n            if <<(answer) > [5]> or <(answer) < [0]>> then\n                ask [Speed can only be between 0 to 5. Chose again] and wait\n            end\n            if <<(answer) > [5]> or <(answer) < [0]>> then\n                ask [Speed can only be between 0 to 5. Chose again] and wait\n            end\n            if <<(answer) > [5]> or <(answer) < [0]>> then\n                ask [Speed can only be between 0 to 5. Chose again] and wait\n            end\n            set [xspeed v] to (answer)\n            set [xspeed v] to (answer)\n        end\n    end\nend\n\nwhen I receive [edit v]\nhide\nstop [other scripts in sprite v]\n\n@scrolling  platformer creator assets\n\nwhen flag clicked\nset [ghost v] effect to (0)\nforever\n    go to [front v] layer\n    change [ghost v] effect by (1)\nend\n\n@Player\n\nwhen I receive [play v]\nReset\nforever\n    Physics <(y) > [0]> y speed (Yspeed) x speed (XSpeed)\nend\n\ndefine Physics <up> y speed (yspd) x speed (xspd)\nset [touching v] to [0]\nset [on ground v] to [0]\nchange [y v] by (-1)\nchange y by (y)\nrepeat until <not <<touching color (#8eda65)?> or <<touching color (#dab16f)?> or <<touching color (#848584)?> or <<touching color (#b0b1b0)?> or <<touching color (#ffffff)?> or <touching color (#ab946e)?>>>>>>>\n    if <up> then\n        change y by (-1)\n    else\n        set [double jump v] to [0]\n        set [on ground v] to [1]\n        change y by (1)\n    end\n    set [y v] to [0]\nend\nif <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <(on ground) = [1]>> then\n    set [y v] to (yspd)\nend\nif <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <(Double Jump) = [1]>> and <(Allow) = [1]>> then\n    set [y v] to (yspd)\n    set [double jump v] to [2]\nend\nif <<not <<key (up arrow v) pressed?> or <key (w v) pressed?>>> and <(Double Jump) = [0]>> then\n    set [double jump v] to [1]\nend\nif <touching color (#9acdff)?> then\n    set [y v] to [0]\n    if <key (up arrow v) pressed?> then\n        change [y v] by (2)\n    end\nend\nif <key (right arrow v) pressed?> then\n    change [x v] by (xspd)\nend\nif <key (left arrow v) pressed?> then\n    change [x v] by ((xspd) * (-1))\nend\nset [x v] to ((x) * (0.8))\nchange x by (x)\nrepeat until <not <<touching color (#8eda65)?> or <<touching color (#dab16f)?> or <<touching color (#848584)?> or <<touching color (#b0b1b0)?> or <<touching color (#ffffff)?> or <touching color (#ab946e)?>>>>>>>\n    change x by ((([abs v] of (x) ) / (x)) * (-1))\n    set [touching v] to [1]\nend\nif <<(touching) = [1]> and <<key (up arrow v) pressed?> and <(Wall Jump) = [1]>>> then\n    if <(x) > [0]> then\n        set [x v] to [-5]\n    else\n        set [x v] to [5]\n    end\n    set [y v] to (yspd)\nend\nif <key (right arrow v) pressed?> then\n    switch costume to (2a v)\nend\nif <key (left arrow v) pressed?> then\n    switch costume to (1a v)\nend\nif <key (up arrow v) pressed?> then\n    switch costume to (6a v)\nend\nif <not <key (any v) pressed?>> then\n    switch costume to (3a v)\nend\nif <<key (up arrow v) pressed?> and <key (right arrow v) pressed?>> then\n    switch costume to (4a v)\nend\nif <<key (up arrow v) pressed?> and <key (left arrow v) pressed?>> then\n    switch costume to (5a v)\nend\nif <(y position) < [-110]> then\n    Reset\nend\nif <touching color (#ff0000)?> then\n    Reset\nend\nif <touching color (#bb0000)?> then\n    Reset\nend\n\nwhen I receive [edit v]\nstop [other scripts in sprite v]\nhide\n\ndefine Reset\nstop [other scripts in sprite v]\nset [y v] to [0]\ngo to x: (WhereX) y: ((WhereY) + (10))\nshow\n\nwhen flag clicked\nset [xspeed v] to [1]\nset [yspeed v] to [8]\n\n