Func hilfe....

05/25/2008 12:17 blackWorkx#1
Hi,

ich bräuchte mal hilfe bei ner function....

Ich habe in meinem Bot 2 Farm gebiete drin.... und man kann halt auch mit Ele oder Monk Farmen. Dies kann man per GUI auswählen // checkboxen... so soweit so gut..

Wenn man jetzt z.B. "Farm TQ und Farm mit Monk TQ" ausgewählt hat dann macht der das auch, wenn man dann "Farm Elona und Farm mit Monk Elona" ausgewählt hat dann funktioniert das auch. So aber wenn man "Farm Elona und Farm mit Ele Elona" ausgewählt hat dann macht der nicht das was er soll z.B. klickt er anstatt auf Hardmode auf Normalmode. Die Koordianten sind auch richtig eingestellt. Hier mal die func wie ich das so mir dachte:

Code:
func _startbot()
    $startgw = GUICtrlRead($Input10)
    $runbot = GUICtrlRead($Input3)
    $exist = ProcessExists("gw.exe")
    If $exist == 0 Then
        Run($runbot)
        sleep($startgw)
            Else
    WinActivate("Guild Wars")
        sleep($startgw)
    EndIf
    
    $STATE = GUICtrlRead($Checkbox1)
    If $STATE == 1 Then
        $autologin = True
    Else
        $autologin = False
    EndIf
    
    $STATE = GUICtrlRead($Checkbox2)
    If $STATE == 1 Then
        $farmelona = True
    Else
        $farmelona = False
    EndIf
    
    $STATE = GUICtrlRead($Checkbox3)
    If $STATE == 1 Then
        $farmTQ = True
    Else
        $farmTQ = False
    EndIf
    
    $STATE = GUICtrlRead($Checkbox4)
    If $STATE == 1 Then
        $ident = True
    Else
        $ident = False
    EndIf

    $STATE = GUICtrlRead($Checkbox5)
    If $STATE == 1 Then
        $sell = True
    Else
        $sell = False
    EndIf
    
    $STATE = GUICtrlRead($Checkbox6)
    If $STATE == 1 Then
        $gilde = True
    Else
        $gilde = False
    EndIf
    
    $STATE = GUICtrlRead($Checkbox7)
    If $STATE == 1 Then
        $lionA = True
    Else
        $lionA = False
    EndIf

    $STATE = GUICtrlRead($Checkbox8)
    If $STATE == 1 Then
        $emotion = True
    Else
        $emotion = False
    EndIf

    $STATE = GUICtrlRead($Checkbox9)
    If $STATE == 1 Then
        $automode = True
    Else
        $automode = False
    EndIf

    $STATE = GUICtrlRead($Checkbox10)
    If $STATE == 1 Then
        $truhe = True
    Else
        $truhe = False
    EndIf

    $STATE = GUICtrlRead($Checkbox11)
    If $STATE == 1 Then
        $elefarm = True
    Else
        $elefarm = False
    EndIf

    $STATE = GUICtrlRead($Checkbox12)
    If $STATE == 1 Then
        $automode2 = True
    Else
        $automode2 = False
    EndIf    

    $STATE = GUICtrlRead($Checkbox13)
    If $STATE == 1 Then
        $monkTQ = True
    Else
        $monkTQ = False
    EndIf

    $STATE = GUICtrlRead($Checkbox14)
    If $STATE == 1 Then
        $monkElo = True
    Else
        $monkElo = False
    EndIf
    
    ;##################################
    ;######Checkbox ende###############
    ;##################################
    
    $minTime = GUICtrlRead($Input4)
    $maxTime = GUICtrlRead($Input5)
    $TQrunden  = GUICtrlRead($Input6)
    $ElOrunden  = GUICtrlRead($Input7)
    If $minTime > $maxTime Then
        MsgBox(0, "EROOR!", "Achtung die min. Runden müssen kleiner sein als die Max. Runden!")
        Return
    EndIf
    
    If $autologin == True Then
        _autologin()
        _sleeptimer()
    EndIf
    
        
    ;##################################
    ;######TQ monk Check###############
    ;##################################
    
    If $monkTQ and $farmTQ == true Then

        if $automode == true Then
            _travleTQ()
            _sleeptimer()
            _hardmode()
        EndIf
        
        if $monkTQ == true Then
            _skillMonkTQ()
        EndIf
        
        while 1 
        for $ix = $minTime to $maxTime
            For $i = 1 to $TQrunden
                _sleeptimer()
                _wayrand()
                _sleeptimer()
                _TQfigth()
                _lootTQ()
                _giveup()
        Next
            If $ident and $sell == true Then
                _sleeptimer()
                _ident()
                _disInter()
                _sleeptimer()
                _sellTQ_rand()
                _sellALG()
                _disRand()
            EndIf
            
            if $ident == True and $sell == False Then
                _sleeptimer()
                _ident()
                _disRand()
            EndIf
            
            If $ident == false and $sell == true then
                _sleeptimer()
                _disInter()
                _sleeptimer()
                _sellTQ_rand()
                _sellALG()
                _disRand()
            EndIf
            
            If $truhe == true Then
                _sleeptimer()
                _truhe()
                _disInter()
                _sleeptimer()
                _disRand()
            EndIf
            
            If $gilde == true and $emotion == False Then
                _sleeptimer()
                _breakGH()
                _travleTQ()
                _sleeptimer()
                _hardmode()
            EndIf

            If $gilde and $emotion == True Then
                _sleeptimer()
                _breakGH2()
                _travleTQ()
                _sleeptimer()
                _hardmode()
            EndIf
            
            If $lionA and $emotion == True Then
                _sleeptimer()
                _breakLA2()
                _travleTQ()
                _hardmode()
            EndIf

            If $lionA == true and $emotion == False Then
                _sleeptimer()
                _breakLA()
                _travleTQ()
                _sleeptimer()
                _hardmode()
            EndIf
            
            If $emotion == True Then
                _sleeptimer()
                _emotion()
                _travleTQ()
                _sleeptimer()
            EndIf
        Next
