PRO | Wrong type of arguments to unary operator. Oo

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • PRO | Wrong type of arguments to unary operator. Oo

    Hi
    Ich habe ein kleines Game gemacht, bei dem nach einer bestimmten Zeit ein Buchstabe im Spiel erscheint, den man dann eintippen muss. Dazu habe ich folgenden ( leider komplizieren ) Code:

    Create Event

    GML-Quellcode

    1. choose1 = choose('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P');
    2. choose2 = choose('Q','R','S','T','U','V','W','X','Y','Z');
    3. letter = choose(choose1,choose2);
    4. dodraw = 0;
    5. alarm[0] = 400+random(600);
    6. timer = 0;
    7. enter = "";


    Alarm[0] Event

    GML-Quellcode

    1. dodraw = 1;


    Draw Event

    GML-Quellcode

    1. var blubb;
    2. if dodraw = 1 {
    3. timer += 1;
    4. draw_set_halign(fa_center);
    5. draw_set_valign(fa_middle);
    6. draw_text(240,240,string(letter));
    7. enter = keyboard_string;
    8. blubb = timer / room_speed;
    9. if enter = letter { show_message("Du hast genau "+string(blubb)+" Sekunden gebraucht, um den richtigen Buchstaben einzutippen."); game_restart(); }
    10. else { if not enter = 0 { show_message("Falscher Buchstabe!"); game_restart(); } } }


    Doch wenn ich das Spiel starte, und warte bis der Buchstabe angezeigt wird, kommt ein Error:

    Quellcode

    1. ___________________________________________
    2. ERROR in
    3. action number 1
    4. of Draw Event
    5. for object objController:
    6. Error in code at line 10:
    7. else { if not enter = 0 { show_message("Falscher Buchstabe!"); game_restart(); } } }
    8. at position 16: Wrong type of arguments to unary operator.


    Hab schon viel versucht, aber ich komm einfach nicht auf die Lösung.
    Könnt ihr mir da helfen? oO
    fabse64 -> haiyyu

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von fabse64 ()

  • *hat mit fabse64 in ICQ gesprochen*

    So gesehen ist der ganze Script von der Logik her falsch.
    Der Error ist behoben, das enter = 0 wurde verbessert jetzt fehlt nur noch der ganze Rest. :|
    Das Problem jetzt ist:
    " er zeigt gleich wenn der buchstabe kommt 'falscher buchstabe' "

    (Er ist off und ich hab keinen Nerv dazu, das umzuschreiben :P )
  • Ich schon ^^

    Na also fabse, wer immer dir erzählt hat, keyboard_string würde 0 zurückgeben wenn man nix eingibt, gehört geschlagen XD

    Im Anhang ist der verbesserte Script, inklusive Fehlerbehebung beim Eintippen - der GM unterscheidet durchaus Groß- und Kleinschreibung.

    Sieht jetzt natürlich anders aus als die Orginaldatei, aber das lässt sich ja alles einfügen.
    Dateien
    • Verbessert.zip

      (12,92 kB, 91 mal heruntergeladen, zuletzt: )
  • Oha, thx!
    Dann lags also daran, dass die Buchstaben groß geschrieben waren.
    Das 'if not ( enter = 0 )' hatte ich vorher auch als 'if not ( enter = "" )', aber dann hatte ich da ein wenig rumprobiert. Unds dann falsch hierher kopiert.
    Naja, jetzt funzts!
    :thumbsup:
    fabse64 -> haiyyu