☁ Snowy Plains | A Multiplayer Platformer #games #all

Instructions: Wᴇʟᴄᴏᴍᴇ ᴏɴ ᴍʏ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ ᴘʟᴀᴛꜰᴏʀᴍᴇʀ \n\nRᴇᴀʟ ᴛɪᴍᴇ ꜱᴋʏ\nSᴜᴘᴘᴏʀᴛ 8 ᴘʟᴀʏᴇʀꜱ\nAʀʀᴏᴡ ᴋᴇʏꜱ ᴏʀ ᴍᴏʙɪʟᴇ ᴄᴏɴᴛʀᴏʟꜱ ᴛᴏ ᴍᴏᴠᴇ \nDᴏɴ’ᴛ ꜰᴀʟʟ ɪɴ ᴛʜᴇ ᴡᴀᴛᴇʀ\nAᴠᴏɪᴅ ꜱᴘɪᴋᴇꜱ, ɢᴇᴀʀꜱ ᴀɴᴅ ᴇɴᴇᴍɪᴇꜱ\nɴᴏɴ ꜱᴄʀᴏʟʟɪɴɢ\nCᴏɪɴꜱ ʀᴇᴍᴏᴠᴇᴅ ᴅᴜᴇ ᴛᴏ ꜱᴄʀᴀᴛᴄʜ ᴄʟᴏɴᴇꜱ ʟɪᴍɪᴛᴀᴛɪᴏɴ\n\nTʜᴇ ᴏᴛʜᴇʀꜱ ᴘʟᴀʏᴇʀꜱ ᴛʜᴀᴛ ᴀʀᴇɴ’ᴛ ɪɴ ᴛʜᴇ ꜱᴀᴍᴇ ʟᴇᴠᴇʟ ᴀꜱ ʏᴏᴜ ᴀʀᴇ ʀᴇᴘʀᴇꜱᴇɴᴛᴇᴅ ʙʏ ᴀʀʀᴏᴡꜱ\n\nSʜᴀʀᴇᴅ 03/04/22\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ \n╔═══════╗  \n♡ ʟᴏᴠᴇ ♡ \n╚═══════╝ \n╔═══════╗\n☆ ғᴀᴠᴏʀɪᴛᴇ ☆ \n╚═══════╝\n╔═══════╗\n ✙ ғᴏʟʟᴏᴡ ✙\n╚═══════╝ \n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\nCʀᴇᴅɪᴛꜱ :\n\nMᴜꜱɪᴄ : ?\nTʜᴀɴᴋꜱ ᴛᴏ @-Zonage- ꜰᴏʀ ᴛʜᴇ ʜᴇʟᴘ 5%\nMᴜʟᴛɪᴘʟᴀʏᴇʀ ᴇɴɢɪɴᴇ ʙʏ @griffpatch 15%\nMᴏʙɪʟᴇ ꜰʀɪᴇɴᴅʟʏ ʟᴏɢᴏ ʙʏ @alphabetica\n\n\n#games #all #platformer #multiplayer #art #animations\n#games #all #platformer #multiplayer #art #animations\n#games #all #platformer #multiplayer #art #animations #games #all #platformer #multiplayer #art #animations #games #all #platformer #multiplayer #art #animations #games #all #platformer #multiplayer #art #animations #games #all #platformer #multiplayer #art #animations

