☁ Fortnite ☁ || A Multiplayer Platformer                         #all #games

Instructions: Hey ! Welcome to "Fortnite || A Multiplayer Platformer"\nPlay with your friends, buy skin and more...\nPlay wiyh Wasd or Key arrow\nMobile friendly  \n\n❤ and ⭐ for 1000 V-Bucks \nFollow @Matji\n\nMultiplayer engine by @Kismat12 edit by @Paul2448 edit by me xD\nFortnite skin by @Vectorex\nTrap by @Ultracoolgames\nLove and face detector by @ TimMcCool\n\nFull ? Go to server 2 https://scratch.mit.edu/projects/415789801/\n\nHelpers : @Paul2448\nTesters : @zombitoxic9

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop2 v)\nforever\n    if <([costume # v] of [platformer v]) = [10]> then\n        switch backdrop to (backdrop1 v)\n    end\n    if <([costume # v] of [platformer v]) = [14]> then\n        switch backdrop to (backdrop2 v)\n    end\nend\n\n@Spikes\n\nwhen I receive [start v]\nset [level v] to [1]\n\nwhen I receive [start v]\ngo to [back v] layer\n\nwhen flag clicked\nshow\n\nwhen I receive [start v]\nswitch costume to (1 v)\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [next level v]\nnext costume\n\n@platformer\n\nwhen I receive [start v]\n\nset [level v] to [1]\n\nwhen I receive [start v]\nswitch costume to (1 v)\nforever\n    switch costume to (Level)\nend\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\n\nwhen I receive [win v]\nhide\nstop [other scripts in sprite v]\nstop all sounds\n\nnext costume\n\n@uwu\n\ndefine Decode (data)\ndelete all of [cloud list v]\nset [output v] to []\nset [i v] to [0]\nrepeat ((length of (data)) / (2))\n    change [i v] by (2)\n    switch costume to (join (letter ((I) - (1)) of (data)) (letter (I) of (data)))\n    if <(costume [name v]) = [~]> then\n        add (Output) to [cloud list v]\n        set [output v] to []\n    else\n        set [output v] to (join (Output) (costume [name v]))\n    end\nend\n\ndefine Encode\nset [output v] to []\nset [n v] to [0]\nrepeat (length of [my list v])\n    set [i v] to [0]\n    change [n v] by (1)\n    repeat (length of (item (n) of [my list v]))\n        change [i v] by (1)\n        switch costume to (letter (I) of (item (n) of [my list v]))\n        if <(costume [number v]) < [10]> then\n            set [output v] to (join (Output) (join [0] (costume [number v])))\n        else\n            set [output v] to (join (Output) (costume [number v]))\n        end\n    end\n    set [output v] to (join (Output) [53])\nend\n\ndefine Update Players List (id)\nif <(id) = [1]> then\n    set [player list v] to [0]\n    delete all of [check v]\n    repeat (10)\n        change [player list v] by (1)\n        add (item (((Player List) * (8)) - (5)) of [cloud list v]) to [check v]\n    end\nelse\n    if <(id) = [2]> then\n        set [player list v] to [0]\n        repeat (10)\n            change [player list v] by (1)\n            if <not <(@PlayerSlot) = (Player List)>> then\n                if <(item (Player List) of [check v]) = (item (((Player List) * (8)) - (5)) of [cloud list v])> then\n                    replace item (Player List) of [active check v] with [Off]\n                else\n                    replace item (Player List) of [active check v] with [On]\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [initialise  v]\ndelete all of [active check v]\nrepeat (10)\n    add [off] to [active check v]\nend\n\nwhen I receive [start v]\nforever\n    Update Players List [1]\n    wait (0.3) seconds\n    Update Players List [2]\nend\n\nwhen I receive [get data v]\nDecode Data\n\ndefine Saving the data (id)\nEncode\nif <(timer) < ((last.activity) + (60))> then\n    if <(id) = [1]> then\n        set [☁ j1 v] to (Output)\n    else\n        if <(id) = [2]> then\n            set [☁ j2 v] to (Output)\n        else\n            if <(id) = [3]> then\n                set [☁ j3 v] to (Output)\n            else\n                if <(id) = [4]> then\n                    set [☁ j4 v] to (Output)\n                else\n                    if <(id) = [5]> then\n                        set [☁ j5 v] to (Output)\n                    else\n                        if <(id) = [6]> then\n                            set [☁ j6 v] to (Output)\n                        else\n                            if <(id) = [7]> then\n                                set [☁ j7 v] to (Output)\n                            else\n                                if <(id) = [8]> then\n                                    set [☁ j8 v] to (Output)\n                                else\n                                    if <(id) = [9]> then\n                                        set [☁ j9 v] to (Output)\n                                    else\n                                        if <(id) = [10]> then\n                                            set [☁ j10 v] to (Output)\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [tick v]\nDecode Data\nSaving the data (@PlayerSlot)\nDetermine Players\n\ndefine Decode Data\nDecode (join (☁ J1) (join (☁ J2) (join (☁ J3) (join (☁ J4) (join (☁ J5) (join (☁ J6) (join (☁ J7) (join (☁ J8) (join (☁ J9) (☁ J10))))))))))\n\ndefine Determine Players\nset [players v] to [1]\nset [i v] to [0]\nrepeat (10)\n    change [i v] by (1)\n    if <(item (I) of [active check v]) = [On]> then\n        change [players v] by (1)\n    end\nend\n\nwhen I receive [win v]\nhide\nstop [other scripts in sprite v]\nstop all sounds\n\n@connecting\n\ndefine connecttest (@slot)\nif <not <(item (((@PlayerSlot) * (8)) - (4)) of [cloud list v]) = (item (4) of [my list v])>> then\n    wait (1) seconds\n    delete all of [my list v]\n    add (x position) to [my list v]\n    add (y position) to [my list v]\n    add (pick random (999) to (99999)) to [my list v]\n    add (x2) to [my list v]\n    add [0] to [my list v]\n    add (chat.output) to [my list v]\n    add (chat.mode) to [my list v]\n    add [4] to [my list v]\n    broadcast (Tick v) and wait\n    broadcast (Get Data v) and wait\n    if <not <(item (((@PlayerSlot) * (8)) - (4)) of [cloud list v]) = (item (4) of [my list v])>> then\n        broadcast (failed v)\n    end\nend\n\nwhen I receive [initialise  v]\nswitch costume to (yep v)\nshow\nclear graphic effects\ngo to x: (0) y: (0)\ngo to [front v] layer\nset [full? v] to [False]\nset [kick v] to [False]\nset [moved? v] to [800]\n\nwhen flag clicked\nbroadcast (Initialise  v) and wait\nGet Player Slot\nset [moved? v] to [600]\nif <not <(@PlayerSlot) > [0]>> then\n    set [full? v] to [True]\nelse\n    wait (1) seconds\n    set [started v] to [1]\n    broadcast (start v)\nend\nhide\nforever\n    broadcast (Tick v) and wait\nend\n\ndefine Get Player Slot\nset [@playerslot v] to [0]\nbroadcast (Get Data v) and wait\nset [moved? v] to [0]\ndelete all of [check v]\nif <(length of [cloud list v]) = [0]> then\n    set [@playerslot v] to [1]\nelse\n    repeat (10)\n        change [moved? v] by (1)\n        add (item (((Moved?) * (8)) - (5)) of [cloud list v]) to [check v]\n    end\n    wait (2) seconds\n    broadcast (Get Data v) and wait\n    set [moved? v] to [1]\n    repeat until <(item (((Moved?) * (8)) - (5)) of [cloud list v]) = (item (Moved?) of [check v])>\n        change [moved? v] by (1)\n    end\n    set [@playerslot v] to (Moved?)\n    delete all of [my list v]\n    add (x position) to [my list v]\n    add (y position) to [my list v]\n    add (pick random (999) to (99999)) to [my list v]\n    add (x2) to [my list v]\n    add [0] to [my list v]\n    add (chat.output) to [my list v]\n    add (chat.mode) to [my list v]\n    add [4] to [my list v]\n    broadcast (Tick v) and wait\n    broadcast (Get Data v) and wait\n    connecttest (@PlayerSlot)\nend\n\nwhen flag clicked\nset [started v] to [0]\n\nwhen I receive [start v]\nset [started v] to [1]\n\nwhen I receive [aw v]\nshow\ngo to [front v] layer\nswitch costume to (argh2 v)\nstop [all v]\n\nwhen flag clicked\nforever\n    if <(Full?) = [True]> then\n        go to [front v] layer\n        switch costume to (nope v)\n        show\n        stop [all v]\n    end\nend\n\nwhen I receive [failed v]\nshow\ngo to [front v] layer\nswitch costume to (argh v)\nstop [all v]\n\nwhen I receive [win v]\nhide\nstop [other scripts in sprite v]\nstop all sounds\n\n@Cube\n\nwhen flag clicked\nforever\n    if <(username) = [Matji]> then\n        if <key (space v) pressed?> then\n            broadcast (Next level v)\n            change [level v] by (1)\n            go to x: (-400) y: (100)\n            set [x2 v] to [0]\n            set [y2 v] to [0]\n            wait (1) seconds\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(x position) = [265]> then\n        broadcast (Next level v)\n        go to x: (-247) y: (-66)\n        change [level v] by (1)\n    end\nend\n\nwhen I receive [initialise  v]\nhide\nset [username v] to (username)\nset [clone id v] to [0]\nrepeat (10)\n    change [clone id v] by (1)\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\ndelete all of [chat v]\nset [chat v] to [0]\n\nwhen flag clicked\nset [last.activity v] to [1]\n\nwhen flag clicked\nhide variable [players v]\n\nwhen [t v] key pressed\nif <(chat) = [1]> then\n    set [chat v] to [0]\nelse\n    set [chat v] to [1]\nend\n\nwhen I receive [start v]\nshow variable [players v]\n\ndefine Save My Data\ndelete all of [my list v]\nadd (x position) to [my list v]\nadd (y position) to [my list v]\nadd (pick random (999) to (99999)) to [my list v]\nadd (username) to [my list v]\nadd (Level) to [my list v]\nadd (chat.output) to [my list v]\nadd (chat.mode) to [my list v]\nadd (costume [name v]) to [my list v]\n\nwhen I receive [start v]\nforever\n    if <(chat) = [1]> then\nend\n\nwhen I receive [start v]\nwait (4) seconds\nforever\n    if <not <(item (((@PlayerSlot) * (8)) - (4)) of [cloud list v]) = (item (4) of [my list v])>> then\n        broadcast (aw v)\n        stop [all v]\n    end\nend\n\nwhen I start as a clone\nwait until <(started) = [1]>\nif <not <(Clone ID) = (@PlayerSlot)>> then\n    go to x: (item (((Clone ID) * (8)) - (7)) of [cloud list v]) y: (item (((Clone ID) * (8)) - (6)) of [cloud list v])\nend\nif <(Clone ID) = (@PlayerSlot)> then\n    go to x: (-192) y: (0)\nend\nforever\n    Tick\nend\n\ndefine (id)\nif <(item (id) of [active check v]) = [Off]> then\n    hide\nelse\n    if <(item (((id) * (8)) - (3)) of [cloud list v]) = (Level)> then\n        switch costume to ((item (((id) * (8)) - (0)) of [cloud list v]) + (4))\n        show\n        set size to (60) %\n        think (item (((id) * (8)) - (4)) of [cloud list v])\n        change x by (((x position) - (item (((id) * (8)) - (7)) of [cloud list v])) / (-2.5))\n        change y by (((y position) - (item (((id) * (8)) - (6)) of [cloud list v])) / (-2.5))\n        if <(item (((id) * (8)) - (2)) of [cloud list v]) > [0]> then\n            say (item ((item (((id) * (8)) - (2)) of [cloud list v]) + ((item (((id) * (8)) - (1)) of [cloud list v]) * (9))) of [chat v])\n        end\n    else\n        go to x: (item (((id) * (8)) - (7)) of [cloud list v]) y: (item (((id) * (8)) - (6)) of [cloud list v])\n        hide\n    end\nend\n\ndefine Tick\nif <(Clone ID) = (@PlayerSlot)> then\n    Movement (Clone ID)\nelse\n    (Clone ID)\nend\n\nwhen I receive [win v]\nhide\nstop [other scripts in sprite v]\nstop all sounds\n\ndefine Movement (id)\nset size to (60) %\nshow\nchange [y2 v] by (-1)\nif <(chat.output) > [0]> then\n    say (item ((chat.output) + ((chat.mode) * (9))) of [chat v])\nelse\n    think []\nend\nif <(x position) > [230]> then\n    if <(Level) = [15]> then\n        broadcast (win v)\n        stop [other scripts in sprite v]\n        stop [this script v]\n    end\n    broadcast (Next level v)\n    change [level v] by (1)\n    go to x: (-200) y: (0)\n    set [x2 v] to [0]\n    set [y2 v] to [0]\nend\nif <<<<(mouse x) < (x position)> and <mouse down?>> or <key (left arrow v) pressed?>> or <key (a v) pressed?>> then\n    set [last.activity v] to (timer)\n    change [x2 v] by (-0.6)\nelse\n    if <<<<(x position) < (mouse x)> and <mouse down?>> or <key (right arrow v) pressed?>> or <key (d v) pressed?>> then\n        set [last.activity v] to (timer)\n        change [x2 v] by (0.6)\n    end\nend\nset [x2 v] to ((x2) * (0.9))\nchange x by (x2)\nSave My Data\nif <touching (platformer v)?> then\n    change y by (1)\nend\nif <touching (platformer v)?> then\n    change y by (1)\nend\nif <touching (platformer v)?> then\n    change y by (1)\nend\nif <touching (platformer v)?> then\n    change y by (1)\nend\nif <touching (platformer v)?> then\n    change y by (-4)\n    change x by ((x2) * (-1))\nend\nchange y by (y2)\nSave My Data\nif <touching (platformer v)?> then\n    change y by ((0) - (y2))\n    set [y2 v] to [1]\nend\nchange y by (-1)\nif <<<<<(y position) < (mouse y)> and <mouse down?>> or <key (up arrow v) pressed?>> or <key (w v) pressed?>> and <touching (platformer v)?>> then\n    set [last.activity v] to (timer)\n    set [y2 v] to [15]\nend\nchange y by (1)\nif <(y position) > [180]> then\n    set [y2 v] to [0]\nend\nif <<(y position) < [-170]> or <touching (spikes v)?>> then\n    go to x: (-192) y: (0)\n    set [x2 v] to [0]\n    set [y2 v] to [0]\n    broadcast (DIE!!! v)\nend\nSave My Data\ngo to [front v] layer\n\nhide\n\nwhen I receive [chicken v]\nplay sound [Jump v] until done\n\nswitch costume to (cube v)\nswitch costume to (cube v)\nswitch costume to (base2 v)\n\nwhen flag clicked\nset [skin v] to [0]\n\nwhen I receive [start v]\nforever\n    if <(Skin) = [0]> then\n        switch costume to (cube v)\n    end\n    if <(Skin) = [1]> then\n        switch costume to (costume1 v)\n    end\n    if <(Skin) = [2]> then\n        switch costume to (costume2 v)\n    end\n    if <(Skin) = [3]> then\n        switch costume to (costume3 v)\n    end\nend\n\nhide\n\nwhen I receive [die!!! v]\nplay sound [Elimination 1 v] until done\n\nwhen flag clicked\nforever\n    play sound [Fortnite v] until done\nend\n\n@Sprite3\n\nwhen flag clicked\nswitch costume to (costume1 v)\nforever\n    if <<mouse down?> and <touching (mouse-pointer v)?>> then\n        if <<(V-Bucks) = [1200]> or <(V-Bucks) > [1200]>> then\n            set [skin v] to [2]\n            change [v-bucks v] by (-1200)\n            switch costume to (costume2 v)\n            stop [this script v]\n        end\n    end\nend\n\nwhen this sprite clicked\nif <(costume [number v]) = [2]> then\n    set [skin v] to [2]\nend\n\n@Sprite4\n\nwhen flag clicked\nswitch costume to (costume1 v)\nforever\n    if <<mouse down?> and <touching (mouse-pointer v)?>> then\n        if <<(V-Bucks) = [2000]> or <(V-Bucks) > [2000]>> then\n            set [skin v] to [3]\n            change [v-bucks v] by (-2000)\n            switch costume to (costume2 v)\n            stop [this script v]\n        end\n    end\nend\n\nwhen this sprite clicked\nif <(costume [number v]) = [2]> then\n    set [skin v] to [3]\nend\n\n@V-Bucks\n\nwhen I receive [start v]\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [win v]\nhide\nstop [other scripts in sprite v]\nstop all sounds\n\nwhen I receive [start v]\nset [level v] to [1]\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\n\nwhen I receive [start v]\nset [ghost v] effect to (0)\nswitch costume to (costume1 v)\nforever\n    if <touching (cube v)?> then\n        repeat (10)\n            change [ghost v] effect by (10)\n            change y by (10)\n        end\n        wait (0.2) seconds\n        change [v-bucks v] by (100)\n    end\nend\n\nwhen I receive [next level v]\nset [ghost v] effect to (0)\ngo to x: (0) y: (0)\n\n@Sprite1\n\nwhen flag clicked\nset [v-bucks v] to [0]\nhide\n\nwhen I receive [start v]\nshow\nforever\n    if <(V-Bucks) = [0]> then\n        switch costume to (000 v)\n    end\n    if <(V-Bucks) = [100]> then\n        switch costume to (100 v)\n    end\n    if <(V-Bucks) = [200]> then\n        switch costume to (200 v)\n    end\n    if <(V-Bucks) = [300]> then\n        switch costume to (300 v)\n    end\n    if <(V-Bucks) = [400]> then\n        switch costume to (400 v)\n    end\n    if <(V-Bucks) = [500]> then\n        switch costume to (500 v)\n    end\n    if <(V-Bucks) = [600]> then\n        switch costume to (600 v)\n    end\n    if <(V-Bucks) = [700]> then\n        switch costume to (700 v)\n    end\n    if <(V-Bucks) = [800]> then\n        switch costume to (800 v)\n    end\n    if <(V-Bucks) = [900]> then\n        switch costume to (900 v)\n    end\n    if <(V-Bucks) = [1000]> then\n        switch costume to (1000 v)\n    end\n    if <(V-Bucks) = [1100]> then\n        switch costume to (1100 v)\n    end\n    if <(V-Bucks) = [1200]> then\n        switch costume to (1200 v)\n    end\n    if <(V-Bucks) = [1300]> then\n        switch costume to (1300 v)\n    end\n    if <(V-Bucks) = [1400]> then\n        switch costume to (1400 v)\n    end\n    if <(V-Bucks) = [1500]> then\n        switch costume to (1500 v)\n    end\n    if <(V-Bucks) = [1600]> then\n        switch costume to (1600 v)\n    end\n    if <(V-Bucks) = [1700]> then\n        switch costume to (1700 v)\n    end\n    if <(V-Bucks) = [1800]> then\n        switch costume to (1800 v)\n    end\n    if <(V-Bucks) = [1900]> then\n        switch costume to (1900 v)\n    end\n    if <(V-Bucks) = [2000]> then\n        switch costume to (2000 v)\n    end\n    if <(V-Bucks) = [2100]> then\n        switch costume to (2100 v)\n    end\n    if <(V-Bucks) = [2200]> then\n        switch costume to (2200 v)\n    end\n    if <(V-Bucks) = [2300]> then\n        switch costume to (2300 v)\n    end\n    if <(V-Bucks) = [2400]> then\n        switch costume to (2400 v)\n    end\n    if <(V-Bucks) = [2500]> then\n        switch costume to (2500 v)\n    end\n    if <(V-Bucks) = [2600]> then\n        switch costume to (2600 v)\n    end\n    if <(V-Bucks) = [2700]> then\n        switch costume to (2700 v)\n    end\n    if <(V-Bucks) = [2800]> then\n        switch costume to (2800 v)\n    end\n    if <(V-Bucks) = [2900]> then\n        switch costume to (2900 v)\n    end\n    if <(V-Bucks) = [3000]> then\n        switch costume to (3000 v)\n    end\n    if <(V-Bucks) = [3100]> then\n        switch costume to (3100 v)\n    end\n    if <(V-Bucks) = [3200]> then\n        switch costume to (3200 v)\n    end\n    if <(V-Bucks) = [3300]> then\n        switch costume to (3300 v)\n    end\n    if <(V-Bucks) = [3400]> then\n        switch costume to (3400 v)\n    end\n    if <(V-Bucks) = [3500]> then\n        switch costume to (3500 v)\n    end\n    if <(V-Bucks) = [3600]> then\n        switch costume to (3600 v)\n    end\n    if <(V-Bucks) = [3700]> then\n        switch costume to (3700 v)\n    end\n    if <(V-Bucks) = [3800]> then\n        switch costume to (3800 v)\n    end\n    if <(V-Bucks) = [3900]> then\n        switch costume to (3900 v)\n    end\n    if <(V-Bucks) = [4000]> then\n        switch costume to (4000 v)\n    end\n    if <(V-Bucks) = [4100]> then\n        switch costume to (4100 v)\n    end\n    if <(V-Bucks) = [4200]> then\n        switch costume to (4200 v)\n    end\n    if <(V-Bucks) = [4300]> then\n        switch costume to (4300 v)\n    end\n    if <(V-Bucks) = [4400]> then\n        switch costume to (4400 v)\n    end\n    if <(V-Bucks) = [4500]> then\n        switch costume to (4500 v)\n    end\n    if <(V-Bucks) = [4600]> then\n        switch costume to (4600 v)\n    end\n    if <(V-Bucks) = [4700]> then\n        switch costume to (4700 v)\n    end\n    if <(V-Bucks) = [4800]> then\n        switch costume to (4800 v)\n    end\n    if <(V-Bucks) = [4900]> then\n        switch costume to (4900 v)\n    end\n    if <(V-Bucks) = [5000]> then\n        switch costume to (5000 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(V-Bucks) = [5000]> then\n        set [v-bucks v] to [5000]\n    end\nend\n\n@V-Bucks2\n\nwhen I receive [start v]\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [win v]\nhide\nstop [other scripts in sprite v]\nstop all sounds\n\nwhen I receive [start v]\nset [level v] to [1]\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\n\nwhen I receive [start v]\nset [ghost v] effect to (0)\nswitch costume to (costume1 v)\nforever\n    if <touching (cube v)?> then\n        repeat (10)\n            change [ghost v] effect by (10)\n            change y by (10)\n        end\n        wait (0.2) seconds\n        change [v-bucks v] by (100)\n    end\nend\n\nwhen I receive [next level v]\nset [ghost v] effect to (0)\ngo to x: (0) y: (0)\n\n@VR\n\nwhen flag clicked\nset [level v] to [0]\nhide\nforever\n    if <(Level) = [15]> then\n        go to x: (0) y: (0)\n        show\n        set [ghost v] effect to (100)\n        repeat (10)\n            change [ghost v] effect by (-10)\n        end\n        wait (4) seconds\n        stop [all v]\n    end\nend\n\nwhen I receive [win v]\n\nwhen I receive [win v]\n\nwhen flag clicked\nforever\n    if <(Level) = [15]> then\n        play sound [Victory Royale \(New\) v] until done\n    end\nend\n\n@Sprite2\n\nwhen flag clicked\nswitch costume to (costume1 v)\nforever\n    if <<mouse down?> and <touching (mouse-pointer v)?>> then\n        if <<(V-Bucks) = [800]> or <(V-Bucks) > [800]>> then\n            set [skin v] to [1]\n            change [v-bucks v] by (-800)\n            switch costume to (costume2 v)\n            stop [this script v]\n        end\n    end\nend\n\nwhen this sprite clicked\nif <(costume [number v]) = [2]> then\n    set [skin v] to [1]\nend\n\n@Sprite5\n\n@Sprite6\n\nwhen flag clicked\n\nhide\n\nwhen I receive [end v]\n\nshow\n\nwhen flag clicked\nforever\n    go to [front v] layer\n    hide\n    switch costume to (pick random (1) to (2))\n    wait (pick random (15) to (80)) seconds\n    show\n    go to x: (-250) y: (36)\n    repeat (90)\n        change x by (1)\n    end\n    wait (1) seconds\n    repeat (90)\n        change x by (-1)\n    end\n    hide\nend\n\n@Thumbail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nshow\n\n@detector\n\nwhen flag clicked\nhide\nset [faved___ v] to [0]\nset [loved__ v] to [0]\nset [clone id v] to [0]\ncreate clone of (_myself_ v)\nwait (0.2) seconds\nset [clone id v] to [1]\ncreate clone of (_myself_ v)\nwait until <<(LOVED__) = [1]> and <(FAVED___) = [1]>>\nwait (1) seconds\nshow\ngo to [front v] layer\nchange [v-bucks v] by (1000)\ngo to x: (0) y: (50)\nreset timer\nswitch costume to (pick random (1) to (4))\nset [ghost v] effect to (100)\nrepeat until <(timer) > [3.5]>\n    change y by ((y position) / (-15))\n    change [ghost v] effect by (-3)\nend\nreset timer\nrepeat until <(timer) > [3.5]>\n    change y by (((y position) - (-100)) / (-15))\n    change [ghost v] effect by (10)\nend\n\nwhen I start as a clone\nif <(clone id) = [0]> then\n    go to x: (-15) y: (0)\n    set [loved__ v] to [0]\n    switch costume to (love v)\n    forever\n        set [love? v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [loved__ v] to [1]\n        end\n    end\nend\nif <(clone id) = [1]> then\n    go to x: (0) y: (0)\n    switch costume to (fave v)\n    set [faved___ v] to [0]\n    forever\n        set [fav v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [faved___ v] to [1]\n        end\n    end\nend\n\n