so hallo erstmal ^^
ich
ich hab mich vor kurzem mit Autoit angefreundet und mal versucht einen Nostale piibot (auto klicker) zu machen und zwar mit mehreren Funktionen (er drückt die Leertaste oder die Z taste was man halt auswählt und er hebt nebenbei automatisch in der nähe rumliegende Items auf^^) erstmal hab ich den bot mit den Tutorials und einigen Sachen die ich hier im Forum gefunden Gecodet danach wollte ich das etwas übersichtlicher machen und habe ein GUI (Graphical User Interface)
eingebaut es läuft auch eigentlich alles alle Buttons und die Funktionen jetzt kommt ein kleiner Fehler wo ich nicht weis wie ich den beheben kann und zwar wen ich einen der Buttons anklicke fängt der bot an zu arbeiten ABER ich kann ihn dann nicht mehr durch den Schließen Button zu machen bzw ich kann nicht zwischen der Funktion Leertaste und Z wechseln. Ich kann ihn dann nur über Prozess beenden schließen.
Da wollte ich mal fragen ob mir wer bei dem Problem helfen könnte.
1. Der bot sollte beim klick auf die Buttons die Funktionen ändern können. Damit ist gemeint während er ausgeführt wird das man zwischen Leertaste und Z Taste wechseln kann.(in meinem Fall geht das nicht)
2.Der bot könnte eine pause Funktion über ein Hotkey vertragen.
Code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1_1 = GUICreate("Pii Bot", 194, 195, 381, 189)
$Button1 = GUICtrlCreateButton("Leertasten Bot Starten", 8, 8, 177, 41)
$Button2 = GUICtrlCreateButton("Z Tasten Bot Starten", 8, 56, 177, 41)
$Button3 = GUICtrlCreateButton("Schließen (Turn OFF)", 8, 104, 177, 33)
$Button4 = GUICtrlCreateButton("INFO", 16, 152, 81, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
While 1
ControlSend("NosTale", "", 0, "{Space}")
Sleep (300)
ControlSend("NosTale", "", 0, "{X}")
Sleep (500)
WEnd
Exit
Case $Button2
While 1
ControlSend("NosTale", "", 0, "{Z}")
Sleep (300)
ControlSend("NosTale", "", 0, "{X}")
Sleep (500)
WEnd
Exit
Case $Button4
MsgBox (0,"Info","Der Bot drückt Entweder die Leertaste oder die Z Taste zum Angreifen (Je nach auswahl). Nebenbei hebt er Automatisch die items auf! Viel Spaß damit :P")
Case $Button3
Exit
EndSwitch
WEnd
wen mir wer helfen könnte wäre ich sehr dankbar
MfG Takenso
PS: wer Rechtschreibfehler findet darf sie gerne Gratis behalten :P
Edit: tu noch alle daten in eine zip rein dan könnt ihr euch das vieleicht genauer angucken
hab mir das rot markierte mal angeschaut werde aber auch nicht schlau draus bin so gut mit Autoit auch nicht vertraut vor allem hab den Code von Koda bekommen ich denke mal nicht das Koda Fehler machen würde oder ô.o ?
Ehm der Fehler liegt einfach daran das du den Bot nicht mehr auf das Gui achten lässt du hast eine While Schleife und in der Nocheine also macht er eine tat so lange bis die Bedingung nicht erfüllt ist und 1 ist nie erfüllt ...
Kurz gesagt so muss es sein ...:
While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 If $startleertaste = "no" Then $startleertaste = "yes" ElseIf $startleertaste = "yes" Then $startleertaste = "no" EndIf Case $Button2 If $startztaste = "no" Then $startztaste = "yes" ElseIf $startztaste = "yes" Then $startztaste = "no" EndIf Case $Button4 MsgBox(0, "Info", "Der Bot drückt Entweder die Leertaste oder die Z Taste zum Angreifen (Je nach auswahl). Nebenbei hebt er Automatisch die items auf! Viel Spaß damit :P") Case $Button3 Exit EndSwitch If $startleertaste = "yes" Then ; wenn leerstaste benutzt werden soll dann kann man nicht gleichzeitig Z benutzen ... Trick bei ElseIf ;) Leertaste() ElseIf $startztaste = "yes Then ZTaste() EndIf WEnd
Func Leertaste() ; lieber zwei Funktionen für das Botten ControlSend("NosTale", "", 0, "{SPACE}") Sleep(300) ControlSend("NosTale", "", 0, "{X}") Sleep(500) EndFunc ;==>Leertaste Func ZTaste() ; lieber zwei Funktionen für das Botten ControlSend("NosTale", "", 0, "{Z}") Sleep(300) ControlSend("NosTale", "", 0, "{X}") Sleep(500) EndFunc ;==>ZTaste
Wir benutzen die While Schleife die schon fürs Überwachen des Gui gibt ...
Wichtig auserhalb des Switch ....
Und jetzt funktionieren die Buttons auch
While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 While 1 ; Wenn hier eine While Schleife in einer While Schleife startet dann wird auf die erste While Schleife nicht mehr geachtet und in dieser While Schleife wird auf die Button geachtet .... ControlSend("NosTale", "", 0, "{Space}") Sleep (300) ControlSend("NosTale", "", 0, "{X}") Sleep (500) WEnd Exit Case $Button2 While 1 ; Wenn hier eine While Schleife in einer While Schleife startet dann wird auf die erste While Schleife nicht mehr geachtet und in dieser While Schleife wird auf die Button geachtet .... ControlSend("NosTale", "", 0, "{Z}") Sleep (300) ControlSend("NosTale", "", 0, "{X}") Sleep (500) WEnd Exit Case $Button4 MsgBox (0,"Info","Der Bot drückt Entweder die Leertaste oder die Z Taste zum Angreifen (Je nach auswahl). Nebenbei hebt er Automatisch die items auf! Viel Spaß damit :P") Case $Button3 Exit EndSwitch WEnd
Benutz lieber ma bitte Tidy bevor du es postest so ist das viel zu unübersichtlich...
Benutzt #RequireAdmin dann müssen Vista User nicht nochmal rechtsklick ...
Sry wenn rechtschreibfehler sind ich musste das auf die schnelle schreiben