3D Platformer

Instructions: Tutorial is inside of the game.\n\nPlease ☆ and ♥ this project. It took so much work...\n@3D\n@Platformer

@Stage\n\nwhen flag clicked\nset [start? v] to [0]\nif <not <key (space v) pressed?>> then\n    set [start? v] to [1]\nend\nswitch backdrop to (bühnenbild2 v)\nif <(start?) = [1]> then\n    switch backdrop to (bühnenbild2 v)\n    wait (2) seconds\n    play sound [out v] until done\nend\nset [gm? v] to [0]\nforever\n    if <(pick random (0) to (1)) = [0]> then\n        play sound [music v] until done\n        play sound [billy eilish bad guy2 v] until done\n        play sound [billy eilish bad guy3 v] until done\n    else\n        play sound [billy eilish bad guy2 v] until done\n        play sound [billy eilish bad guy3 v] until done\n        play sound [music v] until done\n    end\nend\n\nwhen [g v] key pressed\nif <(gm?) = [0]> then\n    set [gm? v] to [1]\nelse\n    set [gm? v] to [0]\nend\n\nwhen [f v] key pressed\nif <(backdrop [number v]) = [1]> then\n    switch backdrop to (bühnenbild2 v)\nelse\n    switch backdrop to (bühnenbild1 v)\nend\n\nwhen flag clicked\nshow list [highscore v]\nhide variable [score v]\nforever\n    if <(Level) = ((maxlevels) + (1))> then\n        insert (join (username) (join [: ] (Score))) at (1) of [highscore v] \n        switch backdrop to (bühnenbild3 v)\n        stop [this script v]\n    end\nend\n\nhide list [highscore v]\n\n@stift\n\ndefine mache Figur\nset [auf plattform?? v] to [0]\nif <(Level) = [1]> then\n    male würfel: [1650] [300] [750] [2050] [350] [1150] TYPE: [3]\n    male würfel: [1050] [220] [750] [1450] [270] [1150] TYPE: [1]\n    male würfel: [1050] [50] [1200] [1450] [100] [1650] TYPE: [1]\n    male würfel: [1050] [-100] [750] [1450] [-50] [1150] TYPE: [1]\n    male würfel: [250] [0] [750] [650] [50] [1150] TYPE: [1]\n    male würfel: [-200] [0] [300] [200] [50] [700] TYPE: [1]\n    male würfel: [-200] [-50] [-200] [200] [0] [200] TYPE: [1]\nelse\n    if <(Level) = [2]> then\n        male würfel: [-200] [400] [2200] [200] [500] [2600] TYPE: [3]\n        male würfel: [-40] [260] [1680] [40] [340] [1760] TYPE: [4]\n        male würfel: [-40] [180] [1240] [40] [260] [1320] TYPE: [1]\n        male würfel: [-40] [100] [800] [40] [180] [880] TYPE: [1]\n        male würfel: [-40] [20] [360] [40] [100] [440] TYPE: [1]\n        male würfel: [-200] [-50] [-200] [200] [0] [200] TYPE: [1]\n    else\n        if <(Level) = [3]> then\n            male würfel: [-1550] [480] [600] [-1150] [530] [1000] TYPE: [3]\n            male würfel: [-1550] [350] [1250] [-1150] [400] [1650] TYPE: [1]\n            male würfel: [-1000] [200] [1250] [-600] [250] [1650] TYPE: (item (2) of [block value v])\n            male würfel: [-200] [-150] [1250] [200] [-100] [1650] TYPE: [4]\n            male würfel: [-200] [-200] [450] [200] [-150] [1000] TYPE: [1]\n            male würfel: [-200] (item (1) of [block value v]) [450] [200] ((item (1) of [block value v]) + (50)) [850] TYPE: [2]\n            male würfel: [-200] [-50] [-200] [200] [0] [200] TYPE: [1]\n        else\n            if <(Level) = [4]> then\n                male würfel: [-200] [-100] [-200] [200] [-50] [200] TYPE: [1]\n            end\n        end\n    end\nend\n\ndefine gehe zu (x) (y) (z) mit "shift"\ngo to x: ((view faktor) * (((x) + (kamera x)) / ((z) + (kamera z)))) y: ((view faktor) * (((y) + (kamera y)) / ((z) + (kamera z))))\n\nwhen flag clicked\nset pen size to (2)\nswitch costume to (medium v)\nset size to (100) %\n\ndefine reche auslösung\nset [cosinus y v] to ([cos v] of (rotation Y) )\nset [sinus y v] to ([sin v] of (rotation Y) )\nset [cosinus x v] to ([cos v] of (rotation X) )\nset [sinus x v] to ([sin v] of (rotation X) )\n\ndefine Punkt1 (x1) (y1) (z1)\nset [x1 v] to (x1)\nset [y1 v] to (y1)\nset [z1 v] to (z1)\n\ndefine Punkt2 (x2) (y2) (z2)\nset [x2 v] to (x2)\nset [y2 v] to (y2)\nset [z2 v] to (z2)\n\ndefine Bildschirm Punkt1 (x1) (y1)\nset [x1 v] to (x1)\nset [y1 v] to (y1)\n\ndefine Bildschirm Punkt2 (x2) (y2)\nset [x2 v] to (x2)\nset [y2 v] to (y2)\n\ndefine male liene von: (x1) (y1) (z1) zu: (x2) (y2) (z2)\nPunkt1 ((x1) - (kamera x 2)) ((y1) - (kamera y 2)) ((z1) - (kamera z 2))\nPunkt2 ((x2) - (kamera x 2)) ((y2) - (kamera y 2)) ((z2) - (kamera z 2))\nPunkt1 (((z1) * (sinus x)) + ((x1) * (cosinus x))) (y1) (((z1) * (cosinus x)) - ((x1) * (sinus x)))\nPunkt2 (((z2) * (sinus x)) + ((x2) * (cosinus x))) (y2) (((z2) * (cosinus x)) - ((x2) * (sinus x)))\nPunkt1 (x1) (((y1) * (cosinus y)) - ((z1) * (sinus y))) (((y1) * (sinus y)) + ((z1) * (cosinus y)))\nPunkt2 (x2) (((y2) * (cosinus y)) - ((z2) * (sinus y))) (((y2) * (sinus y)) + ((z2) * (cosinus y)))\nif <not <<(z1) < (nähe kamera)> and <(z2) < (nähe kamera)>>> then\n    ausschnitt von z\n    Bildschirm Punkt1 ((view faktor) * ((x1) / (z1))) ((view faktor) * ((y1) / (z1)))\n    Bildschirm Punkt2 ((view faktor) * ((x2) / (z2))) ((view faktor) * ((y2) / (z2)))\n    auschnitt von x, y\n    go to x: (x1) y: (y1)\n    pen down\n    go to x: (x2) y: (y2)\n    pen up\nend\n\ndefine ausschnitt von z\nif <<(z1) < [50]> or <(z2) < [50]>> then\n    set [prozent v] to (((nähe kamera) - (z1)) / ((z2) - (z1)))\n    if <(z1) < (nähe kamera)> then\n        Punkt1 ((x1) + (((x2) - (x1)) * (prozent))) ((y1) + (((y2) - (y1)) * (prozent))) (nähe kamera)\n    else\n        if <(z2) < (nähe kamera)> then\n            Punkt2 ((x1) + (((x2) - (x1)) * (prozent))) ((y1) + (((y2) - (y1)) * (prozent))) (nähe kamera)\n        end\n    end\nend\n\ndefine auschnitt von x, y\nset [m v] to (((y2) - (y1)) / ((x2) - (x1)))\nif <(x1) > [240]> then\n    if <(x2) > [240]> then\n        stop [this script v]\n    else\n        Bildschirm Punkt1 [240] ((y1) + (((240) - (x1)) * (m)))\n    end\nend\nif <(y1) > [180]> then\n    if <(y2) > [180]> then\n        stop [this script v]\n    else\n        Bildschirm Punkt1 ((x1) + (((180) - (y1)) / (m))) [180]\n    end\nend\nif <(x1) < [-240]> then\n    if <(x2) < [-240]> then\n        stop [this script v]\n    else\n        Bildschirm Punkt1 [-240] ((y1) + (((-240) - (x1)) * (m)))\n    end\nend\nif <(y1) < [-180]> then\n    if <(y2) < [-180]> then\n        stop [this script v]\n    else\n        Bildschirm Punkt1 ((x1) + (((-180) - (y1)) / (m))) [-180]\n    end\nend\nif <(x2) > [240]> then\n    Bildschirm Punkt2 [240] ((y1) + (((240) - (x1)) * (m)))\nend\nif <(y2) > [180]> then\n    Bildschirm Punkt2 ((x1) + (((180) - (y1)) / (m))) [180]\nend\nif <(x2) < [-240]> then\n    Bildschirm Punkt2 [-240] ((y1) + (((-240) - (x1)) * (m)))\nend\nif <(y2) < [-180]> then\n    Bildschirm Punkt2 ((x1) + (((-180) - (y1)) / (m))) [-180]\nend\n\nwhen flag clicked\nset [tode v] to [0]\nwait (0.1) seconds\nwait until <(start?) = [0]>\nreset timer\nforever\n    if <(gm?) = [0]> then\n        set [z geschwindigkeit v] to [0]\n        set [x geschwindigkeit v] to [0]\n        set [speed v] to [1]\n        set [maus x zusatz v] to [0]\n        set [rot? v] to [0]\n        set [rotation y v] to [0]\n        set [rotation x v] to [0]\n        set [nähe kamera v] to [30]\n        set [kamera x v] to [0]\n        set [kamera y v] to [90]\n        set [kamera z v] to [0]\n        set [rotation x geschwindigkeit v] to [0]\n        set [rotation y geschwindigkeit v] to [0]\n        set [view faktor v] to [300]\n        set [level backup v] to (Level)\n        repeat until <<(kamera y) < [-250]> or <<not <(Level) = (level backup)>> or <<(gm?) = [1]> or <(rot?) = [1]>>>>\n            erase all\n            reche auslösung\n            mache Figur\n            set [x geschwindigkeit v] to ((x geschwindigkeit) * (0.9))\n            set [z geschwindigkeit v] to ((z geschwindigkeit) * (0.9))\n            change [kamera x v] by (x geschwindigkeit)\n            change [kamera z v] by (z geschwindigkeit)\n            if <key (w v) pressed?> then\n                change [z geschwindigkeit v] by ((1) * ((speed) * (cosinus x)))\n                change [x geschwindigkeit v] by ((-1) * ((speed) * (sinus x)))\n            end\n            if <key (a v) pressed?> then\n                change [z geschwindigkeit v] by ((-1) * ((speed) * (sinus x)))\n                change [x geschwindigkeit v] by ((-1) * ((speed) * (cosinus x)))\n            end\n            if <key (s v) pressed?> then\n                change [z geschwindigkeit v] by ((-1) * ((speed) * (cosinus x)))\n                change [x geschwindigkeit v] by ((1) * ((speed) * (sinus x)))\n            end\n            if <key (d v) pressed?> then\n                change [z geschwindigkeit v] by ((1) * ((speed) * (sinus x)))\n                change [x geschwindigkeit v] by ((1) * ((speed) * (cosinus x)))\n            end\n            if <(maus/pfeil) = [0]> then\n                set [rotation y v] to ((0.3) * (mouse y))\n                set [rotation x v] to (((-0.3) * (mouse x)) + (maus X zusatz))\n            else\n                if <key (right arrow v) pressed?> then\n                    change [rotation x geschwindigkeit v] by (-1)\n                end\n                if <key (left arrow v) pressed?> then\n                    change [rotation x geschwindigkeit v] by (1)\n                end\n                if <key (up arrow v) pressed?> then\n                    if <(rotation Y) < [20]> then\n                        change [rotation y geschwindigkeit v] by (1)\n                    end\n                end\n                if <key (down arrow v) pressed?> then\n                    if <[-43] < (rotation Y)> then\n                        change [rotation y geschwindigkeit v] by (-1)\n                    end\n                end\n                set [rotation y geschwindigkeit v] to ((rotation y geschwindigkeit) * (0.8))\n                set [rotation x geschwindigkeit v] to ((rotation x geschwindigkeit) * (0.8))\n                change [rotation y v] by (rotation y geschwindigkeit)\n                change [rotation x v] by (rotation x geschwindigkeit)\n            end\n        end\n        change [tode v] by (1)\n    else\n        erase all\n        mache Figur\n        set [x geschwindigkeit v] to ((x geschwindigkeit) * (0.9))\n        set [z geschwindigkeit v] to ((z geschwindigkeit) * (0.9))\n        set [gm y geschwindigkeit v] to ((gm y geschwindigkeit) * (0.9))\n        change [kamera x v] by (x geschwindigkeit)\n        change [kamera z v] by (z geschwindigkeit)\n        change [kamera y v] by (gm y geschwindigkeit)\n        if <key (w v) pressed?> then\n            change [z geschwindigkeit v] by ((1) * (((speed) + (1)) * (cosinus x)))\n            change [x geschwindigkeit v] by ((-1) * (((speed) + (1)) * (sinus x)))\n        end\n        if <key (a v) pressed?> then\n            change [z geschwindigkeit v] by ((-1) * (((speed) + (1)) * (sinus x)))\n            change [x geschwindigkeit v] by ((-1) * (((speed) + (1)) * (cosinus x)))\n        end\n        if <key (s v) pressed?> then\n            change [z geschwindigkeit v] by ((-1) * (((speed) + (1)) * (cosinus x)))\n            change [x geschwindigkeit v] by ((1) * (((speed) + (1)) * (sinus x)))\n        end\n        if <key (d v) pressed?> then\n            change [z geschwindigkeit v] by ((1) * (((speed) + (1)) * (sinus x)))\n            change [x geschwindigkeit v] by ((1) * (((speed) + (1)) * (cosinus x)))\n        end\n        if <key (q v) pressed?> then\n            change [gm y geschwindigkeit v] by (3)\n        end\n        if <key (e v) pressed?> then\n            change [gm y geschwindigkeit v] by (-3)\n        end\n        if <(maus/pfeil) = [0]> then\n            set [rotation y v] to ((0.3) * (mouse y))\n            set [rotation x v] to (((-0.3) * (mouse x)) + (maus X zusatz))\n        else\n            if <key (right arrow v) pressed?> then\n                change [rotation x geschwindigkeit v] by (-1)\n            end\n            if <key (left arrow v) pressed?> then\n                change [rotation x geschwindigkeit v] by (1)\n            end\n            if <key (up arrow v) pressed?> then\n                if <(rotation Y) < [20]> then\n                    change [rotation y geschwindigkeit v] by (1)\n                end\n            end\n            if <key (down arrow v) pressed?> then\n                if <[-43] < (rotation Y)> then\n                    change [rotation y geschwindigkeit v] by (-1)\n                end\n            end\n            set [rotation y geschwindigkeit v] to ((rotation y geschwindigkeit) * (0.8))\n            set [rotation x geschwindigkeit v] to ((rotation x geschwindigkeit) * (0.8))\n            change [rotation y v] by (rotation y geschwindigkeit)\n            change [rotation x v] by (rotation x geschwindigkeit)\n        end\n    end\nend\n\ndefine male würfel: (x1) (y1) (z1) (x2) (y2) (z2) TYPE: (t)\nif <(t) = [1]> then\n    set pen color to (#1d00ff)\nelse\n    if <(t) = [2]> then\n        set pen color to (#ff0000)\n    else\n        if <(t) = [3]> then\n            set pen color to (#2aff00)\n        else\n            if <(t) = [4]> then\n                set pen color to (#faff00)\n            else\n                set pen color to (#ff00d0)\n            end\n        end\n    end\nend\nreche auslösung\n[Vorderseite]\nmale liene von: (x1) (y1) (z1) zu: (x1) (y2) (z1)\nmale liene von: (x1) (y1) (z1) zu: (x2) (y1) (z1)\nmale liene von: (x1) (y2) (z1) zu: (x2) (y2) (z1)\nmale liene von: (x2) (y1) (z1) zu: (x2) (y2) (z1)\n[Rückseite]\nmale liene von: (x1) (y1) (z2) zu: (x1) (y2) (z2)\nmale liene von: (x1) (y1) (z2) zu: (x2) (y1) (z2)\nmale liene von: (x1) (y2) (z2) zu: (x2) (y2) (z2)\nmale liene von: (x2) (y1) (z2) zu: (x2) (y2) (z2)\n[Verbindungslinien]\nmale liene von: (x1) (y1) (z1) zu: (x1) (y1) (z2)\nmale liene von: (x1) (y2) (z1) zu: (x1) (y2) (z2)\nmale liene von: (x2) (y1) (z1) zu: (x2) (y1) (z2)\nmale liene von: (x2) (y2) (z1) zu: (x2) (y2) (z2)\nif <(t) = [2]> then\n    if <<<<(kamera y) < ((y2) + (91))> and <(y1) < (kamera y)>> and <<(kamera z) < (z2)> and <(z1) < (kamera z)>>> and <<(x2) > (kamera x)> and <(kamera x) > (x1)>>> then\n        set [rot? v] to [1]\n    end\nelse\n    if <<(t) = [1]> or <(t) = [5]>> then\n        if <<<<(kamera y) < ((y2) + (95))> and <((y2) + (75)) < (kamera y)>> and <<(kamera z) < (z2)> and <(z1) < (kamera z)>>> and <<(x2) > (kamera x)> and <(kamera x) > (x1)>>> then\n            if <key (space v) pressed?> then\n                if <(t) = [1]> then\n                    set [kamera y geschwindigkeit v] to [25]\n                else\n                    set [kamera y geschwindigkeit v] to [15]\n                end\n            else\n                set [kamera y geschwindigkeit v] to [0]\n                set [auf plattform?? v] to [1]\n                set [kamera y v] to ((y2) + (94))\n            end\n        end\n    else\n        if <(t) = [3]> then\n            if <<<<(kamera y) < ((y2) + (95))> and <((y2) + (75)) < (kamera y)>> and <<(kamera z) < (z2)> and <(z1) < (kamera z)>>> and <<(x2) > (kamera x)> and <(kamera x) > (x1)>>> then\n                if <key (space v) pressed?> then\n                    set [kamera y geschwindigkeit v] to [25]\n                else\n                    set [kamera y geschwindigkeit v] to [0]\n                    set [auf plattform?? v] to [1]\n                    set [kamera y v] to ((y2) + (94))\n                end\n                if <(gm?) = [0]> then\n                    change [score v] by (((5000) - ((round (timer)) * (10))) - ((Tode) * (100)))\n                    set [tode v] to [0]\n                    if <(Score) < [1]> then\n                        set [score v] to [0]\n                    end\n                    reset timer\n                    broadcast (next Level v)\n                end\n            end\n        else\n            if <(t) = [4]> then\n                if <<<<(kamera y) < ((y2) + (95))> and <((y2) + (75)) < (kamera y)>> and <<(kamera z) < (z2)> and <(z1) < (kamera z)>>> and <<(x2) > (kamera x)> and <(kamera x) > (x1)>>> then\n                    if <key (space v) pressed?> then\n                        set [kamera y geschwindigkeit v] to [40]\n                    else\n                        set [kamera y geschwindigkeit v] to [0]\n                        set [auf plattform?? v] to [1]\n                        set [kamera y v] to ((y2) + (94))\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen flag clicked\nset [level v] to [1]\nforever\n    if <(gm?) = [0]> then\n        if <(auf Plattform??) = [0]> then\n            change [kamera y geschwindigkeit v] by (-1)\n            change [kamera y v] by (kamera y geschwindigkeit)\n        end\n    end\n    if <(mouse x) < [-225]> then\n        change [maus x zusatz v] by (2)\n    end\n    if <[225] < (mouse x)> then\n        change [maus x zusatz v] by (-2)\n    end\n    if <([abs v] of (rotation X) ) > [360]> then\n        set [rotation x v] to [0]\n        set [maus x zusatz v] to [0]\n    end\nend\n\nwhen I receive [next level v]\nchange [level v] by (1)\nplay sound [out v] until done\n\ndefine (komentar)\n\nwhen flag clicked\ndelete all of [block value v]\nadd [0] to [block value v]\nforever\n    if <(Level) = [3]> then\n        set [i v] to [-200]\n        repeat until <not <(Level) = [3]>>\n            repeat (200)\n                replace item (1) of [block value v] with (i)\n                change [i v] by (2)\n            end\n            repeat (200)\n                replace item (1) of [block value v] with (i)\n                change [i v] by (-2)\n            end\n        end\n    end\nend\n\nwhen flag clicked\nwait (0.5) seconds\nadd [0] to [block value v]\nforever\n    if <(Level) = [3]> then\n        repeat until <not <(Level) = [3]>>\n            replace item (2) of [block value v] with [1]\n            wait (2.5) seconds\n            replace item (2) of [block value v] with [2]\n            wait (2.5) seconds\n        end\n        repeat until <not <(Level) = [4]>>\n            replace item (2) of [block value v] with [0]\n            wait (1) seconds\n            replace item (2) of [block value v] with [1]\n            wait (1) seconds\n        end\n    end\nend\n\n@Intro\n\nwhen I start as a clone\nhide\nset size to (10) %\nwait (2) seconds\nswitch costume to (kostüm5 v)\nshow\nrepeat (8)\n    change size by (20)\nend\nrepeat (34)\n    change size by (11)\nend\nrepeat (50)\n    change [ghost v] effect by (2)\nend\n\nwhen flag clicked\nhide\nset [start? v] to [0]\nif <not <key (space v) pressed?>> then\n    set [start? v] to [1]\nend\ngo to x: (0) y: (0)\nswitch costume to (kostüm2 v)\nset size to (10) %\nclear graphic effects\nif <(start?) = [1]> then\n    show\n    create clone of (_myself_ v)\n    show\n    wait (2) seconds\n    switch costume to (kostüm1 v)\n    repeat (50)\n        change size by (10)\n        change [color v] effect by (2)\n    end\n    repeat (9)\n        change x by (-9)\n    end\nend\nrepeat (100)\n    change [ghost v] effect by (1)\nend\nset [start? v] to [0]\n\n@Tutorial\n\nwhen flag clicked\nhide variable [level v]\nerase all\ngo to x: (0) y: (0)\nhide\nset [klon tutorial v] to [1]\nrepeat (3)\n    create clone of (_myself_ v)\n    wait (0.5) seconds\n    change [klon tutorial v] by (1)\nend\nwait until <(start?) = [0]>\nshow\nset [rotation x v] to [0]\nset [rotation y v] to [0]\nset [maus/pfeil v] to [1]\nswitch costume to (mouse off v)\nforever\n    if <touching (mouse-pointer v)?> then\n        set [brightness v] effect to (20)\n        if <mouse down?> then\n            if <(costume [name v]) = [mouse on]> then\n                set [maus/pfeil v] to [1]\n                switch costume to (mouse off v)\n            else\n                set [maus/pfeil v] to [0]\n                switch costume to (mouse on v)\n            end\n            wait until <not <mouse down?>>\n        end\n    else\n        clear graphic effects\n    end\nend\n\nwhen I start as a clone\nforever\n    if <(klon tutorial) = [1]> then\n        hide\n        wait until <(start?) = [0]>\n        go to x: (0) y: (0)\n        show\n        switch costume to (look v)\n        wait until <<key (up arrow v) pressed?> or <<key (down arrow v) pressed?> or <<key (right arrow v) pressed?> or <key (left arrow v) pressed?>>>>\n        delete this clone\n    else\n        if <(klon tutorial) = [2]> then\n            hide\n            wait until <(start?) = [0]>\n            go to x: (0) y: (0)\n            show\n            switch costume to (jump v)\n            wait until <key (space v) pressed?>\n            delete this clone\n        else\n            hide\n            wait until <(start?) = [0]>\n            go to x: (0) y: (0)\n            show\n            switch costume to (move v)\n            wait until <<key (w v) pressed?> or <<key (a v) pressed?> or <<key (s v) pressed?> or <key (d v) pressed?>>>>\n            delete this clone\n        end\n    end\nend\n\n@Figur1\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nset size to (250) %\nwait (0.1) seconds\nset [level v] to [1]\nset [level backup von levels v] to [0]\nwait until <(start?) = [0]>\nclear graphic effects\nswitch costume to (start v)\nforever\n    if <not <(Level) = (Level backup von Levels)>> then\n        if <not <(Level) = [5]>> then\n            clear graphic effects\n            next costume\n            show\n            repeat (50)\n                change [ghost v] effect by (2)\n            end\n            hide\n            set [level backup von levels v] to (Level)\n            wait until <(Level) = (Level backup von Levels)>\n        else\n            stop [this script v]\n        end\n    end\nend\n\n@Camera\n\nwhen flag clicked\nset [score v] to [0]\nhide variable [level v]\nerase all\ngo to x: (0) y: (0)\nhide\nset [klon tutorial v] to [1]\nrepeat (3)\n    create clone of (_myself_ v)\n    wait (0.5) seconds\n    change [klon tutorial v] by (1)\nend\nwait until <(start?) = [0]>\nshow\nset [rotation x v] to [0]\nset [rotation y v] to [0]\nset [person v] to [1]\nswitch costume to (1 v)\nforever\n    if <touching (mouse-pointer v)?> then\n        set [brightness v] effect to (20)\n        if <mouse down?> then\n            if <(costume [name v]) = [1]> then\n                set [person v] to [3]\n                switch costume to (3 v)\n            else\n                set [person v] to [1]\n                switch costume to (1 v)\n            end\n            wait until <not <mouse down?>>\n        end\n    else\n        clear graphic effects\n    end\nend\n\nwhen flag clicked\nforever\n    if <(person) = [1]> then\n        set [kamera x 2 v] to (kamera x)\n        set [kamera y 2 v] to (kamera y)\n        set [kamera z 2 v] to (kamera z)\n    else\n        set [kamera x 2 v] to (kamera x)\n        set [kamera y 2 v] to (kamera y)\n        set [kamera z 2 v] to (kamera z)\n    end\nend\n\n@Thumbnail\n\nwhen flag clicked\nforever\n    go to [front v] layer\n    show\n    set [ghost v] effect to (100)\nend\n\n@Figur2\n\nwhen flag clicked\nset [maxlevels v] to [3]\nhide\nwait until <not <(Level) = ((maxlevels) + (1))>>\nforever\n    if <(Level) = ((maxlevels) + (1))> then\n        set [j v] to [0]\n        repeat (length of (Score))\n            set [@mynumber v] to (j)\n            create clone of (_myself_ v)\n            change [j v] by (1)\n        end\n        stop [this script v]\n    end\nend\n\nwhen I start as a clone\nswitch costume to (letter ((length of (Score)) - (@mynumber)) of (Score))\ngo to x: ((-50) + ((25) * ((length of (Score)) - ((@mynumber) + (1))))) y: (15)\nshow\n\n