[AutoIt] Mehrere Fenster umbennen/AutoIt Deaktivieren

12/29/2012 03:52 ♛Wolf♛#1
Hallo Leute,
da ich grad an meinem ersten Programm rumbastle. Bin Ich mal wieder auf ein Problem gestoßen wo ich im Internet nix genaues finde. So vorne weg, danke an -STORM- und an » Fabi202cool die mir schon bis jetzt sehr gut weiter geholfen haben. Xtrap wird nicht betrachtet da er auf dem Server wo ich spiele Deaktiviert.

Also erstes:
Ich starte 4x Last Chaos dann haben die Last Chaos Fenster ja alle den selben Fensternamen und wie bekomme ich die alle zusammen geändert ? Einzel ist ja nicht schwer:
Quote:
WinSetTitle("Last Chaos Fenster (800x600)", "", "neuer Titel")
-STORM- hat irgend was von Window-Handel geschrieben:
Zitat :

Und ich versteh nicht genau was er damit gemeint hat.

Und mein 2tes Problem, ist glaub schon ne Nummer zu groß für mich :P
Es geht um Cheat Engine in AutoIt einbinden. Ich will gerne den Wert "AutoIt" umbenennen in "asdft" Aber wie Bekomme ich das hin ?

Habe viel gelesen und bin zum geschloss kommen :
Quote:
#RequireAdmin
#include <NomadMemory.au3>

Func _DeaAutoIt
$LC = ProcessExists("nksp.exe")
ProcessWait($LC)
$OPEN = _MermoryOpen($LC)
$adress = 0x107106E8;normale Adresse aus Cheat Engine
$Wert = "asdf";Neuer Wert
_MemoryWrite($adress,$Wert,char[16])
EndFunc
Ich weis echt nicht ob char[16] richtig ist da es im Valure Type String ist.

Ich will Eigenlich nachher erreichen dass wenn man nen Knopf drück dass dann automatisch alle Last Chaos Fesnter gepacht werden

Hoffe auf Hilfe :D


mfg
masterries
12/29/2012 04:14 » Fabi202cool#2
Bei deinem char[16] ist 16 die Anzahl der zu schreibenden Bytes bzw. Stringlänge. Bei "asdf" also char[4].

Ist zwar schon ne weile her, aber muss bei _MemoryWrite der Typ nicht als string angegeben werden?
Habe das so in Erinnerung: _MemoryWrite($adress,$Wert,'char[16]')
12/29/2012 05:53 Sentence'#3
Code:
#RequireAdmin
#include <NomadMemory.au3>

Func _DeaAutoIt()
$LC = ProcessExists("Nksp.exe")
ProcessWait($LC)
$OPEN = _MermoryOpen($LC)
$address = 0x107106E8
$value = "asdf"
$len = StringLen($value)
_MemoryWrite($address,$value,"char[" & $len & "]")
EndFunc
habs aus dem kopf herraus mal gemacht, so sollte es gehen
12/29/2012 12:27 -STORM-#4
Das Window-Handle ist eine Zahl, die einem bestimmten Fenster zugeordnet ist wie die ProcessID einem bestimmten Prozess.
WinGetHandle("") gibt das Handle des gerade aktiven Fensters zurück.
Man muss also im Trainer diese Funktion aktivieren (z.B. per Button) und mit dem nächsten Mausklick das gewünschte Fenster auswählen:

Code:
Func _selectwin()
	While 1 ;// warten auf Mausklick
		If _IsPressed("01") Then ;// falls linke Maustaste gedrückt
			Sleep(30) ;// warten (Fenster aktivieren dauert etwas)
			ExitLoop ;// Schleife verlassen
		EndIf
	WEnd
	$winhandle = WinGetHandle("") ;// WinHandle des aktiven Fensters
	$winpid = WinGetProcess($winhandle) ;// zugehörige ProcessID
	$wintitle = WinGetTitle($winhandle) ;// zugehöriger Fenstertitel. eigentlich unnötig.
