[HELP]AutoIt-SeafightBot

11/22/2012 21:18 SeaDoc#1
Hallo ich plane ein neuen bot der den Ablauf vereinfachen soll einen scar scriptes..

Der bot Wird gerade geschrieben von mir aber ich habe eine fehlende denk lücke .. die ich leider nicht füllen kann :(


Funktion sollte sein :

•Auto Feuer (weiß ich wie das geht ist kein ploblem)

•Auto Relogin nach server neustart oder internet fehler (leider fehlen da mir die kentnisse was ich falsch mache)

•Auto Repp (der ist für ein scar script [Glitzi] wenn er blubb geht und den " Repaire" Button sieht soll er drauf klicken...)

•Auto Entern (noch nicht eingebaut sollte aber auch kein ploblem sein..)





hier mal mein Code :)
Davor habe ich noch ein script code den ich aber nicht öffentlich machen werde..



Code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <ImageSearch.au3>



;###;HotKeySet;###;

HotKeySet("{F7}","Start") ; Starten

HotKeySet("{F8}","Pause")   ; Pausieren

HotKeySet("{F9}","Ende")    ; Beenden


Func Ende()      ; Beenden Funktion
Exit


EndFunc

Func Pause()
   sleep(120000)
   EndFunc
;###;HotKeySetEnde;###:

$Repp1 = 82
$Repp2 = 153
$Relog1 = 82
$Relog2 = 153
$Schliesen1 = 82
$schliesen2 = 153

Func Start() 
   While 2
	  
	  If GUICtrlRead($ReppLogin) = $gui_checked Then
		 
		 ;aber hier ist mein problem 
		 ;er soll erst die bilder suchen und wenn er sie gefunden hat 
		 ;DANN soll er erst das vorherige program " Den Scar " mit " F2 " pausieren und nachdem er die bilder akrion ausgeführt 
		 ;hat " F1" drücken umd den Scar fort zusetzten..
	If $Result  = _ImageSearch("Bilder\Repp.Bmp",1,$Repp1,$Repp2,100) Then
	   MouseMove($Repp1,$Repp2,1000)
	   MouseClick("left")
	   
	
	If $Result  = _ImageSearch("Bilder\Schliesen.Bmp",1,$Schliesen1,$Schliesen2,100) Then

		MouseMove($Schliesen1,$Schliesen2,1000)
	   MouseClick("left")
		 
	  EndIf
	  EndIf
   EndIf
   
		
		
		 

If GUICtrlRead($ReLogin) = $gui_checked Then 
 	If $Result  = _ImageSearch("Bilder\ReLogin.Bmp",1,$Relog1,$Relog2,100) Then
	   
   MouseMove($Relog1,$Relog2,1000)
	   MouseClick("left")
 If $Result  = _ImageSearch("Bilder\Schliesen.Bmp",1,$Schliesen1,$Schliesen2,100) Then

		MouseMove($Schliesen1,$Schliesen2,1000)
	   MouseClick("left")
  EndIf
	  EndIf
   EndIf
   WEnd
   
 
 EndFunc
wenn ich das alles jz so starte kommt das hier ..

Code:
>"C:\Programme\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Dokumente und Einstellungen\Joshua\Desktop\Scar Divi ToolBox\ToolBox Script.au3"
C:\Dokumente und Einstellungen\Joshua\Desktop\Scar Divi ToolBox\ToolBox Script.au3 (85) : ==> Variable used without being declared.:
If $Result  = _ImageSearch("Bilder\Repp.Bmp",1,$Repp1,$Repp2,100) Then
If ^ ERROR
>Exit code: 1    Time: 19.881
Währe cool wenn man mir Helfen würde .. werde dieses program dann auch kostenlos zur verfühung stellen..
11/22/2012 21:20 Havelock_Vetinari#2
Quote:
Originally Posted by SeaDoc View Post
Hallo ich plane ein neuen bot der den Ablauf vereinfachen soll einen scar scriptes..

Der bot Wird gerade geschrieben von mir aber ich habe eine fehlende denk lücke .. die ich leider nicht füllen kann :(


Funktion sollte sein :

•Auto Feuer (weiß ich wie das geht ist kein ploblem)

•Auto Relogin nach server neustart oder internet fehler (leider fehlen da mir die kentnisse was ich falsch mache)

•Auto Repp (der ist für ein scar script [Glitzi] wenn er blubb geht und den " Repaire" Button sieht soll er drauf klicken...)

•Auto Entern (noch nicht eingebaut sollte aber auch kein ploblem sein..)





hier mal mein Code :)
Davor habe ich noch ein script code den ich aber nicht öffentlich machen werde..



Code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <ImageSearch.au3>



;###;HotKeySet;###;

HotKeySet("{F7}","Start") ; Starten

HotKeySet("{F8}","Pause")   ; Pausieren

