Scratch World A Scrolling Platformer (v0.8)


@Stage\n\nwhen flag clicked\nset volume to (50) %\nforever\n    play sound [music v] until done\nend\n\n@Game\n\ndefine Check Collide\ngo to x: (round ((@Player X) - (@Scroll X))) y: (round ((@Player Y) - (@Scroll Y)))\nif <touching (level v)?> then\n    set [touch v] to [101]\n    set [play steps v] to [0]\nelse\n    if <touching (move plat v)?> then\n        set [touch v] to [102]\n    else\n        set [touch v] to [0]\n    end\nend\n\ndefine Player Tick\nif <touching (bouncy/launch v)?> then\n    set [on pad v] to [1]\nelse\n    set [on pad v] to [0]\nend\nset [pushed sx v] to [0]\nif <(on platform) = []> then\n    Check Collide\n    if <(touch) = [102]> then\n        set [pushed sx v] to ((@Platform SX) - (@Player SX))\n        change [@player x v] by (@Platform SX)\n        set [@player sx v] to [0]\n        Check Collide\n        if <<(touch) > [100]> and <not <(touch) = [102]>>> then\n            Move Out Of Collision dir x,y: (0) (1) limit: (([abs v] of (@Platform SX) ) + (2))\n            if <(@Player Die) > [0]> then\n                stop [this script v]\n            end\n            set [@player sy v] to [0]\n            set [@falling v] to [0]\n        end\n    end\nend\nif <<<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>> and <(@Falling) < [3]>> then\n    set [@falling v] to [3]\n    start sound [open v]\n    set [@player sy v] to [14]\nend\nif <<<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>> and <touching (npcs v)?>> then\n    set [@falling v] to [3]\n    set [@player sy v] to [10]\nend\nif <<<<key (down arrow v) pressed?> or <<mouse down?> and <(mouse y) < (y position)>>> and <touching (bouncy/launch v)?>> and <(@Falling) < [3]>> then\n    start sound [open v]\n    set [@falling v] to [3]\n    set [@player sy v] to [20]\nend\nif <<<<key (down arrow v) pressed?> or <<mouse down?> and <(mouse y) < (y position)>>> and <touching (higher bounce v)?>> and <(@Falling) < [3]>> then\n    start sound [open v]\n    set [@falling v] to [3]\n    set [@player sy v] to [50]\nend\nif <<<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>> and <touching (orbs v)?>> then\n    set [@falling v] to [3]\n    set [@player sy v] to [14]\nend\nif <(@Player SY) > [-16]> then\n    change [@player sy v] by (-1)\nend\nchange [@player y v] by (@Player SY)\nif <not <(on platform) = []>> then\n    change [@player y v] by (-5)\n    Check Collide\n    if <not <(touch) = [102]>> then\n        change [@player y v] by (5)\n    end\nend\nset [on platform v] to [0]\nCheck Collide\nif <(touch) = [102]> then\n    set [on platform v] to (@Platform SX)\nelse\n    set [on platform v] to []\nend\nif <(touch) > [100]> then\n    if <(@Player SY) > [0]> then\n        Move Out Of Collision dir x,y: (0) (-1) limit: (999)\n        set [@falling v] to [3]\n        set [@player sy v] to [0]\n    else\n        Move Out Of Collision dir x,y: (0) (1) limit: (999)\n        set [@player sy v] to ((@Player SY) / (2))\n        set [@falling v] to [0]\n    end\nelse\n    change [@falling v] by (1)\nend\nif <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>> then\n    set [@player dir v] to [-90]\n    change [@player sx v] by ((((-9) + (on platform)) - (@Player SX)) * (0.2))\n    change [@walking v] by (1)\nelse\n    if <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        set [@player dir v] to [90]\n        change [@player sx v] by ((((9) + (on platform)) - (@Player SX)) * (0.2))\n        change [@walking v] by (1)\n    else\n        set [@walking v] to [-1]\n        if <([abs v] of ((@Player SX) - (on platform)) ) > [1]> then\n            change [@player sx v] by (((on platform) - (@Player SX)) * (0.35))\n        else\n            set [@player sx v] to (on platform)\n        end\n    end\nend\nchange [@player x v] by (@Player SX)\nCheck Collide\nif <(touch) > [100]> then\n    Move Out Of Collision dir x,y: (0) (1) limit: (round ((([abs v] of (@Player SX) ) * (2)) + (2)))\n    if <(lim) > [2]> then\n        set [@player sx v] to ((@Player SX) * (0.6))\n    end\nend\nif <not <(pushed sx) = [0]>> then\n    change [@player sx v] by (pushed sx)\nend\nif <touching (bouncy/launch v)?> then\n    set [on pad v] to [1]\nelse\n    set [on pad v] to [0]\nend\nset rotation style [left-right v]\nif <touching (ghost v)?> then\n    set [@player die v] to [25]\nend\nif <touching (retro robot v)?> then\n    if <(y position) < ([y position v] of [retro robot v])> then\n        set [@player die v] to [25]\n    end\nend\nif <touching (check v)?> then\n    set [@spawn x v] to (@Scroll X)\n    set [@spawn y v] to (@Scroll Y)\nend\n\ndefine Reset Player\nset [sine! v] to [0]\nset [@player x v] to (@Spawn X)\nset [@player y v] to (@Spawn Y)\nset [@scroll x v] to (@Player X)\nset [@scroll y v] to (@Player Y)\nset [@player sx v] to [0]\nset [@player sy v] to [0]\nset [@falling v] to [0]\nset [@walking v] to [-1]\nset [@player die v] to [0]\nScroll Level\n\ndefine Scroll Level\nchange [@scroll x v] by (round (((@Player X) - (@Scroll X)) * (0.1)))\nif <(@Scroll X) < [0]> then\n    set [@scroll x v] to [0]\nend\nchange [@scroll y v] by (round (((@Player Y) - (@Scroll Y)) * (0.1)))\nif <(@Scroll Y) < [0]> then\n    set [@scroll y v] to [0]\nend\n\nwhen flag clicked\nset [ghost v] effect to (100)\nset [@level v] to [1]\nset [@totalflags v] to [0]\nset [@timer v] to [0]\nset [@player dir v] to [90]\nset [@spawn x v] to [-180]\nset [@spawn y v] to [32]\nReset Player\nbroadcast (setup level v) and wait\nbroadcast (game loop tick v) and wait\nforever\n    change [@timer v] by (1)\n    if <(@Player Die) = [0]> then\n        Player Tick\n        if <(@Player Y) < [-200]> then\n            set [@player die v] to [25]\n        end\n    else\n        change [@player die v] by (1)\n        if <(@Player Die) > [60]> then\n            Reset Player\n        end\n    end\n    Scroll Level\n    broadcast (game loop tick v) and wait\nend\n\ndefine Move Out Of Collision dir x,y: (dx) (dy) limit: (limit)\nset [lim v] to [1]\nrepeat until <<(lim) > (limit)> or <(touch) < [100]>>\n    change [@player x v] by (dx)\n    change [@player y v] by (dy)\n    change [lim v] by (1)\n    Check Collide\nend\nif <(lim) > (limit)> then\n    change [@player x v] by ((0) - ((dx) * (limit)))\n    change [@player y v] by ((0) - ((dy) * (limit)))\n    if <(@Player SX) = [0]> then\n        set [@player die v] to [1]\n    else\n        Check Collide\n        if <(@Player SX) > [0]> then\n            Move Out Of Collision dir x,y: (-1) (0) limit: (999)\n        else\n            Move Out Of Collision dir x,y: (1) (0) limit: (999)\n        end\n        set [@player sx v] to [0]\n    end\nend\n\nwhen flag clicked\nset [time v] to [0]\nforever\n    wait (1) seconds\n    change [time v] by (1)\nend\n\n@Level\n\nwhen flag clicked\nforever\n    hide\nend\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    if <(showing) = [0]> then\n        set [showing v] to [1]\n        show\n    end\nelse\n    if <(showing) = [1]> then\n        set [showing v] to [0]\n        hide\n    end\nend\n\ndefine setup clone at x,y: (x) (y)\ngo to x: (0) y: (0)\nhide\nset [showing v] to [0]\nset [x v] to (round ((x) * (460)))\nset [y v] to (round ((y) * (340)))\ncreate clone of (_myself_ v)\n\nwhen I receive [game loop tick v]\nif <(showing) > [-1]> then\n    position (round ((x) - (@Scroll X))) (round ((y) - (@Scroll Y)))\nend\n\nwhen I receive [setup level v]\nswitch costume to (0 v)\nsetup clone at x,y: (0) (0)\nswitch costume to (1 v)\nsetup clone at x,y: (1) (0)\nswitch costume to (2 v)\nsetup clone at x,y: (2) (0)\nswitch costume to (2 v)\nsetup clone at x,y: (4) (0)\nswitch costume to (3 v)\nsetup clone at x,y: (5) (0)\nswitch costume to (4 v)\nsetup clone at x,y: (6) (0)\nswitch costume to (3 v)\nsetup clone at x,y: (8) (0)\nswitch costume to (5 v)\nsetup clone at x,y: (9) (0)\nswitch costume to (7 v)\nsetup clone at x,y: (11) (0)\nswitch costume to (6 v)\nsetup clone at x,y: (10) (0)\nswitch costume to (7 v)\nsetup clone at x,y: (12) (0)\nswitch costume to (7 v)\nsetup clone at x,y: (13) (0)\nswitch costume to (2 v)\nsetup clone at x,y: (14) (0)\nswitch costume to (3 v)\nsetup clone at x,y: (15) (0)\nswitch costume to (8 v)\nsetup clone at x,y: (16) (0)\nswitch costume to (9 v)\nsetup clone at x,y: (17) (0)\n\n@Scratch Cat\n\nwhen I receive [game loop tick v]\ngo to x: (round ((@Player X) - (@Scroll X))) y: (round ((@Player Y) - (@Scroll Y)))\nif <(@Player Die) = [0]> then\n    if <(last Die) > [0]> then\n        set size to (60) %\n        set [ghost v] effect to (0)\n    end\n    if <not <(@Player Dir) = (direction)>> then\n        set rotation style [left-right v]\n        point in direction (@Player Dir)\n    end\nelse\n    if <(@Player Die) < [25]> then\n        set size to ((size) + (10)) %\n        change [ghost v] effect by (4)\n        change [@player y v] by (-1)\n    else\n        change [ghost v] effect by (100)\n    end\n    set [last die v] to [1]\nend\n\nwhen I receive [game loop tick v]\nif <(round (@Player SY)) = [-1]> then\n    if <<key (left arrow v) pressed?> or <key (right arrow v) pressed?>> then\n        change [player change v] by (1)\n        switch costume to (Player change)\n        if <(Player change) > [17]> then\n            set [player change v] to [2]\n        end\n    else\n        switch costume to (Player change)\n        set [player change v] to [1]\n    end\nelse\n    if <(round (@Player SY)) < [1]> then\n        switch costume to (jump v)\n    else\n        switch costume to (jump2 v)\n    end\nend\n\ndefine Set Costume (costume#)\nif <not <(costume#) = (costume [number v])>> then\n    switch costume to (costume#)\nend\n\nwhen flag clicked\n\nwhen I receive [setup level v]\nshow\ngo to [front v] layer\n\n@Tiles\n\n@Bouncy/launch\n\ndefine setup clone at x,y: (x) (y)\ngo to x: (0) y: (0)\nhide\nset [showing v] to [0]\nset [x v] to (round ((x) * (460)))\nset [y v] to (round ((y) * (340)))\ncreate clone of (_myself_ v)\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    if <(showing) = [0]> then\n        set [showing v] to [1]\n        show\n    end\nelse\n    if <(showing) = [1]> then\n        set [showing v] to [0]\n        hide\n    end\nend\n\nwhen I receive [setup level v]\nswitch costume to (costume1 v)\nsetup clone at x,y: (1.3) (-0.27)\nswitch costume to (costume1 v)\nsetup clone at x,y: (6.1) (-0.27)\n\nwhen I receive [game loop tick v]\nif <(showing) > [-1]> then\n    position (round ((x) - (@Scroll X))) (round ((y) - (@Scroll Y)))\nend\n\n@Title\n\nwhen flag clicked\nshow\nclear graphic effects\n\nwhen I receive [game loop tick v]\nchange [ghost v] effect by (1)\n\n@Ghost\n\ndefine setup clone at x,y: (x) (y)\ngo to x: (0) y: (0)\nhide\nset [showing v] to [0]\nset [x v] to (round ((x) * (460)))\nset [y v] to (round ((y) * (340)))\ncreate clone of (_myself_ v)\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    if <(showing) = [0]> then\n        set [showing v] to [1]\n        show\n    end\nelse\n    if <(showing) = [1]> then\n        set [showing v] to [0]\n        hide\n    end\nend\n\nwhen I receive [setup level v]\nswitch costume to (ghost-a v)\nsetup clone at x,y: (1) (0)\nswitch costume to (ghost-a v)\nsetup clone at x,y: (5) (0)\nswitch costume to (ghost-a v)\nsetup clone at x,y: (5.5) (0)\nswitch costume to (ghost-a v)\nsetup clone at x,y: (10) (0)\nswitch costume to (ghost-a v)\nsetup clone at x,y: (10.5) (0.1)\nswitch costume to (ghost-a v)\nsetup clone at x,y: (11.7) (0)\nswitch costume to (ghost-a v)\nsetup clone at x,y: (12) (0)\nswitch costume to (ghost-a v)\nsetup clone at x,y: (15.4) (0)\n\nwhen I receive [game loop tick v]\nif <(showing) > [-1]> then\n    position ((round ((x) - (@Scroll X))) + (([sin v] of ((timer) * (50)) ) * (20))) (((round ((y) - (@Scroll Y))) + (([sin v] of ((timer) * (100)) ) * (30))) - (30))\n    set [ghost v] effect to ((([sin v] of ((timer) * (200)) ) * (30)) - (-40))\nend\n\n@Higher bounce\n\nwhen I receive [setup level v]\n\nwhen I receive [game loop tick v]\nif <(showing) > [-1]> then\n    position (round ((x) - (@Scroll X))) (round ((y) - (@Scroll Y)))\nend\n\ndefine setup clone at x,y: (x) (y)\ngo to x: (0) y: (0)\nhide\nset [showing v] to [0]\nset [x v] to (round ((x) * (460)))\nset [y v] to (round ((y) * (340)))\ncreate clone of (_myself_ v)\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    if <(showing) = [0]> then\n        set [showing v] to [1]\n        show\n    end\nelse\n    if <(showing) = [1]> then\n        set [showing v] to [0]\n        hide\n    end\nend\n\nswitch costume to (costume1 v)\nsetup clone at x,y: (1) (1)\n\n@Retro Robot\n\nwhen flag clicked\nhide\n\nwhen I receive [game loop tick v]\nif <<([y position v] of [game v]) > ((y position) + (0))> and <touching (game v)?>> then\n    switch costume to (retro robot a2 v)\n    start sound [Clang v]\n    set [@player sy v] to [14]\n    change [score v] by (2)\n    repeat (300)\n        change [cnt v] by (1)\n    end\n    delete this clone\nend\n\nwhen I receive [game loop tick v]\nif <(showing) > [-1]> then\n    position ((round ((x) - (@Scroll X))) + (([sin v] of ((timer) * (40)) ) * (50))) (round ((y) - (@Scroll Y)))\n    set [robot dir de v] to ((round ((x) - (@Scroll X))) + (([sin v] of ((timer) * (40)) ) * (50)))\n    set [ghost v] effect to (0)\nend\nset rotation style [left-right v]\n\nswitch costume to (retro robot a v)\nsetup clone at x,y: (10) (-0.05)\n\ndefine setup clone at x,y: (x) (y)\ngo to x: (0) y: (0)\nhide\nset [showing v] to [0]\nset [x v] to (round ((x) * (460)))\nset [y v] to (round ((y) * (340)))\ncreate clone of (_myself_ v)\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    if <(showing) = [0]> then\n        set [showing v] to [1]\n        show\n    end\nelse\n    if <(showing) = [1]> then\n        set [showing v] to [0]\n        hide\n    end\nend\n\nwhen I receive [setup level v]\nswitch costume to (retro robot a v)\nsetup clone at x,y: (0.6) (-0.14)\nswitch costume to (retro robot a v)\nsetup clone at x,y: (2) (-0.14)\nswitch costume to (retro robot a v)\nsetup clone at x,y: (4) (-0.14)\nswitch costume to (retro robot a v)\nsetup clone at x,y: (9) (-0.05)\nswitch costume to (retro robot a v)\nsetup clone at x,y: (9.7) (-0.15)\nswitch costume to (retro robot a v)\nsetup clone at x,y: (10.2) (-0.15)\nswitch costume to (retro robot a v)\nsetup clone at x,y: (14.3) (-0.15)\n\n@npcs\n\ndefine setup clone at x,y: (x) (y)\ngo to x: (0) y: (0)\nhide\nset [showing v] to [0]\nset [x v] to (round ((x) * (460)))\nset [y v] to (round ((y) * (340)))\ncreate clone of (_myself_ v)\n\nwhen I receive [game loop tick v]\nif <(costume [number v]) = [1]> then\n    if <(distance to [game v]) < [50]> then\n        say [Welcome to Scratch World!]\n    else\n        say []\n    end\nend\nif <(costume [number v]) = [2]> then\n    if <(distance to [game v]) < [50]> then\n        say [Jump on the Robots to kill them! But avoid the ghosts!]\n    else\n        say []\n    end\nend\nif <(costume [number v]) = [3]> then\n    if <(distance to [game v]) < [50]> then\n        say [WOW! I can see CeeBee from here! -->]\n    else\n        say []\n    end\nend\nif <(costume [number v]) = [4]> then\n    if <(distance to [game v]) < [50]> then\n        say [Oh, hai]\n    else\n        say []\n    end\nend\n\nwhen I receive [game loop tick v]\nif <(showing) > [-1]> then\n    position (round ((x) - (@Scroll X))) (round ((y) - (@Scroll Y)))\nend\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    if <(showing) = [0]> then\n        set [showing v] to [1]\n        show\n    end\nelse\n    if <(showing) = [1]> then\n        set [showing v] to [0]\n        hide\n    end\nend\nif <(costume [number v]) = [4]> then\n    point in direction (90)\nelse\n    set rotation style [left-right v]\n    point towards (game v)\nend\n\nwhen I receive [setup level v]\nbroadcast (de v)\nswitch costume to (gobo-a v)\nsetup clone at x,y: (-0.25) (-0.23)\nswitch costume to (tera v)\nsetup clone at x,y: (0.35) (-0.22)\nswitch costume to (pico-a v)\nsetup clone at x,y: (12.4) (-0.12)\nswitch costume to (cb 1 v)\nsetup clone at x,y: (13.2) (-0.05)\n\nwhen I receive [de v]\ndelete this clone\n\n@edge\n\n@check\n\nwhen I start as a clone\nswitch costume to (green flag v)\nstart sound [Low Whoosh v]\nwait until <touching (game v)?>\nswitch costume to (green flag2 v)\n\nwhen I receive [game loop tick v]\ngo to [back v] layer\nif <(showing) > [-1]> then\n    position (round ((x) - (@Scroll X))) (round ((y) - (@Scroll Y)))\nend\n\ndefine setup clone at x,y: (x) (y)\ngo to x: (0) y: (0)\nhide\nset [showing v] to [0]\nset [x v] to (round ((x) * (460)))\nset [y v] to (round ((y) * (340)))\ncreate clone of (_myself_ v)\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    if <(showing) = [0]> then\n        set [showing v] to [1]\n        show\n    end\nelse\n    if <(showing) = [1]> then\n        set [showing v] to [0]\n        hide\n    end\nend\n\nwhen I receive [game loop tick v]\n\nwhen I receive [setup level v]\nsetup clone at x,y: (1.53) (0.21)\nsetup clone at x,y: (4.4) (-0.24)\nsetup clone at x,y: (8) (-0.24)\nsetup clone at x,y: (13) (-0.15)\n\n@Orbs\n\nwhen I receive [game loop tick v]\nif <(showing) > [-1]> then\n    position (round ((x) - (@Scroll X))) (((round ((y) - (@Scroll Y))) + (([sin v] of ((timer) * (40)) ) * (50))) + (0))\nend\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    if <(showing) = [0]> then\n        set [showing v] to [1]\n        show\n    end\nelse\n    if <(showing) = [1]> then\n        set [showing v] to [0]\n        hide\n    end\nend\n\nwhen I receive [setup level v]\nswitch costume to (costume1 v)\nsetup clone at x,y: (2.8) (-0.2)\nswitch costume to (costume1 v)\nsetup clone at x,y: (3.2) (-0.2)\nsetup clone at x,y: (14) (0)\nsetup clone at x,y: (14) (0.2)\n\ndefine setup clone at x,y: (x) (y)\ngo to x: (0) y: (0)\nhide\nset [showing v] to [0]\nset [x v] to (round ((x) * (460)))\nset [y v] to (round ((y) * (340)))\ncreate clone of (_myself_ v)\n\n@move plat\n\nwhen I receive [game loop tick v]\nif <(showing) > [-1]> then\n    position (round ((x) - (@Scroll X))) (((round ((y) - (@Scroll Y))) + (([sin v] of ((timer) * (30)) ) * (30))) - (50))\nend\n\ndefine setup clone at x,y: (x) (y)\ngo to x: (0) y: (0)\nhide\nset [showing v] to [0]\nset [x v] to (round ((x) * (460)))\nset [y v] to (round ((y) * (340)))\ncreate clone of (_myself_ v)\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    if <(showing) = [0]> then\n        set [showing v] to [1]\n        show\n    end\nelse\n    if <(showing) = [1]> then\n        set [showing v] to [0]\n        hide\n    end\nend\n\nwhen I receive [setup level v]\nswitch costume to (_1 v)\nsetup clone at x,y: (6.7) (0)\nswitch costume to (_1 v)\nsetup clone at x,y: (7) (0)\nswitch costume to (_1 v)\nsetup clone at x,y: (7.3) (0)\n\n@fingernail\n\nwhen I receive [game loop tick v]\ngo to [front v] layer\nshow\nset [ghost v] effect to (100)\n\n@collect\n\nwhen I receive [game loop tick v]\nif <(showing) > [-1]> then\n    position (round ((x) - (@Scroll X))) (((round ((y) - (@Scroll Y))) + (([sin v] of ((timer) * (100)) ) * (10))) - (50))\nend\nif <touching (game v)?> then\n    start sound [Magic Spell v]\n    hide\n    change [score v] by (5)\n    delete this clone\nend\n\ndefine setup clone at x,y: (x) (y)\ngo to x: (0) y: (0)\nhide\nset [showing v] to [0]\nset [x v] to (round ((x) * (460)))\nset [y v] to (round ((y) * (340)))\ncreate clone of (_myself_ v)\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    if <(showing) = [0]> then\n        set [showing v] to [1]\n        show\n    end\nelse\n    if <(showing) = [1]> then\n        set [showing v] to [0]\n        hide\n    end\nend\n\nwhen I receive [setup level v]\nset [score v] to [0]\nsetup clone at x,y: (0) (0)\nsetup clone at x,y: (0.8) (0)\nsetup clone at x,y: (0.9) (0)\nsetup clone at x,y: (2) (0)\nsetup clone at x,y: (2.1) (0)\nsetup clone at x,y: (2.2) (0)\nsetup clone at x,y: (2.3) (0)\nsetup clone at x,y: (3) (0.3)\nsetup clone at x,y: (4) (0)\nsetup clone at x,y: (4.1) (0)\nsetup clone at x,y: (4.2) (0)\nsetup clone at x,y: (4.3) (0)\nsetup clone at x,y: (6.7) (0.3)\nsetup clone at x,y: (7) (0.3)\nsetup clone at x,y: (7.3) (0.3)\nsetup clone at x,y: (14) (0.8)\nsetup clone at x,y: (15) (0)\nsetup clone at x,y: (15.1) (0)\nsetup clone at x,y: (15.2) (0)\n\n@help\n\nwhen I receive [game loop tick v]\ngo to x: (0) y: (0)\nif <(On pad) = [1]> then\n    show\nelse\n    hide\nend\n\n