@Stage\n\nwhen I receive [youwon v]\nshow variable [☁ bestime v]\nshow variable [time v]\nset [time v] to (timer)\nif <(time) < (☁ bestime)> then\n    set [☁ bestime v] to (time)\nend\nstop [other scripts in sprite v]\nstop all sounds\nswitch backdrop to (win screen v)\nplay sound [YOU WON! v] until done\nstop [all v]\n\nwhen I receive [begin v]\nhide variable [my player # v]\nstart sound [Connect v]\nwait (0.2) seconds\nbroadcast (start v)\nif <(username) = [-Aldess]> then\nforever\n    play sound [yeah v] until done\nend\n\nwhen I receive [start v]\nforever\n    switch backdrop to (current [hour v])\nend\n\nwhen flag clicked\nhide variable [time v]\nhide variable [☁ bestime v]\n\n@Sprite1\n\nwhen flag clicked\nset [☁ p1 v] to [0]\nset [☁ p2 v] to [0]\nset [☁ p3 v] to [0]\nset [☁ p4 v] to [0]\nset [☁ p5 v] to [0]\nset [☁ p6 v] to [0]\nset [☁ p7 v] to [0]\nset [☁ p8 v] to [0]\n\n@Player\n\nwhen I start as a clone\nswitch costume to (costume1 v)\nchange y by (-2)\nrepeat (10)\n    change [ghost v] effect by (10)\n    change size by (-8)\nend\ndelete this clone\n\nwhen flag clicked\nset [last.activity v] to [1]\n\ndefine Spawn\nif <(Level) = [3]> then\n    go to x: (-200) y: (100)\nelse\n    if <(Level) = [5]> then\n        go to x: (-200) y: (200)\n    else\n        if <(Level) = [8]> then\n            go to x: (-200) y: (200)\n        else\n            if <(Level) = [10]> then\n                go to x: (-200) y: (200)\n            else\n                if <(Level) = [11]> then\n                    go to x: (-200) y: (200)\n                else\n                    if <(Level) = [13]> then\n                        broadcast (Youwon v)\n                    else\n                        go to x: (-200) y: (0)\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [dead v]\nrespawn\n\ndefine respawn\nif <(Level) = [4]> then\n    go to x: (-200) y: (100)\nelse\n    if <(Level) = [6]> then\n        go to x: (-200) y: (200)\n    else\n        if <(Level) = [9]> then\n            go to x: (-200) y: (200)\n        else\n            if <(Level) = [11]> then\n                go to x: (-200) y: (200)\n            else\n                if <(Level) = [12]> then\n                    go to x: (-200) y: (200)\n                else\n                    go to x: (-200) y: (0)\n                end\n            end\n        end\n    end\nend\n\nwhen flag clicked\nhide\nset [max players v] to [8]\nset [my player # v] to [0]\nhide variable [coins v]\nbroadcast (Setup - Opponents v) and wait\nswitch backdrop to (connecting... v)\nbroadcast (Join Game v) and wait\nif <(My player #) > [0]> then\n    start sound [Connect v]\n    switch backdrop to (connected v)\nelse\n    switch backdrop to (full v)\nend\nbroadcast (Begin v)\n\ndefine Write (val) to encoded\nset [letter # v] to [1]\nrepeat (length of (val))\n    set [encoded v] to (join (encoded) (item # of (letter (Letter #) of (val)) in [code v]))\n    change [letter # v] by (1)\nend\nset [encoded v] to (join (encoded) [00])\n\nwhen I receive [begin v]\nset [level v] to [1]\nbroadcast (Level v)\nset [coins v] to [0]\nshow\ngo to x: (-200) y: (0)\npoint in direction (90)\nsay (join (My player #) (join [ ] (username)))\nswitch costume to (costume3 v)\nforever\n    if <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>>> then\n        switch costume to (costume3 v)\n        change [x v] by (1)\n        set [last.activity v] to (timer)\n    end\n    if <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>>> then\n        switch costume to (costume4 v)\n        change [x v] by (-1)\n        set [last.activity v] to (timer)\n    end\n    set [x v] to ((X) * (0.9))\n    change x by (X)\n    if <<touching (platforms v)?> or <touching (moving platforms v)?>> then\n        change y by (1)\n        if <<touching (platforms v)?> or <touching (moving platforms v)?>> then\n            change y by (1)\n            if <<touching (platforms v)?> or <touching (moving platforms v)?>> then\n                change y by (1)\n                if <<touching (platforms v)?> or <touching (moving platforms v)?>> then\n                    change y by (1)\n                    if <<touching (platforms v)?> or <touching (moving platforms v)?>> then\n                        change y by (1)\n                        if <<touching (platforms v)?> or <touching (moving platforms v)?>> then\n                            change y by (-5)\n                            change x by ((X) * (-1))\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [y v] by (-1)\n    change y by (Y)\n    if <<touching (platforms v)?> or <touching (moving platforms v)?>> then\n        create clone of (_myself_ v)\n        change y by ((Y) * (-1))\n        set [y v] to [0]\n    end\n    change y by (-1)\n    if <<<touching (platforms v)?> or <touching (moving platforms v)?>> and <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>>> then\n        set [y v] to [12]\n        set [last.activity v] to (timer)\n    end\n    change y by (1)\n    if <<touching (gears v)?> or <<touching (spikes v)?> or <touching (lava v)?>>> then\n        repeat (6)\n            turn right (15) degrees\n        end\n        point in direction (90)\n        switch costume to (costume2 v)\n        wait (0.2) seconds\n        respawn\n        switch costume to (costume3 v)\n    end\n    if <touching (boost  v)?> then\n        set [y v] to [25]\n    end\n    if <touching (flag v)?> then\n        Spawn\n        change [level v] by (1)\n        broadcast (Level v)\n    end\n    if <(My player #) > [0]> then\n        Send cloud data\n    end\nend\n\ndefine Set cloud # (player) to (value)\nif <(timer) < ((last.activity) + (60))> then\n    if <(player) = [1]> then\n        set [☁ p1 v] to (value)\n    else\n        if <(player) = [2]> then\n            set [☁ p2 v] to (value)\n        else\n            if <(player) = [3]> then\n                set [☁ p3 v] to (value)\n            else\n                if <(player) = [4]> then\n                    set [☁ p4 v] to (value)\n                else\n                    if <(player) = [5]> then\n                        set [☁ p5 v] to (value)\n                    else\n                        if <(player) = [6]> then\n                            set [☁ p6 v] to (value)\n                        else\n                            if <(player) = [7]> then\n                                set [☁ p7 v] to (value)\n                            else\n                                set [☁ p8 v] to (value)\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\ndefine Send cloud data\nset [encoded v] to []\nWrite (username) to encoded\nWrite (round ((timer) * (10))) to encoded\nWrite (x position) to encoded\nWrite (y position) to encoded\nWrite (Level) to encoded\nSet cloud # (My player #) to (encoded)\n\nwhen backdrop switches to [connected v]\nshow\n\nwhen I receive [youwon v]\nhide\n\nwhen I receive [begin v]\nif <(username) = [-Aldess]> then\n    set drag mode [draggable v]\nelse\n    set drag mode [not draggable v]\nend\n\n@Opponents\n\ndefine Begin decode of (encoded)\nset [encoded v] to (encoded)\nset [letter # v] to [1]\n\ndefine Value = read from encoded\nset [value v] to []\nforever\n    set [idx v] to (join (letter (Letter #) of (encoded)) (letter ((Letter #) + (1)) of (encoded)))\n    change [letter # v] by (2)\n    if <(Idx) < [1]> then\n        stop [this script v]\n    end\n    set [value v] to (join (Value) (item (Idx) of [code v]))\nend\n\ndefine Setup Players\nhide\nset [offline v] to [100]\nset [player # v] to [1]\nrepeat ((Max Players) - (1))\n    create clone of (_myself_ v)\n    change [player # v] by (1)\nend\n\nwhen I receive [begin v]\nforever\n    if <(My player #) = (Player #)> then\n        set [offline v] to [100]\n        hide\n    else\n        Tick\n    end\nend\n\ndefine Value = Cloud # (player)\nif <(player) = [1]> then\n    set [value v] to (☁ P1)\nelse\n    if <(player) = [2]> then\n        set [value v] to (☁ P2)\n    else\n        if <(player) = [3]> then\n            set [value v] to (☁ P3)\n        else\n            if <(player) = [4]> then\n                set [value v] to (☁ P4)\n            else\n                if <(player) = [5]> then\n                    set [value v] to (☁ P5)\n                else\n                    if <(player) = [6]> then\n                        set [value v] to (☁ P6)\n                    else\n                        if <(player) = [7]> then\n                            set [value v] to (☁ P7)\n                        else\n                            set [value v] to (☁ P8)\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [setup - opponents v]\nSetup Players\n\ndefine Tick\nValue = Cloud # (Player #)\nif <(join [A] (Value)) = (Last Value)> then\n    change [offline v] by (1)\n    if <(Offline) = [100]> then\n        hide\n    end\nelse\n    set [last value v] to (join [A] (Value))\n    if <(Offline) > [99]> then\n        show\n    end\n    set [offline v] to [0]\nend\nBegin decode of (Value)\nValue = read from encoded\nsay (join (Player #) (join [: ] (Value)))\nValue = read from encoded\nValue = read from encoded\nset x to (Value)\nValue = read from encoded\nset y to (Value)\nValue = read from encoded\nif <(Value) = (Level)> then\n    switch costume to (costume3 v)\n    show\nelse\n    if <(Value) < (Level)> then\n        switch costume to (costume4 v)\n    else\n        switch costume to (costume2 v)\n    end\nend\n\nwhen I receive [join game v]\nValue = Cloud # (Player #)\nset [last value v] to (join [A] (Value))\nwait (3) seconds\nValue = Cloud # (Player #)\nif <(join [A] (Value)) = (Last Value)> then\n    set [my player # v] to (Player #)\nend\n\nwhen I receive [youwon v]\nhide\n\n@Snow\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nif <(Level) = [14]> then\nelse\n    set size to (500) %\n    switch costume to (1 v)\n    show\n    go to [back v] layer\n    go to x: (220) y: (pick random (-160) to (200))\n    glide (pick random (1) to (4)) secs to x: (-220) y: (pick random (-160) to (200))\n    delete this clone\nend\n\nwhen I receive [start v]\nhide\nforever\n    create clone of (_myself_ v)\nend\n\n@Platforms\n\nwhen I receive [start v]\nshow\n\nwhen flag clicked\nset [level v] to [1]\ngo to x: (0) y: (0)\nhide\nswitch costume to (level 1 v)\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [youwon v]\nhide\n\n@Spikes\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nshow\ngo to [back v] layer\ngo to x: (0) y: (0)\n\nwhen flag clicked\ngo to x: (0) y: (10)\nhide variable [level v]\nhide\nswitch costume to (costume1 v)\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [youwon v]\nhide\n\n@Flag\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\ngo to [back v] layer\ngo to x: (0) y: (0)\nshow\nswitch costume to (costume1 v)\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [youwon v]\nhide\n\n@Lava\n\nwhen flag clicked\ngo to [back v] layer\nset [level v] to [1]\ngo to x: (0) y: (0)\nhide\nswitch costume to (level 1 v)\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [start v]\nshow\n\nwhen flag clicked\nset [ly v] to [0]\nforever\n    change y by ([cos v] of ((LY) * (6)) )\n    change [ly v] by (2)\nend\n\nwhen I receive [youwon v]\nhide\n\n@Gears\n\nwhen I receive [start v]\nhide\ngo to [back v] layer\ngo [forward v] (1) layers\nset [gears v] to [0]\nforever\n    turn right ((([cos v] of (gears) ) * (6)) / (2)) degrees\n    change [gears v] by (1)\nend\n\nwhen flag clicked\ngo to x: (0) y: (10)\nhide variable [level v]\nhide\nforever\n    if <(Level) = [2]> then\n        show\n        go to x: (150) y: (-76)\n    else\n        if <(Level) = [3]> then\n            show\n            go to x: (-130) y: (-78)\n        else\n            if <(Level) = [4]> then\n                show\n                go to x: (70) y: (-80)\n            else\n                if <(Level) = [7]> then\n                    show\n                    go to x: (-100) y: (-95)\n                else\n                    if <(Level) = [8]> then\n                        show\n                        go to x: (-100) y: (-95)\n                    else\n                        if <(Level) = [11]> then\n                            show\n                            go to x: (0) y: (-95)\n                        else\n                            if <(Level) = [13]> then\n                                show\n                                go to x: (90) y: (-80)\n                            else\n                                hide\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [youwon v]\nhide\n\n@Chargement\n\nwhen flag clicked\nshow\ngo to x: (0) y: (-50)\nset size to (20) %\nforever\n    turn right (15) degrees\n    go to [front v] layer\n    change size by (((size) - (90)) / (-5))\nend\n\nwhen I receive [begin v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [win v]\nhide\nstop [other scripts in sprite v]\nstop all sounds\n\n@Min\n\nwhen flag clicked\nreset timer\n\nwhen flag clicked\ngo to [front v] layer\ngo to x: (0) y: (0)\nset [ghost v] effect to (0)\nwait (0.3) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\n\nwhen I receive [youwon v]\nhide\n\n@Boost \n\nwhen flag clicked\ngo to [back v] layer\nswitch costume to (costume1 v)\nset size to (50) %\ngo to x: (0) y: (10)\nhide\nforever\n    if <(Level) = [5]> then\n        show\n        go to x: (-80) y: (-75)\n    else\n        if <(Level) = [11]> then\n            show\n            go to x: (-80) y: (-85)\n        else\n            hide\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <<touching (player v)?> or <touching (opponents v)?>> then\n        switch costume to (costume2 v)\n    else\n        switch costume to (costume1 v)\n    end\nend\n\nwhen I receive [youwon v]\nhide\n\nwhen I receive [youwon v]\nhide\n\nchange [level v] by (1)\nbroadcast (Level v)\n\n@Enemies\n\nwhen flag clicked\nhide\n\nwhen I receive [youwon v]\nhide\n\nwhen I receive [start v]\ngo to [back v] layer\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [level v]\nif <(Level) = [7]> then\n    switch costume to (costume1 v)\n    go to x: (0) y: (-75)\n    repeat until <(Level) = [8]>\n        glide (2) secs to x: (100) y: (-75)\n        wait (0.1) seconds\n        glide (2) secs to x: (0) y: (-75)\n        wait (0.1) seconds\n    end\nend\n\nwhen I receive [level v]\nif <(Level) = [7]> then\n    repeat until <(Level) = [8]>\n        if <touching (player v)?> then\n            Dead\n        end\n    end\nend\n\ndefine Dead\nif <(Y) < [-3]> then\n    change [y v] by (10)\n    switch costume to (costume2 v)\n    wait (0.3) seconds\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    hide\nelse\n    broadcast (dead v)\nend\n\nwhen I receive [level v]\nif <(Level) = [7]> then\n    show\nelse\n    hide\nend\n\n@Moving platforms\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nhide\n\nwhen I receive [level v]\nif <(Level) = [9]> then\n    show\nelse\n    if <(Level) = [10]> then\n        show\n    else\n        if <(Level) = [12]> then\n            show\n        else\n            hide\n        end\n    end\nend\n\nchange [level v] by (1)\nbroadcast (Level v)\n\nwhen I receive [level v]\nif <(Level) = [9]> then\n    go to x: (-70) y: (45)\n    repeat until <(Level) = [10]>\n        glide (2) secs to x: (140) y: (-110)\n        wait (0.5) seconds\n        glide (2) secs to x: (-70) y: (45)\n        wait (0.5) seconds\n    end\nelse\n    if <(Level) = [10]> then\n        go to x: (20) y: (100)\n        repeat until <(Level) = [11]>\n            glide (2) secs to x: (20) y: (-110)\n            wait (0.5) seconds\n            glide (2) secs to x: (20) y: (100)\n            wait (0.5) seconds\n        end\n    else\n        if <(Level) = [12]> then\n            go to x: (-120) y: (90)\n            repeat until <(Level) = [13]>\n                glide (1.5) secs to x: (100) y: (90)\n                wait (0.5) seconds\n                glide (1.5) secs to x: (-120) y: (90)\n                wait (0.5) seconds\n            end\n        end\n    end\nend\n\n@cache\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [begin v]\nhide\n\nwhen I receive [level v]\nif <(Level) = [13]> then\n    repeat until <(Level) = [14]>\n        if <touching (player v)?> then\n            hide\n        else\n            show\n        end\n    end\nelse\n    hide\nend\n\n