Among us platformer 

Instructions: {WASD to move}\n-------------------------\nafter the "cutscene", use the computer to start the game!\ncollect all the data from the Skeld to save it from the impostors.\n-----------------------\nI know its kind of short, but I just really wanted to release this game because i like it a lot. This took me FOREVER, and i put a lot of work in to it. it was totally worth it for the final product though.\nFuture changes may include:\n-SFX changes\n-minor bug fixes (layers are actin really weird)\n-player sound and movement changes\n------------------------\nI am planning to make a second part, but it probably wont be for a while.\n

@Stage\n\n@PlayerHitBbox\n\nwhen flag clicked\ngo to [front v] layer\ngo to x: (-135) y: (-125)\nset [yvel v] to [0]\nset [xvel v] to [0]\nforever\n    if <(CanMove?) = [yes]> then\n        platform gravity: [-1] jump height: [13] side movement speed [3.5] friction [.65] slope [8]\n    end\nend\n\ndefine platform gravity: (gravity) jump height: (jump height) side movement speed (side movement) friction (friction) slope (slope)\nchange [yvel v] by (gravity)\nchange y by (YVel)\nif <touching (level v)?> then\n    repeat until <not <touching (level v)?>>\n        change y by ((([abs v] of (YVel) ) / (YVel)) * (-1))\n    end\n    set [yvel v] to (<<key (up arrow v) pressed?> and <(([abs v] of (YVel) ) / (YVel)) = [-1]>> * (jump height))\nend\nset [xvel v] to (((Xvel) + ((<key (left arrow v) pressed?> * ((side movement) * (-1))) + (<key (right arrow v) pressed?> * (side movement)))) * (friction))\nchange x by (Xvel)\nset [wslope v] to [0]\nrepeat until <<(wslope) = ((slope) * (-1))> or <not <touching (level v)?>>>\n    change y by (1)\n    change [wslope v] by (-1)\nend\nif <touching (level v)?> then\n    change y by (wslope)\n    repeat until <not <touching (level v)?>>\n        change x by ((([abs v] of (Xvel) ) / (Xvel)) * (-1))\n    end\nend\n\nwhen flag clicked\nset size to (35) %\nstart sound [start v]\nforever\n    set [ghost v] effect to (100)\nend\n\nwhen I receive [resetplayer v]\ngo to x: (-204) y: (-150)\n\nwhen flag clicked\nforever\n    if <(Sound) = [off]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\n@PlayerAnimation\n\ndefine Walk\nswitch costume to (walk v)\nwait (.03) seconds\nswitch costume to (walk2 v)\nwait (.03) seconds\nswitch costume to (walk3 v)\nwait (.03) seconds\nswitch costume to (walk4 v)\nwait (.03) seconds\nswitch costume to (walk5 v)\nwait (.03) seconds\nswitch costume to (walk6 v)\nwait (.03) seconds\nswitch costume to (walk7 v)\nwait (.03) seconds\nswitch costume to (walk8 v)\nwait (.03) seconds\nswitch costume to (walk9 v)\nwait (.03) seconds\nswitch costume to (walk10 v)\nwait (.03) seconds\nswitch costume to (walk11 v)\nwait (.03) seconds\nswitch costume to (walk12 v)\nwait (.03) seconds\n\nwhen flag clicked\npoint in direction (90)\ngo to x: (0) y: (0)\nset size to (35) %\nforever\n    go to (playerhitbbox v)\n    if <<key (left arrow v) pressed?> and <(CanMove?) = [yes]>> then\n        point in direction (-90)\n    end\n    if <<key (right arrow v) pressed?> and <(CanMove?) = [yes]>> then\n        point in direction (90)\n    end\nend\n\ndefine WalkSound\nstart sound [2 v]\nwait (.2) seconds\n\nwhen flag clicked\nforever\n    if <(YVel) < [-1]> then\n        set [falling? v] to [yes]\n    else\n        set [falling? v] to [no]\n    end\nend\n\nwhen flag clicked\nforever\n    if <<<<key (right arrow v) pressed?> or <key (left arrow v) pressed?>> or <key (up arrow v) pressed?>> and <(CanMove?) = [yes]>> then\n        Walk\n    end\nend\n\nwhen flag clicked\nforever\n    if <<<<<key (left arrow v) pressed?> or <key (right arrow v) pressed?>> and <(YVel) = [0]>> and <(CanMove?) = [yes]>> and <(TouchingGround) = [yes]>> then\n        WalkSound\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Falling?) = [yes]> then\n        switch costume to (fall v)\n    end\nend\n\nwhen flag clicked\nset [falling? v] to [no]\nforever\n    if <<<(Xvel) < [1]> and <(Xvel) > [-1]>> and <(Falling?) = [no]>> then\n        switch costume to (idle v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (level v)?> then\n        set [touchingground v] to [yes]\n    else\n        set [touchingground v] to [no]\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (wires v)?> then\n        broadcast (ResetPlayer v)\n        start sound [Electric Zap 001 Sound Effect v]\n    end\nend\n\nwhen flag clicked\n\nwhen flag clicked\nforever\n    go to [front v] layer\n    go [backward v] (5) layers\nend\n\nwhen I receive [resetplayer v]\nswitch costume to (idle v)\npoint in direction (90)\n\nwhen flag clicked\nforever\n    if <(Sound) = [off]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\n@level\n\nwhen flag clicked\nforever\n    switch costume to ((Level) + (1))\nend\n\nwhen flag clicked\nset [level v] to [0]\ngo to x: (0) y: (0)\nforever\n    go to [front v] layer\n    go [backward v] (5) layers\nend\n\nwhen flag clicked\nset volume to (30) %\nforever\n    play sound [Trilha Sonora - Among Us Musica do Menu do PrincipalMain Menu theme song v] until done\nend\n\nwhen flag clicked\nforever\n    if <(Sound) = [off]> then\n        set volume to (0) %\n    else\n        set volume to (30) %\n    end\nend\n\n@backgroundSprite2\n\nwhen flag clicked\nset [done? v] to [no]\nforever\n    if <(DONE?) = [no]> then\n        switch costume to ((Level) + (1))\n    end\nend\n\nwhen I receive [finish v]\nset [done? v] to [yes]\n\nwhen flag clicked\nforever\n    if <(DONE?) = [yes]> then\n        switch costume to (9 v)\n        wait (1) seconds\n        switch costume to (8 v)\n        wait (1) seconds\n    end\nend\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [back v] layer\n\n@Back2\n\nwhen flag clicked\ngo to x: (BackPos) y: (0)\nset [backpos v] to [0]\nforever\n    change [backpos v] by (-2)\n    go to x: (BackPos) y: (0)\n    if <(BackPos) < [-480]> then\n        set [backpos v] to [480]\n    end\nend\n\nwhen flag clicked\nforever\n    go to [back v] layer\nend\n\n@Back1\n\nwhen flag clicked\ngo to x: (BackPos) y: (0)\nset [backpos v] to [480]\nforever\n    change [backpos v] by (-2)\n    go to x: (BackPos) y: (0)\n    if <(BackPos) < [-480]> then\n        set [backpos v] to [480]\n    end\nend\n\nwhen flag clicked\nforever\n    go to [back v] layer\nend\n\n@computer\n\nwhen flag clicked\nforever\n    go to [front v] layer\n    go [backward v] (9) layers\nend\n\nwhen flag clicked\nset [menuopen? v] to [no]\nforever\n    if <touching (playerhitbbox v)?> then\n        if <(costume [number v]) = [1]> then\n            set [brightness v] effect to (20)\n            broadcast (TouchingPuter v)\n            if <key (e v) pressed?> then\n                if <(MenuOpen?) = [no]> then\n                    broadcast (OpenMenu v)\n                    wait until <not <key (e v) pressed?>>\n                else\n                    broadcast (CloseMenu v)\n                    wait until <not <key (e v) pressed?>>\n                end\n            end\n        end\n    else\n        set [brightness v] effect to (0)\n        broadcast (NotTouchingPuter v)\n    end\nend\n\nwhen flag clicked\nswitch costume to (computer v)\nwait until <(Level) = [8]>\nswitch costume to (reactorblue v)\n\nwhen flag clicked\nset [menuopen? v] to [no]\nforever\n    if <touching (playerhitbbox v)?> then\n        if <(costume [number v]) = [2]> then\n            set [brightness v] effect to (20)\n            broadcast (TouchingReactor v)\n            if <key (e v) pressed?> then\n                broadcast (Finish v)\n                wait until <not <key (e v) pressed?>>\n            end\n        end\n    else\n        set [brightness v] effect to (0)\n        broadcast (NotTouchingReactor v)\n    end\nend\n\nwhen I receive [finish v]\nswitch costume to (reactorred v)\n\nwhen flag clicked\nforever\n    if <<(Level) = [0]> or <(Level) = [8]>> then\n        show\n    else\n        hide\n    end\nend\n\n@Menu\n\nwhen flag clicked\nswitch costume to (start v)\nhide\nforever\n    go to [front v] layer\n    if <(MenuOpen?) = [yes]> then\n        if <key (down arrow v) pressed?> then\n            next costume\n            start sound [scroll v]\n            wait until <not <key (down arrow v) pressed?>>\n        end\n        if <key (up arrow v) pressed?> then\n            switch costume to ((costume [number v]) - (1))\n            start sound [scroll v]\n            wait until <not <key (up arrow v) pressed?>>\n        end\n    end\nend\n\nwhen I receive [openmenu v]\nset [canmove? v] to [no]\nswitch costume to (start v)\nstart sound [pick v]\nset [menuopen? v] to [yes]\nshow\n\nwhen I receive [closemenu v]\nset [canmove? v] to [yes]\nstart sound [pick v]\nset [menuopen? v] to [no]\nhide\n\nwhen flag clicked\nforever\n    go to [front v] layer\n    go [backward v] (4) layers\nend\n\nplay sound [Cinematic Deep Bass Rumble Sound Effect v] until done\n\nwhen flag clicked\nforever\n    if <<key (space v) pressed?> and <<(costume [number v]) = [1]> and <(MenuOpen?) = [yes]>>> then\n        broadcast (LevelChange v)\n        broadcast (CloseMenu v)\n    end\nend\n\nwhen flag clicked\nset [sound v] to [on]\nforever\n    if <<(costume [number v]) = [2]> and <(MenuOpen?) = [yes]>> then\n        if <key (space v) pressed?> then\n            if <(Sound) = [off]> then\n                broadcast (SoundOn v)\n                wait until <not <key (space v) pressed?>>\n            else\n                broadcast (SoundOff v)\n                wait until <not <key (space v) pressed?>>\n            end\n        end\n    end\nend\n\nwhen I receive [soundoff v]\nset [sound v] to [off]\n\nwhen I receive [soundon v]\nset [sound v] to [on]\n\nforever\n    if <<<(costume [number v]) = [2]> and <(MenuOpen?) = [yes]>> and <(Sound) = [on]>> then\n        if <key (space v) pressed?> then\n    end\nend\n\nwhen flag clicked\nforever\n    if <<key (space v) pressed?> and <<(costume [number v]) = [3]> and <(MenuOpen?) = [yes]>>> then\n        broadcast (CloseMenu v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Sound) = [off]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\n@E To Interact\n\nwhen I receive [nottouchingputer v]\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [touchingputer v]\nswitch costume to (costume1 v)\nshow\ngo to x: (42) y: (-45)\n\nwhen flag clicked\nhide\n\nwhen I receive [touchingreactor v]\nhide\n\nwhen I receive [touchingreactor v]\nswitch costume to (costume2 v)\ngo to x: (65) y: (85)\nshow\n\n@Folder\n\nwhen flag clicked\nforever\n    bob\nend\n\ndefine bob\nrepeat (3)\n    change y by (1)\n    wait (.01) seconds\nend\nrepeat (3)\n    change y by (.5)\n    wait (.01) seconds\nend\nchange y by (.5)\nwait (.2) seconds\nrepeat (3)\n    change y by (-1)\n    wait (.01) seconds\nend\nrepeat (3)\n    change y by (-.5)\n    wait (.01) seconds\nend\nchange y by (-.5)\nwait (.2) seconds\n\nwhen flag clicked\nset size to (100) %\nhide\ngo to x: (-190) y: (130)\nforever\n    if <touching (playerhitbbox v)?> then\n        collect\n        wait until <not <touching (playerhitbbox v)?>>\n    end\nend\n\ndefine collect\nstart sound [Collect v]\nrepeat (5)\n    change size by (7)\nend\nrepeat (20)\n    change size by (-8)\nend\nhide\nbroadcast (LevelChange v)\n\nwhen flag clicked\nforever\n    wait until <(Level) = [1]>\n    set size to (100) %\n    go to x: (-190) y: (130)\n    wait until <(Level) = [2]>\n    set size to (100) %\n    go to x: (-190) y: (130)\n    wait until <(Level) = [3]>\n    set size to (100) %\n    go to x: (50) y: (130)\n    wait until <(Level) = [4]>\n    set size to (100) %\n    go to x: (190) y: (-120)\n    wait until <(Level) = [5]>\n    set size to (100) %\n    go to x: (190) y: (-145)\n    wait until <(Level) = [6]>\n    set size to (100) %\n    go to x: (150) y: (115)\n    wait until <(Level) = [7]>\n    set size to (100) %\n    go to x: (-190) y: (135)\nend\n\nwhen I receive [resetplayer v]\nshow\n\nwhen flag clicked\nforever\n    if <<(Level) = [0]> or <(Level) = [8]>> then\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Sound) = [off]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\n@Blackout\n\nwhen flag clicked\nshow\nset [ghost v] effect to (100)\nforever\n    go to [front v] layer\nend\n\nwhen I receive [levelchange v]\nset [canmove? v] to [no]\nrepeat (20)\n    change [ghost v] effect by (-5)\n    wait (.02) seconds\nend\nstart sound [DoorOpen v]\nchange [level v] by (1)\nwait (2) seconds\nbroadcast (ResetPlayer v)\nstart sound [DoorClose v]\nrepeat (20)\n    change [ghost v] effect by (5)\n    wait (.02) seconds\nend\nset [canmove? v] to [yes]\n\nwhen I receive [finish v]\nwait (3) seconds\nrepeat (20)\n    change [ghost v] effect by (-5)\n    wait (.02) seconds\nend\nset [canmove? v] to [no]\nwait (4) seconds\nbroadcast (end v)\nhide\n\nwhen flag clicked\nforever\n    if <(Sound) = [off]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\n@Sprite1\n\nwhen flag clicked\nshow\nset [canmove? v] to [no]\nforever\n    go to [front v] layer\nend\n\nwhen flag clicked\nshow\nswitch costume to (backstory1 v)\nwait (3) seconds\nswitch costume to (backstory2 v)\nwait (5) seconds\nswitch costume to (backstor3 v)\nwait (5) seconds\nhide\nset [canmove? v] to [yes]\n\nwhen I receive [end v]\nshow\nswitch costume to (finish v)\nwait (3) seconds\nswitch costume to (finish2 v)\nwait (5) seconds\nswitch costume to (finish3 v)\nstart sound [victory v]\n\nwhen flag clicked\nforever\n    if <(Sound) = [off]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\n@Wires\n\nwhen flag clicked\nforever\n    switch costume to ((Level) + (1))\nend\n\n@Sprite2\n\nwhen flag clicked\nset [ghost v] effect to (100)\nforever\n    go to [front v] layer\nend\n\nwhen flag clicked\nwait until <(DONE?) = [yes]>\nrepeat (4)\n    set [ghost v] effect to (50)\n    wait (1) seconds\n    set [ghost v] effect to (100)\n    wait (1) seconds\nend\n\n@assets/ SFX\n\nwhen I receive [finish v]\nplay sound [Beep v] until done\n\nwhen flag clicked\nforever\n    if <(Sound) = [off]> then\n        set volume to (0) %\n    else\n        set volume to (100) %\n    end\nend\n\n@Sprite3\n\nwhen I receive [openmenu v]\nshow\n\nwhen I receive [closemenu v]\nhide\n\nwhen flag clicked\nhide\nforever\n    go to [front v] layer\nend\n\nwhen flag clicked\nforever\n    if <(Sound) = [on]> then\n        switch costume to (costume1 v)\n    else\n        switch costume to (costume2 v)\n    end\nend\n\n@Sprite4\n\nwhen flag clicked\nforever\n    go to [front v] layer\n    set [ghost v] effect to (100)\nend\n\n