Gui fertigstellen aber wie

  • hi alle zusammen habe mal versucht nen gui zu erstellen für mein kleinen autopot bot .

    so habe aber kleinens problem wie kann ich die funktionen dem gui zuordnen ??

    hi mal vom autopot und dem testfenster wo sich geöffnet hat

    [autoit]

    #include <GUIConstants.au3>
    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Christian Monsellato
    \Desktop\Neuer Ordner\gui.kxf
    $Form1 = GUICreate("Form1", 633, 447, 193, 125)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd
    Opt("SendKeyDelay", 200)
    While 1
    If PixelGetColor(405, 332) = 0xFFFFFF Then
    For $i = 1 to 6
    Send ("1") ist für die roten pots
    Next
    EndIf
    If PixelGetColor(405, 332) = 0xFFFFFF Then
    For $i = 1 to 4
    Send ( "2" ) ist für die blauen pots
    Next
    EndIf
    Sleep(1000)
    WEnd

    [/autoit]

    und hier mit dem test fenster

    [autoit]

    #include <GUIConstants.au3>
    #Region ### START Koda GUI section ### Form=c:\dokumente und einstellungen\christian monsellato\desktop\neuer ordner\gui.kxf
    $Form1_1 = GUICreate("Multibot v. 1.2 Made bei Chris", 633, 447, 193, 125)
    $Group1 = GUICtrlCreateGroup("Autopot´s", 0, 0, 137, 89)
    $Checkbox1 = GUICtrlCreateCheckbox("Rote Pot´s", 8, 24, 97, 17)
    $Checkbox2 = GUICtrlCreateCheckbox("Blaue Pot´s", 8, 48, 97, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Button1 = GUICtrlCreateButton("Start", 0, 408, 73, 25, 0)
    $Button2 = GUICtrlCreateButton("Stop", 88, 408, 75, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Form1_1
    EndSwitch
    WEnd

    [/autoit]

    wie kann ich das zusammen machen ??

    lg chris

  • Hi,
    ich sags mal bevor jemand anders kommt :D

    Spoiler anzeigen
  • Servus,

    wenn ich es gescheit könnte, würde ich es dir zeigen, wollte eigentlich nur zu dem Comment über mir was sagen.

    Ich sehe das so, dass er hier nicht danach fragt ob wir ihm bei einem Bot helfen, also Funktionsweise etc. (indirekt ja-->GUI), sondern es geht ihm hier speziell ums Interface
    bzw. wie man einem GUI eine Funktion zuweist (wenns ich richtig verstanden habe). Er könnte ja auch einfach irgendwas anderes schreiben oder was auch immer.
    Es geht ihm hier um GUIs und FUNKTIONSAUFRUFE per GUI und ich denke hier muss man nicht gleich mit "Hey! Hier nicht!!" kommen.
    Falls es dich stört, dass da Bot steht, denk dir einfach er hat allgemein gefragt wie man einem GUI eine Funktion zuweist und fertig.
    Falls ich irre oder was auch immer, mein Tipp an den Themasteller Nightchris, mach nen neuen Thread auf und frag einfach wie man allgemein einem GUI eine Funktion zuweist.

    Gruß Stormy

  • hi

    es funktioniert ja alles schon , also ich brauche keine hilfe für diesen bot,

    will halt echt nur wisse wie ich dem gui diese entsprechende funktion zuordnen kann ,

    denn mit oder ohne funktionieren tut er :)

    als würde mich uber hilfe freuen lg chris

  • Nabend, ich bin mir nicht sicher ob es das ist wie du es haben wolltest, aber kannst ja mal schauen:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>

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

    $Form1_1 = GUICreate("Multibot v. 1.2 Made bei Chris", 170, 140, 193, 125)
    $Group1 = GUICtrlCreateGroup("Autopot´s", 0, 0, 137, 89)
    $chkRot = GUICtrlCreateCheckbox("Rote Pot´s", 8, 24, 97, 17)
    $chkBlau = GUICtrlCreateCheckbox("Blaue Pot´s", 8, 48, 97, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $cmdStart = GUICtrlCreateButton("Start", 0, 105, 73, 25, 0)
    $cmdStop = GUICtrlCreateButton("Stop", 88, 105, 75, 25, 0)
    GUICtrlSetState (-1,$GUI_DISABLE)
    GUISetState(@SW_SHOW)

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

    $checkthepixel = False

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $cmdStart
    GUICtrlSetState ($cmdStart,$GUI_DISABLE)
    GUICtrlSetState ($cmdStop,$GUI_ENABLE)
    $checkthepixel = True

    Case $cmdStop
    GUICtrlSetState ($cmdStop,$GUI_DISABLE)
    GUICtrlSetState ($cmdStart,$GUI_ENABLE)
    $checkthepixel = False
    EndSwitch
    If $checkthepixel = True Then CheckPixel()
    Sleep(50)
    WEnd

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

    Func CheckPixel()
    If GUICtrlGetState($chkBlau) = $GUI_CHECKED Then
    If PixelGetColor(405, 332) = 0xFFFFFF Then
    For $i = 1 To 4
    Send("2") ;ist für die blauen pots
    Next
    EndIf
    EndIf

    If GUICtrlGetState($chkRot) = $GUI_CHECKED Then
    If PixelGetColor(405, 332) = 0xFFFFFF Then
    For $i = 1 To 6
    Send("1") ;ist für die roten pots
    Next
    EndIf
    EndIf
    EndFunc

    [/autoit]

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)

  • cool schaut schon gut aus, so wollte ich es vorerst mal, soll ja in naher zukunft noch etwas erweitert werden ;)

    aber wie haste das jetzt gemacht also ich kann mir zwahr den code anschauen :) aber kannste es vielleicht etwas erklären bin noch total neu hier würde mich echt freuen gruß chris

  • Nabend, och schön das sich jemand für meine Scripts interessiert :) , ich mach dir heute (merke grade das ja schon Sonntag ist) ein Video dazu.

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)

  • etwas stimmt da aber net ,

    habe es versucht , das programm startet zwahr, wähle rot und blau aus drücke start, , aber der macht nix ?


    lg chris

  • Diese Zeilen:
    If GUICtrlGetState($chkBlau) = $GUI_CHECKED Then
    sollten anders abgefragt werden und zwar:
    If BitAnd(GUICtrlRead($chkBlau), $GUI_CHECKED) Then

  • Nabend, wie heute morgen versprochen, ein kleines Video, sorry für den miesen Sound aber meine Soundkarte ist kaputt :(

    Video

    Und der geänderte Quellcode:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    $Form1_1 = GUICreate("Multibot v. 1.2 Made bei Chris", 170, 140, 360, 424)
    $Group1 = GUICtrlCreateGroup("Autopot´s", 0, 0, 137, 89)
    $chkRot = GUICtrlCreateCheckbox("Rote Pot´s", 8, 24, 97, 17)
    $chkBlau = GUICtrlCreateCheckbox("Blaue Pot´s", 8, 48, 97, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $cmdStart = GUICtrlCreateButton("Start", 0, 105, 73, 25, 0)
    $cmdStop = GUICtrlCreateButton("Stop", 88, 105, 75, 25, 0)
    GUICtrlSetState (-1,$GUI_DISABLE)
    GUISetState(@SW_SHOW)

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

    $checkthepixel = False

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $cmdStart
    GUICtrlSetState ($cmdStart,$GUI_DISABLE)
    GUICtrlSetState ($cmdStop,$GUI_ENABLE)
    $checkthepixel = True

    Case $cmdStop
    GUICtrlSetState ($cmdStop,$GUI_DISABLE)
    GUICtrlSetState ($cmdStart,$GUI_ENABLE)
    $checkthepixel = False
    EndSwitch
    If $checkthepixel = True Then CheckPixel()
    Sleep(50)
    WEnd

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

    Func CheckPixel()
    If BitAnd(GUICtrlRead($chkRot), $GUI_CHECKED) Then
    If PixelGetColor(405, 332) = 0xFF0000 Then
    For $i = 1 To 6
    ControlSend("Unbenannt - Editor","","Edit1","1{ENTER}") ;ist für die roten pots
    Next
    EndIf
    EndIf

    If BitAnd(GUICtrlRead($chkBlau), $GUI_CHECKED) Then
    If PixelGetColor(400, 390) = 0x0000FF Then
    For $i = 1 To 4
    ControlSend("Unbenannt - Editor","","Edit1","2{ENTER}") ;ist für die blauen pots
    Next
    EndIf
    EndIf

    If BitAnd(GUICtrlRead($chkRot), $GUI_CHECKED) Or _
    BitAnd(GUICtrlRead($chkBlau), $GUI_CHECKED) Then
    ControlSend("Unbenannt - Editor","","Edit1","Pause{ENTER}")
    Sleep(1000)
    EndIf
    EndFunc

    [/autoit]

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)

  • hi danke erstmal für die mühe und zweitens das du mir hilfst aber funktionieren tut es so leider nicht :(

    habe einfach mal die koordinaten und farbcode geändert für weiß um im editor zu testen aber der macht nüx :(

    kannste vielleicht noch mal drüber schauen ich finde den fehler nicht

    lg chris

  • Moin, das ist jetzt ne gute Frage wo der Fehler liegt, da es das Script ist, welches ich im Video benutzt habe. Das einzige was mir einfällt, ist der Titel von deinem Editor nicht "Unbenannt - Editor" weil du vielleicht nen anderes OS benutzt? Ansonsten musst du mal ein bissel suchen, vom Prinzip her läuft mein Script ( wie auf dem Video zu sehen).

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)

  • hi

    habe mich mal etwas dran versucht es aber leider net hinbekommen also

    1) habe die variante versucht wie du sie hattest roter pkt blauer pkt und da hat es geklapt

    2) habe die koordinaten und farbe so geändert wie ich sie imspiel habe :

    (104, 740) = 0x101410 Rote , (78, 751) = 0x101410 Blaue

    3) er soll ja die hintergrundfarbe erkennen wenn der blaue und der rote balken langsam weg gehen und sobal dieser farbcode auftaucht die aktionen starten

    4) habe alles abgeändert mit farbe und koordinaten

    [autoit]

    #include <GUIConstants.au3>
    $Form1_1 = GUICreate("Multibot v. 1.2 Made bei Chris", 170, 140, 360, 424)
    $Group1 = GUICtrlCreateGroup("Autopot´s", 0, 0, 137, 89)
    $chkRot = GUICtrlCreateCheckbox("Rote Pot´s", 8, 24, 97, 17)
    $chkBlau = GUICtrlCreateCheckbox("Blaue Pot´s", 8, 48, 97, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $cmdStart = GUICtrlCreateButton("Start", 0, 105, 73, 25, 0)
    $cmdStop = GUICtrlCreateButton("Stop", 88, 105, 75, 25, 0)
    GUICtrlSetState (-1,$GUI_DISABLE)
    GUISetState(@SW_SHOW)
    $checkthepixel = False
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $cmdStart
    GUICtrlSetState ($cmdStart,$GUI_DISABLE)
    GUICtrlSetState ($cmdStop,$GUI_ENABLE)
    $checkthepixel = True

    Case $cmdStop
    GUICtrlSetState ($cmdStop,$GUI_DISABLE)
    GUICtrlSetState ($cmdStart,$GUI_ENABLE)
    $checkthepixel = False
    EndSwitch
    If $checkthepixel = True Then CheckPixel()
    Sleep(50)
    WEnd
    Func CheckPixel()
    If BitAnd(GUICtrlRead($chkRot), $GUI_CHECKED) Then
    If PixelGetColor(104, 740) = 0x101410 Then
    For $i = 1 To 6
    ControlSend("Unbenannt - Editor","","Edit1","1{ENTER}") ;ist für die roten pots
    Next
    EndIf
    EndIf

    If BitAnd(GUICtrlRead($chkBlau), $GUI_CHECKED) Then
    If PixelGetColor(78, 751) = 0x101410 Then
    For $i = 1 To 4
    ControlSend("Unbenannt - Editor","","Edit1","2{ENTER}") ;ist für die blauen pots
    Next
    EndIf
    EndIf

    If BitAnd(GUICtrlRead($chkRot), $GUI_CHECKED) Or _
    BitAnd(GUICtrlRead($chkBlau), $GUI_CHECKED) Then
    ControlSend("Unbenannt - Editor","","Edit1","Pause{ENTER}")
    Sleep(1000)
    EndIf
    EndFunc

    [/autoit]

    ergebnis :

    mein leben (roter blaken) ging runter der farbcode tauchte auf aber nix passiert :(


    lg chris

  • Hallo,
    ich habe wenig Zeit, also hab ich nur mal schnell gschaut, und mir ist aufgefallen, das du das:

    [autoit]

    For $i = 1 To 4
    ControlSend("Unbenannt - Editor","","Edit1","2{ENTER}") ;ist für die blauen pots
    Next

    [/autoit]


    geschrieben hast. Wo wird denn da der Count erhöt? Schreib doch stattdessen das:

    [autoit]

    For $i = 1 To 4
    $E = ControlSend("Unbenannt - Editor","","Edit1","2{ENTER}") ;ist für die blauen pots
    If Not $E Then $i += 1
    Next

    [/autoit]


    Bei rot das selbe.
    Hoffend dass das das Problem war,
    Fast2

    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)

  • so habe jetzt mal versucht geht aber immer noch nicht

    habe ich es vielleicht falsch eingefügt ??

    [autoit]

    #include <GUIConstants.au3>
    $Form1_1 = GUICreate("Multibot v. 1.2 Made bei Chris", 170, 140, 360, 424)
    $Group1 = GUICtrlCreateGroup("Autopot´s", 0, 0, 137, 89)
    $chkRot = GUICtrlCreateCheckbox("Rote Pot´s", 8, 24, 97, 17)
    $chkBlau = GUICtrlCreateCheckbox("Blaue Pot´s", 8, 48, 97, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $cmdStart = GUICtrlCreateButton("Start", 0, 105, 73, 25, 0)
    $cmdStop = GUICtrlCreateButton("Stop", 88, 105, 75, 25, 0)
    GUICtrlSetState (-1,$GUI_DISABLE)
    GUISetState(@SW_SHOW)
    $checkthepixel = False
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $cmdStart
    GUICtrlSetState ($cmdStart,$GUI_DISABLE)
    GUICtrlSetState ($cmdStop,$GUI_ENABLE)
    $checkthepixel = True

    Case $cmdStop
    GUICtrlSetState ($cmdStop,$GUI_DISABLE)
    GUICtrlSetState ($cmdStart,$GUI_ENABLE)
    $checkthepixel = False
    EndSwitch
    If $checkthepixel = True Then CheckPixel()
    Sleep(50)
    WEnd
    Func CheckPixel()
    If BitAnd(GUICtrlRead($chkRot), $GUI_CHECKED) Then
    If PixelGetColor(104, 740) = 0x101410 Then
    For $i = 1 To 6
    ControlSend("Unbenannt - Editor","","Edit1","1{ENTER}") ;ist für die roten pots
    Next
    EndIf
    EndIf

    If BitAnd(GUICtrlRead($chkBlau), $GUI_CHECKED) Then
    If PixelGetColor(78, 751) = 0x101410 Then
    For $i = 1 To 4
    $E = ControlSend("Unbenannt - Editor","","Edit1","2{ENTER}") ;ist für die blauen pots
    If Not $E Then $i += 1
    Next
    EndIf
    EndIf

    If BitAnd(GUICtrlRead($chkRot), $GUI_CHECKED) Or _
    BitAnd(GUICtrlRead($chkBlau), $GUI_CHECKED) Then
    ControlSend("Unbenannt - Editor","","Edit1","Pause{ENTER}")
    Sleep(1000)
    EndIf
    EndFunc

    [/autoit]


    Edit GtaSpider: [14.02.2008 14:52]
    Du hast ausversehen 2x auf den "Absenden" Button gedrückt und somit 2x den gleichen Post erstellt.
    Es kann manchmal ein wenig dauern, bis der Post abgeschickt worden ist, also bitte nur einmal drücken ;)

    Einmal editiert, zuletzt von GtaSpider (14. Februar 2008 um 14:50)