WEnd
        ;##################################
Else    ;###### Elona monk Check#########
        ;##################################
        
If $monkElo and $farmelona == true Then
    
        if $automode2 == true Then
            _travleELO()
            _sleeptimer()
            _normmode()
        EndIf

        if $monkElo == true Then
            _skillMonkELO()
        EndIf
    
    while 1        
        for $ix = $minTime to $maxTime
            For $i = 1 to $ElOrunden
                _joinELO()
                _sleeptimer()
                _figthMonk()
                _lootELR()
                _giveup()
                _sleeptimer()
        Next
            If $ident and $sell == true Then
                _sleeptimer()
                _ident()
                _disInter()
                _sleeptimer()
                _travleTQ()
                _sleeptimer()
                _sellELR_rand()
                _disRand()
                _sleeptimer()
                _travleELO()
            EndIf
            
            if $ident == True and $sell == False Then
                _sleeptimer()
                _ident()
            EndIf
            
            If $ident == false and $sell == true then
                _sleeptimer()
                _disInter()
                _sleeptimer()
                _travleTQ()
                _sleeptimer()
                _sellELR_rand()
                _disRand()
                _sleeptimer()
                _travleELO()
            EndIf
            
            If $truhe == true Then
                _sleeptimer()
                _travleTQ()
                _sleeptimer()
                _truhe()
                _travleELO()
                _sleeptimer()
            EndIf
            
            If $gilde == true and $emotion == False Then
                _sleeptimer()
                _breakGH()
                _travleELO()
                _sleeptimer()
                _hardmode()
            EndIf

            If $gilde and $emotion == True Then
                _sleeptimer()
                _breakGH2()
                _travleELO()
                _sleeptimer()
                _hardmode()
            EndIf
            
            If $lionA and $emotion == True Then
                _sleeptimer()
                _breakLA2()
                _travleELO()
                _hardmode()
            EndIf

            If $lionA == true and $emotion == False Then
                _sleeptimer()
                _breakLA()
                _travleELO()
                _sleeptimer()
                _hardmode()
            EndIf
            
            If $emotion == True Then
                _sleeptimer()
                _emotion()
                _travleELO()
                _sleeptimer()
            EndIf
        Next
    WEnd
EndIf

        ;##################################
        ;###### Ele Elona Check#########
        ;##################################
        
