[HELP]AutoIt-SeafightBot

11/23/2012 22:30 bluedra#16
AutoIt arbeitet zeilenweise, d.h. in dem Moment wo die Funktion Start ausgeführt wird ist die GUI "nutzlos", es sei denn du registrierst Events für die Buttons etc.
Schau dir mal in der deutschen AutoIt Hilfe die Funktion "GUISetOnEvent" an.
11/23/2012 23:01 SeaDoc#17
Quote:
Originally Posted by bluedraqon View Post
AutoIt arbeitet zeilenweise, d.h. in dem Moment wo die Funktion Start ausgeführt wird ist die GUI "nutzlos", es sei denn du registrierst Events für die Buttons etc.
Schau dir mal in der deutschen AutoIt Hilfe die Funktion "GUISetOnEvent" an.
Habe es jz mal umgeschrieben und glaube ich sogar verstanden :) Werde es morgen weiter testen hier mal mein Neuer Script :

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



#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")
$Einstellung = 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, 24, 113, 33)
$Relogstern = GUICtrlCreateLabel("*Ladet die karte nach dem Sever-Reset  neu und startet den Scar Erneut.", 16, 112, 151, 41)
GUICtrlSetColor(-1, 0x0000FF)
$HotKey = GUICtrlCreateGroup("Hot-Key's", 184, 64, 145, 73)
$F7 = GUICtrlCreateLabel("F7 = Start", 192, 80, 50, 17)
$F8 = GUICtrlCreateLabel("F8 = Pause (2 Min)", 192, 96, 93, 17)
$F9 = GUICtrlCreateLabel("F9 = Ende", 192, 112, 53, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$TabSheet2 = GUICtrlCreateTabItem("AutoFeuerBot")
$EinstellungAuroFeuer = GUICtrlCreateGroup("Einstellung", 16, 32, 137, 81)
$AutoFeuer = GUICtrlCreateCheckbox("Auto Feuer", 24, 48, 97, 17)
$Entern = GUICtrlCreateCheckbox("Auto Entern", 24, 80, 97, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group1 = GUICtrlCreateGroup("Hot-Key's", 168, 40, 153, 97)
$Label1 = GUICtrlCreateLabel("Auto Feuer = F", 176, 56, 74, 17)
$Label2 = GUICtrlCreateLabel("Auto Entern = L", 176, 88, 78, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button1 = GUICtrlCreateButton("Start", 32, 120, 75, 25)
$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 $Button1
		   _Go()
		Case $Start
		   _Go()
		Case $Exit
		   Exit
	EndSwitch
WEnd

Func _Go()
If BitAND(GuiCtrlRead($ReppLogin), $Gui_Checked) = 1 Then ; habe es jz mal so geschrieben und es klaüüt zu mind mit der MsgBox werde es morgen mit Imagesearch versuchen
   MsgBox(0,"Check","ReppLogin ist Aktiv ")
EndIf

If BitAND(GuiCtrlRead($ReLogin), $Gui_Checked) = 1 Then ; habe es jz mal so geschrieben und es klaüüt zu mind mit der MsgBox werde es morgen mit Imagesearch versuchen
   MsgBox(0,"Check","ReLogin ist Aktiv ")
EndIf

 If BitAND(GuiCtrlRead($ReppLogin), $Gui_Checked) = 0 And BitAND(GuiCtrlRead($ReLogin), $Gui_Checked) = 0 Then ;; So Denke ich Verhinder ich das der Bot Crasht ..
	MsgBox(0,"Fehler","Es muss mind. Ein Kontroll an sein !")
	EndIf
EndFunc

P.s. Wenn ich Strg + T Drücke passiert nichts ^^
11/23/2012 23:06 bluedra#18
Tidy ist im "SciTe4AutoIt" enthalten, das bekommst du auf der deutschen AutoItSeite, der Script-Editor ist auch um ein vielfaches einfacher zu handhaben und umfangreicher als der in AutoIt integriert ist. ;)
11/23/2012 23:22 SeaDoc#19
Quote:
Originally Posted by bluedraqon View Post
Tidy ist im "SciTe4AutoIt" enthalten, das bekommst du auf der deutschen AutoItSeite, der Script-Editor ist auch um ein vielfaches einfacher zu handhaben und umfangreicher als der in AutoIt integriert ist. ;)
Kannst du mir mal den link per pn schicken ? .. Google Will nichts ausspucken ...


liebe grüße ; Der Doc :D
11/25/2012 20:37 SeaDoc#20
Hmm jz nochmal bearbeitet ..

aber es geht immer noch nicht durch beide If's :(( so lässt sich alles Starten aber er sucht nicht nach dem Bildern _:((

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

$Schliesen1 = 0
$Schliesen2 = 0

Dim $Ok


#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, 232, 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, 185)
$TabSheet1 = GUICtrlCreateTabItem("Kontroll")
$Einstellung = 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, 24, 113, 33)
$Relogstern = GUICtrlCreateLabel("*Ladet die karte nach dem Sever-Reset  neu und ", 16, 144, 239, 17)
GUICtrlSetColor(-1, 0x0000FF)
$HotKey = GUICtrlCreateGroup("Hot-Key's", 184, 64, 145, 73)
$F7 = GUICtrlCreateLabel("F7 = Start", 192, 80, 50, 17)
$F8 = GUICtrlCreateLabel("F8 = Pause (2 Min)", 192, 96, 93, 17)
$F9 = GUICtrlCreateLabel("F9 = Ende", 192, 112, 53, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Label3 = GUICtrlCreateLabel("Startet Den Scar Erneut.", 24, 160, 120, 17)
GUICtrlSetColor(-1, 0x0000FF)
$TabSheet2 = GUICtrlCreateTabItem("AutoFeuerBot")
$EinstellungAuroFeuer = GUICtrlCreateGroup("Einstellung", 16, 32, 137, 81)
$AutoFeuer = GUICtrlCreateCheckbox("Auto Feuer", 24, 48, 97, 17)
$Entern = GUICtrlCreateCheckbox("Auto Entern", 24, 80, 97, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group1 = GUICtrlCreateGroup("Hot-Key's", 168, 40, 153, 97)
$Label1 = GUICtrlCreateLabel("Auto Feuer = F", 176, 56, 74, 17)
$Label2 = GUICtrlCreateLabel("Auto Entern = L", 176, 88, 78, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button1 = GUICtrlCreateButton("Start", 32, 120, 75, 25)
$TabSheet3 = GUICtrlCreateTabItem("About")
GUICtrlCreateTabItem("")
$Exit = GUICtrlCreateButton("Exit", 32, 192, 291, 25)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###

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



		Case $Start
			_Go()
		Case $Exit
			Exit
	EndSwitch
WEnd
Func _Go()
	While 2
		If BitAND(GUICtrlRead($ReppLogin), $Gui_Checked) = 1 Then

			If $Ok = _ImageSearch("Unbenannt.Bmp", 1, $Schliesen1, $Schliesen2, 100) Then

				MouseMove($Schliesen1, $Schliesen2, 1000)



			EndIf
		EndIf

		If BitAND(GUICtrlRead($ReLogin), $Gui_Checked) = 1 Then
			MsgBox(0, "Check", "ReLogin ist Aktiv ")
		EndIf

		If BitAND(GUICtrlRead($ReppLogin), $Gui_Checked) = 0 And BitAND(GUICtrlRead($ReLogin), $Gui_Checked) = 0 Then
			MsgBox(0, "Fehler", "Es muss mind. Ein Kontroll an sein !")
		EndIf

	WEnd
EndFunc   ;==>_Go
11/26/2012 16:40 bluedra#21
Quote:
PHP Code:
If $Ok _ImageSearch("Unbenannt.Bmp"1$Schliesen1$Schliesen2100Then 
Was möchtest du damit bezwecken?
Damit prüfst du ob $Ok den selben Inhalt hat wie _ImageSearch, was es logischerweise nicht hat.
PHP Code:
If _ImageSearch("Unbenannt.Bmp"1$Schliesen1$Schliesen2100Then 
muss da hin ;)

-bluedra

//edit

PHP Code:
If BitAND(GUICtrlRead($ReppLogin), $GUI_UNCHECKED) And BitAND(GUICtrlRead($ReLogin), $GUI_UNCHECKEDThen
    MsgBox
(0"Fehler""Es muss mind. Ein Kontroll an sein !")
EndIf 
$GUI_CHECKED ist für checked Boxen, $GUI_UNCHECKED für ungecheckte ^^
11/26/2012 18:25 SeaDoc#22
Quote:
Originally Posted by bluedraqon View Post
Was möchtest du damit bezwecken?
Damit prüfst du ob $Ok den selben Inhalt hat wie _ImageSearch, was es logischerweise nicht hat.
PHP Code:
If _ImageSearch("Unbenannt.Bmp"1$Schliesen1$Schliesen2100Then 
muss da hin ;)

-bluedra

//edit

PHP Code:
If BitAND(GUICtrlRead($ReppLogin), $GUI_UNCHECKED) And BitAND(GUICtrlRead($ReLogin), $GUI_UNCHECKEDThen
    MsgBox
(0"Fehler""Es muss mind. Ein Kontroll an sein !")
EndIf 
$GUI_CHECKED ist für checked Boxen, $GUI_UNCHECKED für ungecheckte ^^
Code:
If BitAND(GUICtrlRead($ReppLogin), $GUI_UNCHECKED) And BitAND(GUICtrlRead($ReLogin), $GUI_UNCHECKED) Then
    MsgBox(0, "Fehler", "Es muss mind. Ein Kontroll an sein !")
EndIf
Ist das nicht das gleich wie
Code:
If BitAND(GUICtrlRead($ReppLogin), $Gui_Checked) = 0 And BitAND(GUICtrlRead($ReLogin), $Gui_Checked) = 0 Then
			MsgBox(0, "Fehler", "Es muss mind. Ein Kontroll an sein !")
		EndIf
?

Danke meine ImageSearch klappr jz endlich *-*

- SeaDoc
11/26/2012 18:33 Sebi201195#23
SeaDoc wann ist dein Großes Release ? oder gibt es ein Release ? official ?
11/26/2012 18:41 bluedra#24
Ich bin mir nicht sicher ob die Funktion wirklich 0 zurück gibt... Wohl eher gibt sie False zurück und logische Operatoren werden nicht mit Integern verglichen ^^
Wenn das so funktioniert hast du Glück, ist aber nicht Sinn der Sache :rolleyes:
11/26/2012 18:47 SeaDoc#25
Quote:
Originally Posted by bluedraqon View Post
Ich bin mir nicht sicher ob die Funktion wirklich 0 zurück gibt... Wohl eher gibt sie False zurück und logische Operatoren werden nicht mit Integern verglichen ^^
Wenn das so funktioniert hast du Glück, ist aber nicht Sinn der Sache :rolleyes:
Oki danke dir :) wenn ich das so schreibe am anfang
Code:
 Func _Go()
	While 2
		If BitAND(GUICtrlRead($ReppLogin), $Gui_Checked) = 1 Then

			Sleep(500)
			If _ImageSearch("Bilder\Repp.Bmp", 1, $Repp1, $Repp2, 100) Then

				MouseMove($Repp1, $Repp2, 1000)
				Sleep(500) ;Cpu Schonen

			EndIf
		EndIf
		If BitAND(GUICtrlRead($ReppLogin), $Gui_Checked) = 1 Then
			If _ImageSearch("Bilder\Schliesen.Bmp", 1, $Close1, $Close2, 100) Then
				MouseMove($Close1, $Close2, 1000)
			EndIf
		EndIf
	WEnd
Laggt es einbischen .. ist das normal ?
11/26/2012 18:48 Havelock_Vetinari#26
Was verstehst du unter Lagg? und was laggt genau?
11/26/2012 18:49 SeaDoc#27
Quote:
Originally Posted by Sebi201195 View Post
SeaDoc wann ist dein Großes Release ? oder gibt es ein Release ? official ?
Ich bin mir sicher das Bald ein Release kommen wird kann aber noch nicht genau sagen wann (da ich noch ein kleiner anfänger bin)

und ob es Official Rauskommt weiß ich nicht ganz genau ich denke mal das ich das Officiale Als " Demo* " Raus rücken werde


*Demo '= Eingeschränkte Funktion..


- Seadoc

Quote:
Originally Posted by Alex_II View Post
Was verstehst du unter Lagg? und was laggt genau?
Sobald ich Start Drücke Hängt es sich für Ca. 20 Sec. auf und dann arbeitet es erst normal ..


habe schon extra versucht ein " Sleep(500) " reinzubauen damit der Cpu nicht belastet wird aber da karm genau das gleiche raus ..

aber sobald ich eine If Raus nehme Läuft es ganz normal ohne lagg

-Seadoc
11/26/2012 18:52 bluedra#28
PHP Code:
While True
    
If BitAND(GUICtrlRead($ReppLogin), $Gui_Checked) And _ImageSearch("Bilder\Repp.Bmp"1$Repp1$Repp2100Then
        MouseMove
($Repp1$Repp21000)
    EndIf
    If 
BitAND(GUICtrlRead($ReppLogin), $Gui_Checked) And _ImageSearch("Bilder\Schliesen.Bmp"1$Close1$Close2100Then
        MouseMove
($Close1$Close21000)
    EndIf
    
Sleep(50)
WEnd 
Die Pause wo du sie hattest wurde nur ausgeführt wenn Imagesearch was gefunden hat; jetzt sollte es funktionieren
11/26/2012 18:58 SeaDoc#29
Quote:
Originally Posted by bluedraqon View Post
PHP Code:
While True
    
If BitAND(GUICtrlRead($ReppLogin), $Gui_Checked) And _ImageSearch("Bilder\Repp.Bmp"1$Repp1$Repp2100Then
        MouseMove
($Repp1$Repp21000)
    EndIf
    If 
BitAND(GUICtrlRead($ReppLogin), $Gui_Checked) And _ImageSearch("Bilder\Schliesen.Bmp"1$Close1$Close2100Then
        MouseMove
($Close1$Close21000)
    EndIf
    
Sleep(50)
WEnd 
Die Pause wo du sie hattest wurde nur ausgeführt wenn Imagesearch was gefunden hat; jetzt sollte es funktionieren
so laggt es immer noch :( , ich schick dir mal den ordner per pn