HotKeySet("{F9}","Ende")    ; Beenden


Func Ende()      ; Beenden Funktion
Exit


EndFunc

Func Pause()
   sleep(120000)
   EndFunc
;###;HotKeySetEnde;###:

$Repp1 = 82
$Repp2 = 153
$Relog1 = 82
$Relog2 = 153
$Schliesen1 = 82
$schliesen2 = 153

Func Start() 
   While 2
	  
	  If GUICtrlRead($ReppLogin) = $gui_checked Then
		 
		 ;aber hier ist mein problem 
		 ;er soll erst die bilder suchen und wenn er sie gefunden hat 
		 ;DANN soll er erst das vorherige program " Den Scar " mit " F2 " pausieren und nachdem er die bilder akrion ausgeführt 
		 ;hat " F1" drücken umd den Scar fort zusetzten..
	If $Result  = _ImageSearch("Bilder\Repp.Bmp",1,$Repp1,$Repp2,100) Then
	   MouseMove($Repp1,$Repp2,1000)
	   MouseClick("left")
	   
	
	If $Result  = _ImageSearch("Bilder\Schliesen.Bmp",1,$Schliesen1,$Schliesen2,100) Then

		MouseMove($Schliesen1,$Schliesen2,1000)
	   MouseClick("left")
		 
	  EndIf
	  EndIf
   EndIf
   
		
		
		 

If GUICtrlRead($ReLogin) = $gui_checked Then 
 	If $Result  = _ImageSearch("Bilder\ReLogin.Bmp",1,$Relog1,$Relog2,100) Then
	   
   MouseMove($Relog1,$Relog2,1000)
	   MouseClick("left")
 If $Result  = _ImageSearch("Bilder\Schliesen.Bmp",1,$Schliesen1,$Schliesen2,100) Then

		MouseMove($Schliesen1,$Schliesen2,1000)
	   MouseClick("left")
  EndIf
	  EndIf
   EndIf
   WEnd
   
 
 EndFunc
wenn ich das alles jz so starte kommt das hier ..

Code:
>"C:\Programme\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Dokumente und Einstellungen\Joshua\Desktop\Scar Divi ToolBox\ToolBox Script.au3"
C:\Dokumente und Einstellungen\Joshua\Desktop\Scar Divi ToolBox\ToolBox Script.au3 (85) : ==> Variable used without being declared.:
If $Result  = _ImageSearch("Bilder\Repp.Bmp",1,$Repp1,$Repp2,100) Then
If ^ ERROR
>Exit code: 1    Time: 19.881
Währe cool wenn man mir Helfen würde .. werde dieses program dann auch kostenlos zur verfühung stellen..
Ich gehe mal davon aus dass du abfragen möchtests ob das Bild reppen gefunden wurde , oder?
11/22/2012 21:26 bluedra#3
Quote:
>"C:\Programme\AutoIt3\SciTE\..\autoit3.exe" /ErrorStdOut "C:\Dokumente und Einstellungen\Joshua\Desktop\Scar Divi ToolBox\ToolBox Script.au3"
C:\Dokumente und Einstellungen\Joshua\Desktop\Scar Divi ToolBox\ToolBox Script.au3 (85) : ==> Variable used without being declared.:
If $Result = _ImageSearch("Bilder\Repp.Bmp",1,$Repp1,$Repp2,100 ) Then
If ^ ERROR
>Exit code: 1 Time: 19.881
Noch fragen? ;)
11/23/2012 05:48 SeaDoc#4
Quote:
Originally Posted by Alex_II View Post
Ich gehe mal davon aus dass du abfragen möchtests ob das Bild reppen gefunden wurde , oder?
Genau aber er soll nur dann was machen wen er es gefunden hat wen er es nicht findet soll er nichts machen bis er es wieder findet

