Frage bezüglich Variablen

  • Also erst mal hallo alle mit einander!

    Entschuldigt das meine überschrift ein wenig schlecht gewählt ist aber ich wusste echt nicht wie ich mein problem in einen kurzen satz quetschen sollte ;)

    Zu meinem problem / meiner frage:

    Ich habe mehrere variablen in denen koordinaten hinterlegt sind z.B.: $Ec1x, $Ec1y und dann geht es weiter bis $Ec6x, $Ec6y und jetzt möchte ich in einer if-schleife folgendes machen:


    [autoit]

    If (PixelGetColor( $ELx, $ELy ) <> $Color) Then
    MouseMove( $EC1x, $EC1y, 0 )
    MouseClick( "left" )
    Else
    $ED = $ED + 1
    EndIf

    [/autoit]

    Meine frage ist jetzt wie kann ich es am besten machen das die variable jedes mal wenn er die schleife durchläuft geändert wird also beim zweiten durchlauf soll er dann $EC2x, $EC2y nehmen. Wie gesagt habe 6 variablen paare und von mir aus können die auch zufällig gewählt werden also da muss keine reihenfolge drin sein.

    Ich hoffe ihr könnt mir helfen!

    Ich bedanke mich schon mal im vorraus für eure hoffentlich zahlreichen antworten :)

    mfg
    Akay

  • Hallo,

    also erstmal gehört das If nicht zu den Schleifen sondern ist eine Bedingung. Nimm für dich am besten eine For-Schleife und pack deine Variablenpaare in ein Array.

  • Kurze Frage: Wozu soll das Skript dienen?
    Nur auf Verdacht: hier mal gucken

    Achso ich verstehe deinen verdacht. Es soll aber in kurzen worten ein Tool für meinen download manager sein. Also keine angst kein bot oder ähnliches.

    Und zu m-obi also so zu hundert prozent habe ich deine antwort leider nicht verstanden :S Tut mir leid bin noch sehr neu was autoit angeht.

  • Kein Problem dazu sind wir ja da um zu helfen. Hab mal deine Variablen in ein 2D-Array gepackt, hab dir auch die Erklärung dahingeschrieben.

    [autoit]

    #include <Array.au3>

    [/autoit][autoit][/autoit][autoit]

    Global $ED, $ELx, $ELy, $Color

    [/autoit][autoit][/autoit][autoit]

    ; Array mit Koordinaten
    ; $aEC[Anzahl der Paare][Anzahl in einem Paar] = [[$Ec1x, $Ec1y], [$Ec2x, $Ec2y], [$Ec3x, $Ec3y], [$Ec4x, $Ec4y], [$Ec5x, $Ec5y], [$Ec6x, $Ec6y]]
    Global $aEc[6][2] = [[100, 200], [150, 300], [80, 60], [400, 500], [30, 120], [80, 900]]

    [/autoit][autoit][/autoit][autoit]

    _ArrayDisplay($aEC)

    [/autoit][autoit][/autoit][autoit]

    For $i = 0 To UBound($aEc) - 1
    If (PixelGetColor($ELx, $ELy) <> $Color) Then
    MouseMove($aEc[$i][0], $aEc[$i][1], 0)
    MouseClick("left")
    Else
    $ED += 1
    EndIf
    Next

    [/autoit]
  • Ah perfekt genauso hatte ich mir das vorgestellt ! Danke sehr für deine hilfe diesmal war es super zu verstehen :)

    Funktioniert einwandfrei.

    mfg
    Akay