Schon wieder Problem mit Trainer

  • Kennt jemand ne Möglichkeit die Abfrage von 3 Combos intelligenter zu machen als mit Case-Abfragen? Also:Wenn zum Bsp. In der Ersten Combo "Test5" steht, in der zweiten "Tetro4" und in der 3. "Was7"
    Dann soll ne Msg Box kommen(zu Testzwecken) mit "Sie haben ausgewählt: Test5, Tetro4, Was7"
    Eine Übernahme in Variablen ist leider nicht möglich, da ich je nach Namen koordinaten setzen muss.

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)

    Einmal editiert, zuletzt von Fast2 (17. November 2007 um 08:23)

  • ich bin mir nicht sicher ob ich dich richtig verstanden habe, aba versuch mal das:

    [autoit]

    while 1
    if guictrlread($Combo1) = "Test5" and guictrlread($combo2) = "Tetro4" and Guictrlread($combo3) = "Was7" then msgbox(0,"","")
    sleep(100)
    wend

    [/autoit]


    hoffe mal das du das gemeint hast ;)

  • Ne ich hab gemeint:

    Spoiler anzeigen
    [autoit]


    Select
    Case $Combo1 = 3 And $Combo2 = 2 And Combo3 = 8
    $Klick_für_Combo1 = MouseClick("left", $X_Koordinate1, $Y_Koordinate1, 2, 7)
    $Klick_für_Combo2 = MouseClick("left", $X_Koordinate2, $Y_Koordinate2, 2, 7)
    $Klick_für_Combo3 = MouseClick("left", $X_Koordinate3, $Y_Koordinate3, 2, 7)
    Case $Combo1 = 4 And $Combo2 = 2 And $Combo3 = 8
    $Klick_für_Combo1 = MouseClick("left", $Andere_X_Koordinate1, $Andere_Y_Koordinate1, 2, 7)
    $Klick_für_Combo2 = MouseClick("left", $Andere_X_Koordinate2, $Andere_Y_Koordinate2, 2, 7)
    $Klick_für_Combo3 = MouseClick("left", $Andere_X_Koordinate3, $Andere_Y_Koordinate3, 2, 7)
    ;Und so weiter und so fort...

    [/autoit]

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)

    Einmal editiert, zuletzt von Fast2 (17. November 2007 um 15:28)

  • geht das script denn bisher oda nich? weil $Klick_für_Combo1...kann man nicht schreiben. äöü draf man nich in eine variable schreiben.

  • Ja. Das war ja nur aus Kopf getippt :rolleyes: Des restliche Script is ja noch nicht fertig. Und würde eh nicht laufen.

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)

  • Mein Orginalscript hat erst eine fertige Combo und die andere is noch nicht fertig da. Aber hier is es:

    Spoiler anzeigen
    [autoit]

    #cs -----------------------------------------------------
    AutoIt Version: 3.2.8.1
    Von: Fast2

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

    Funktion:DragRacer3 Automatisierung
    #ce -----------------------------------------------------
    ;Anfang
    #include <GUIConstants.au3>
    $G1 = GUICreate("Drag Racer Trainer", 600, 450)
    GUISetFont(14)
    GUICtrlCreateLabel("Dieser Trainer Automatisiert den Show Off Modus von Drag Racer v3", 20, 20)
    GUICtrlCreateLabel("Achtung! Dieser Trainer wurde nur für Firefox v1.5 getestet", 60, 60)
    GUICtrlCreateLabel("Bitte wählen sie aus den Einstellungen", 120, 100)
    $R1 = GUICtrlCreateRadio("Das Spiel ist in einem Fenster ", 30, 140)
    $R2 = GUICtrlCreateRadio("Das Spiel ist in einem Task ", 300, 140)
    $W1 = GUICtrlCreateButton("Weiter", 380, 400, 80)
    $F1 = GUICtrlCreateButton(" Fertig", 500, 400, 75)
    $Fa1 = GUISetBkColor(0x0000CD)
    GUISetState(@SW_Show, $G1)
    $G2 = GUICreate("Drag Racer Trainer Auswahl", 500, 200)
    GUISetBkColor(0x0000CD)
    $CBM = GUICtrlCreateCombo("Bitte wählen sie die Musik", 25, 25)
    GUICtrlSetData($CBM, "Rock|Classic Rock|Hard Rock|Pop|HipHop|Rap")
    $CBH = GUICtrlCreateCombo("Bitte wählen sie die Musik", 25, 25)
    GUICtrlSetData($CBH, "Rock|Classic Rock|Hard Rock|Pop|HipHop|Rap")
    $B2 = GUICtrlCreateButton("Bestätigen", 435, 170)
    $B3 = GUICtrlCreateButton("Abbrechen", 375, 170)
    While 1
    $msg = GUIGetMsg()
    If $msg = $W1 Then
    GUISetState(@SW_Show, $G2)
    GUISetState(@SW_Hide, $G1)
    EndIf
    Select
    Case $msg = $B3 Or $msg = $GUI_Event_Close
    Exit
    Case $msg = $B2
    $CB = GUICtrlRead($CBM)
    $CBN = $CB&" wurde ausgewählt"
    If $CB = "Rock"Or "Classic Rock"Or "Hard Rock"Or "Pop"Or "HipHop"Or "Rap" Then;Ab hier Prüfung
    $P = 1
    Else
    $P = 0
    $NR = "Eine Ungültige Eingabe wurde gemacht"
    EndIf;Ende der Prüfung
    Select;Überprüft was jeweils bei den Combo Boxen gewählt wurde(wird später natürlich erweitert)
    Case $P = 1
    S
    Case Else
    MsgBox(0, $NR, "Bitte OK klicken")
    EndSelect
    EndSelect
    WEnd

    [/autoit]

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)

    • Offizieller Beitrag

    Ich hab hier mal ein Beispiel, wie du Comboboxen noch auswerten kannst.
    Dazu wird jedem Eintrag eine Dualzahl zugewiesen. Somit läßt sich durch eine BitAND-Abfrage eindeutig ermitteln, welche Einträge markiert sind.
    Das ist ganz komfortabel, wenn du eine Vielzahl von Einträgen hast. Außerdem kannst du durch die Indexauswertung besser operieren, als wenn du Inhalte abfragst.
    Auch die Führung der Einträge in einem Array vereinfacht viele Operationen.
    Du kannst zu jedem Eintrag dort z.B. Koordinaten hinterlegen und statt der hier erfolgten Labelbeschriftung die Koordinaten der ausgewählten Einträge weiterverarbeiten.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <GuiCombo.au3>

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

    Opt("GUIOnEventMode", 1)
    Dim $arComboData[8][3] = [ _
    ['c1-1','c2-1','c3-1'], _
    ['c1-2','c2-2','c3-2'], _
    ['c1-3','c2-3','c3-3'], _
    ['c1-4','c2-4','c3-4'], _
    ['c1-5','c2-5','c3-5'], _
    ['c1-6','c2-6','c3-6'], _
    ['c1-7','c2-7','c3-7'], _
    ['c1-8','c2-8','c3-8']]
    Dim $Selection = BitOR(2^0, 2^8, 2^16) ; Index 0 aus jeder Box

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

    $Form1 = GUICreate("Form1", 633, 254, 193, 115)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
    $Combo1 = GUICtrlCreateCombo("", 56, 56, 145, 25)
    GUICtrlSetOnEvent(-1, "Combo1Change")
    $Combo2 = GUICtrlCreateCombo("", 232, 56, 145, 25)
    GUICtrlSetOnEvent(-1, "Combo1Change")
    $Combo3 = GUICtrlCreateCombo("", 408, 55, 145, 25)
    GUICtrlSetOnEvent(-1, "Combo1Change")
    $Button1 = GUICtrlCreateButton("Combos auswerten", 245, 133, 125, 25, 0)
    GUICtrlSetOnEvent(-1, "Button1Click")
    $Label1 = GUICtrlCreateLabel("", 55, 184, 500, 17, $SS_CENTER)
    GUISetState(@SW_SHOW)

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

    For $i = 0 To UBound($arComboData)-1
    _GUICtrlComboAddString($Combo1, $arComboData[$i][0])
    _GUICtrlComboSetCurSel($Combo1, 0)
    _GUICtrlComboAddString($Combo2, $arComboData[$i][1])
    _GUICtrlComboSetCurSel($Combo2, 0)
    _GUICtrlComboAddString($Combo3, $arComboData[$i][2])
    _GUICtrlComboSetCurSel($Combo3, 0)
    Next

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

    While 1
    Sleep(100)
    WEnd

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

    Func Button1Click()
    GUICtrlSetData($Label1, _GetSelValue())
    EndFunc
    Func Combo1Change()
    $indx1 = _GUICtrlComboGetCurSel($Combo1)
    $indx2 = _GUICtrlComboGetCurSel($Combo2)+8
    $indx3 = _GUICtrlComboGetCurSel($Combo3)+16
    $Selection = BitOR(2^$indx1, 2^$indx2, 2^$indx3)
    EndFunc
    Func _GetSelValue()
    Local $a, $b, $c, $n = 8
    For $i = 0 To UBound($arComboData) -1
    If BitAND($Selection, 2^$i) Then
    $a = $arComboData[$i][0]
    ExitLoop
    EndIf
    Next
    For $i = 0 To UBound($arComboData) -1
    If BitAND($Selection, 2^($i+$n)) Then
    $b = $arComboData[$i][1]
    ExitLoop
    EndIf
    Next
    $n = 16
    For $i = 0 To UBound($arComboData) -1
    If BitAND($Selection, 2^($i+$n)) Then
    $c = $arComboData[$i][2]
    ExitLoop
    EndIf
    Next
    Return $a & '; ' & $b & '; ' & $c
    EndFunc
    Func Form1Close()
    Exit
    EndFunc

    [/autoit]
  • BugFix : Danke für den Lösungsvorschlag, aber:
    1.Kenn ich mich mit Arrays nicht so aus und Blick bei dem Sript nicht so durch.
    2.Hab ich mich noch nicht mit dem OnEvent Modus beschäftigt.
    Trotzdem Danke für die Anregung.
    Aber mein Hauptproblem war ja eher die Ewig lange Case Abfrage. Na ja ich machs dann doch auf "normale" Art.

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)

    Einmal editiert, zuletzt von Fast2 (17. November 2007 um 17:11)

  • Ich hab 336 Case-Anfragen errechnet. Ich glaub ich mach mit es einer ini für die Koordinaten *gleich mal die Ini Hilfe Anschau*.

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)

  • @ Bugfix: Wie war das noch mal mit dem Koordinatenzuweisen? Kannst du mir das bitte noch mal erklären? Weil da sollen schon die Namen da sein aber nach das mit dem Zuweisen von Zahlen ist eigentlich ganz gut.
    Ach ne, ich machs doch anders :)

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)

    Einmal editiert, zuletzt von Fast2 (19. November 2007 um 22:07)