Planets: A 360º Scrolling Platformer | Mobile Friendly

Instructions: Helllllooo, today’s I share the project Speeed a platformer\nPLEASE LOVE FAVE AND FOLLLOW ME !! ;)\n<————————————————————————\n                                   HOW TO PLAY \n—————————————————————————\nto play this game you would have to play with the keys ⬅️⬆️➡️or mobile if you have a phone ...\n—————————————————————————\n                                    MY OPINION \n—————————————————————————\n\nI have never seen this game, so for me it is new and if you have already seen this game other go tell me\n—————————————————————————\n                                      

@Stage\n\nwhen flag clicked\nbroadcast (Initialise  v) and wait\nbroadcast (Check Player Slot v) and wait\nbroadcast (Start Forever Scripts v)\n\nwhen I receive [start forever scripts v]\nforever\n    wait (1) seconds\n    change [moved v] by (-1)\n    if <(Moved) < [1]> then\n        set [kick v] to [True]\n    end\nend\n\nwhen I receive [start forever scripts v]\nforever\n    if <<key (any v) pressed?> or <<(username) = [Cloud-Multiplayer]> or <mouse down?>>> then\n        set [moved v] to [20]\n    end\nend\n\nwhen I receive [start forever scripts v]\nwait until <(Kick) = [True]>\nset [on? v] to [0]\nset [on? 2 v] to [0]\nset [on? 3 v] to [0]\nset [on? 4 v] to [0]\nbroadcast (You have been booted. v) and wait\nstop [all v]\n\nwhen I receive [initialise  v]\nset [kick v] to [Untrue]\nset [moved v] to [20]\n\nwhen I receive [check player slot v]\nbroadcast (Kick Find v) and wait\ndelete all of [check v]\nbroadcast (update1 v) and wait\nadd (item (3) of [dpkg v]) to [check v]\nbroadcast (update2 v) and wait\nadd (item (3) of [dpkg v]) to [check v]\nbroadcast (update3 v) and wait\nadd (item (3) of [dpkg 1 v]) to [check v]\nbroadcast (update4 v) and wait\nadd (item (3) of [dpkg 2 v]) to [check v]\nbroadcast (update5 v) and wait\nadd (item (3) of [dpkg 3 v]) to [check v]\nwait (1) seconds\nbroadcast (update1 v) and wait\nif <(item (1) of [check v]) = (item (3) of [dpkg v])> then\n    set [@playerslot v] to [1]\n    broadcast (start v)\nelse\n    broadcast (update2 v) and wait\n    if <(item (2) of [check v]) = (item (3) of [dpkg 4 v])> then\n        set [@playerslot v] to [2]\n        broadcast (start v)\n    else\n        broadcast (update3 v) and wait\n        broadcast (update4 v) and wait\n        broadcast (update5 v) and wait\n        if <(item (3) of [check v]) = (item (3) of [dpkg 1 v])> then\n            set [@playerslot v] to [3]\n            broadcast (start v)\n        else\n            if <(item (4) of [check v]) = (item (3) of [dpkg 2 v])> then\n                set [@playerslot v] to [4]\n                broadcast (start v)\n            else\n                if <(item (5) of [check v]) = (item (3) of [dpkg 3 v])> then\n                    set [@playerslot v] to [5]\n                    broadcast (start v)\n                else\n                    broadcast (full v)\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [start forever scripts v]\nforever\n    Set Players\nend\n\ndefine Set Players\nset [players v] to [1]\nif <(On?) = [True]> then\n    change [players v] by (1)\nend\nif <(On? 2) = [True]> then\n    change [players v] by (1)\nend\nif <(On? 3) = [True]> then\n    change [players v] by (1)\nend\nif <(On? 4) = [True]> then\n    change [players v] by (1)\nend\nif <(On? 5) = [True]> then\n    change [players v] by (1)\nend\n\nwhen I receive [start forever scripts v]\nset [music v] to [True]\nforever\n    if <(Music) = [True]> then\n        play sound [Calm v] until done\n    end\n    if <(Music) = [False]> then\n        play sound [Climactic Loop v] until done\n    end\nend\n\nwhen I receive [start forever scripts v]\nif <(Players) = [1]> then\n    forever\n        wait until <(Players) > [1]>\n        stop all sounds\n        set [music v] to [False]\n        wait until <[2] > (Players)>\n        stop all sounds\n        set [music v] to [True]\n    end\nend\n\nwhen I receive [start forever scripts v]\nshow variable [players v]\n\nwhen I receive [start forever scripts v]\n\nhide variable [fps v]\nif <(username) = [Cloud-Multiplayer]> then\n    show variable [fps v]\nend\nforever\n    change [counter v] by (1)\n    wait (0) seconds\n    if <(timer) > [1]> then\n        set [timer v] to [0]\n        set [fps v] to (Counter)\n        set [counter v] to [0]\n    end\nend\n\nchange [timer v] by (0.001)\n\nwhen I receive [start forever scripts v]\nforever\nend\n\n@Runner\n\nwhen [1 v] key pressed\nif <(@PlayerSlot) = [1]> then\n    set [username v] to [You can't get me!]\n    wait (1) seconds\n    set [username v] to (username)\nend\n\ndefine Set Costume\nif <(falling?) < [6]> then\n    if <(frame) = [0]> then\n        switch costume to (stand_1 v)\n    else\n        switch costume to ([floor v] of ((4) + ((frame) mod (8))) )\n    end\nelse\n    if <(speed y) > [0]> then\n        switch costume to (jump_1 v)\n    else\n        switch costume to (fall_1 v)\n    end\nend\nset [costume v] to (costume [number v])\n\nwhen I receive [start forever scripts v]\ngo to [front v] layer\ngo to x: (0) y: (0)\nforever\n    if <(@PlayerSlot) = [1]> then\n        show\n        Movement\n        think (join (username) [: Runner])\n    else\n        go to x: (item (1) of [dpkg v]) y: (item (2) of [dpkg v])\n        think (join (item (4) of [dpkg v]) [: Runner])\n        if <(On?) = [False]> then\n            hide\n        else\n            if <(item (6) of [dpkg v]) = ([costume # v] of [ground v])> then\n                show\n            else\n                hide\n            end\n        end\n        switch costume to (item (5) of [dpkg v])\n        point in direction (item (7) of [dpkg v])\n    end\nend\n\ndefine Movement\nswitch costume to (hitbox v)\nset [my x v] to (x position)\nset [my y v] to (y position)\nif <<<(speed y) < [4]> or <key (up arrow v) pressed?>> or <<mouse down?> and <((mouse y) - (y position)) > [50]>>> then\n    change [speed y v] by (-1)\nelse\n    change [speed y v] by (-2)\nend\nchange y by (speed y)\nTouch Ground <(speed y) > [0]>\nif <(wall jump) > [0]> then\n    change [wall jump v] by (-1)\nelse\n    set [speed x v] to ((speed x) * (0.7))\n    if <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        change [speed x v] by (-1.5)\n    end\n    if <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        change [speed x v] by (1.5)\n    end\nend\nif <(speed x) < [-0.5]> then\n    Walk (-90) (speed x)\nelse\n    if <(speed x) > [0.5]> then\n        Walk (90) (speed x)\n    else\n        set [frame v] to [0]\n    end\nend\nif <<key (up arrow v) pressed?> or <<mouse down?> and <((mouse y) - (y position)) > [50]>>> then\n    if <<(jump key) = [0]> and <(falling?) < [3]>> then\n        set [speed y v] to [14]\n        set [falling? v] to [6]\n        set [jump key v] to [1]\n    end\nelse\n    set [jump key v] to [0]\nend\nSet Costume\nif <(y position) > [160]> then\n    change [height v] by (1)\n    set y to (-140)\nend\nif <[-160] > (y position)> then\n    change [height v] by (-1)\n    set y to (140)\nend\nif <(x position) > [220]> then\n    change [level v] by (1)\n    set x to (-200)\nend\nif <[-220] > (x position)> then\n    change [level v] by (-1)\n    set x to (200)\nend\nif <<touching (chaser 2 v)?> or <<touching (chaser 3 v)?> or <<touching (chaser 4 v)?> or <touching (chaser 5 v)?>>>> then\n    set [touching? v] to [True]\nelse\n    set [touching? v] to [False]\nend\nif <touching (chaser 2 v)?> then\n    hide\n    wait until <(item (8) of [dpkg 1 v]) = [true]>\n    set [@playerslot v] to [2]\n    broadcast (Done v)\nend\nif <touching (chaser 3 v)?> then\n    hide\n    wait until <(item (8) of [dpkg 1 v]) = [true]>\n    set [@playerslot v] to [3]\n    broadcast (Done v)\nend\nif <touching (chaser 4 v)?> then\n    hide\n    wait until <(item (8) of [dpkg 1 v]) = [true]>\n    set [@playerslot v] to [4]\n    broadcast (Done v)\nend\nif <touching (chaser 5 v)?> then\n    hide\n    wait until <(item (8) of [dpkg 1 v]) = [true]>\n    set [@playerslot v] to [5]\n    broadcast (Done v)\nend\n\nwhen I receive [initialise  v]\nhide\nset rotation style [left-right v]\nset [speed y v] to [0]\nset [falling? v] to [10]\n\ndefine Touch Ground <up?>\nchange [falling? v] by (1)\nset [trampoline v] to [n]\nif <touching color (#66ffee)?> then\n    set [trampoline v] to [y]\nend\nrepeat until <not <touching (ground hitbox v)?>>\n    if <up?> then\n        change y by (-1)\n    else\n        change y by (1)\n        set [falling? v] to [0]\n    end\n    if <(trampoline) = [y]> then\n        set [speed y v] to [25]\n    else\n        set [speed y v] to [0]\n    end\nend\n\ndefine Walk (direction) (speed)\npoint in direction (direction)\nchange x by (speed)\nset [slope v] to [0]\nrepeat until <<(slope) = [8]> or <not <touching (ground hitbox v)?>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <(slope) = [8]> then\n    change x by ((0) - (speed))\n    change y by ((0) - (slope))\n    if <<<key (up arrow v) pressed?> or <<mouse down?> and <((mouse y) - (y position)) > [50]>>> and <([abs v] of (speed) ) > [3]>> then\n        if <(wall jump) = [0]> then\n            set [speed x v] to ((-1.2) * (speed))\n            set [speed y v] to [11]\n            set [falling? v] to [6]\n            set [wall jump v] to [15]\n        end\n    else\n        set [speed x v] to [0]\n    end\nend\nif <(speed) < [0]> then\n    change [frame v] by ((speed) / (-8))\nelse\n    change [frame v] by ((speed) / (8))\nend\n\nwhen I receive [show v]\nshow\n\nwhen [timer v] > (Check_Time)\nhide\n\nwhen I receive [go to x: 0 y: 0 v]\nset [level v] to [3]\nset [height v] to [1]\n\nwhen I receive [done v]\nif <(@PlayerSlot) = [1]> then\n    set [height v] to [1]\n    set [level v] to [5]\n    go to x: (0) y: (0)\nend\n\nwhen I receive [start forever scripts v]\nforever\n    if <<touching (chaser 2 v)?> or <<touching (chaser 3 v)?> or <<touching (chaser 4 v)?> or <touching (chaser 5 v)?>>>> then\n        set [touching? v] to [True]\n    else\n        set [touching? v] to [False]\n    end\nend\n\n@Chaser 2\n\nwhen [timer v] > (Check_Time)\nbroadcast (Show Thumbs v)\nset [on? v] to [0]\nhide\nwait (5) seconds\n\ndefine Movement\nswitch costume to (hitbox v)\nif <<(speed y) < [4]> or <<key (up arrow v) pressed?> or <<mouse down?> and <((mouse y) - (y position)) > [50]>>>> then\n    change [speed y v] by (-1)\nelse\n    change [speed y v] by (-2)\nend\nchange y by (speed y)\nTouch Ground <(speed y) > [0]>\nif <(wall jump) > [0]> then\n    change [wall jump v] by (-1)\nelse\n    set [speed x v] to ((speed x) * (0.7))\n    if <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        change [speed x v] by (-1.5)\n    end\n    if <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        change [speed x v] by (1.5)\n    end\nend\nif <(speed x) < [-0.5]> then\n    Walk (-90) (speed x)\nelse\n    if <(speed x) > [0.5]> then\n        Walk (90) (speed x)\n    else\n        set [frame v] to [0]\n    end\nend\nif <<key (up arrow v) pressed?> or <<mouse down?> and <((mouse y) - (y position)) > [50]>>> then\n    if <<(jump key) = [0]> and <(falling?) < [3]>> then\n        set [speed y v] to [14]\n        set [falling? v] to [6]\n        set [jump key v] to [1]\n    end\nelse\n    set [jump key v] to [0]\nend\nSet Costume\nif <(y position) > [160]> then\n    change [height v] by (1)\n    set y to (-140)\nend\nif <[-160] > (y position)> then\n    change [height v] by (-1)\n    set y to (140)\nend\nif <(x position) > [220]> then\n    change [level v] by (1)\n    set x to (-200)\nend\nif <[-220] > (x position)> then\n    change [level v] by (-1)\n    set x to (200)\nend\n\nwhen I receive [initialise  v]\nset [username v] to (username)\nset [on? v] to [1]\n\nwhen I receive [start forever scripts v]\ngo to x: (0) y: (0)\ngo to [front v] layer\nforever\n    if <(@PlayerSlot) = [2]> then\n        show\n        Movement\n        set [my x v] to (x position)\n        set [my y v] to (y position)\n        think (join (username) [: Chaser])\n        set [direction v] to (direction)\n    else\n        switch costume to (item (5) of [dpkg 4 v])\n        point in direction (item (7) of [dpkg 4 v])\n        go to x: (item (1) of [dpkg 4 v]) y: (item (2) of [dpkg 4 v])\n        think (join (item (4) of [dpkg 4 v]) [: Chaser])\n        if <(On? 2) = [False]> then\n            hide\n        else\n            if <(item (6) of [dpkg 4 v]) = ([costume # v] of [ground v])> then\n                show\n            else\n                hide\n            end\n        end\n    end\nend\n\nwhen I receive [start forever scripts v]\nforever\n    set [check_time v] to ((timer) + (0.1))\nend\n\ndefine Set Costume\nif <(falling?) < [6]> then\n    if <(frame) = [0]> then\n        switch costume to (stand v)\n    else\n        switch costume to ([floor v] of ((4) + ((frame) mod (16))) )\n    end\nelse\n    if <(speed y) > [0]> then\n        switch costume to (run_j1 v)\n    else\n        switch costume to (run_j2 v)\n    end\nend\nset [costume v] to (costume [number v])\n\ndefine Walk (direction) (speed)\npoint in direction (direction)\nchange x by (speed)\nset [slope v] to [0]\nrepeat until <<(slope) = [8]> or <not <touching (ground hitbox v)?>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <(slope) = [8]> then\n    change x by ((0) - (speed))\n    change y by ((0) - (slope))\n    if <<<key (up arrow v) pressed?> or <<mouse down?> and <((mouse y) - (y position)) > [50]>>> and <([abs v] of (speed) ) > [3]>> then\n        if <(wall jump) = [0]> then\n            set [speed x v] to ((-1.2) * (speed))\n            set [speed y v] to [11]\n            set [falling? v] to [6]\n            set [wall jump v] to [15]\n        end\n    else\n        set [speed x v] to [0]\n    end\nend\nif <(speed) < [0]> then\n    change [frame v] by ((speed) / (-8))\nelse\n    change [frame v] by ((speed) / (8))\nend\n\ndefine Touch Ground <up?>\nchange [falling? v] by (1)\nset [trampoline v] to [n]\nif <touching color (#66ffee)?> then\n    set [trampoline v] to [y]\nend\nrepeat until <not <touching (ground hitbox v)?>>\n    if <up?> then\n        change y by (-1)\n    else\n        change y by (1)\n        set [falling? v] to [0]\n    end\n    if <(trampoline) = [y]> then\n        set [speed y v] to [25]\n    else\n        set [speed y v] to [0]\n    end\nend\n\nwhen I receive [done v]\nif <(@PlayerSlot) = [2]> then\n    set [height v] to [2]\n    set [level v] to [3]\n    go to x: (0) y: (0)\n    go to x: (35) y: (54)\nelse\nend\n\nwhen I receive [announce v]\nhide\n\nwhen I receive [start forever scripts v]\nforever\n    if <(@PlayerSlot) = [2]> then\n        if <touching (runner v)?> then\n            set [touching? v] to [True]\n        else\n            set [touching? v] to [False]\n        end\n    else\n    end\nend\n\nwhen I receive [start forever scripts v]\nforever\n    if <(@PlayerSlot) = [2]> then\n        if <touching (runner v)?> then\n            wait (0.5) seconds\n            broadcast (Announce v)\n            set [@playerslot v] to [0]\n            wait (2) seconds\n            set [@playerslot v] to [1]\n            broadcast (Done v)\n        else\n        end\n    end\nend\n\n@Chaser 3\n\nwhen [timer v] > (Check_Time)\nset [on? v] to [0]\nwait (5) seconds\n\nwhen I receive [initialise  v]\nset [username v] to (username)\nset [on? v] to [1]\n\nwhen I receive [start forever scripts v]\ngo to x: (0) y: (0)\ngo to [front v] layer\nforever\n    if <(@PlayerSlot) = [3]> then\n        show\n        Movement\n        set [my x v] to (x position)\n        set [my y v] to (y position)\n        think (join (username) [: Chaser])\n        set [direction v] to (direction)\n    else\n        go to x: (item (1) of [dpkg 1 v]) y: (item (2) of [dpkg 1 v])\n        think (join (item (4) of [dpkg 1 v]) [: Chaser])\n        if <(On? 3) = [False]> then\n            hide\n        else\n            if <(item (6) of [dpkg 1 v]) = ([costume # v] of [ground v])> then\n                show\n            else\n                hide\n            end\n        end\n        switch costume to (item (5) of [dpkg 1 v])\n        point in direction (item (7) of [dpkg 1 v])\n    end\nend\n\nwhen I receive [start forever scripts v]\nforever\n    set [check_time v] to ((timer) + (0.1))\nend\n\ndefine Set Costume\nif <(falling?) < [6]> then\n    if <(frame) = [0]> then\n        switch costume to (stand v)\n    else\n        switch costume to ([floor v] of ((4) + ((frame) mod (16))) )\n    end\nelse\n    if <(speed y) > [0]> then\n        switch costume to (run_j1 v)\n    else\n        switch costume to (run_j2 v)\n    end\nend\nset [costume v] to (costume [number v])\n\ndefine Walk (direction) (speed)\npoint in direction (direction)\nchange x by (speed)\nset [slope v] to [0]\nrepeat until <<(slope) = [8]> or <not <touching (ground hitbox v)?>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <(slope) = [8]> then\n    change x by ((0) - (speed))\n    change y by ((0) - (slope))\n    if <<<key (up arrow v) pressed?> or <<mouse down?> and <((mouse y) - (y position)) > [50]>>> and <([abs v] of (speed) ) > [3]>> then\n        if <(wall jump) = [0]> then\n            set [speed x v] to ((-1.2) * (speed))\n            set [speed y v] to [11]\n            set [falling? v] to [6]\n            set [wall jump v] to [15]\n        end\n    else\n        set [speed x v] to [0]\n    end\nend\nif <(speed) < [0]> then\n    change [frame v] by ((speed) / (-8))\nelse\n    change [frame v] by ((speed) / (8))\nend\n\ndefine Touch Ground <up?>\nchange [falling? v] by (1)\nset [trampoline v] to [n]\nif <touching color (#66ffee)?> then\n    set [trampoline v] to [y]\nend\nrepeat until <not <touching (ground hitbox v)?>>\n    if <up?> then\n        change y by (-1)\n    else\n        change y by (1)\n        set [falling? v] to [0]\n    end\n    if <(trampoline) = [y]> then\n        set [speed y v] to [25]\n    else\n        set [speed y v] to [0]\n    end\nend\n\nwhen I receive [done v]\nif <(@PlayerSlot) = [3]> then\n    set [height v] to [2]\n    set [level v] to [3]\n    go to x: (0) y: (0)\nend\n\nwhen I receive [announce v]\nhide\n\nwhen I receive [start forever scripts v]\nforever\n    if <(@PlayerSlot) = [3]> then\n        if <touching (runner v)?> then\n            set [touching? v] to [True]\n        else\n            set [touching? v] to [False]\n        end\n    end\nend\n\nwhen I receive [start forever scripts v]\nforever\n    if <(@PlayerSlot) = [3]> then\n        if <touching (runner v)?> then\n            wait (0.5) seconds\n            broadcast (Announce v)\n            set [@playerslot v] to [0]\n            wait (2) seconds\n            set [@playerslot v] to [1]\n            broadcast (Done v)\n        end\n    end\nend\n\ndefine Movement\nswitch costume to (hitbox v)\nif <<(speed y) < [4]> or <<key (up arrow v) pressed?> or <<mouse down?> and <((mouse y) - (y position)) > [50]>>>> then\n    change [speed y v] by (-1)\nelse\n    change [speed y v] by (-2)\nend\nchange y by (speed y)\nTouch Ground <(speed y) > [0]>\nif <(wall jump) > [0]> then\n    change [wall jump v] by (-1)\nelse\n    set [speed x v] to ((speed x) * (0.7))\n    if <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        change [speed x v] by (-1.5)\n    end\n    if <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        change [speed x v] by (1.5)\n    end\nend\nif <(speed x) < [-0.5]> then\n    Walk (-90) (speed x)\nelse\n    if <(speed x) > [0.5]> then\n        Walk (90) (speed x)\n    else\n        set [frame v] to [0]\n    end\nend\nif <<key (up arrow v) pressed?> or <<mouse down?> and <((mouse y) - (y position)) > [50]>>> then\n    if <<(jump key) = [0]> and <(falling?) < [3]>> then\n        set [speed y v] to [14]\n        set [falling? v] to [6]\n        set [jump key v] to [1]\n    end\nelse\n    set [jump key v] to [0]\nend\nSet Costume\nif <(y position) > [160]> then\n    change [height v] by (1)\n    set y to (-140)\nend\nif <[-160] > (y position)> then\n    change [height v] by (-1)\n    set y to (140)\nend\nif <(x position) > [220]> then\n    change [level v] by (1)\n    set x to (-200)\nend\nif <[-220] > (x position)> then\n    change [level v] by (-1)\n    set x to (200)\nend\n\n@Chaser 4\n\nwhen [timer v] > (Check_Time)\nset [on? v] to [0]\nwait (5) seconds\n\nwhen I receive [initialise  v]\nset [username v] to (username)\nset [on? v] to [1]\n\nwhen I receive [start forever scripts v]\ngo to x: (0) y: (0)\nforever\n    if <(@PlayerSlot) = [4]> then\n        show\n        Movement\n        set [my x v] to (x position)\n        set [my y v] to (y position)\n        think (join (username) [: Chaser])\n        set [direction v] to (direction)\n    else\n        go to x: (item (1) of [dpkg 2 v]) y: (item (2) of [dpkg 2 v])\n        think (join (item (4) of [dpkg 2 v]) [: Chaser])\n        if <(On? 4) = [False]> then\n            hide\n        else\n            if <(item (6) of [dpkg 2 v]) = ([costume # v] of [ground v])> then\n                show\n            else\n                hide\n            end\n        end\n        switch costume to (item (5) of [dpkg 2 v])\n        point in direction (item (7) of [dpkg 2 v])\n    end\nend\n\nwhen I receive [start forever scripts v]\nforever\n    set [check_time v] to ((timer) + (0.1))\nend\n\ndefine Set Costume\nif <(falling?) < [6]> then\n    if <(frame) = [0]> then\n        switch costume to (stand v)\n    else\n        switch costume to ([floor v] of ((4) + ((frame) mod (16))) )\n    end\nelse\n    if <(speed y) > [0]> then\n        switch costume to (run_j1 v)\n    else\n        switch costume to (run_j2 v)\n    end\nend\nset [costume v] to (costume [number v])\n\ndefine Walk (direction) (speed)\npoint in direction (direction)\nchange x by (speed)\nset [slope v] to [0]\nrepeat until <<(slope) = [8]> or <not <touching (ground hitbox v)?>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <(slope) = [8]> then\n    change x by ((0) - (speed))\n    change y by ((0) - (slope))\n    if <<<key (up arrow v) pressed?> or <<mouse down?> and <((mouse y) - (y position)) > [50]>>> and <([abs v] of (speed) ) > [3]>> then\n        if <(wall jump) = [0]> then\n            set [speed x v] to ((-1.2) * (speed))\n            set [speed y v] to [11]\n            set [falling? v] to [6]\n            set [wall jump v] to [15]\n        end\n    else\n        set [speed x v] to [0]\n    end\nend\nif <(speed) < [0]> then\n    change [frame v] by ((speed) / (-8))\nelse\n    change [frame v] by ((speed) / (8))\nend\n\ndefine Touch Ground <up?>\nchange [falling? v] by (1)\nset [trampoline v] to [n]\nif <touching color (#66ffee)?> then\n    set [trampoline v] to [y]\nend\nrepeat until <not <touching (ground hitbox v)?>>\n    if <up?> then\n        change y by (-1)\n    else\n        change y by (1)\n        set [falling? v] to [0]\n    end\n    if <(trampoline) = [y]> then\n        set [speed y v] to [25]\n    else\n        set [speed y v] to [0]\n    end\nend\n\nwhen I receive [done v]\nif <(@PlayerSlot) = [4]> then\n    set [height v] to [2]\n    set [level v] to [3]\n    go to x: (0) y: (0)\nend\n\nwhen I receive [announce v]\nhide\n\nwhen I receive [start forever scripts v]\nforever\n    if <(@PlayerSlot) = [4]> then\n        if <touching (runner v)?> then\n            set [touching? v] to [True]\n        else\n            set [touching? v] to [False]\n        end\n    end\nend\n\nwhen I receive [start forever scripts v]\nforever\n    if <(@PlayerSlot) = [4]> then\n        if <touching (runner v)?> then\n            wait (0.5) seconds\n            broadcast (Announce v)\n            set [@playerslot v] to [0]\n            wait (2) seconds\n            set [@playerslot v] to [1]\n            broadcast (Done v)\n        end\n    end\nend\n\ndefine Movement\nswitch costume to (hitbox v)\nif <<(speed y) < [4]> or <<key (up arrow v) pressed?> or <<mouse down?> and <((mouse y) - (y position)) > [50]>>>> then\n    change [speed y v] by (-1)\nelse\n    change [speed y v] by (-2)\nend\nchange y by (speed y)\nTouch Ground <(speed y) > [0]>\nif <(wall jump) > [0]> then\n    change [wall jump v] by (-1)\nelse\n    set [speed x v] to ((speed x) * (0.7))\n    if <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        change [speed x v] by (-1.5)\n    end\n    if <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        change [speed x v] by (1.5)\n    end\nend\nif <(speed x) < [-0.5]> then\n    Walk (-90) (speed x)\nelse\n    if <(speed x) > [0.5]> then\n        Walk (90) (speed x)\n    else\n        set [frame v] to [0]\n    end\nend\nif <<key (up arrow v) pressed?> or <<mouse down?> and <((mouse y) - (y position)) > [50]>>> then\n    if <<(jump key) = [0]> and <(falling?) < [3]>> then\n        set [speed y v] to [14]\n        set [falling? v] to [6]\n        set [jump key v] to [1]\n    end\nelse\n    set [jump key v] to [0]\nend\nSet Costume\nif <(y position) > [160]> then\n    change [height v] by (1)\n    set y to (-140)\nend\nif <[-160] > (y position)> then\n    change [height v] by (-1)\n    set y to (140)\nend\nif <(x position) > [220]> then\n    change [level v] by (1)\n    set x to (-200)\nend\nif <[-220] > (x position)> then\n    change [level v] by (-1)\n    set x to (200)\nend\n\n@Chaser 5\n\nwhen [timer v] > (Check_Time)\nset [on? v] to [0]\nwait (5) seconds\n\nwhen I receive [initialise  v]\nset [username v] to (username)\nset [on? v] to [1]\n\nwhen I receive [start forever scripts v]\ngo to x: (0) y: (0)\ngo to [front v] layer\nforever\n    if <(@PlayerSlot) = [5]> then\n        show\n        set [my x v] to (x position)\n        Movement\n        set [my y v] to (y position)\n        think (join (username) [: Chaser])\n        set [direction v] to (direction)\n    else\n        go to x: (item (1) of [dpkg 3 v]) y: (item (2) of [dpkg 3 v])\n        think (join (item (4) of [dpkg 3 v]) [: Chaser])\n        if <(On? 5) = [False]> then\n            hide\n        else\n            if <(item (6) of [dpkg 3 v]) = ([costume # v] of [ground v])> then\n                show\n            else\n                hide\n            end\n        end\n        switch costume to (item (5) of [dpkg 3 v])\n        point in direction (item (7) of [dpkg 3 v])\n    end\nend\n\nwhen I receive [start forever scripts v]\nforever\n    set [check_time v] to ((timer) + (0.1))\nend\n\ndefine Set Costume\nif <(falling?) < [6]> then\n    if <(frame) = [0]> then\n        switch costume to (stand v)\n    else\n        switch costume to ([floor v] of ((4) + ((frame) mod (16))) )\n    end\nelse\n    if <(speed y) > [0]> then\n        switch costume to (run_j1 v)\n    else\n        switch costume to (run_j2 v)\n    end\nend\nset [costume v] to (costume [number v])\n\ndefine Walk (direction) (speed)\npoint in direction (direction)\nchange x by (speed)\nset [slope v] to [0]\nrepeat until <<(slope) = [8]> or <not <touching (ground hitbox v)?>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <(slope) = [8]> then\n    change x by ((0) - (speed))\n    change y by ((0) - (slope))\n    if <<<key (up arrow v) pressed?> or <<mouse down?> and <((mouse y) - (y position)) > [50]>>> and <([abs v] of (speed) ) > [3]>> then\n        if <(wall jump) = [0]> then\n            set [speed x v] to ((-1.2) * (speed))\n            set [speed y v] to [11]\n            set [falling? v] to [6]\n            set [wall jump v] to [15]\n        end\n    else\n        set [speed x v] to [0]\n    end\nend\nif <(speed) < [0]> then\n    change [frame v] by ((speed) / (-8))\nelse\n    change [frame v] by ((speed) / (8))\nend\n\ndefine Touch Ground <up?>\nchange [falling? v] by (1)\nset [trampoline v] to [n]\nif <touching color (#66ffee)?> then\n    set [trampoline v] to [y]\nend\nrepeat until <not <touching (ground hitbox v)?>>\n    if <up?> then\n        change y by (-1)\n    else\n        change y by (1)\n        set [falling? v] to [0]\n    end\n    if <(trampoline) = [y]> then\n        set [speed y v] to [25]\n    else\n        set [speed y v] to [0]\n    end\nend\n\nwhen I receive [done v]\nif <(@PlayerSlot) = [5]> then\n    set [height v] to [2]\n    set [level v] to [3]\n    go to x: (0) y: (0)\nend\n\nwhen I receive [announce v]\nhide\n\nwhen I receive [start forever scripts v]\nforever\n    if <(@PlayerSlot) = [5]> then\n        if <touching (runner v)?> then\n            set [touching? v] to [True]\n        else\n            set [touching? v] to [False]\n        end\n    end\nend\n\nwhen I receive [start forever scripts v]\nforever\n    if <(@PlayerSlot) = [5]> then\n        if <touching (runner v)?> then\n            wait (0.5) seconds\n            broadcast (Announce v)\n            set [@playerslot v] to [0]\n            wait (2) seconds\n            set [@playerslot v] to [1]\n            broadcast (Done v)\n        end\n    end\nend\n\ndefine Movement\nswitch costume to (hitbox v)\nif <<(speed y) < [4]> or <<key (up arrow v) pressed?> or <<mouse down?> and <((mouse y) - (y position)) > [50]>>>> then\n    change [speed y v] by (-1)\nelse\n    change [speed y v] by (-2)\nend\nchange y by (speed y)\nTouch Ground <(speed y) > [0]>\nif <(wall jump) > [0]> then\n    change [wall jump v] by (-1)\nelse\n    set [speed x v] to ((speed x) * (0.7))\n    if <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        change [speed x v] by (-1.5)\n    end\n    if <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        change [speed x v] by (1.5)\n    end\nend\nif <(speed x) < [-0.5]> then\n    Walk (-90) (speed x)\nelse\n    if <(speed x) > [0.5]> then\n        Walk (90) (speed x)\n    else\n        set [frame v] to [0]\n    end\nend\nif <<key (up arrow v) pressed?> or <<mouse down?> and <((mouse y) - (y position)) > [50]>>> then\n    if <<(jump key) = [0]> and <(falling?) < [3]>> then\n        set [speed y v] to [14]\n        set [falling? v] to [6]\n        set [jump key v] to [1]\n    end\nelse\n    set [jump key v] to [0]\nend\nSet Costume\nif <(y position) > [160]> then\n    change [height v] by (1)\n    set y to (-140)\nend\nif <[-160] > (y position)> then\n    change [height v] by (-1)\n    set y to (140)\nend\nif <(x position) > [220]> then\n    change [level v] by (1)\n    set x to (-200)\nend\nif <[-220] > (x position)> then\n    change [level v] by (-1)\n    set x to (200)\nend\n\n@Cloud\n\ndefine chatTranslate (trns)\nset [translatedchar v] to []\ninitChar\nset [j v] to [0]\nset [fin v] to []\nrepeat (length of (trns))\n    change [j v] by (1)\n    set [i v] to [0]\n    repeat until <(letter (i) of (@charList)) = (letter (j) of (trns))>\n        change [i v] by (1)\n    end\n    if <(length of (i)) < [2]> then\n        set [add v] to (join [0] (i))\n    else\n        set [add v] to (i)\n    end\n    set [fin v] to (join (fin) (add))\nend\n\ndefine initChar\nset [@charlist v] to [ abcdefghijklmnopqrstuvwxyz1234567890<>_-ABCDEFGHIJKLMNOPQRSTUVWXYZ!.,?/\'";:-=+\)\(*&^%$#@{}\[\]\|`~]\n\ndefine saveData (_id) (x) (y) (username) (costume#) (level) (direction) (touching?)\nset [_encode v] to (join (join (join (x) [~]) (join (y) [~])) (join (join (pick random (10000) to (99999)) [~]) (join (join (username) [~]) (join (costume#) (join [~] (join (level) (join [~] (join (direction) (join [~] (join (touching?) [~]))))))))))\nchatTranslate (_encode)\nset [_encodetrns v] to (fin)\nif <(_id) = [1]> then\n    set [☁ player 1 v] to (_encodeTRNS)\nelse\n    if <(_id) = [2]> then\n        set [☁ player 2 v] to (_encodeTRNS)\n    else\n        if <(_id) = [3]> then\n            set [☁ player 3 v] to (_encodeTRNS)\n        else\n            if <(_id) = [4]> then\n                set [☁ player 4 v] to (_encodeTRNS)\n            else\n                if <(_id) = [5]> then\n                    set [☁ player 5 v] to (_encodeTRNS)\n                end\n            end\n        end\n    end\nend\n\ndefine update (data)\ninitChar\nset [p v] to [1]\nset [retrns v] to []\nrepeat ((length of (data)) / (2))\n    set [retrns v] to (join (retrns) (letter (join (letter (p) of (data)) (letter ((p) + (1)) of (data))) of (@charList)))\n    change [p v] by (2)\nend\n\ndefine dpkg (data)\ndelete (all) of [dpkg v]\nset [i v] to [0]\nset [addtoarray v] to []\nrepeat until <(i) > ((length of (data)) - (1))>\n    change [i v] by (1)\n    if <(letter (i) of (data)) = [~]> then\n        add (addToArray) to [dpkg v]\n        set [addtoarray v] to []\n    else\n        set [addtoarray v] to (join (addToArray) (letter (i) of (data)))\n    end\nend\n\ndefine decodeData (_id)\nif <<<(_id) = [1]> or <(_id) = [2]>> or <(_id) = [3]>> then\n    if <(_id) = [1]> then\n        update (☁ Player 1)\n    end\n    if <(_id) = [2]> then\n        update (☁ Player 2)\n    end\n    set [rtrns_data v] to (retrns)\n    dpkg (RTRNS_Data)\nend\n\nwhen I receive [update1 v]\ndecodeData (1)\n\ndefine Decoding Data (p)\nif <<(p) = [3]> or <(p) = [2]>> then\n    if <(p) = [3]> then\n        update (☁ Player 3)\n    end\n    if <(p) = [2]> then\n        update (☁ Player 2)\n    end\n    set [rtrns_data v] to (retrns)\n    DPKG 1 (RTRNS_Data)\nend\n\ndefine DPKG 1 (data)\ndelete (all) of [dpkg 1 v]\nset [i v] to [0]\nset [addtoarray v] to []\nrepeat until <(i) > ((length of (data)) - (1))>\n    change [i v] by (1)\n    if <(letter (i) of (data)) = [~]> then\n        add (addToArray) to [dpkg 1 v]\n        set [addtoarray v] to []\n    else\n        set [addtoarray v] to (join (addToArray) (letter (i) of (data)))\n    end\nend\n\nwhen I receive [update3 v]\nDecoding Data [3]\n\nwhen I receive [kick find v]\nCheck [1] If not me\n\nwhen I receive [start forever scripts v]\nforever\n    broadcast (Kick Find v) and wait\nend\n\ndefine Decoding Data 2 (data player)\nif <<(data player) = [4]> or <(data player) = [1]>> then\n    if <(data player) = [4]> then\n        update (☁ Player 4)\n    end\n    if <(data player) = [1]> then\n        update (☁ Player 1)\n    end\n    set [rtrns_data v] to (retrns)\n    DPKG 2 (RTRNS_Data)\nend\n\ndefine DPKG 2 (data)\ndelete (all) of [dpkg 2 v]\nset [i v] to [0]\nset [addtoarray v] to []\nrepeat until <(i) > ((length of (data)) - (1))>\n    change [i v] by (1)\n    if <(letter (i) of (data)) = [~]> then\n        add (addToArray) to [dpkg 2 v]\n        set [addtoarray v] to []\n    else\n        set [addtoarray v] to (join (addToArray) (letter (i) of (data)))\n    end\nend\n\nwhen I receive [update4 v]\nDecoding Data 2 [4]\n\nwhen I receive [initialise  v]\nset [@playerslot v] to [0]\n\nwhen I receive [start forever scripts v]\nforever\n    if <(@PlayerSlot) = [1]> then\n        DECODY [2]\n        Decoding Data [3]\n        Decoding Data 2 [4]\n        Decoding Data 3 [5]\n        saveData (1) (My X) (My Y) (username) (Costume) ([costume # v] of [ground v]) ([direction v] of [runner v]) (Touching?)\n    end\n    if <(@PlayerSlot) = [2]> then\n        decodeData (1)\n        Decoding Data [3]\n        Decoding Data 2 [4]\n        Decoding Data 3 [5]\n        saveData (2) (My X) (My Y) (username) (Costume) ([costume # v] of [ground v]) (Direction) (Touching?)\n    end\n    if <(@PlayerSlot) = [3]> then\n        decodeData (1)\n        DECODY [2]\n        Decoding Data 2 [4]\n        Decoding Data 3 [5]\n        saveData (3) (My X) (My Y) (username) (Costume) ([costume # v] of [ground v]) (Direction) (Touching?)\n    end\n    if <(@PlayerSlot) = [4]> then\n        decodeData (1)\n        DECODY [2]\n        Decoding Data [3]\n        Decoding Data 3 [5]\n        saveData (4) (My X) (My Y) (username) (Costume) ([costume # v] of [ground v]) (Direction) (Touching?)\n    end\n    if <(@PlayerSlot) = [5]> then\n        DECODY [2]\n        Decoding Data [3]\n        decodeData (1)\n        Decoding Data 3 [4]\n        saveData (5) (My X) (My Y) (username) (Costume) ([costume # v] of [ground v]) (Direction) (Touching?)\n    end\nend\n\ndefine DPKG 3 (data)\ndelete (all) of [dpkg 3 v]\nset [i v] to [0]\nset [addtoarray v] to []\nrepeat until <(i) > ((length of (data)) - (1))>\n    change [i v] by (1)\n    if <(letter (i) of (data)) = [~]> then\n        add (addToArray) to [dpkg 3 v]\n        set [addtoarray v] to []\n    else\n        set [addtoarray v] to (join (addToArray) (letter (i) of (data)))\n    end\nend\n\ndefine Decoding Data 3 (data)\nif <<(data) = [5]> or <(data) = [4]>> then\n    if <(data) = [5]> then\n        update (☁ Player 5)\n    end\n    if <(p) = [4]> then\n        update (☁ Player 4)\n    end\n    set [rtrns_data v] to (retrns)\n    DPKG 3 (RTRNS_Data)\nend\n\nwhen I receive [update5 v]\nDecoding Data 3 [5]\n\ndefine Check (id) If not me\ndelete all of [active check v]\ndelete all of [check v]\nadd (item (3) of [dpkg v]) to [check v]\nadd (item (3) of [dpkg 4 v]) to [check v]\nbroadcast (update3 v) and wait\nadd (item (3) of [dpkg 1 v]) to [check v]\nbroadcast (update4 v) and wait\nadd (item (3) of [dpkg 2 v]) to [check v]\nbroadcast (update5 v) and wait\nadd (item (3) of [dpkg 3 v]) to [check v]\nwait (1) seconds\nif <not <(@PlayerSlot) = [1]>> then\n    if <(item (1) of [check v]) = (item (3) of [dpkg v])> then\n        set [on? v] to [False]\n    else\n        set [on? v] to [True]\n    end\nend\nif <not <(@PlayerSlot) = [2]>> then\n    if <(item (2) of [check v]) = (item (3) of [dpkg 4 v])> then\n        set [on? 2 v] to [False]\n    else\n        set [on? 2 v] to [True]\n    end\nend\nif <not <(@PlayerSlot) = [3]>> then\n    if <(item (3) of [check v]) = (item (3) of [dpkg 1 v])> then\n        set [on? 3 v] to [False]\n    else\n        set [on? 3 v] to [True]\n    end\nend\nif <not <(@PlayerSlot) = [4]>> then\n    if <(item (4) of [check v]) = (item (3) of [dpkg 2 v])> then\n        set [on? 4 v] to [False]\n    else\n        set [on? 4 v] to [True]\n    end\nend\nif <not <(@PlayerSlot) = [5]>> then\n    if <(item (5) of [check v]) = (item (3) of [dpkg 3 v])> then\n        set [on? 5 v] to [False]\n    else\n        set [on? 5 v] to [True]\n    end\nend\n\ndefine DECODY (data)\nif <<(_id) = [1]> or <(_id) = [2]>> then\n    if <(_id) = [1]> then\n        update (☁ Player 1)\n    end\n    if <(_id) = [2]> then\n        update (☁ Player 2)\n    end\n    set [rtrns_data v] to (retrns)\n    DPKG (RTRNS_Data)\nend\n\ndefine DPKG (chicken)\ndelete (all) of [dpkg 4 v]\nset [i v] to [0]\nset [addtoarray v] to []\nrepeat until <(i) > ((length of (chicken)) - (1))>\n    change [i v] by (1)\n    if <(letter (i) of (chicken)) = [~]> then\n        add (addToArray) to [dpkg 4 v]\n        set [addtoarray v] to []\n    else\n        set [addtoarray v] to (join (addToArray) (letter (i) of (chicken)))\n    end\nend\n\nwhen I receive [update2 v]\nDECODY [2]\n\nwhen I receive [full v]\nforever\n    decodeData (1)\n    DECODY [2]\n    Decoding Data [3]\n    Decoding Data 2 [4]\n    Decoding Data 3 [5]\nend\n\n@BannerStatus\n\nwhen I receive [start v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\nwhen I receive [full v]\nbroadcast (Start Forever Scripts v)\nrepeat (10)\n    change [brightness v] effect by (-10)\nend\nswitch costume to (full v)\nrepeat (10)\n    change [brightness v] effect by (10)\nend\nclear graphic effects\nwait (1) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nswitch costume to (spectator mode v)\nrepeat (10)\n    change [ghost v] effect by (10)\nend\n\nwhen I receive [initialise  v]\nshow\nclear graphic effects\ngo to x: (0) y: (0)\ngo to [front v] layer\n\nwhen I receive [initialise  v]\nswitch costume to (connecting v)\n\nwhen I receive [announce v]\nswitch costume to (loading... v)\nshow\nclear graphic effects\ngo to x: (0) y: (0)\ngo to [front v] layer\nforever\n    go to [front v] layer\nend\n\nwhen I receive [done v]\nrepeat (10)\n    go to [front v] layer\n    change [ghost v] effect by (10)\nend\nhide\n\n@Thumbnail\n\nwhen I receive [initialise  v]\nset size to (100) %\ngo to [front v] layer\nclear graphic effects\ngo to x: (0) y: (0)\ngo to [front v] layer\nshow\n\nwhen I receive [check player slot v]\ngo to [front v] layer\nrepeat (10)\n    change [ghost v] effect by (10)\nend\n\n@Ground Hitbox\n\nwhen I receive [initialise  v]\ngo to x: (0) y: (0)\nshow\nset [ghost v] effect to (99)\n\nwhen I receive [start forever scripts v]\nif <(@PlayerSlot) = [1]> then\n    set [level v] to [1]\n    set [height v] to [2]\nelse\n    set [level v] to [3]\n    set [height v] to [1]\nend\nif <(Answer) = []> then\n    forever\n        switch costume to (join (Height) (join [.] (Level)))\n    end\nend\n\nwhen I receive [full v]\nforever\n    if <(Answer) = [1]> then\n        show\n        switch costume to (item (6) of [dpkg v])\n        go to [front v] layer\n        go [backward v] (10) layers\n    end\n    if <(Answer) = [2]> then\n        show\n        switch costume to (item (6) of [dpkg 4 v])\n        go to [front v] layer\n        go [backward v] (10) layers\n    end\n    if <(Answer) = [3]> then\n        show\n        switch costume to (item (6) of [dpkg 1 v])\n        go to [front v] layer\n        go [backward v] (10) layers\n    end\n    if <(Answer) = [4]> then\n        show\n        switch costume to (item (6) of [dpkg 3 v])\n        go to [front v] layer\n        go [backward v] (10) layers\n    end\nend\n\n@Ground\n\nwhen I receive [initialise  v]\nset [answer v] to []\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [start forever scripts v]\nif <(Answer) = []> then\n    go to [back v] layer\n    go [backward v] (10) layers\n    forever\n        show\n        switch costume to (join (Height) (join [.] (Level)))\n    end\nend\n\nwhen I receive [full v]\nask [What Player Do You Want To Follow? \(Player 1 = 1\)] and wait\nset [answer v] to (answer)\nforever\n    if <(Answer) = [1]> then\n        show\n        switch costume to (item (6) of [dpkg v])\n        go to [front v] layer\n        go [backward v] (10) layers\n    end\n    if <(Answer) = [2]> then\n        show\n        switch costume to (item (6) of [dpkg 4 v])\n        go to [front v] layer\n        go [backward v] (10) layers\n    end\n    if <(Answer) = [3]> then\n        show\n        switch costume to (item (6) of [dpkg 1 v])\n        go to [front v] layer\n        go [backward v] (10) layers\n    end\n    if <(Answer) = [4]> then\n        show\n        switch costume to (item (6) of [dpkg 3 v])\n        go to [front v] layer\n        go [backward v] (10) layers\n    end\nend\n\n@Text\n\nwhen I receive [initialise  v]\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [start forever scripts v]\nif <(@PlayerSlot) = [1]> then\n    set [ghost v] effect to (100)\n    switch costume to (all alone v)\n    show\n    go to [front v] layer\n    repeat (25)\n        change [ghost v] effect by (-4)\n    end\n    wait (2) seconds\n    go to [front v] layer\n    repeat (25)\n        change [ghost v] effect by (4)\n    end\n    wait until <(Players) = [2]>\n    set [ghost v] effect to (100)\n    switch costume to (joined! v)\n    show\n    go to [front v] layer\n    repeat (24)\n        change [ghost v] effect by (-4)\n    end\n    wait (3) seconds\n    go to [front v] layer\n    repeat (25)\n        change [ghost v] effect by (4)\n    end\nend\n\nwhen [timer v] > (Check_Time)\nhide\n\n@Cloud Thumbs Up\n\ndefine Decode (data)\nset [letters v] to [ abcdefghijklmnopqrstuvwxyz1234567890<>_-ABCDEFGHIJKLMNOPQRSTUVWXYZ!.,?/\'";:-=+\)\(*&^%$#@{}\[\]\|`~]\nset [p2 v] to [1]\nset [decoded result v] to []\nrepeat ((length of (data)) / (2))\n    set [decoded result v] to (join (Decoded Result) (letter (join (letter (p2) of (data)) (letter ((p2) + (1)) of (data))) of (Letters)))\n    change [p2 v] by (2)\nend\n\ndefine Get (data)\ndelete (all) of [dpkg v]\nset [i2 v] to [0]\nset [adding v] to []\nrepeat until <(i2) > ((length of (data)) - (1))>\n    change [i2 v] by (1)\n    if <(letter (i2) of (data)) = [~]> then\n        add (Adding) to [dpkg v]\n        set [adding v] to []\n    else\n        set [adding v] to (join (Adding) (letter (i2) of (data)))\n    end\nend\n\ndefine Encode (data)\nset [letters v] to [ abcdefghijklmnopqrstuvwxyz1234567890<>_-ABCDEFGHIJKLMNOPQRSTUVWXYZ!.,?/\'";:-=+\)\(*&^%$#@{}\[\]\|`~]\nset [j2 v] to [0]\nset [encoded result v] to []\nrepeat (length of (data))\n    change [j2 v] by (1)\n    set [i2 v] to [0]\n    repeat until <(letter (i2) of (Letters)) = (letter (j2) of (data))>\n        change [i2 v] by (1)\n    end\n    if <(length of (i2)) < [2]> then\n        set [add v] to (join [0] (i2))\n    else\n        set [add v] to (i2)\n    end\n    set [encoded result v] to (join (Encoded Result) (Add))\nend\n\ndefine Save Data: (likes) (dislikes) (1st) (2nd) (3rd) (4th) (5th)\nEncode (join (likes) (join [~] (join (dislikes) (join [~] (join (1st) (join [~] (join (2nd) (join [~] (join (3rd) (join [~] (join (4th) (join [~] (join (5th) [~])))))))))))))\nset [☁ thumbs v] to (Encoded Result)\n\ndefine Get Thumbs At: X (x) Y (y)\nhide\nset [clone id v] to [0]\nset [info v] to (join ((x) + (500)) ((y) + (500)))\nrepeat (2)\n    change [clone id v] by (1)\n    create clone of (_myself_ v)\nend\nforever\n    Decode (☁ Thumbs)\n    Get (Decoded Result)\nend\n\nwhen I start as a clone\nshow\ngo to [front v] layer\nif <(Clone ID) = [1]> then\n    switch costume to (thumbs down v)\n    set x to (((join (letter (1) of (Info)) (join (letter (2) of (Info)) (letter (3) of (Info)))) - (500)) + (25))\n    set y to (((join (letter (4) of (Info)) (join (letter (5) of (Info)) (letter (6) of (Info)))) - (500)) + (-5))\n    forever\n        go to [front v] layer\n        if <touching (mouse-pointer v)?> then\n            set [brightness v] effect to (20)\n            if <(item (2) of [dpkg v]) = [1]> then\n                think (join (item (2) of [dpkg v]) [ Dislike])\n            else\n                think (join (item (2) of [dpkg v]) [ Dislikes])\n            end\n            if <mouse down?> then\n                if <not <<<<(item (4) of [dpkg v]) = (username)> or <<(item (5) of [dpkg v]) = (username)> or <(item (6) of [dpkg v]) = (username)>>> or <(item (9) of [dpkg v]) = (username)>> or <<(item (7) of [dpkg v]) = (username)> or <(item (8) of [dpkg v]) = (username)>>>> then\n                    Save Data: (item (1) of [dpkg v]) ((item (2) of [dpkg v]) + (1)) (item (4) of [dpkg v]) (item (5) of [dpkg v]) (item (6) of [dpkg v]) (item (7) of [dpkg v]) (username)\n                else\n                    set [brightness v] effect to (-20)\n                    think [Error! You already liked!] for (3) seconds\n                end\n                wait until <not <mouse down?>>\n            end\n        else\n            set [brightness v] effect to (-20)\n            think []\n        end\n    end\nelse\n    if <(Clone ID) = [2]> then\n        switch costume to (thumbs up v)\n        set x to (((join (letter (1) of (Info)) (join (letter (2) of (Info)) (letter (3) of (Info)))) - (500)) + (-25))\n        set y to (((join (letter (4) of (Info)) (join (letter (5) of (Info)) (letter (6) of (Info)))) - (500)) + (5))\n        forever\n            go to [front v] layer\n            if <touching (mouse-pointer v)?> then\n                set [brightness v] effect to (20)\n                if <(item (1) of [dpkg v]) = [1]> then\n                    think (join (item (1) of [dpkg v]) [ Like])\n                else\n                    think (join (item (1) of [dpkg v]) [ Likes])\n                end\n                if <mouse down?> then\n                    if <not <<<<(item (4) of [dpkg v]) = (username)> or <<(item (5) of [dpkg v]) = (username)> or <(item (6) of [dpkg v]) = (username)>>> or <(item (9) of [dpkg v]) = (username)>> or <<(item (7) of [dpkg v]) = (username)> or <(item (8) of [dpkg v]) = (username)>>>> then\n                        Save Data: ((item (1) of [dpkg v]) + (1)) (item (2) of [dpkg v]) (item (4) of [dpkg v]) (item (5) of [dpkg v]) (username) [] []\n                    else\n                        set [brightness v] effect to (-20)\n                        think [Error! You already liked!] for (3) seconds\n                    end\n                    wait until <not <mouse down?>>\n                end\n            else\n                set [brightness v] effect to (-20)\n                think []\n            end\n        end\n    end\nend\n\nwhen I receive [show thumbs v]\nGet Thumbs At: X [0] Y [-150]\n\n@Preview\n\nwhen I start as a clone\ngo to [front v] layer\nshow\nif <(id) < [6]> then\n    set y to (-30)\n    forever\n        Position [1]\n    end\nelse\n    set y to (30)\n    forever\n        Position [6]\n    end\nend\n\ndefine Position (id)\nset size to (15) %\nset [pos v] to (((((id) - (id)) * (60)) - (115)) - ((((mouse x) / (2)) - (x position)) * (0.2)))\nset x to (pos)\nif <(id) < [6]> then\n    set y to (-30)\nelse\n    set y to (30)\nend\nif <(costume [number v]) = ([costume # v] of [ground v])> then\n    set [brightness v] effect to (20)\nelse\n    set [brightness v] effect to (0)\nend\nif <(On?) = [True]> then\n    if <(costume [number v]) = (item (6) of [dpkg v])> then\n        set [brightness v] effect to (-50)\n    else\n        set [brightness v] effect to (0)\n    end\nend\nif <(On? 2) = [True]> then\n    if <(costume [number v]) = (item (6) of [dpkg 4 v])> then\n        set [brightness v] effect to (20)\n    else\n        set [brightness v] effect to (0)\n    end\nend\nif <(On? 3) = [True]> then\n    if <(costume [number v]) = (item (6) of [dpkg 1 v])> then\n        set [brightness v] effect to (20)\n    else\n        set [brightness v] effect to (0)\n    end\nend\nif <(On? 4) = [True]> then\n    if <(costume [number v]) = (item (6) of [dpkg 2 v])> then\n        set [brightness v] effect to (20)\n    else\n        set [brightness v] effect to (0)\n    end\nend\nif <(On? 5) = [True]> then\n    if <(costume [number v]) = (item (6) of [dpkg 3 v])> then\n        set [brightness v] effect to (20)\n    else\n        set [brightness v] effect to (0)\n    end\nend\n\nwhen [q v] key pressed\nbroadcast (Delete Clones v)\nset [id v] to [0]\nrepeat (10)\n    change [id v] by (1)\n    create clone of (_myself_ v)\n    next costume\nend\n\nwhen I receive [initialise  v]\nhide\ngo to x: (0) y: (0)\nset size to (15) %\nswitch costume to (1.1 v)\n\nwhen [e v] key pressed\nbroadcast (Delete Clones v)\n\nwhen I receive [delete clones v]\ndelete this clone\n\n