Quote:
Originally Posted by bluedraqon View Post
Noch fragen? ;)
Ja toll habs auch gelesen und was genau bedeutet es ? , hatte es bis jetzt noch nie , und so wie ich immer die programme geschrieben hatte , funktionierte alles :).
11/23/2012 06:28 bluedra#5
Das bedeutet, dass die Variable nicht deklariert ist.
Setze einfach oben ins Script ein "Dim $Result"
11/23/2012 14:59 Havelock_Vetinari#6
Code:
$Result  = _ImageSearch("Bilder\Repp.Bmp",1,$Repp1,$Repp2,100)
If $Result = 1 Then
MouseMove($Repp1,$Repp2,1000)
MouseClick("left")	   
$Result=_ImageSearch("Bilder\Schliesen.Bmp",1,$Schliesen1,$Schliesen2,100)	
If $Result = 1 Then
MouseMove($Schliesen1,$Schliesen2,1000)
MouseClick("left")	 
EndIf
EndIf
So ist es zumindest von der Syntax her richtig
11/23/2012 15:14 bluedra#7
PHP Code:
If _ImageSearch("Bilder\Repp.Bmp",1,$Repp1,$Repp2,100Then
MouseMove
($Repp1,$Repp2,1000)
MouseClick("left")       
If 
_ImageSearch("Bilder\Schliesen.Bmp",1,$Schliesen1,$Schliesen2,100Then
MouseMove
($Schliesen1,$Schliesen2,1000)
MouseClick("left")     
EndIf
EndIf 
Da das Ergebnis nicht anderweitig verwendet wird geht es auch so. ;)
11/23/2012 21:16 SeaDoc#8
Quote:
Originally Posted by bluedraqon View Post
PHP Code:
If _ImageSearch("Bilder\Repp.Bmp",1,$Repp1,$Repp2,100Then
MouseMove
($Repp1,$Repp2,1000)
MouseClick("left")       
If 
_ImageSearch("Bilder\Schliesen.Bmp",1,$Schliesen1,$Schliesen2,100Then
MouseMove
($Schliesen1,$Schliesen2,1000)
MouseClick("left")     
EndIf
EndIf 
Da das Ergebnis nicht anderweitig verwendet wird geht es auch so. ;)
also könnte ich Result weg lassen ?
11/23/2012 21:18 Havelock_Vetinari#9
Quote:
Originally Posted by SeaDoc View Post
also könnte ich Result weg lassen ?
Ja könntest du . Du brauchst den Rückgabewert der Funktion ja (normalerweise) im weiteren verlaufe des Programms nicht
11/23/2012 21:30 SeaDoc#10
Leider gehts immer noch nicht :( hier mal der Script (komplett )

wenn ich Den script starte öffnet sich fenster aber sobals ich ein kontrolkästchen auf mache crasht er , er müsste eig auf die Bilder klicken :(

Code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <ImageSearch.au3>



;###;HotKeySet;###;

HotKeySet("{F7}","Start") ; Starten

HotKeySet("{F8}","Pause")   ; Pausieren

HotKeySet("{F9}","Ende")    ; Beenden


Func Ende()      ; Beenden Funktion
Exit


EndFunc

Func Pause()
   sleep(120000)
   EndFunc
;###;HotKeySetEnde;###:

$Repp1 = 82
$Repp2 = 153
$Relog1 = 82
$Relog2 = 153
$Schliesen1 = 82
$schliesen2 = 153


#Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\Joshua\Desktop\Scar Divi ToolBox\ScarDici.kxf
$ScarDici = GUICreate("Scar Divi ToolBox 0.01", 357, 205, 192, 124, BitOR($GUI_SS_DEFAULT_GUI,$WS_MAXIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_TABSTOP,$DS_SETFOREGROUND), BitOR($WS_EX_APPWINDOW,$WS_EX_CONTEXTHELP,$WS_EX_WINDOWEDGE))
GUISetBkColor(0x00FFFF)
$Tab1 = GUICtrlCreateTab(8, 0, 345, 161)
$TabSheet1 = GUICtrlCreateTabItem("Kontroll")
$Group1 = GUICtrlCreateGroup("Einstellung", 16, 24, 145, 89)
$ReppLogin = GUICtrlCreateCheckbox("ReppLogin", 24, 48, 97, 17)
$ReLogin = GUICtrlCreateCheckbox("ReLogin*", 24, 80, 97, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Start = GUICtrlCreateButton("Start", 200, 64, 113, 33)
$Relogstern = GUICtrlCreateLabel("*Ladet die karte nach dem Sever-Reset  neu und startet den Scar Erneut.", 16, 112, 143, 41)
GUICtrlSetColor(-1, 0x0000FF)
$TabSheet2 = GUICtrlCreateTabItem("AutoFeuerBot")
$TabSheet3 = GUICtrlCreateTabItem("TabSheet3")
$TabSheet4 = GUICtrlCreateTabItem("TabSheet4")
$TabSheet5 = GUICtrlCreateTabItem("TabSheet5")
GUICtrlCreateTabItem("")
$Exit = GUICtrlCreateButton("Exit", 32, 168, 291, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit

		Case $Start
		   Start()
		Case $Exit
		   Exit
	EndSwitch
WEnd

; Ab hier bekomme ich die Probleme -.- der soll wenn er sieht das die Einstellung Repplogin oder Relogin an ist nach bilder suchen..
;Und wenn er sie findet soll er sie anklicken und die kordienate sofort wieder löschen und autoit in den ruhe modus begeben ..
;und wenn er das bild / die bilder wieder findet weiter machen .. 

Func Start() 
   While 2
	  
	  If GUICtrlRead($ReppLogin) = $gui_checked Then
		 
		 If _ImageSearch("Bilder\Repp.Bmp",1,$Repp1,$Repp2,100) Then
MouseMove($Repp1,$Repp2,1000)
MouseClick("left")


If _ImageSearch("Bilder\Schliesen.Bmp",1,$Schliesen1,$Schliesen2,100) Then
MouseMove($Schliesen1,$Schliesen2,1000)
MouseClick("left")     

EndIf
EndIf
   EndIf
   WEnd
   
   
   While 3
		
		
		 

If GUICtrlRead($ReLogin) = $gui_checked Then 
 	
	If  _ImageSearch("Bilder\ReLogin.Bmp",1,$Relog1,$Relog2,100) Then
	   
   MouseMove($Relog1,$Relog2,1000)
	   MouseClick("left")
 If _ImageSearch("Bilder\Schliesen.Bmp",1,$Schliesen1,$Schliesen2,100) Then

		MouseMove($Schliesen1,$Schliesen2,1000)
	   MouseClick("left")
  EndIf
	  EndIf
   EndIf
   WEnd
   
 
 EndFunc
DownLoad: [Only registered and activated users can see links. Click Here To Register...]
11/23/2012 21:48 Havelock_Vetinari#11
Da scheint irgendwas mit dem ImageSearch nicht zu stimmen ....
11/23/2012 21:48 bluedra#12
PHP Code:
Func Start()
    While 
True
        
If _ImageSearch("Bilder\Repp.Bmp"1$Repp1$Repp2100) And GUICtrlRead($ReppLogin) = 1 Then
            MouseMove
($Repp1$Repp21000)
            
MouseClick("left")
            While 
Not _ImageSearch("Bilder\Schliesen.Bmp"1$Schliesen1$schliesen2100) ;Solange der Schließen Button NOT gefunden wirdwartet das Script
                Sleep
(50) ;CPU schonen
            WEnd
            MouseMove
($Schliesen1$schliesen21000)
            
MouseClick("left")
        EndIf
        If 
_ImageSearch("Bilder\ReLogin.Bmp"1$Relog1$Relog2100) And GUICtrlRead($ReLogin) = 1 Then
            
While Not _ImageSearch("Bilder\Schliesen.Bmp"1$Schliesen1$schliesen2100) ;Solange der Schließen Button NOT gefunden wirdwartet das Script
                Sleep
(50) ;CPU schonen
            WEnd
            MouseMove
($Schliesen1$schliesen21000)
            
MouseClick("left")
        EndIf
        
Sleep(50)
    
WEnd
EndFunc   
;==>Start 
#ungetestet


Tipp: Verwende zwischendurch mal Tidy (STRG + T), das macht den Code besser lesbar
11/23/2012 22:11 SeaDoc#13
Quote:
Originally Posted by bluedraqon View Post
PHP Code:
Func Start()
    While 
True
        
If _ImageSearch("Bilder\Repp.Bmp"1$Repp1$Repp2100) And GUICtrlRead($ReppLogin) = 1 Then
            MouseMove
($Repp1$Repp21000)
            
MouseClick("left")
            While 
Not _ImageSearch("Bilder\Schliesen.Bmp"1$Schliesen1$schliesen2100) ;Solange der Schließen Button NOT gefunden wirdwartet das Script
                Sleep
(50) ;CPU schonen
            WEnd
            MouseMove
($Schliesen1$schliesen21000)
            
MouseClick("left")
        EndIf
        If 
_ImageSearch("Bilder\ReLogin.Bmp"1$Relog1$Relog2100) And GUICtrlRead($ReLogin) = 1 Then
            
While Not _ImageSearch("Bilder\Schliesen.Bmp"1$Schliesen1$schliesen2100) ;Solange der Schließen Button NOT gefunden wirdwartet das Script
                Sleep
(50) ;CPU schonen
            WEnd
            MouseMove
($Schliesen1$schliesen21000)
            
MouseClick("left")
        EndIf
        
Sleep(50)
    
WEnd
EndFunc   
;==>Start 
#ungetestet


Tipp: Verwende zwischendurch mal Tidy (STRG + T), das macht den Code besser lesbar
Jetzt geht es garnicht mehr :(

Wäre es cool wen wir 3 es schaffen würden , ich würde euch auch als helfer und freun in der About liste eintragen
11/23/2012 22:14 bluedra#14
Was heißt gar nicht? Reagiert das Fenster (GUI) nicht mehr oder klickt er nicht auf reppen/relog?
11/23/2012 22:23 SeaDoc#15
Quote:
Originally Posted by bluedraqon View Post
Was heißt gar nicht? Reagiert das Fenster (GUI) nicht mehr oder klickt er nicht auf reppen/relog?
Die (Gui) Geht nicht mehr auf nur noch das symbol rechts unten in der Task Leiste.. ich schreibe die Gui gerade um und Adde Den Auto schieß bot + Enter Bot .. ich hoffe du findest mein fehler :(