Wie kann man das machen das wenn man checkbox1 anklickt und dann checkbox2 und 3 nicht mehr ankilcken kann ?

    • Offizieller Beitrag

    sind alle 3 mit häckchen


    Sorry, aber ich glaub wir sind nicht vom selben Stern.
    Mindestens 3 Leute haben dir mehrfach gesagt, du sollst RADIO-Control verwenden!!
    Was machst du? - Nimmst weiter Checkboxen.
    Also dafür ist mir jetzt meine Zeit zu schade.

  • Alsooo.... mit Checkboxes: (Beispiel)

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    global $cb1state, $cb2state, $cb3state
    global $Checkbox1, $Checkbox2, $Checkbox3

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

    $Form1 = GUICreate("Form1", 200, 100)
    $Checkbox1 = GUICtrlCreateCheckbox("Checkbox1", 16, 8, 169, 25)
    $Checkbox2 = GUICtrlCreateCheckbox("Checkbox2", 16, 40, 169, 25)
    $Checkbox3 = GUICtrlCreateCheckbox("Checkbox3", 16, 72, 169, 25)
    GUISetState()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Checkbox1
    _Checkbox(1)
    Case $Checkbox2
    _Checkbox(2)
    Case $Checkbox3
    _Checkbox(3)
    EndSwitch
    Sleep(10)
    WEnd

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

    Func _Checkbox($iCb)
    Switch $iCb
    Case 1
    $cbstate = $cb1state
    $cbother1 = $Checkbox2
    $cbother2 = $Checkbox3
    Case 2
    $cbstate = $cb2state
    $cbother1 = $Checkbox1
    $cbother2 = $Checkbox3
    Case 3
    $cbstate = $cb3state
    $cbother1 = $Checkbox1
    $cbother2 = $Checkbox2
    EndSwitch
    If $cbstate Then
    GUICtrlSetState($cbother1, $GUI_ENABLE)
    GUICtrlSetState($cbother2, $GUI_ENABLE)
    Else
    GUICtrlSetState($cbother1, $GUI_DISABLE)
    GUICtrlSetState($cbother2, $GUI_DISABLE)
    GUICtrlSetState($cbother1, $GUI_UNCHECKED)
    GUICtrlSetState($cbother2, $GUI_UNCHECKED)
    EndIf
    $cbstate = NOT $cbstate
    Switch $iCb
    Case 1
    global $cb1state = $cbstate
    Case 2
    global $cb2state = $cbstate
    Case 3
    global $cb3state = $cbstate
    EndSwitch
    EndFunc

    [/autoit]


    Mit Radios: (dein Skript)

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    $config1 = @ScriptDir & "\config.ini"

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

    $Rid = IniRead($config1,"Account","ID","")
    $Rpw = IniRead($config1,"Account","PW","")

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

    ;;Gui etc...
    $Form1 = GUICreate("ALKC v. 0.5 - Autologin/Kill Counter", 305, 521, 341, 135)
    $AutoLogger = GUICtrlCreateGroup("AutoLogin", 8, 0, 289, 353)
    GUICtrlSetFont(-1, 9, 800, 0, "Arial")
    GUISetBkColor(0xC0C0C0)
    $Input1 = GUICtrlCreateInput("", 96, 32, 161, 22)
    GUICtrlSetFont(-1, 8, 800, 0, "Arial")
    $Input2 = GUICtrlCreateInput("", 96, 71, 161, 22, 0x0020)
    GUICtrlSetFont(-1, 8, 800, 0, "Arial")
    $Label3 = GUICtrlCreateLabel("ID:", 27, 35, 17, 18)
    GUICtrlSetFont(-1, 8, 800, 0, "Arial")
    $Label1 = GUICtrlCreateLabel("Password:", 27, 75, 63, 18)
    GUICtrlSetFont(-1, 8, 800, 0, "Arial")
    $Group1 = GUICtrlCreateGroup("Character Select", 8, 104, 257, 49)
    GUICtrlSetFont(-1, 8, 800, 0, "Arial")
    $Label4 = GUICtrlCreateLabel("Left", 35, 132, 26, 18)
    $Checkbox1 = GUICtrlCreateRadio("", 64, 128, 25, 25)
    $Label2 = GUICtrlCreateLabel("Center", 99, 131, 42, 18)
    $Checkbox2 = GUICtrlCreateRadio("", 143, 128, 25, 25)
    $Label5 = GUICtrlCreateLabel("Right", 179, 131, 32, 18)
    $Checkbox3 = GUICtrlCreateRadio("", 216, 127, 25, 25)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Button1 = GUICtrlCreateButton("Start", 24, 160, 225, 33, 0)
    $Button2 = GUICtrlCreateButton("Kill Sro Client", 24, 208, 225, 33, 0)
    $Button3 = GUICtrlCreateButton("Exit", 24, 256, 225, 33, 0)
    $Button8 = GUICtrlCreateButton("Save", 25, 304, 225, 33, 0)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Kill Counter/Hide and Show Sro", 8, 360, 289, 121)
    GUICtrlSetFont(-1, 9, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0xFF0000)
    $Button4 = GUICtrlCreateButton("Start StatusBar", 16, 384, 129, 41, 0)
    $Button5 = GUICtrlCreateButton("Hide", 160, 384, 129, 41, 0)
    $Button6 = GUICtrlCreateButton("Start Kill Counting", 16, 432, 129, 41, 0)
    $Button7 = GUICtrlCreateButton("Show", 160, 432, 129, 41, 0)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Button9 = GUICtrlCreateButton("Visit us", 16, 496, 273, 17, 0)
    GUISetState(@SW_SHOW)

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

    GuiCtrlSetData($Input1,$Rid)
    GuiCtrlSetData($Input2,$Rpw)

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

    ;;Funktionen
    Opt("GUIOnEventMode", 1)
    GUICtrlSetOnEvent($Button1, "_Load")
    GUICtrlSetOnEvent($Button3, "_exit")
    GUICtrlSetOnEvent($Button5, "_hide")
    GUICtrlSetOnEvent($Button7, "_show")
    GUICtrlSetOnEvent($Button9, "_visit")
    GUICtrlSetOnEvent($Button8, "_save")
    GUICtrlSetOnEvent($Button2, "_kill")
    GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")

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

    Func _visit()
    ShellExecute("www.dragon-squad.6x.to")
    EndFunc

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

    Func _exit()
    MsgBox(0,"Credits", "Created By Dubbel"&@CRLF&"Thanks for using ALKC")
    Exit
    EndFunc

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

    Func _Load()
    Run("C:\Programme\ECSRO\silkroad.exe")
    MouseClick("Left", 747, 472)
    Sleep(1)
    MouseClick("left", 892, 650)
    Sleep(1)
    MouseClick("left", 892, 650)
    Sleep(1)
    MouseClick("left", 892, 650)
    Sleep(1)
    MouseClick("left", 892, 650)
    Sleep(1)
    MouseClick("left", 892, 650)
    Sleep(1)
    MouseClick("left", 892, 650)
    Sleep(1)
    MouseClick("left", 892, 650)
    Sleep(1)
    MouseClick("left", 892, 650)
    Sleep(1)

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

    EndFunc

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

    GUICtrlSetState ($checkbox1, $GUI_CHECKED)
    ;~ GUICtrlSetState ($checkbox2, $GUI_CHECKED)
    ;~ GUICtrlSetState ($checkbox3, $GUI_CHECKED)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $checkbox1
    Msgbox(0,"","checkbox1 pressed")
    Case $checkbox2
    Msgbox(0,"","checkbox2 pressed")
    Case $checkbox3
    Msgbox(0,"","checkbox3 pressed")
    EndSwitch
    Sleep(10)
    WEnd

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

    Func _hide()
    WinSetState("sro_client","", @SW_HIDE)
    EndFunc

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

    Func _show()
    WinSetState("sro_client","", @SW_SHOW)
    EndFunc

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

    Func _save()
    $config1 = @ScriptDir & "\config.ini"

    $ReadID = GuiCtrlRead($Input1)
    $ReadPW = GuiCtrlRead($Input2)

    IniWrite($config1,"Account","ID",$ReadID)
    IniWrite($config1,"Account","PW",$ReadPW)
    EndFunc

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

    Func _kill()
    ProcessClose ("sro_client.exe")
    EndFunc

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

    While 1
    Sleep(250)
    WEnd

    [/autoit]

    4 Mal editiert, zuletzt von senthor (11. Februar 2009 um 17:48)


  • Sorry, aber ich glaub wir sind nicht vom selben Stern.
    Mindestens 3 Leute haben dir mehrfach gesagt, du sollst RADIO-Control verwenden!!
    Was machst du? - Nimmst weiter Checkboxen.
    Also dafür ist mir jetzt meine Zeit zu schade.

    Sry hab falsch verstanden dachte checkbox und radio dinger sind die gleichen : ) tuht mir echt leid
    Edit: hab kapiert : ) thx ^^


    PS: Könnt ihr mir auch helfen das wenn ich silkroad Online also den privat server starte das dann der das was in input1(ID) und input2(Password)
    dann zum einloggen schreibt vllt nur den befehl erstmal will auch mal ausprobieren sonst lerne ich denke ich zumindest autoit nie so wirklich : )
    mfg Dubbel

    Einmal editiert, zuletzt von Dubbel (11. Februar 2009 um 18:02)

  • ausm input auslesen tust du mit GuiCtrlRead()
    also praktisch:

    [autoit]


    $var = GuiCtrlRead($Input1)
    MsgBox(0, "", $var)

    [/autoit]


    also vom prinzip her

    [OT]
    Tipp:
    sag hier nix von bot, sonst wirste gekillt :D
    [/OT]

    Padmak

  • Wie bot das soll ein autologin und Kill counter mit statusbar werden für ecsro ich mache keine bots bin lvl 70 glavie mit eig. gilde ^^

  • Oh mein Gott.
    Mein herzliches Beileid und gute Besserung.

    Wie meinste denn das ^^?

    Edit: Achja beim einloggen wie mache ich es mit :

    [autoit]

    Send("{Das der von id ein feld runter geht in password : )}")

    [/autoit]


    oder so ähnlich halt ? ^^

  • wahrscheinlich

    [autoit]

    Send("{TAB}")

    [/autoit]

    THX ^^

    Edit: wie mache ich dann wenn der das eingeben hat also id und pw das der so oft enter drückt bis er reingekommen ist ist immer unter schiedlich ?^^

    [autoit]

    Func _Load()
    Run("C:\Programme\ECSRO\silkroad.exe")
    MouseClick("Left", 747, 472)
    Sleep(1000)
    MouseClick("left", 892, 650)
    Sleep(1000)
    MouseClick("left", 892, 650)
    Sleep(1000)
    MouseClick("left", 892, 650)
    Sleep(100)
    $var = GuiCtrlRead($Input1)
    MsgBox(0, "", $var)
    Sleep(1000)
    Send("{TAB}")
    Sleep(100)
    $var = GuiCtrlRead($Input2)
    MsgBox(0, "", $var)
    Sleep(100)
    Send("{Enter}")<-- das so oft bis reinkomme mit den ganzen code combniert^^
    EndFunc

    [/autoit]
  • omg genau das gleiche wie in cpg. Du versuchst das andere Leute "deinen" Code zusammenbasteln und hast noch nichteinmal die Grundlagen gelesen.
    Ich benötige auch oft hilfe, aber wenigstens diese kleinigkeiten beherrsche ich.

    MFG

    [autoit]


    while 1
    send ("{enter}")
    wend

    [/autoit]
  • Ich spiele S.O nicht und habe es auch nicht vor, deshalb weiß ich nicht, wie man das erkennen kann.
    Ändert sich eine zuvor feststehende Farbe in einem Bereich? Dann probier mal PixelGetColor oder PixelChecksum.
    Das Enter dann in einer Schleife mit Sleep, etwa:

    [autoit]


    Do
    Send("{ENTER}")
    sleep(100)
    Until PixelGetColor($x,$y) = $wert

    [/autoit]


    edit: @Hellwave: Schlechte Idee, Endlosschleife.

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.

  • THX achja wenn ich das hier gemacht habe:

    [autoit]

    Func _Load()
    Run("C:\Programme\ECSRO\silkroad.exe")
    MouseClick("Left", 747, 472)
    Sleep(1000)
    MouseClick("left", 892, 650)
    Sleep(1000)
    MouseClick("left", 892, 650)
    Sleep(1000)
    MouseClick("left", 892, 650)
    Sleep(100)
    $var = GuiCtrlRead($Input1)
    MsgBox(0, "", $var)
    Sleep(1000)
    Send("{TAB}")
    Sleep(100)
    $var = GuiCtrlRead($Input2)
    MsgBox(0, "", $var)
    Sleep(100)
    while 1
    send ("{enter}")
    wend
    EndFunc

    [/autoit]


    Dann tauchen da 2 fenster auf einmal mit der id drin steht und dann ein fenster danach mit pw drinne stehen haben

  • Das liegt eventuell (natürlich) an den MSGBoxen die dir die $var werte ausfliefern....

    Aha hmm...wo muss ich da im autoit hilfedatei gucken wegen den werten und so ? ^^ damit ich das auch kapiere

  • -.-

    [autoit]


    MsgBox(0, "", $var) <--------- Das gibt $var (ID) aus
    Sleep(1000)
    Send("{TAB}")
    Sleep(100)
    $var = GuiCtrlRead($Input2)
    MsgBox(0, "", $var) <---------- Das gibt $var (PW) aus
    Sleep(100)
    while 1
    send ("{enter}")
    wend
    EndFunc

    [/autoit]
  • Das ist mir klar aber das soll es ja inagame ins login fenster schreiben und net mir sonne box anzeigen darum wollte ich wissen wo tut zu sowas wo ich nach gucken kann damit ich es garnicht mehr vergessen : )

  • der befehl MSGBox gibt immer ein Fenster aus !
    Ich geb dir ma nen Beispiel code :

    [autoit]


    $InputID = guictrlcreateinput ("Hier ID eintragen",200,200)
    $InputPW = guictrlcreateinput ("Hier PW eintragen",200,200)

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

    $ID = guictrlread ($InputID)
    $PW = guictrlread ($InputPW)

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

    send ("{tab}")
    send ($ID)
    send ("{tab}")
    send ($PW)
    while 1
    do
    send ("{enter}")
    until _ispressed (01)

    [/autoit]