If $elefarm and $farmelona == true Then

        if $automode == true Then
            _travleELO()
            _sleeptimer()
            _hardmode()
            RandomSleep(700, 800)
        EndIf

        if $elefarm == true Then
            _skilleleELO()
        EndIf
    
    
    while 1        
        for $ix = $minTime to $maxTime
            For $i = 1 to $ElOrunden
                _joinELO()
                _sleeptimer()
                _tohero()
                _tominos()
                _figthELE()
                _lootELR()
                _giveup()
                _sleeptimer()
        Next
            If $ident and $sell == true Then
                _sleeptimer()
                _ident()
                _disInter()
                _sleeptimer()
                _travleTQ()
                _sleeptimer()
                _sellELR_rand()
                _disRand()
                _sleeptimer()
                _travleELO()
            EndIf
            
            if $ident == True and $sell == False Then
                _sleeptimer()
                _ident()
            EndIf
            
            If $ident == false and $sell == true then
                _sleeptimer()
                _disInter()
                _sleeptimer()
                _travleTQ()
                _sleeptimer()
                _sellELR_rand()
                _disRand()
                _sleeptimer()
                _travleELO()
            EndIf
            
            If $truhe == true Then
                _sleeptimer()
                _travleTQ()
                _sleeptimer()
                _truhe()
                _travleELO()
                _sleeptimer()
            EndIf
            
            If $gilde == true and $emotion == False Then
                _sleeptimer()
                _breakGH()
                _travleELO()
                _sleeptimer()
                _hardmode()
            EndIf

            If $gilde and $emotion == True Then
                _sleeptimer()
                _breakGH2()
                _travleELO()
                _sleeptimer()
                _hardmode()
            EndIf
            
            If $lionA and $emotion == True Then
                _sleeptimer()
                _breakLA2()
                _travleELO()
                _hardmode()
            EndIf

            If $lionA == true and $emotion == False Then
                _sleeptimer()
                _breakLA()
                _travleELO()
                _sleeptimer()
                _hardmode()
            EndIf
            
            If $emotion == True Then
                _sleeptimer()
                _emotion()
                _travleELO()
                _sleeptimer()
            EndIf
        Next
    WEnd
Endif
EndIf

Endfunc
So dachte ich mir das das ich es immer mit "Else" trennen könnte aber zwischen
"If $elefarm and $farmelona == true Then" und "If $monkElo and $farmelona == true Then" funktioniert das nicht. Er Farmt zwar aber er macht die ersten beiden "If / EndIf nicht so wie er soll. Er klickt so wie oben schon beschrieben zwar zum Wechsel des Modes aber er klickt auf normmode statt auf hardmode. Muss ich das anders trennen als mit "Else"?
05/25/2008 15:24 Jacob_G#2
So hier nur als beispiel

PHP Code:
#include <GUIConstants.au3>
Dim $S1 True $S2 True $S3 True $S4 True

While 1
    $MSG 
GUIGetMsg()
    
Select
        
Case $MSG $S_1
            $S1 
Not $S1
            ToolTip
("Die Punkte werden dem Bündnis gespendet wenn aktiviert sonst Jade- Eid"00"Spenden")
            
Sleep($100)
        Case 
$MSG $S_2
            $S2 
Not $S2
            ToolTip
("Langsame Version um bei manchen die Run-Fehlerquote runtersetzt"00"Langsam")
            
Sleep($100)
        Case 
$MSG $S_3
            $S3 
Not $S3
            ToolTip
("Bei dieser Version werden noch Krieger/ Para Schreie verwendet um den run etwas zu beschleunigen"00"Krieger/Para")
            
Sleep($100)
        Case 
$MSG $S_4
            $S4 
Not $S4
            ToolTip
("Ladezeiten werden über HP Anzeige festgelegt wenn aktiviert sonst normale Sleeps"00"Laden")
            
Sleep($100)
        Case 
$MSG $README
            Call
("README")
        Case 
$MSG $MAP
            Call
("MINIMAP")
        Case 
$MSG $GUI_EVENT_CLOSE
            MsgBox
(0"EXIT""Cya bis zum nächsten mal :) ..."2)
            Exit
        Case 
$MSG $START
            $PW 
InputBox("Passwort""Bitte gib dein Passwort für die Disconect-Function an""Hier eingeben")
            
GUISetState(@SW_HIDE)
            
Call("PROZESSE")
            
Sleep(20)
            
Call("MAIN")
    
EndSelect
WEnd

Func MAIN
()
        
Select
                
Case $S3 == False
                
.........(zb hier monkrun)
                Case 
$S2 == False
                
.........(zb hier ele)
                Case 
$S1 == False and $S2
                
.........(andere sachen
        Endselect 
Naja hoffe das hat bissel geholfen
05/25/2008 17:35 blackWorkx#3
Danke, habe es die GUI nochmal umgeschrieben und die zeilen nochma über arbeitet nun geht es alles so wie ich es wollte :) danke trotzdem