Fehlerhafte Abfrage?

  • Guten Morgen
    vorweg um mein unwissen nicht zu peinlich aussehen zu lassen, ich bin noch Anfänger in sachen Scripten und arbeite mich gerade erst durch verschiedene Tutorials durch. Falls ich also recht schlicht schreibe, und mir verschiedene Fachbegriffe fehlen, tragt es mir nicht zu sehr nach ;).

    Ich habe mir ein kleines "Morsescript" gebastelt mit der ich die pixelgetcolor Funktion besser verstehen wollte. Ansich klappt es auch, nur stoppt er nicht bei einem gefundenen Wert und gibt somit teilweise die falschen Buchstaben aus.


    Ich versuche euch mal bildlich meine Arbeit vorzustellen damit ihr diese nachvollziehen könnt
    _
    ||||||||||||||||||||||||||

    Der Horizontale Strich bestimmt ob Shift gedrückt werden soll oder nicht, die striche dadrunter sind für die einzelnen Buchstaben.
    Also wenn der erste Strich bestehen bleibt, schreiben wir ein "a" wenn er wegfällt ein "b" usw.

    Die Shiftabfrage habe ich so gelöst:
    While 1* Sleep(1000)
    if PixelGetColor(228,428) = 0xA40000 Then
    _gross() ;mit shift
    Else
    _klein() ;ohne shift
    endIf

    EndIf

    und so mit den Buchstaben

    Func _gross()

    If PixelGetColor(1,830) = 0xFCFCFC Then ;a
    Send("{LSHIFT}")
    Send("{a}")

    elseif PixelGetColor(2,22) = 0xFCFCFC Then ;b
    Send("{LSHIFT}")
    Send("{b}")

    ElseIf PixelGetColor(3,22) = 0xFCFCFC Then ;c
    Send("{LSHIFT}")
    Send("{c}")
    .
    .
    .
    usw. usw.

    Problem an der ganzen geschichte ist nun das er trotz der tatsache das er z.B. "a" schreiben soll einfach nochmal random ein "g" einwirft.
    Geht er nicht der reihe nach die Funktion durch?

    Vielen Dank schonmal fürs lesen