EndFunc   ;==>_selectwin
Die ProcessID wird für MemoryWrite/Read gebraucht.
Das WinHandle kannst du für ControlSend, PostMessage, etc. verwenden, einfach überall wo du sonst Fenstertitel benutzt.
Der Fenstertitel wird so eigentlich gar nicht gebraucht.
12/29/2012 13:17 ♛Wolf♛#5
Also mit dem AutoIt bekomm ich nicht hin. Hab die Funktion von Sentence' genommen und meine mit " "
Quote:
#RequireAdmin
#include <NomadMemory.au3>

HotKeySet("{ESC}", "Terminate")
HotKeySet("{TAB}", "DeaAutoIt")
HotKeySet("{ENTER}", "DeaAutoIt2")


While 1
Sleep(100)
WEnd

Func Terminate()
Exit 0
EndFunc ;==>Terminate

Func DeaAutoIt()
$LC = ProcessExists("Nksp.exe")
ProcessWait($LC)
$OPEN = _MemoryOpen($LC)
$address = 0x107106E8
$value = "asdf"
$len = StringLen($value)
_MemoryWrite($address,$value,"char[" & $len & "]")
EndFunc

Func DeaAutoIt2()
$LC = ProcessExists("nksp.exe")
ProcessWait($LC)
$OPEN = _MemoryOpen($LC)
$adress = 0x107106E8;normale Adresse aus Cheat Engine
$Wert = "asdf";Neuer Wert
_MemoryWrite($adress,$Wert,"char[4]")
EndFunc
Halt tab oder enter dedrückt doch in Cheat Engine war die adresse 0x107106E8 immer noch AutoIt ... und bekam somit Ingame nen DC

Ich editiere gleich nochmal wegen dem Windows handel :D
Edit: ich verzweifle Gleich :DDDD

PHP Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#Region ### START Koda GUI section ### Form=
$Fenster GUICreate("Fenster"203200195132)
$Auswahlen GUICtrlCreateButton("Fenster auswählen"303014030)
$Hack GUICtrlCreateButton("Hack starten"307014030)
$output GUICtrlCreateInput(""3212013721)
$Anzeigen GUICtrlCreateButton("Andresse Anzeigen"3014514030)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

;;;;;;;;Funktionen;;;;;;;;
Func _selectwin()
    While 
;// warten auf Mausklick
        
