autoit frage

07/22/2008 10:22 [PixeL]#1
huhu also ich mache ein bot und ich möchte gern wissen was das problem ist




PHP Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 GUICreate("Form1"633454193119)
$Group1 GUICtrlCreateGroup("Group1"8813765)
$Radio1 GUICtrlCreateRadio("Radio1"162411317)
$Radio2 GUICtrlCreateRadio("Radio2"164811317)
GUICtrlCreateGroup("", -99, -9911)
$Button1 GUICtrlCreateButton("Button1"8152139410)
$Group2 GUICtrlCreateGroup("Group2"88013757)
$Label1 GUICtrlCreateLabel("Label1"16966825)
GUICtrlCreateGroup("", -99, -9911)
$Input1 GUICtrlCreateInput("Input1"961124121)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit
        case 
$button1
        
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
$Input1 guictrlread $Input1 )
        
        
$Radi1 guictrlread $Radio1 )
        
$Radi2 guictrlread $Radio2 )
        ;~~~~~~~~~~~~~~~~~~~
        
        If 
$Radi1 1 Then
        
If PixelGetColor 17856 ) ==Dec "227DE4" Then
        Send 
$Input1 )
        Endif
        
        
        
        If 
$Radi2 1 Then
        
if PixelGetColor 13757 ) ==Dec "217AE3" Then
        send 
$input1 )
        Endif
        
    
        
EndSwitch
WEnd 
07/22/2008 12:43 t1bernd#2
Hi :)

Also, insgesamt wärs ganz interessant zu wissen, wo genau dein Problem liegt.

Gibts beim Debuggen schon Fehlermeldungen (sieht für mich danach aus ;) ) ? Wenn ja, welche ?!

Oder Funktioniert etwas nicht RICHTIG ? Dann wärs interessant zu wissen, was das ist und was das Script stattdessen macht.


Insgesamt gibt es für mich da ein kleineres Problemchen & eine Sache, die ich persönlich anders machen würde:

Wirkliche Schwierigkeiten verursachen wahrscheinlich die fehlenden EnIfs. Bei der Abfrage der Radios machst du 2 If-Abfragen auf, aber nur eine wieder zu.

Das müsste mE so aussehen:

Code:
 If   = 1 Then 
        If PixelGetColor ( 178, 56 ) == Dec ( "227DE4" ) Then 
        Send (  ) 
        Endif
 Endif
Und beim 2. halt genauso.

Der andere Punkt, den ich anders machen würde, der an sich aber keine Funktionsstörung hervorrufen dürfte, ist das mit den Variablen. Ich halte es allein der Übersicht halber für recht sinnvoll alle zu deklarieren, auch wenn das nicht sein muss. Naja, jeder wie ers/sies mag ;)

Das ist aber eher keine Ursache für irgendein Problem mit der Funktion des Scripts ;)



Ansonsten kann ich grade nichts auffälliges sehen, was aber nicht heißt, das es da nichts gibt :P :D

Vielleicht hilfts ja schon...

lg, t1bernd
07/22/2008 13:01 [PixeL]#3
also ich habe es verbessert und es geht aber es wen es einmal die farbe gesehen hat pottet er nur och die ganze eit
07/22/2008 14:07 t1bernd#4
Hm... klingt eigenartig :D

Das klingt eigentlich eher nach einer Variable, die zurückgesetzt werden müsste, aber nicht wird. Dem Problem aus dem Weg zu gehen wäre an sich recht einfach: Das ganze in eine Funktion packen und die einfach nach dem Potten neu starten. In etwa so: (Die Sleepzeiten sorgen dafür, das das ganze einfach ein bisschen ruhiger, überwachbarer und für den PC besser verdaulich passiert)

Code:
HotKeySet("{Home}","main")

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

#Region ### START Koda GUI section ### Form= 
 = GUICreate("Form1", 633, 454, 193, 119) 
 = GUICtrlCreateGroup("Group1", 8, 8, 137, 65) 
 = GUICtrlCreateRadio("Radio1", 16, 24, 113, 17) 
 = GUICtrlCreateRadio("Radio2", 16, 48, 113, 17) 
GUICtrlCreateGroup("", -99, -99, 1, 1) 
 = GUICtrlCreateButton("Button1", 8, 152, 139, 41, 0) 
 = GUICtrlCreateGroup("Group2", 8, 80, 137, 57) 
 = GUICtrlCreateLabel("Label1", 16, 96, 68, 25) 
GUICtrlCreateGroup("", -99, -99, 1, 1) 
 = GUICtrlCreateInput("Input1", 96, 112, 41, 21) 
GUISetState(@SW_SHOW) 
#EndRegion ### END Koda GUI section ### 

While 1 
 main()
WEnd

Func main()

     = GUIGetMsg() 
    Switch  

        Case  
            Exit 

        Case  
        ;~~~~~~~~~~~~~~~~~~~ 
         = guictrlread (  ) 
         
         = guictrlread (  ) 
         = guictrlread (  ) 
        ;~~~~~~~~~~~~~~~~~~~ 
         
        If  = 1 Then 
        If PixelGetColor ( 178, 56 ) ==Dec ( "227DE4" ) Then 
        Sleep(500)
        Send (  ) 
        Send ("{HOME}")
        Endif
        Endif 
         
         
         
        If  = 1 Then 
        If PixelGetColor ( 137, 57 ) ==Dec ( "217AE3" ) Then 
        Sleep(500)
        Send (  ) 
        Send ("{Home}")
        Endif
        Endif 
         
EndSwitch 

EndFunc
Blöderweise verschwinden beim kopieren die ganzen Variablen, aber ich denke du weißt schon wies gemeint ist...

Als Endgültige Lösung eher ungeeignet, da eine Funktionenverschachtelung schonmal als ziemliches Chaos & unübersichtlicher Ablauf betrachtet werden kann, aber das würde dem ganzen zumindest erstmal aus dem Weg gehen und eine konkretere Fehlersuche ermöglichen.

Alternativ wäre ein kleiner Menschlicher Fehler als Ursache denkbar: Hast dus wirklich mit Pots versucht ? Die Farbe muss sich ja auch ändern damit er aufhört ;) Verstehs nicht als einen Versuch dich für Blöd zu halten, aber sowas passiert halt manchmal...

lg, t1bernd
07/23/2008 00:33 [PixeL]#5
ja danke ich habe 1000000% potts genommen xD rote mittlere 6 stk xD auf taste 4 die waren alle inerhalb von 1 sec weg =( ist das jetz mit den buttons verbunden?? ich meine nicht
07/23/2008 12:03 t1bernd#6
Hm... Das ist... ein wenig komisch :D

Sieht so aus, als wenn wirklich was mit der Abfrage nicht stimmt *Schlauer KOmmentar* :D

Mal versucht das ganze mit dem AutoIt Window Info Tool zu überprüfen ?! Spontan würde mir wirklich nurnoch eine falsche Vorgabe für die Abfragefunktion, oder ein falscher Überprüfungsoperator ( == ) in den Sinn kommen, aber dann sollte die Abfrage ja auch garnicht erst losgehen... :S