[2K FOLLOWERS SPECIAL] Travel - A Platformer #Games #All

Instructions: NEW GAME OUT: https://scratch.mit.edu/projects/898875958/\n\nALSO SEE MY FRIEND (@Crimson-Code) GAME:\nhttps://scratch.mit.edu/projects/900344218/\n\nOriginal Date: Sep 17, 2023\n\n(Sep 23, 2023)\n3k views!!!!!!\n#6 on Trending - Games!!!!!!!\n\n(Sep 27, 2023)\n7k views!!!!!!!\n#3 on Trending - Games!!!!!!!\n\nTravel - A Platformer\nWASD or arrow keys to move\nAvoid spikes and lava\nArrive at the plane on time!!!\n\nA love, a favorite and a follow would be very appreciated!

@Stage\n\nwhen flag clicked\nforever\n    if <(backdrop [name v]) = [backdrop2]> then\n        set [color v] effect to (color)\n    else\n        set [color v] effect to (color)\n        set [color v] to [0]\n    end\nend\n\nwhen flag clicked\nset [color v] to [0]\nswitch backdrop to (backdrop2 v)\nplay sound [IMG_2398 v] until done\nbroadcast (message1 v)\nforever\n    switch backdrop to (1 v)\n    play sound [Prismo - In My Mind MODIFIED v] until done\nend\n\n@intro//squarexyz\n\ndefine smooth glide (x) (y) (smooth) (size) (dir)\nrepeat until <<<(round (x position)) = (x)> and <(round (y position)) = (y)>> and <<(round (size)) = (size)> and <(round (direction)) = (dir)>>>\n    change x by (((x) - (x position)) / (smooth))\n    change y by (((y) - (y position)) / (smooth))\n    change size by (((size) - (size)) / (smooth))\n    turn right (((dir) - (direction)) / (smooth)) degrees\nend\ngo to x: (x) y: (y)\npoint in direction (dir)\nset size to (size) %\n\nwhen flag clicked\nset [color v] to [0]\nhide\ngo to [front v] layer\nclear graphic effects\ngo to x: (0) y: (400)\npoint in direction (0)\nset size to (0) %\nshow\nsmooth glide [0] [0] [5] [100] [90]\nrepeat (1)\n    change [color v] by (10)\nend\nwait (0.5) seconds\nhide\nwait (1.87) seconds\nshow\nwait until <(timer) > [5.7]>\ngo to x: (0) y: (0)\npoint in direction (0)\nset size to (300) %\nchange [color v] by (25)\ncreate clone of (intro//effect2 v)\nsmooth glide [0] [0] [10] [100] [90]\ngo to x: (0) y: (0)\npoint in direction (180)\nset size to (300) %\nchange [color v] by (25)\ncreate clone of (intro//effect2 v)\nsmooth glide [0] [0] [10] [100] [90]\nwait (1.1) seconds\ngo to x: (0) y: (0)\npoint in direction (0)\nset size to (300) %\nchange [color v] by (20)\ncreate clone of (intro//effect2 v)\nsmooth glide [0] [0] [7] [100] [90]\ngo to x: (0) y: (0)\npoint in direction (180)\nset size to (300) %\nchange [color v] by (20)\ncreate clone of (intro//effect2 v)\nsmooth glide [0] [0] [10] [100] [90]\nwait (1) seconds\nsmooth glide [0] [-400] [10] [100] [0]\n\nwhen flag clicked\nforever\n    set [color v] effect to (color)\nend\n\nwhen flag clicked\nwait (12.2) seconds\nchange [color v] by (20)\ncreate clone of (intro//effect3 v)\nwait (0.4) seconds\nchange [color v] by (20)\ncreate clone of (intro//effect5 v)\nwait (0.4) seconds\nchange [color v] by (20)\ncreate clone of (intro//effect4 v)\n\nwhen flag clicked\nwait (9) seconds\nchange [color v] by (25)\ncreate clone of (intro//effect3 v)\nwait (0.4) seconds\nchange [color v] by (25)\ncreate clone of (intro//effect5 v)\n\nwhen flag clicked\nrepeat (20)\n    change [color v] by (10)\nend\n\n@intro//viewport\n\nwhen flag clicked\ngo to x: (0) y: (400)\nforever\n    go to [front v] layer\n    smooth glide [0] [0] [2.5] [100]\nend\n\ndefine smooth glide (x) (y) (smooth) (size)\nrepeat until <<(round (x position)) = (x)> and <(round (y position)) = (y)>>\n    change x by (((x) - (x position)) / (smooth))\n    change y by (((y) - (y position)) / (smooth))\nend\ngo to x: (x) y: (y)\n\nwhen flag clicked\nshow\nwait (16) seconds\nhide\n\n@intro//top half\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (top v)\nclear graphic effects\ngo to [front v] layer\nhide\nwait (0.98) seconds\nshow\nwait (0.5) seconds\nsmooth glide [-400] [0] [2.5]\ngo to x: (400) y: (0)\nsmooth glide [0] [0] [2.5]\nwait (1) seconds\nhide\n\ndefine smooth glide (x) (y) (smooth)\nrepeat until <<(round (x position)) = (x)> and <(round (y position)) = (y)>>\n    change x by (((x) - (x position)) / (smooth))\n    change y by (((y) - (y position)) / (smooth))\nend\ngo to x: (x) y: (y)\n\n@intro//bottom half\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (bottom v)\nclear graphic effects\ngo to [front v] layer\nhide\nwait (0.98) seconds\nshow\nwait (1.5) seconds\nsmooth glide [400] [0] [2.5]\ngo to x: (-400) y: (0)\nsmooth glide [0] [0] [2.5]\nhide\n\ndefine smooth glide (x) (y) (smooth)\nrepeat until <<(round (x position)) = (x)> and <(round (y position)) = (y)>>\n    change x by (((x) - (x position)) / (smooth))\n    change y by (((y) - (y position)) / (smooth))\nend\ngo to x: (x) y: (y)\n\n@intro//effect1\n\nwhen flag clicked\nhide\nrepeat (35)\n    wait (0.3) seconds\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nshow\nif <(timer) > [8.8]> then\n    go to x: (0) y: (400)\n    repeat until <(y position) < [-400]>\n        change y by (-10)\n        point in direction (-90)\n    end\nelse\n    go to x: (0) y: (-400)\n    repeat until <(y position) > [400]>\n        change y by (10)\n        point in direction (90)\n        if <(timer) > [9.3]> then\n            delete this clone\n        end\n    end\nend\ndelete this clone\n\ndefine smooth glide (x) (y) (smooth)\nrepeat until <<(round (x position)) = (x)> and <(round (y position)) = (y)>>\n    change x by (((x) - (x position)) / (smooth))\n    change y by (((y) - (y position)) / (smooth))\nend\ngo to x: (x) y: (y)\n\n@intro//effect2\n\nwhen flag clicked\nforever\n    go to [back v] layer\n    hide\nend\n\nwhen I start as a clone\nshow\nset size to (3) %\nclear graphic effects\nsmooth glide [0] [0] [5] [200] [90]\ndelete this clone\n\ndefine smooth glide (x) (y) (smooth) (size) (dir)\nrepeat until <<<(round (x position)) = (x)> and <(round (y position)) = (y)>> and <<(round (size)) = (size)> and <(round (direction)) = (dir)>>>\n    change x by (((x) - (x position)) / (smooth))\n    change y by (((y) - (y position)) / (smooth))\n    change size by (((size) - (size)) / (smooth))\n    turn right (((dir) - (direction)) / (smooth)) degrees\n    change [fisheye v] effect by (25)\nend\ngo to x: (x) y: (y)\npoint in direction (dir)\nset size to (size) %\n\n@intro//effect3\n\nwhen flag clicked\nforever\n    go to [back v] layer\n    hide\nend\n\nwhen I start as a clone\nshow\nset size to (3) %\ngo to x: (-160) y: (0)\nclear graphic effects\nsmooth glide [-160] [0] [5] [100] [90]\ndelete this clone\n\ndefine smooth glide (x) (y) (smooth) (size) (dir)\nrepeat until <<<(round (x position)) = (x)> and <(round (y position)) = (y)>> and <<(round (size)) = (size)> and <(round (direction)) = (dir)>>>\n    change x by (((x) - (x position)) / (smooth))\n    change y by (((y) - (y position)) / (smooth))\n    change size by (((size) - (size)) / (smooth))\n    turn right (((dir) - (direction)) / (smooth)) degrees\n    change [fisheye v] effect by (50)\nend\ngo to x: (x) y: (y)\npoint in direction (dir)\nset size to (size) %\n\n@intro//effect4\n\nwhen flag clicked\nforever\n    go to [back v] layer\n    hide\nend\n\nwhen I start as a clone\nshow\nset size to (3) %\ngo to x: (0) y: (0)\nclear graphic effects\nsmooth glide [0] [0] [5] [100] [90]\ndelete this clone\n\ndefine smooth glide (x) (y) (smooth) (size) (dir)\nrepeat until <<<(round (x position)) = (x)> and <(round (y position)) = (y)>> and <<(round (size)) = (size)> and <(round (direction)) = (dir)>>>\n    change x by (((x) - (x position)) / (smooth))\n    change y by (((y) - (y position)) / (smooth))\n    change size by (((size) - (size)) / (smooth))\n    turn right (((dir) - (direction)) / (smooth)) degrees\n    change [fisheye v] effect by (50)\nend\ngo to x: (x) y: (y)\npoint in direction (dir)\nset size to (size) %\n\n@intro//effect5\n\nwhen flag clicked\nforever\n    go to [back v] layer\n    hide\nend\n\nwhen I start as a clone\nshow\nset size to (3) %\ngo to x: (160) y: (0)\nclear graphic effects\nsmooth glide [160] [0] [5] [100] [90]\ndelete this clone\n\ndefine smooth glide (x) (y) (smooth) (size) (dir)\nrepeat until <<<(round (x position)) = (x)> and <(round (y position)) = (y)>> and <<(round (size)) = (size)> and <(round (direction)) = (dir)>>>\n    change x by (((x) - (x position)) / (smooth))\n    change y by (((y) - (y position)) / (smooth))\n    change size by (((size) - (size)) / (smooth))\n    turn right (((dir) - (direction)) / (smooth)) degrees\n    change [fisheye v] effect by (50)\nend\ngo to x: (x) y: (y)\npoint in direction (dir)\nset size to (size) %\n\n@Player\n\ndefine X velocity\nif <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n    change [x velocity v] by (1)\nend\nif <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n    change [x velocity v] by (-1)\nend\nset [x velocity v] to ((X velocity) * (.9))\nchange x by (X velocity)\n\ndefine Collision and Wall Jump\nif <touching (ground v)?> then\n    change y by (1)\n    if <touching (ground v)?> then\n        change y by (1)\n        if <touching (ground v)?> then\n            change y by (1)\n            if <touching (ground v)?> then\n                change y by (1)\n                if <touching (ground v)?> then\n                    change y by (1)\n                    if <touching (ground v)?> then\n                        change x by ((X velocity) * (-1))\n                        change y by (-5)\n                        Wall jump\n                    end\n                    change [x velocity v] by (1)\n                end\n            end\n        end\n    end\nend\nchange [y velocity v] by (-1)\nchange y by (Y velocity)\nif <touching (ground v)?> then\n    change y by ((Y velocity) * (-1))\n    set [y velocity v] to [0]\nend\nchange y by (-1)\n\ndefine Y velocity\nif <touching (ground v)?> then\n    if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n        change [y velocity v] by (14)\n    end\nend\nchange y by (1)\n\ndefine Wall jump\nif <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n    if <(X velocity) > [0]> then\n        set [x velocity v] to [-7]\n    else\n        set [x velocity v] to [7]\n    end\n    set [y velocity v] to [10]\nelse\n    set [x velocity v] to [0]\nend\n\ndefine Trail\ncreate clone of (trail v)\n\ndefine Death\nif <touching (spikes. lava, holes, etc. v)?> then\n    go to x: (-190) y: (55)\nend\n\ndefine Trampoline Jump\nif <touching (trampoline v)?> then\n    if <(Y velocity) < [0]> then\n        set [y velocity v] to [18]\n    end\nend\n\ndefine Level Change\nif <(x position) > [235]> then\n    if <(LEVEL) < [10]> then\n        go to x: (-190) y: (55)\n        change [level v] by (1)\n    end\nend\n\nwhen I receive [message1 v]\nshow\ngo to x: (-190) y: (135)\nset [level v] to [1]\nset [x velocity v] to [0]\nset [y velocity v] to [0]\nforever\n    X velocity\n    Y velocity\n    Collision and Wall Jump\n    Trail\n    Death\n    Trampoline Jump\n    Level Change\nend\n\nwhen flag clicked\nhide\n\n@Trail\n\nwhen I start as a clone\ngo to (player v)\nshow\nset [ghost v] effect to (0)\nset size to (100) %\nrepeat (20)\n    change [ghost v] effect by (5)\n    change size by (-2.5)\nend\ndelete this clone\n\nwhen flag clicked\nhide\n\n@Ground\n\nwhen flag clicked\nhide\n\nwhen I receive [message1 v]\nshow\nforever\n    switch costume to (LEVEL)\nend\n\n@Spikes. Lava, Holes, etc.\n\nwhen flag clicked\nhide\n\nwhen I receive [message1 v]\nshow\nforever\n    switch costume to (LEVEL)\n    go to [back v] layer\nend\n\n@Trampoline\n\nwhen flag clicked\nhide\n\nwhen I receive [message1 v]\nshow\nforever\n    switch costume to (LEVEL)\n    go to [back v] layer\nend\n\n@Love fave2\n\nwhen flag clicked\nhide\nwait (20) seconds\nforever\n    wait (pick random (10) to (15)) seconds\n    go to x: (0) y: (50)\n    show\n    go to [front v] layer\n    start sound [pop v]\n    repeat (9)\n        change y by (-6)\n    end\n    repeat (5)\n        change y by (3)\n    end\n    repeat (5)\n        change y by (-1)\n    end\n    wait (2.7) seconds\n    repeat (15)\n        change y by (7)\n    end\n    hide\nend\n\n@PTE Ultra+2\n\ndefine INTERNAL | calcWW (text) (cspace) (width) (space) (x) (offset)\ndelete all of [_temp0 v]\ndelete all of [_temp1 v]\ndelete all of [_temp2 v]\nset [_i3 v] to [1]\nset [_i4 v] to (space)\nset [_i5 v] to [0]\nset [_i8 v] to [0]\nset [_i9 v] to [0]\nrepeat (length of (text))\n    set [_i6 v] to (letter (_i3) of (text))\n    if <(_i6) = [ ]> then\n        add [1] to [_temp2 v]\n        if <((_i5) + (_i4)) > (width)> then\n            add ((_i9) - (1)) to [_temp0 v]\n            add ((x) + ((offset) * (_i5))) to [_temp1 v]\n            set [_i5 v] to (_i4)\n            set [_i4 v] to (space)\n            set [_i9 v] to ((_i8) + (1))\n        else\n            change [_i5 v] by (_i4)\n            set [_i4 v] to (space)\n            change [_i9 v] by ((_i8) + (1))\n        end\n        set [_i8 v] to [0]\n    else\n        if < [abcdefghijklmnopqrstuvwxyz] contains (_i6)?> then\n            switch costume to (_i6)\n            set [_i7 v] to (costume [number v])\n        else\n            set [_i7 v] to (item # of (_i6) in [_chars v])\n        end\n        if <not <(_i7) = [0]>> then\n            add (_i7) to [_temp2 v]\n            set [_i7 v] to ((item (_i7) of [_charwidths v]) + (cspace))\n            if <((_i4) + (_i7)) > (width)> then\n                add ((_i9) - (1)) to [_temp0 v]\n                add ((x) + ((offset) * (_i5))) to [_temp1 v]\n                set [_i5 v] to (_i4)\n                set [_i4 v] to ((space) + (_i7))\n                set [_i9 v] to ((_i8) + (1))\n                set [_i8 v] to [1]\n                add (item (last) of [_temp2 v]) to [_temp2 v]\n            else\n                change [_i4 v] by (_i7)\n                change [_i8 v] by (1)\n            end\n        end\n    end\n    change [_i3 v] by (1)\nend\nif <(_i8) = [0]> then\n    if <not <(_i9) = [0]>> then\n        add ((_i9) - (1)) to [_temp0 v]\n        add ((x) + ((offset) * (_i5))) to [_temp1 v]\n    end\nelse\n    if <((_i5) + (_i4)) > (width)> then\n        add ((_i9) - (1)) to [_temp0 v]\n        add ((x) + ((offset) * (_i5))) to [_temp1 v]\n        add (_i8) to [_temp0 v]\n        add ((x) + ((offset) * (_i4))) to [_temp1 v]\n    else\n        add ((_i9) + (_i8)) to [_temp0 v]\n        add ((x) + ((offset) * ((_i5) + (_i4)))) to [_temp1 v]\n    end\nend\nrepeat until <<not <(item (1) of [_temp0 v]) < [1]>> or <(length of [_temp0 v]) < [1]>>\n    delete (1) of [_temp0 v]\n    delete (1) of [_temp1 v]\nend\nrepeat until <<not <(item (last) of [_temp0 v]) < [1]>> or <(length of [_temp0 v]) < [1]>>\n    delete (last) of [_temp0 v]\n    delete (last) of [_temp1 v]\nend\n\ndefine Print | Pos (x) (y) Size (size) Width (width) RGB (r) (g) (b) WSU (w) (s) (u) CSpace (cspace) Align (align) Text (text)\nSlow Print | Pos (x) (y) Size (size) Width (width) RGB (r) (g) (b) WSU (w) (s) (u) CSpace (cspace) Align (align) Text (text)\n\ndefine Slow Print | Pos (x) (y) Size (size) Width (width) RGB (r) (g) (b) WSU (w) (s) (u) CSpace (cspace) Align (align) Text (text)\npen up\nset pen color to ((((65536) * (round (r))) + ((256) * (round (g)))) + (round (b)))\nset [_x v] to (x)\nset [_i0 v] to ((0.01) * (size))\nset [_i1 v] to ([abs v] of ((0.125) * ((w) * (size))) )\nif <<(size) = (round (size))> and <not <(w) < [0]>>> then\n    if <<((round (_i1)) mod (2)) = [0]> and <not <(_i1) < [0.5]>>> then\n        set [_y v] to (round (y))\n    else\n        set [_y v] to (([floor v] of (y) ) + (0.5))\n    end\nelse\n    set [_y v] to (y)\nend\nif <(w) < [0]> then\n    set [_i2 v] to ((0.125) * (size))\nelse\n    set [_i2 v] to (_i1)\nend\nINTERNAL | printText (text) (_y) (_i0) ((width) * (_i0)) ([tan v] of (s) ) ((_i0) * (u)) (((cspace) * ((0.475) * ((size) / ([log v] of (((size) + (1.01)) * ((size) + (1.01))) )))) + (_i2)) (align) ([ceiling v] of ((0.15) * ([sqrt v] of ((width) * ((size) * (size))) )) ) ((1) / (([ceiling v] of ((0.15) * ([sqrt v] of ((width) * ((size) * (size))) )) ) + (1))) (_i1) ((_i1) + (1)) (((0.6) + ((0.4) * <([floor v] of ((u) / (100)) ) = [0]>)) * (_i1)) ((0.09375) * (size))\n\ndefine WW Print | Pos (x) (y) Size (size) Width (width) RGB (r) (g) (b) WW Width (ww width) WSU (w) (s) (u) CSpace (cspace) LSpace (lspace) Align (align) Text (text)\nWW Slow Print | Pos (x) (y) Size (size) Width (width) RGB (r) (g) (b) WW Width (ww width) WSU (w) (s) (u) CSpace (cspace) LSpace (lspace) Align (align) Text (text)\n\ndefine WW Slow Print | Pos (x) (y) Size (size) Width (width) RGB (r) (g) (b) WW Width (ww width) WSU (w) (s) (u) CSpace (cspace) LSpace (lspace) Align (align) Text (text)\npen up\nset pen color to ((((65536) * (round (r))) + ((256) * (round (g)))) + (round (b)))\nset [_i0 v] to ((0.01) * (size))\nset [_i1 v] to ([abs v] of ((0.125) * ((w) * (size))) )\nif <<(size) = (round (size))> and <not <(w) < [0]>>> then\n    if <<((round (_i1)) mod (2)) = [0]> and <not <(_i1) < [0.5]>>> then\n        set [_y v] to (round (y))\n    else\n        set [_y v] to (([floor v] of (y) ) + (0.5))\n    end\nelse\n    set [_y v] to (y)\nend\nif <(w) < [0]> then\n    set [_i2 v] to ((0.125) * (size))\nelse\n    set [_i2 v] to (_i1)\nend\nset [_i3 v] to (((100) / (size)) / (width))\nset [_i4 v] to ((_i3) * (((cspace) * ((0.475) * ((size) / ([log v] of (((size) + (1.01)) * ((size) + (1.01))) )))) + (_i2)))\nif <(align) = [r]> then\n    set [_i5 v] to ((-1) * (_i0))\nelse\n    if <(align) = [c]> then\n        set [_i5 v] to ((-0.5) * (_i0))\n    else\n        set [_i5 v] to [0]\n    end\nend\nset [_i5 v] to ((width) * (_i5))\nset [_i6 v] to ((item (1) of [_charwidths v]) + (_i4))\nINTERNAL | calcWW (text) (_i4) (((_i3) * (ww width)) + ((_i6) + (_i4))) (_i6) ((x) - ((_i5) * ((_i6) + (_i4)))) (_i5)\nINTERNAL | printWW (_i0) ((width) * (_i0)) ([tan v] of (s) ) ((_i0) * (u)) <not <(u) = [0]>> (((cspace) * ((0.475) * ((size) / ([log v] of (((size) + (1.01)) * ((size) + (1.01))) )))) + (_i2)) (round ((((-0.65) * ((lspace) * (size))) - (size)) - (_i2))) ([ceiling v] of ((0.15) * ([sqrt v] of ((width) * ((size) * (size))) )) ) ((1) / (([ceiling v] of ((0.15) * ([sqrt v] of ((width) * ((size) * (size))) )) ) + (1))) (_i1) ((_i1) + (1)) (((0.6) + ((0.4) * <([floor v] of ((u) / (100)) ) = [0]>)) * (_i1)) ((0.09375) * (size))\n\ndefine INTERNAL | drawBezier (x2) (y2) (x3) (y3) (qual) (dt)\nINTERNAL | bezier (((x3) - ((2) * (x2))) + (x position)) ((2) * ((x2) - (x position))) (x position) (((y3) - ((2) * (y2))) + (y position)) ((2) * ((y2) - (y position))) (y position) (qual) (dt)\ngo to x: (x3) y: (y3)\n\ndefine INTERNAL | bezier (cx1) (cx2) (x1) (cy1) (cy2) (y1) (qual) (dt)\nset [_i4 v] to [0]\nrepeat (qual)\n    change [_i4 v] by (dt)\n    go to x: (((_i4) * (((_i4) * (cx1)) + (cx2))) + (x1)) y: (((_i4) * (((_i4) * (cy1)) + (cy2))) + (y1))\nend\n\ndefine Newlines | # of Lines (lines) Size (size) Weight (w) LSpace (lspace)\nif <(w) < [0]> then\n    change [_y v] by ((lines) * (round ((((-0.65) * ((lspace) * (size))) - (size)) - ((0.125) * (size)))))\nelse\n    change [_y v] by ((lines) * (round ((((-0.65) * ((lspace) * (size))) - (size)) - ((0.125) * ((w) * (size))))))\nend\nif <<(size) = (round (size))> and <not <(w) < [0]>>> then\n    if <<((round ((0.125) * ((w) * (size)))) mod (2)) = [0]> and <not <((0.125) * ((w) * (size))) < [0.5]>>> then\n        set [_y v] to (round (_y))\n    else\n        set [_y v] to (([floor v] of (_y) ) + (0.5))\n    end\nend\n\ndefine INTERNAL | printWW (height) (width) (slant) (underline) <hasundr> (cspace) (lspace) (bezqual) (bezdt) (weight) (dotweight) (underlwt) (underloffset)\nset [_i0 v] to [1]\nset [_i1 v] to [1]\nrepeat (length of [_temp0 v])\n    set [_x v] to (item (_i0) of [_temp1 v])\n    repeat (item (_i0) of [_temp0 v])\n        INTERNAL | printChar (item (_i1) of [_temp2 v]) (height) (width) (_x) (_y) (slant) (bezqual) (bezdt) (weight) (dotweight)\n        change [_x v] by (cspace)\n        change [_i1 v] by (1)\n    end\n    change [_i1 v] by (1)\n    if <hasundr> then\n        set pen size to (underlwt)\n        go to x: ((((_x) - (cspace)) + ((slant) * (underline))) + (underloffset)) y: ((_y) + (underline))\n        pen down\n        set x to (((item (_i0) of [_temp1 v]) + ((slant) * (underline))) - (underloffset))\n        pen up\n    end\n    change [_y v] by (lspace)\n    change [_i0 v] by (1)\nend\nchange [_y v] by ((-1) * (lspace))\ndelete all of [_temp2 v]\n\ndefine INTERNAL | printText (text) (y) (height) (width) (slant) (underline) (space) (align) (bezqual) (bezdt) (weight) (dotweight) (underlwt) (underloffset)\nif <<(align) = [c]> or <(align) = [r]>> then\n    delete all of [_temp0 v]\n    set [_i0 v] to [1]\n    set [_i1 v] to [0]\n    repeat (length of (text))\n        set [_i2 v] to (letter (_i0) of (text))\n        if < [abcdefghijklmnopqrstuvwxyz] contains (_i2)?> then\n            switch costume to (_i2)\n            change [_i1 v] by (((width) * (item (costume [number v]) of [_charwidths v])) + (space))\n            add (costume [number v]) to [_temp0 v]\n        else\n            set [_i2 v] to (item # of (_i2) in [_chars v])\n            if <not <(_i2) = [0]>> then\n                change [_i1 v] by (((width) * (item (_i2) of [_charwidths v])) + (space))\n                add (_i2) to [_temp0 v]\n            end\n        end\n        change [_i0 v] by (1)\n    end\n    if <(align) = [c]> then\n        change [_x v] by ((-0.5) * ((_i1) - (space)))\n    else\n        change [_x v] by ((-1) * ((_i1) - (space)))\n    end\n    set [_i6 v] to (_x)\n    set [_i0 v] to [1]\n    repeat (length of [_temp0 v])\n        INTERNAL | printChar (item (_i0) of [_temp0 v]) (height) (width) (_x) (y) (slant) (bezqual) (bezdt) (weight) (dotweight)\n        change [_x v] by (space)\n        change [_i0 v] by (1)\n    end\nelse\n    set [_i6 v] to (_x)\n    set [_i0 v] to [1]\n    repeat (length of (text))\n        set [_i7 v] to (letter (_i0) of (text))\n        if < [abcdefghijklmnopqrstuvwxyz] contains (_i7)?> then\n            switch costume to (_i7)\n            INTERNAL | printChar (costume [number v]) (height) (width) (_x) (y) (slant) (bezqual) (bezdt) (weight) (dotweight)\n            change [_x v] by (space)\n        else\n            set [_i7 v] to (item # of (_i7) in [_chars v])\n            if <not <(_i7) = [0]>> then\n                INTERNAL | printChar (_i7) (height) (width) (_x) (y) (slant) (bezqual) (bezdt) (weight) (dotweight)\n                change [_x v] by (space)\n            end\n        end\n        change [_i0 v] by (1)\n    end\nend\nif <not <(underline) = [0]>> then\n    set pen size to (underlwt)\n    go to x: ((((_x) - (space)) + ((slant) * (underline))) + (underloffset)) y: ((y) + (underline))\n    pen down\n    set x to (((_i6) + ((slant) * (underline))) - (underloffset))\n    pen up\nend\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\nswitch costume to (sizebypass v)\nset size to (50000) %\nswitch costume to (pte ultra+ v)\n\ndefine INTERNAL | loadFont (font)\nset [_i0 v] to [1]\nrepeat until <(_i0) > (length of (font))>\n    set [_i1 v] to (letter (_i0) of (font))\n    if <[_chars v] contains (_i1)?> then\n        if < [abcdefghijklmnopqrstuvwxyz] contains (_i1)?> then\n            switch costume to (_i1)\n            set [_i4 v] to (costume [number v])\n        else\n            set [_i4 v] to (item # of (_i1) in [_chars v])\n        end\n        if < [abcdefghijklmnopqrstuvwxyz] contains (_i1)?> then\n            switch costume to (_i1)\n            if <(costume [number v]) > [27]> then\n                set [_i2 v] to (item # of (join [_] (_i1)) in [_chardata v])\n                set [_i5 v] to (item (_i2) of [_chardata v])\n                replace item (_i2) of [_chardata v] with []\n                set [_i3 v] to ((item # of (join [_] (_i1)) in [_chardata v]) + (1))\n                replace item (_i2) of [_chardata v] with (_i5)\n            else\n                set [_i3 v] to ((item # of (join [_] (_i1)) in [_chardata v]) + (1))\n            end\n        else\n            set [_i3 v] to ((item # of (join [_] (_i1)) in [_chardata v]) + (1))\n        end\n    else\n        add (_i1) to [_chars v]\n        add [0] to [_charids v]\n        add [0] to [_charwidths v]\n        add (join [_] (_i1)) to [_chardata v]\n        set [_i3 v] to ((length of [_chardata v]) + (1))\n        set [_i4 v] to (length of [_chars v])\n    end\n    add [_] to [_chardata v]\n    change [_i0 v] by (2)\n    set [_i2 v] to []\n    repeat until <(letter (_i0) of (font)) = [ ]>\n        set [_i2 v] to (join (_i2) (letter (_i0) of (font)))\n        change [_i0 v] by (1)\n    end\n    change [_i0 v] by (1)\n    replace item (_i4) of [_charwidths v] with ((1) * (_i2))\n    set [_i2 v] to []\n    repeat until <(letter (_i0) of (font)) = [ ]>\n        set [_i2 v] to (join (_i2) (letter (_i0) of (font)))\n        change [_i0 v] by (1)\n    end\n    change [_i0 v] by (1)\n    if <(letter (1) of (item (_i3) of [_chardata v])) = [_]> then\n        insert (round (_i2)) at (_i3) of [_chardata v] \n    else\n        replace item (_i3) of [_chardata v] with (round (_i2))\n    end\n    change [_i3 v] by (1)\n    repeat (round (_i2))\n        repeat (2)\n            set [_i2 v] to []\n            repeat until <(letter (_i0) of (font)) = [ ]>\n                set [_i2 v] to (join (_i2) (letter (_i0) of (font)))\n                change [_i0 v] by (1)\n            end\n            change [_i0 v] by (1)\n            if <(letter (1) of (item (_i3) of [_chardata v])) = [_]> then\n                insert ((1) * (_i2)) at (_i3) of [_chardata v] \n            else\n                replace item (_i3) of [_chardata v] with ((1) * (_i2))\n            end\n            change [_i3 v] by (1)\n        end\n        set [_i2 v] to []\n        repeat until <(letter (_i0) of (font)) = [ ]>\n            set [_i2 v] to (join (_i2) (letter (_i0) of (font)))\n            change [_i0 v] by (1)\n        end\n        change [_i0 v] by (1)\n        if <(letter (1) of (item (_i3) of [_chardata v])) = [_]> then\n            insert (round (_i2)) at (_i3) of [_chardata v] \n        else\n            replace item (_i3) of [_chardata v] with (round (_i2))\n        end\n        change [_i3 v] by (1)\n        repeat (round (_i2))\n            if <(letter (_i0) of (font)) = [b]> then\n                if <(letter (1) of (item (_i3) of [_chardata v])) = [_]> then\n                    insert [b] at (_i3) of [_chardata v] \n                else\n                    replace item (_i3) of [_chardata v] with [b]\n                end\n                change [_i3 v] by (1)\n                change [_i0 v] by (2)\n                repeat (4)\n                    set [_i2 v] to []\n                    repeat until <(letter (_i0) of (font)) = [ ]>\n                        set [_i2 v] to (join (_i2) (letter (_i0) of (font)))\n                        change [_i0 v] by (1)\n                    end\n                    change [_i0 v] by (1)\n                    if <(letter (1) of (item (_i3) of [_chardata v])) = [_]> then\n                        insert ((1) * (_i2)) at (_i3) of [_chardata v] \n                    else\n                        replace item (_i3) of [_chardata v] with ((1) * (_i2))\n                    end\n                    change [_i3 v] by (1)\n                end\n            else\n                repeat (2)\n                    set [_i2 v] to []\n                    repeat until <(letter (_i0) of (font)) = [ ]>\n                        set [_i2 v] to (join (_i2) (letter (_i0) of (font)))\n                        change [_i0 v] by (1)\n                    end\n                    change [_i0 v] by (1)\n                    if <(letter (1) of (item (_i3) of [_chardata v])) = [_]> then\n                        insert ((1) * (_i2)) at (_i3) of [_chardata v] \n                    else\n                        replace item (_i3) of [_chardata v] with ((1) * (_i2))\n                    end\n                    change [_i3 v] by (1)\n                end\n            end\n        end\n    end\n    set [_i2 v] to []\n    repeat until <(letter (_i0) of (font)) = [ ]>\n        set [_i2 v] to (join (_i2) (letter (_i0) of (font)))\n        change [_i0 v] by (1)\n    end\n    change [_i0 v] by (1)\n    if <(letter (1) of (item (_i3) of [_chardata v])) = [_]> then\n        insert (round (_i2)) at (_i3) of [_chardata v] \n    else\n        replace item (_i3) of [_chardata v] with (round (_i2))\n    end\n    change [_i3 v] by (1)\n    repeat (round (_i2))\n        repeat (2)\n            set [_i2 v] to []\n            repeat until <(letter (_i0) of (font)) = [ ]>\n                set [_i2 v] to (join (_i2) (letter (_i0) of (font)))\n                change [_i0 v] by (1)\n            end\n            change [_i0 v] by (1)\n            if <(letter (1) of (item (_i3) of [_chardata v])) = [_]> then\n                insert ((1) * (_i2)) at (_i3) of [_chardata v] \n            else\n                replace item (_i3) of [_chardata v] with ((1) * (_i2))\n            end\n            change [_i3 v] by (1)\n        end\n    end\n    delete (last) of [_chardata v]\nend\nset [_i0 v] to [1]\nrepeat (length of [_chars v])\n    set [_i1 v] to (item (_i0) of [_chars v])\n    if < [abcdefghijklmnopqrstuvwxyz] contains (_i1)?> then\n        switch costume to (_i1)\n        if <(costume [number v]) > [27]> then\n            set [_i2 v] to (item # of (join [_] (_i1)) in [_chardata v])\n            set [_i3 v] to (item (_i2) of [_chardata v])\n            replace item (_i2) of [_chardata v] with []\n            replace item (_i0) of [_charids v] with ((item # of (join [_] (_i1)) in [_chardata v]) + (2))\n            replace item (_i2) of [_chardata v] with (_i3)\n        else\n            replace item (_i0) of [_charids v] with ((item # of (join [_] (_i1)) in [_chardata v]) + (2))\n        end\n    else\n        replace item (_i0) of [_charids v] with ((item # of (join [_] (_i1)) in [_chardata v]) + (2))\n    end\n    change [_i0 v] by (1)\nend\n\ndefine Import Font | Data (font data)\nset [_i0 v] to [1]\nrepeat until <(letter (_i0) of (font data)) = [{]>\n    change [_i0 v] by (1)\nend\nchange [_i0 v] by (1)\nrepeat until <(letter (_i0) of (font data)) = [\[]>\n    change [_i0 v] by (1)\nend\nchange [_i0 v] by (1)\nset [_i1 v] to []\nrepeat until <(letter (_i0) of (font data)) = [\]]>\n    set [_i1 v] to (join (_i1) (letter (_i0) of (font data)))\n    change [_i0 v] by (1)\nend\nchange [_i0 v] by (1)\nset [_i6 v] to (_i1)\ndelete all of [_temp0 v]\nchange [_i0 v] by (1)\nrepeat until <<(letter (_i0) of (font data)) = [\[]> or <(letter (_i0) of (font data)) = [}]>>\n    change [_i0 v] by (1)\nend\nrepeat until <(letter (_i0) of (font data)) = [}]>\n    change [_i0 v] by (1)\n    delete all of [_temp1 v]\n    add (letter (_i0) of (font data)) to [_temp0 v]\n    change [_i0 v] by (2)\n    set [_i1 v] to []\n    repeat until <<<(letter (_i0) of (font data)) = [,]> or <(letter (_i0) of (font data)) = [;]>> or <(letter (_i0) of (font data)) = [\]]>>\n        set [_i1 v] to (join (_i1) (letter (_i0) of (font data)))\n        change [_i0 v] by (1)\n    end\n    add (_i1) to [_temp0 v]\n    set [_i2 v] to ((length of [_temp0 v]) + (1))\n    set [_i3 v] to [0]\n    repeat until <<(letter (_i0) of (font data)) = [\(]> or <(letter (_i0) of (font data)) = [\]]>>\n        change [_i0 v] by (1)\n    end\n    repeat until <(letter (_i0) of (font data)) = [\]]>\n        set [_i4 v] to ((length of [_temp0 v]) + (3))\n        set [_i5 v] to [0]\n        repeat until <(letter (_i0) of (font data)) = [\)]>\n            change [_i0 v] by (1)\n            if <(letter (_i0) of (font data)) = [b]> then\n                add [b] to [_temp0 v]\n                change [_i0 v] by (1)\n                repeat (4)\n                    change [_i0 v] by (1)\n                    set [_i1 v] to []\n                    repeat until <<<(letter (_i0) of (font data)) = [,]> or <(letter (_i0) of (font data)) = [;]>> or <(letter (_i0) of (font data)) = [\)]>>\n                        set [_i1 v] to (join (_i1) (letter (_i0) of (font data)))\n                        change [_i0 v] by (1)\n                    end\n                    add (_i1) to [_temp0 v]\n                end\n            else\n                change [_i0 v] by (-1)\n                repeat (2)\n                    change [_i0 v] by (1)\n                    set [_i1 v] to []\n                    repeat until <<<(letter (_i0) of (font data)) = [,]> or <(letter (_i0) of (font data)) = [;]>> or <(letter (_i0) of (font data)) = [\)]>>\n                        set [_i1 v] to (join (_i1) (letter (_i0) of (font data)))\n                        change [_i0 v] by (1)\n                    end\n                    add (_i1) to [_temp0 v]\n                end\n            end\n            change [_i5 v] by (1)\n        end\n        if <(_i5) = [1]> then\n            add (item ((length of [_temp0 v]) - (1)) of [_temp0 v]) to [_temp1 v]\n            add (item (last) of [_temp0 v]) to [_temp1 v]\n            delete (last) of [_temp0 v]\n            delete (last) of [_temp0 v]\n        else\n            insert ((_i5) - (1)) at (_i4) of [_temp0 v] \n            change [_i3 v] by (1)\n        end\n        repeat until <<(letter (_i0) of (font data)) = [\(]> or <(letter (_i0) of (font data)) = [\]]>>\n            change [_i0 v] by (1)\n        end\n    end\n    insert (_i3) at (_i2) of [_temp0 v] \n    insert (round ((length of [_temp1 v]) / (2))) at (1) of [_temp1 v] \n    repeat (length of [_temp1 v])\n        add (item (1) of [_temp1 v]) to [_temp0 v]\n        delete (1) of [_temp1 v]\n    end\n    repeat until <<(letter (_i0) of (font data)) = [\[]> or <(letter (_i0) of (font data)) = [}]>>\n        change [_i0 v] by (1)\n    end\nend\nadd [] to [_temp0 v]\nset [_i0 v] to (item # of (_i6) in [_fonts v])\nif <((_i0) mod (2)) = [1]> then\n    replace item ((_i0) + (1)) of [_fonts v] with (_temp0)\nelse\n    add (_i6) to [_fonts v]\n    add (_temp0) to [_fonts v]\nend\ndelete all of [_temp0 v]\n\ndefine Load Font | Name (font)\nset [_i0 v] to (item # of (font) in [_fonts v])\nif <((_i0) mod (2)) = [1]> then\n    INTERNAL | loadFont (item ((_i0) + (1)) of [_fonts v])\nend\n\ndefine Reset Character Data\ndelete all of [_chars v]\ndelete all of [_charids v]\ndelete all of [_charwidths v]\ndelete all of [_chardata v]\nset [_i0 v] to [1]\nrepeat (53)\n    set [_i1 v] to (letter (_i0) of [ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ])\n    add (_i1) to [_chars v]\n    add ((length of [_chardata v]) + (3)) to [_charids v]\n    add [0] to [_charwidths v]\n    add (join [_] (_i1)) to [_chardata v]\n    add [0] to [_chardata v]\n    change [_i0 v] by (1)\nend\n\ndefine INTERNAL | printChar (num) (height) (width) (x) (y) (slant) (bezqual) (bezdt) (weight) (dotweight)\nchange [_x v] by ((width) * (item (num) of [_charwidths v]))\nset [_i3 v] to (item (num) of [_charids v])\nset pen size to (weight)\nrepeat (item ((_i3) - (1)) of [_chardata v])\n    set [_i4 v] to ((height) * (item ((_i3) + (1)) of [_chardata v]))\n    go to x: ((x) + (((width) * (item (_i3) of [_chardata v])) + ((slant) * (_i4)))) y: ((y) + (_i4))\n    pen down\n    change [_i3 v] by (3)\n    repeat (item ((_i3) - (1)) of [_chardata v])\n        if <(item (_i3) of [_chardata v]) = [b]> then\n            set [_i4 v] to ((height) * (item ((_i3) + (2)) of [_chardata v]))\n            set [_i5 v] to ((height) * (item ((_i3) + (4)) of [_chardata v]))\n            INTERNAL | drawBezier ((x) + (((width) * (item ((_i3) + (1)) of [_chardata v])) + ((slant) * (_i4)))) ((y) + (_i4)) ((x) + (((width) * (item ((_i3) + (3)) of [_chardata v])) + ((slant) * (_i5)))) ((y) + (_i5)) (bezqual) (bezdt)\n            change [_i3 v] by (5)\n        else\n            set [_i4 v] to ((height) * (item ((_i3) + (1)) of [_chardata v]))\n            go to x: ((x) + (((width) * (item (_i3) of [_chardata v])) + ((slant) * (_i4)))) y: ((y) + (_i4))\n            change [_i3 v] by (2)\n        end\n    end\n    pen up\nend\nset pen size to (dotweight)\nchange [_i3 v] by (1)\nrepeat (item ((_i3) - (1)) of [_chardata v])\n    set [_i4 v] to ((height) * (item ((_i3) + (1)) of [_chardata v]))\n    go to x: ((x) + (((width) * (item (_i3) of [_chardata v])) + ((slant) * (_i4)))) y: ((y) + (_i4))\n    pen down\n    pen up\n    change [_i3 v] by (2)\nend\n\nwhen flag clicked\nerase all\n\nwhen I receive [message1 v]\nReset Character Data\nLoad Font | Name [Parabolic]\nforever\n    erase all\n    if <(LEVEL) = [1]> then\n        Print | Pos (-220) (140) Size (25) Width (1) RGB (0) (0) (0) WSU (1) (0) (0) CSpace (1) Align [l] Text [Hello!]\n    end\n    if <(LEVEL) = [2]> then\n        Print | Pos (-220) (140) Size (25) Width (1) RGB (0) (0) (0) WSU (1) (0) (0) CSpace (1) Align [l] Text [You're in an airport!!!]\n    end\n    if <(LEVEL) = [3]> then\n        Print | Pos (-220) (140) Size (20) Width (1) RGB (0) (0) (0) WSU (1) (0) (0) CSpace (1) Align [l] Text [You're late for your flight!]\n    end\n    if <(LEVEL) = [4]> then\n        Print | Pos (-220) (140) Size (25) Width (1) RGB (0) (0) (0) WSU (1) (0) (0) CSpace (1) Align [l] Text [Avoid lava and walljump!]\n    end\n    if <(LEVEL) = [5]> then\n        Print | Pos (-220) (140) Size (15) Width (1) RGB (0) (0) (0) WSU (1) (0) (0) CSpace (1) Align [l] Text [Use the trampoline to avoid the spikes!]\n    end\n    if <(LEVEL) = [6]> then\n        Print | Pos (-220) (140) Size (25) Width (1) RGB (0) (0) (0) WSU (1) (0) (0) CSpace (1) Align [l] Text [Go up!]\n    end\n    if <(LEVEL) = [7]> then\n        Print | Pos (-220) (140) Size (25) Width (1) RGB (0) (0) (0) WSU (1) (0) (0) CSpace (1) Align [l] Text [Go down!]\n    end\n    if <(LEVEL) = [9]> then\n        Print | Pos (-220) (140) Size (25) Width (1) RGB (0) (0) (0) WSU (1) (0) (0) CSpace (1) Align [l] Text [Last level!]\n    end\n    if <(LEVEL) = [10]> then\n        Print | Pos (-170) (120) Size (18) Width (1) RGB (0) (0) (0) WSU (1) (0) (0) CSpace (1) Align [l] Text [Love, favorite and follow!]\n    end\n    if <(LEVEL) = [10]> then\n        Print | Pos (-170) (155) Size (13) Width (1) RGB (0) (0) (0) WSU (1) (0) (0) CSpace (1) Align [l] Text [You arrived at the plane on time!]\n    end\nend\n\n@Time\n\nwhen flag clicked\nhide\nreset timer\nset [time v] to [0]\nforever\n    set [time v] to (timer)\nend\n\nwhen [timer v] > (TIME)\ngo to [front v] layer\nshow\n\n@Ground2\n\nwhen flag clicked\nhide\n\nwhen I receive [message1 v]\nshow\nforever\n    switch costume to (LEVEL)\n    go to [back v] layer\nend\n\n