If _IsPressed(01Then ;// falls linke Maustaste gedrückt
            
Sleep(30) ;// warten (Fenster aktivieren dauert etwas)
            
ExitLoop ;// Schleife verlassen
        
EndIf
    
WEnd
    $winhandle 
WinGetHandle("") ;// WinHandle des aktiven Fensters
    
$winpid WinGetProcess($winhandle) ;// zugehörige ProcessID
    
$wintitle WinGetTitle($winhandle) ;// zugehöriger Fenstertitel. eigentlich unnötig.
EndFunc   ;==>_selectwin

;;;;;;;;;;;;;;;;;;;;

While 
1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit
        Case 
$Anzeigen
            GUICtrlSetData
($output"WERTTTT")

        Case 
$Auswahlen
            _selectwin
()

    EndSwitch
WEnd 
Soo Ich wer gerne wissen welchen Wert Ich jetzt mal für den Anfang für das erstetzten vom Titel, du hast ja geschrieben, dass es $winhandle wäre aber wenn ich es irgend wie einbinden will kommt immer:

WARNING: $winhandle: possibly used before declaration.
ERROR: $winhandle: undeclared global variable.

Weil ich wollte die Variable als Wert ausgeben aber immer Error wenn ich mache
GUICtrlSetData($output, $winhandle)

Da ich eigentlich Kontrollieren wollte ob es geht.

Klicke auf Auswählen und klicke auf LC und dann auf Adresse Anzeigen, so wollte ich es erstmal haben und mit der Adresse kann ich ja dann weiter fahren
12/29/2012 15:41 -STORM-#6
Deine Funktion:
Code:
Func DeaAutoIt2()
$LC = ProcessExists("Nksp.exe")
ProcessWait($LC)
$OPEN = _MemoryOpen($LC)
$adress = 0x107106E8
$Wert = "asdf"
_MemoryWrite($adress,$Wert,"char[4]")
EndFunc
Richtig wäre es so:
Code:
Func DeaAutoIt2()
$LC = ProcessExists("Nksp.exe")
ProcessWait($LC)
$OPEN = _MemoryOpen($LC)
$adress = 0x107106E8
$Wert = "asdf"
_MemoryWrite($adress, $OPEN, $Wert, "char[4]") ;// hier $OPEN als zweiten Parameter vergessen
EndFunc
Quote:
Originally Posted by masterries View Post
WARNING: $winhandle: possibly used before declaration.
ERROR: $winhandle: undeclared global variable.
Das heißt, dass die Variable noch nicht erstellt wurde, als du den Befehl ausführen wolltest:
Code:
GUICtrlSetData($output, $winhandle)
Du könntest die Funktion z.B. so verwenden:
Code:
Func _selectwin()
    While 1 ;// warten auf Mausklick
        If _IsPressed(01) Then ;// falls linke Maustaste gedrückt
            Sleep(30) ;// warten (Fenster aktivieren dauert etwas)
            ExitLoop ;// Schleife verlassen
        EndIf
    WEnd
    $winhandle = WinGetHandle("") ;// WinHandle des aktiven Fensters
	GUICtrlSetData($output, $winhandle)
    $winpid = WinGetProcess($winhandle) ;// zugehörige ProcessID
    $wintitle = WinGetTitle($winhandle) ;// zugehöriger Fenstertitel. eigentlich unnötig.
EndFunc   ;==>_selectwin
12/29/2012 16:04 ♛Wolf♛#7
Du bist echt mein Gott, mann Danke :DD

Kann ich jetzt einfach die $winhandle dafür als "Titel Fenster" benutzen ? in PostMessage
12/29/2012 16:14 -STORM-#8
Genau. Falls es mit dem Fenstertitel funktioniert, funktioniert es mit hWnd (WindowHandle) auch. Und falls es mit dem Titel nicht klappt, weil mehrere Fenster denselben Titel haben, funktioniert es mit hWnd trotzdem.
Schau dir z.B. die ersten Zeilen der PostMessage Funktionen von KDeluxe an:
Code:
If Not IsHWnd($hWnd) And $hWnd <> "" Then
	$hWnd = WinGetHandle($hWnd)
EndIf
Wenn du nicht direkt hWnd als Parameter übergibst, wird einfach das Handle anhand des Fenstertitels gesucht.
12/29/2012 16:19 ♛Wolf♛#9
Also wenn ich jetzt 4 mal LC auf mache, muss ich auch 4 Bottons machen, wo ich zuerst auswähle und dann hack starte, auswählen und hack starten ,....

Edit :
Hab es versucht um zu setzten mal mit einem LC
PHP Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#include <NomadMemory.au3>
#include <PostMessage.au3>
#Region ### START Koda GUI section ### Form=
$Fenster GUICreate("Fenster"204367195132)
$Auswahlen GUICtrlCreateButton("Fenster auswählen"303014030)
$Hack GUICtrlCreateButton("AutoIt"307014030)
$output GUICtrlCreateInput(""3212013721)
$Anzeigen GUICtrlCreateButton("Wiederholen"3014514030)
$Fenster1 GUICtrlCreateButton("Hack für Fenster 1"3019014030)
$Fenster2 GUICtrlCreateButton("Hack für Fenster 2"3023014030)
$Fenster3 GUICtrlCreateButton("Hack für Fenster 3"3027014030)
$Fenster4 GUICtrlCreateButton("Hack für Fenster 4"3031014030)
$Label1 GUICtrlCreateLabel("Adresse"301044217)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

;;;;;;;;Funktionen;;;;;;;;
Func _selectwin()
    While 
;// warten auf Mausklick
        
If _IsPressed("01"Then ;// falls linke Maustaste gedrückt
            
Sleep(30) ;// warten (Fenster aktivieren dauert etwas)
            
ExitLoop ;// Schleife verlassen
        
EndIf
    
WEnd
    $winhandle 
WinGetHandle("") ;// WinHandle des aktiven Fensters
        
GUICtrlSetData($output$winhandle)
    
$winpid WinGetProcess($winhandle) ;// zugehörige ProcessID
    
$wintitle WinGetTitle($winhandle) ;// zugehöriger Fenstertitel. eigentlich unnötig.
EndFunc   ;==>_selectwin

Func _DeaAutoIt2
()
    
$LC ProcessExists("Nksp.exe")
    
ProcessWait($LC)
    
$OPEN _MemoryOpen($LC)
    
$adress 0x107106E8
    $adress2 
0x04FB1500
    $Wert 
"asdf"
    
_MemoryWrite($adress$OPEN$Wert"char[4]") ;// hier $OPEN als zweiten Parameter vergessen
    
_MemoryWrite($adress2$OPEN$Wert"char[4]")
EndFunc

Func _Juwel
()
    While 
1
        _PostMessage_ClickDrag
("$winhandle"544240362229)
        
_PostMessage_ClickDrag("$winhandle"583240401229)
        
_PostMessage_ClickDrag("$winhandle"623240441229)
        
Sleep (500)
        
ControlClick("$winhandle","""""left",1,404,402)
        
Sleep (7000)

    
WEnd
EndFunc

;;;;;;;;;;;;;;;;;;;;

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

        Case 
$Auswahlen
            _selectwin
()
        Case 
$Hack
            _DeaAutoIt2
()
        Case 
$Anzeigen
            _selectwin
()
        Case 
$Fenster1
            _Juwel


    
EndSwitch
WEnd 
Mich intressiert jetzt mehr
Quote:
Func _Juwel()
While 1
_PostMessage_ClickDrag("$winhandle", 544, 240, 362, 229)
_PostMessage_ClickDrag("$winhandle", 583, 240, 401, 229)
_PostMessage_ClickDrag("$winhandle", 623, 240, 441, 229)
Sleep (500)
ControlClick("$winhandle","", "", "left",1,404,402)
Sleep (7000)

WEnd
EndFunc
Also $winhandle ist ja dein hWnd, aber es klappt nicht, aber in Last Chaos passiert nix, Ich hab natürlich vorhin auch im "Auswahl Knopf" Lc ausgewählt und somit erscheint auch eine Adresse im Fenster (vom Trainer) und zwar 0x00000000007904B4 aber in Lc passiert nix und ich weis echt nicht wo der Fehler leigt

Da Postmessage eiglich noch gehen müsste habe einfach nur da wo früher der Titel stand hab ich $winhandel rein geklebt.

Edit:
Es lag glaub ich an den "" hatte "$winhandle" gemacht
Aber jetzt er wieder mit:
$winhandle: possibly used before declaration.
$winhandle: undeclared global variable.

Wenn ich starten will
12/29/2012 17:32 -STORM-#10
Hier mal die Fehler, die mir spontan aufgefallen sind.
Habe nicht die entsprechende LC Version um es zu testen, also bin ich nicht sicher, ob es schon alle sind.
Code:
Func _Juwel()
    While 1
        _PostMessage_ClickDrag("$winhandle", 544, 240, 362, 229)
        _PostMessage_ClickDrag("$winhandle", 583, 240, 401, 229)
        _PostMessage_ClickDrag("$winhandle", 623, 240, 441, 229)
        Sleep (500)
        ControlClick("$winhandle","", "", "left",1,404,402)
        Sleep (7000)

    WEnd
EndFunc
Lass die Anführungszeichen beim Übergeben von $winhandle weg, dann sollte PostMessage gehen.


Code:
Case $Fenster1
            _Juwel
Hier fehlen die Klammern zum Ausführen der Funktion. Richtig:
Code:
Case $Fenster1
            _Juwel()

Die AntiAutoIt Funktion ist noch nicht mit Multiclient kompatibel, da du dort nur ProcessExist verwendest. Statt der Variable $LC müsstest du hier die durch _selectwin gefundene Variable $winpid verwenden.

Am Ende der Funktion solltest du außerdem einfügen:
Code:
_MemoryClose($OPEN)
Funktioniert zwar auch ohne, aber das müllt auf Dauer den Speicher zu.


Dass der Button $Anzeigen dasselbe bewirkt wie $Auswählen macht auch keinen Sinn.

Außerdem weiß ich nicht, was du mit den Buttons Hack für Fenster X vorhast.
Zwischen den Fenstern wechselst du, indem du per _selectwin eines auswählst.
Willst du mit mehreren Fenstern gleichzeitig arbeiten, dann öffne halt mehrmals deinen Hack.
12/29/2012 18:24 ♛Wolf♛#11
Also, eigenlich hab ich dran gedacht es multiclient fähig zu bekommen. Da ich mit 1 Screen es auch mit nem Mouserecorder hinbekomme :D

hatte noch ein edit gemacht und ich hatte die "" schon weg genommen aber jetzt kommt halt immer:
$winhandle: possibly used before declaration.
$winhandle: undeclared global variable.

Bei der Funktion von postmessage

Ich habs:
Ich musste die Variablen einfach Global machen denn sie waren ja nur für die Function bestimmt

Und ich habe Bemerkt dass mein AutoIt Patcher nicht ganz richtig geht, denn 1 Adresse ändert sich nie aber die 2te ändert sich, und zwar nur die ersten 3 Zahlen. Und ich finde da keinen Pointer von 9kk pointer auf auf 8kk dann vlt irgedn wann auf 1,9kk aber dann komm icht garnet weiter.
Suche halt mit Pointer scan denn mit Debugger geht ja schlecht weil man den wert schlecht Ingame verändern kann
12/30/2012 11:57 -STORM-#12
Das mit den globalen Variablen passt schonmal.
Um den Pointer zu finden, kannst du mal ausprobieren, den Pointerscan zu speichern, dann das Spiel neu zu starten, und zu schauen, welche der Pointer wieder auf die richtige Addresse zeigen.
Kann auch sein, dass mehrere Pointer funktionieren, dann such dir halt einen aus.
12/30/2012 21:35 ♛Wolf♛#13
Etwas versteh ich nicht

Ich such in CE einfach 1x mal beide Werte von AutoIt und mache Hächschen und ändere den wert Und dann kann ich das einfach für alle Lc wieder holen. obwohl die 2te Adresse sich immer ändert aber ich bekomme KEIN Dc, aber wenn ich über AutoIt mache bekomme ich dc
12/31/2012 01:55 » Fabi202cool#14
Quote:
Originally Posted by masterries View Post
Etwas versteh ich nicht

Ich such in CE einfach 1x mal beide Werte von AutoIt und mache Hächschen und ändere den wert Und dann kann ich das einfach für alle Lc wieder holen. obwohl die 2te Adresse sich immer ändert aber ich bekomme KEIN Dc, aber wenn ich über AutoIt mache bekomme ich dc
Eventuell Versuchst du einen Schreibgeschützten Bereich zu überschreiben
12/31/2012 02:46 ♛Wolf♛#15
hmm.. wie finde ich das heraus :D

Ich hab bemerkt es geht wenn ich mit HCeat engine einfach nur konroliere ob es geändert wurde. (also es bleibt noch immer 1 AutoIt Adresse aber die stört lc ab und zu nicht)

ist auch eigentlich egal ich kann das auch Manuel machen.

Aber wie beende Ich eine Funktion:
Einfaches Beispiel :
Quote:
Func _Mage()
While 1
ControlSend($winhandlebot,"", "", "{F1]" )
WEnd
EndFunc
Und die Funtkion wird halt mit einem knopf gestartet und soll mit einem 2ten Knopf beendet werden.

kann es sein dass AutoIt keine 2 Functionen mit ein ander ausfürhen kann ?
Denn ich hab eiglich 4x das Deslbe Script nur die Variablen geändert aber wenn ich sie auf 4x Lc einbinden will geht es nicht :C Aber einzel geht jeder

Aktuell mein Bot:
PHP Code:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
#include <NomadMemory.au3>
#include <PostMessage.au3>
#Region ### START Koda GUI section ### Form=
$Ober GUICreate("TLC v1.0.1"353365200130)
$Auswahl GUICtrlCreateButton("Auswählen"301014030)
$Auswahl2 GUICtrlCreateButton("Auswählen"308014030)
$INFenster GUICtrlCreateInput(""304514021)
GUICtrlSetCursor (-17)
$Starten GUICtrlCreateButton("Starten"1801014030)
$Count GUICtrlCreateInput(""1804514021)
GUICtrlSetCursor (-17)
$Starten2 GUICtrlCreateButton("Starten"1808014030)
$Input2 GUICtrlCreateInput(""3011514021)
GUICtrlSetCursor (-17)
$Count2 GUICtrlCreateInput(""18011514021)
GUICtrlSetCursor (-17)
$Starten3 GUICtrlCreateButton("Starten"17714514030)
$Input3 GUICtrlCreateInput(""3018014021)
GUICtrlSetCursor (-17)
$Auswahl3 GUICtrlCreateButton("Auswählen"3014514030)
$Count3 GUICtrlCreateInput(""17718014021)
GUICtrlSetCursor (-17)
$Starten4 GUICtrlCreateButton("Starten"17820814030)
$Input4 GUICtrlCreateInput(""3024314021)
GUICtrlSetCursor (-17)
$Auswahl4 GUICtrlCreateButton("Auswählen"3020814030)
$Count4 GUICtrlCreateInput(""17824314021)
GUICtrlSetCursor (-17)
$AUTO GUICtrlCreateButton("AutoIt [Deaktiviert]"3028014030)
GUICtrlSetCursor (-13)
$Help GUICtrlCreateButton("Hilfe"18028014030)
$BETA GUICtrlCreateButton("[BETA] Igni + F1 Bot[DEA]"18232013830)
$Mage GUICtrlCreateButton("Bot Auswahl"3032014030)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


;;;;;;;;Feste Variablen;;;;;;;;;;;;;;
Global 
$an 0
Global $iCount1 0
Global $iCount2 0
Global $iCount3 0
Global $iCount4 0
;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;
Funktionen;;;;;;;;;;;;;
Func _selectwin1()
    While 
;// warten auf Mausklick
        
If _IsPressed("01"Then ;// falls linke Maustaste gedrückt
            
Sleep(30) ;// warten (Fenster aktivieren dauert etwas)
            
ExitLoop ;// Schleife verlassen
        
EndIf
    
WEnd
    
Global $winhandle1 WinGetHandle("") ;// WinHandle des aktiven Fensters
        
GUICtrlSetData($INFenster$winhandle1)
EndFunc   ;==>_selectwin

Func _Juwel1
()
    While 
1
        _PostMessage_ClickDrag
($winhandle1544240362229)
        
_PostMessage_ClickDrag($winhandle1583240401229)
        
_PostMessage_ClickDrag($winhandle1623240441229)
        
Sleep (500)
        
ControlClick($winhandle1,"""""left",1,404,402)
        
Sleep (7000)

        
$iCount1 $iCount1 1
        GUICtrlSetData
($Count$iCount1)
    
WEnd
EndFunc


Func _selectwin2
()
    While 
;// warten auf Mausklick
        
If _IsPressed("01"Then ;// falls linke Maustaste gedrückt
            
Sleep(30) ;// warten (Fenster aktivieren dauert etwas)
            
ExitLoop ;// Schleife verlassen
        
EndIf
    
WEnd
    
Global $winhandle2 WinGetHandle("") ;// WinHandle des aktiven Fensters
        
GUICtrlSetData($Input2$winhandle2)
EndFunc   ;==>_selectwin

Func _Juwel2
()
    While 
1
        _PostMessage_ClickDrag
($winhandle2544240362229)
        
_PostMessage_ClickDrag($winhandle2583240401229)
        
_PostMessage_ClickDrag($winhandle2623240441229)
        
Sleep (500)
        
ControlClick($winhandle2,"""""left",1,404,402)
        
Sleep (7000)

        
$iCount2 $iCount2 1
        GUICtrlSetData
($Count2$iCount2)
    
WEnd
EndFunc

Func _selectwin3
()
    While 
;// warten auf Mausklick
        
If _IsPressed("01"Then ;// falls linke Maustaste gedrückt
            
Sleep(30) ;// warten (Fenster aktivieren dauert etwas)
            
ExitLoop ;// Schleife verlassen
        
EndIf
    
WEnd
    
Global $winhandle3 WinGetHandle("") ;// WinHandle des aktiven Fensters
        
GUICtrlSetData($Input3$winhandle3)
EndFunc   ;==>_selectwin

Func _Juwel3
()
    While 
1
        _PostMessage_ClickDrag
($winhandle3544240362229)
        
_PostMessage_ClickDrag($winhandle3583240401229)
        
_PostMessage_ClickDrag($winhandle3623240441229)
        
Sleep (500)
        
ControlClick($winhandle3,"""""left",1,404,402)
        
Sleep (7000)

        
$iCount3 $iCount3 1
        GUICtrlSetData
($Count3$iCount3)
    
WEnd
EndFunc

Func _selectwin4
()
    While 
;// warten auf Mausklick
        
If _IsPressed("01"Then ;// falls linke Maustaste gedrückt
            
Sleep(30) ;// warten (Fenster aktivieren dauert etwas)
            
ExitLoop ;// Schleife verlassen
        
EndIf
    
WEnd
    
Global $winhandle4 WinGetHandle("") ;// WinHandle des aktiven Fensters
        
GUICtrlSetData($Input4$winhandle4)
EndFunc   ;==>_selectwin

Func _Juwel4
()
    While 
1
        _PostMessage_ClickDrag
($winhandle4544240362229)
        
_PostMessage_ClickDrag($winhandle4583240401229)
        
_PostMessage_ClickDrag($winhandle4623240441229)
        
Sleep (500)
        
ControlClick($winhandle4,"""""left",1,404,402)
        
Sleep (7000)

        
$iCount4 $iCount4 1
        GUICtrlSetData
($Count4$iCount4)
    
WEnd
EndFunc

Func _DeaAutoIt2
()
    
$LC ProcessExists("Nksp.exe")
    
ProcessWait($LC)
    
$OPEN _MemoryOpen($LC)
    
$adress 0x107106E8
    $adress2 
0x04FB1500
    $Wert 
"asdf"
    
_MemoryWrite($adress$OPEN$Wert"char[4]") ;// hier $OPEN als zweiten Parameter vergessen
    
_MemoryWrite($adress2$OPEN$Wert"char[4]")
EndFunc

Func _selectwinbot
()
    While 
;// warten auf Mausklick
        
If _IsPressed("01"Then ;// falls linke Maustaste gedrückt
            
Sleep(30) ;// warten (Fenster aktivieren dauert etwas)
            
ExitLoop ;// Schleife verlassen
        
EndIf
    
WEnd
    
Global $winhandlebot WinGetHandle("") ;// WinHandle des aktiven Fensters
EndFunc   ;==>_selectwin

Func _Mage
()
    While 
1
        ControlSend
($winhandlebot,"""""{F1}" )
    
WEnd
EndFunc

While 1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit
        Case 
$Auswahl
            _selectwin1
()
        Case 
$Starten
            _Juwel1
()
        Case 
$Auswahl2
            _selectwin2
()
        Case 
$Starten2
            _Juwel2
()
        Case 
$Auswahl3
            _selectwin3
()
        Case 
$Starten3
            _Juwel3
()
        Case 
$Auswahl4
            _selectwin4
()
        Case 
$Starten4
            _Juwel4
()
        Case 
$AUTO
            _DeaAutoIt2
()
        Case 
$Mage
            _selectwinbot
()
        Case 
$BETA
            _Mage
()






        Case 
$Help
#Region ### START Koda GUI section ### Form=
$Form1_1 GUICreate("Hilfe"853655192124)
$Pic1 GUICtrlCreatePic("Unbenannt.jpg"1616820444)
$asdasd GUICtrlCreateLabel("1. Pach dein Last Chaos mit dem AutoIt Pach"3047227224)
GUICtrlSetFont(-1124000"Arial Narrow")
$Label1 GUICtrlCreateLabel("2. Nimm die kleinste Auflösung von  Last Chaos"3050028924)
GUICtrlSetFont(-1124000"Arial Narrow")
$Label2 GUICtrlCreateLabel("3. Stell dich genau so zum Sockelschmied wie auf dem Bild"3053036324)
GUICtrlSetFont(-1124000"Arial Narrow")
$Label3 GUICtrlCreateLabel("4. Klick auf Auswählen und klicken auf dein Last Chaos, und klicke Starten"3056045024)
GUICtrlSetFont(-1124000"Arial Narrow")
$Label4 GUICtrlCreateLabel("Made by masterries"62249612324)
GUICtrlSetFont(-1124000"Arial Narrow")
$Label5 GUICtrlCreateLabel("WICHTIG: Damit überhaupt was geht. In Cheat Eninge den Wert in String nach AutoIt und bennent die 2 Werte um."3059570724)
GUICtrlSetFont(-1124000"Arial Narrow")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###





    
EndSwitch
WEnd