Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 01:17

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



AutoIt Script beendet sich sofort

Discussion on AutoIt Script beendet sich sofort within the AutoIt forum part of the Coders Den category.

Closed Thread
 
Old   #1
 
elite*gold: 0
Join Date: Oct 2009
Posts: 63
Received Thanks: 9
AutoIt Script beendet sich sofort

Hi Community,
ich bin dabei mir einen PixelBot zu schreiben und es sieht auch recht soliede aus, nur habe ich das Problem, dass wenn ich die AutoIt Datei starte, sie sich sofort wieder beendet.

Mein Script sieht wie folgt aus:

Code:
HotKeySet("{F2}", "Search")
HotKeySet("{ESC}", "ende")


Func Search()
	  While 1
		 $BB = PixelSearch (7, 64, 1903, 1022, 0xFFFFFD)
			If IsArray($BB) Then
			MouseClick("Left", $BB Random[1,5], $BB Random[1,5], 1, Random(3,7))
			Sleep(Random(8000,9000))
		 Else
			MouseClick("Left", Random(1721, 1897), Random(1013, 910), 1, Random(3,7))
			   If IsArray($BB) Then
				  MouseClick("Left", $BB Random[1,5], $BB Random[1,5], 1, Random(3,7))
			   EndIf
			EndIf
	  WEnd
EndFunc


Func ende()
	Exit
 EndFunc
Wenn der Bot mit F2 gestartet wird, soll nach einem bestimmten Pixel gesucht werden.
Findet er diesen, soll er in einem zufälligen Radius zu diesem Pixel einen Klick machen.
Findet er diesen Pixel nicht, soll er durch einen Klick auf der Karte (zum fortbewegen im Spiel) sich bewegen und während der Bewegung bereits suchen - will da ungern eine Sleep Funktion einbauen, da er dann an den bestimmten Pixel vorbei läuft.
Hat er während der Suche/Bewegung den Pixel gefunden, soll er ihn wie oben anklicken und die Schleife von neuem beginnen.

Hoffentlich könnt Ihr mir helfen.

MfG
kollergen is offline  
Old 05/01/2015, 01:30   #2

 
Moneypulation's Avatar
 
elite*gold: 138
Join Date: Apr 2012
Posts: 3,494
Received Thanks: 1,769
Dein Script beendet sich wieder sofort, weil es deinen Code abgearbeitet hat und du keine Schleife hast, in der es sozusagen hängenbleibt. Füge nach deinen HotKeySets eine Endlosschleife hinzu. Am besten mit einem Sleep, damit deine CPU nicht unnötig belastet wird:

PHP Code:
While Sleep(200)
WEnd 
Moneypulation is offline  
Old 05/01/2015, 01:51   #3
 
elite*gold: 0
Join Date: Oct 2009
Posts: 63
Received Thanks: 9
Ich habe eine While Schleife doch gegeben, die sich im Grunde immer wiederholen müsste, oder meinst du etwas anderes?
kollergen is offline  
Old 05/01/2015, 02:01   #4

 
Moneypulation's Avatar
 
elite*gold: 138
Join Date: Apr 2012
Posts: 3,494
Received Thanks: 1,769
Quote:
Originally Posted by kollergen View Post
Ich habe eine While Schleife doch gegeben, die sich im Grunde immer wiederholen müsste, oder meinst du etwas anderes?
Ja, du hast eine While-Schleife. Aber die ist in einer Funktion, die nur durch einen HotKey ausgelöst wird. Die Funktionen Search() und ende() hast du definiert, jedoch werden sie niemals aufgerufen (außer mit deinem HotKey). Und bis du einen HotKey drückst, muss dein Script irgendwo "pausieren" und dazu brauchst du eine While-Schleife außerhalb der Funktion, die beim Ausführen des Scripts ausgelöst wird und dein Bot somit diese so oft durchläuft bis du per HotKey eine Funktion aufrufst
Moneypulation is offline  
Thanks
1 User
Old 05/01/2015, 02:14   #5
 
elite*gold: 0
Join Date: Oct 2009
Posts: 63
Received Thanks: 9
Vielen Dank
Das Problem ist schon mal behoben.

Kannst du mir eventuell noch einmal helfen?

Ich würde gerne eine Random Funktion einbauen, wenn er einen Pixel gefunden hat, damit die Maus nicht immer auf den selben Pixel klickt und der Bot somit schwerer zu erkennen ist.
Ist das irgendwie möglich, dass wenn der Pixel gefunden wurde, in einem bestimmten zufälligen Umfeld von diesem Pixel der Mausklick ausgeübt wird?
kollergen is offline  
Old 05/01/2015, 02:18   #6

 
Moneypulation's Avatar
 
elite*gold: 138
Join Date: Apr 2012
Posts: 3,494
Received Thanks: 1,769
Quote:
Originally Posted by kollergen View Post
Vielen Dank
Das Problem ist schon mal behoben.

Kannst du mir eventuell noch einmal helfen?

Ich würde gerne eine Random Funktion einbauen, wenn er einen Pixel gefunden hat, damit die Maus nicht immer auf den selben Pixel klickt und der Bot somit schwerer zu erkennen ist.
Ist das irgendwie möglich, dass wenn der Pixel gefunden wurde, in einem bestimmten zufälligen Umfeld von diesem Pixel der Mausklick ausgeübt wird?
Google ist dein Freund

Moneypulation is offline  
Thanks
1 User
Old 05/01/2015, 02:48   #7
 
elite*gold: 0
Join Date: Oct 2009
Posts: 63
Received Thanks: 9
Auf diese Seite bin ich auch schon gestoßen, nur bringt sie mich eher zur Verzweifelung als das sie mir weiterhelfen könnte.

Ich habe den Bot nun ein wenig umgeschrieben:

Quote:
HotKeySet("{F2}", "Search")
HotKeySet("{ESC}", "ende")

$iCounter = 1

While 1
Sleep(100)
While $iCounter <= 1
MsgBox (64, "Tastenbelegung", "F2: Sammeln beginnen" & @CRLF & "ESC: Script beenden")
$iCounter +=1
WEnd
WEnd

Func Search()
While 1
$BB = PixelSearch (7, 64, 1903, 1022, 0xFFFFFD)
If IsArray($BB) Then
MouseClick("Left", $BB[0], $BB[1], 1, Random(3,7))
Sleep(Random(3000,4000))
Else
Sleep (Random (2000, 4000))
MouseClick("Left", Random(1720, 1896), Random(908, 1012), 1, Random(3,7))
Sleep (Random (3000, 5000))
If IsArray($BB) Then
MouseClick("Left", $BB[0], $BB[1], 1, Random(3,7))
Sleep (Random (3000, 5000))
EndIf If IsArray($BB) Then
MouseClick("Left", $BB[0], $BB[1], 1, Random(3,7))
Sleep (Random (3000, 5000))
EndIf
EndIf
WEnd
EndFunc


Func ende()
Exit
EndFunc
Nun wird 3mal auf dem Weg zum angeklickten Punkt auf der Karte "gescannt" ob der Pixel zu finden ist.
Nur die Random Funktion bekomme ich nicht hin.

EDIT: Hab es doch hinbekommen
Vielen vielen Dank für deine Hilfe zur so später Stunde.
Kann abgeschlossen werden.
kollergen is offline  
Old 05/01/2015, 14:43   #8

 
snow's Avatar
 
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
#closed
snow is offline  
Closed Thread


Similar Threads Similar Threads
Script beendet sich nach abarbeitung selbst
02/10/2013 - AutoIt - 2 Replies
Hallo, Mein Script soll mit der Taste "F9" starten und mit der Taste "F10" anhalten. Jetzt ist das Problem das der Script sich nach Abarbeitung automatisch schließt (mal meine Vermutung). Wenn ich den Script ausführe passier rein gar nichts. Es erscheint auch kein Symbol in der Trayleiste. Global $rs = False HotKeySet ("{F9}", "start" ) HotKeySet ("{F10}", "stop" )
Hilfe - Fiesta beendet sich sofort
06/03/2012 - Fiesta Online - 3 Replies
Tagchen, wollte heute wieder Fiesta spielen, jedoch startet es einfach nicht. Muss seit gestern auf meinem lahmen Laptop spielen, und da es etwas in Fiesta gelaggt hat, habe ich ein paar Programme deinstalliert. Leider die falschen... Nun ja, heute habe ich Fiesta normal gestartet, jedoch wurde der Ladebildschirm einmal weiß für einen Bruchteil einer Sekunde, und dann schließt sich Fiesta wieder. Habe es ziemlich oft versucht, jedoch geht es nicht. Google habe ich auch schon befragt,...
Clien beendet sich sofort...
10/05/2008 - Metin2 Private Server - 14 Replies
hey, mit der sufu hab grad nix gefunden...abre wenn ich den client von PServer starten will, komm für vll ne halbe sekubnde der bereich, wo der server und die channel stehen und dann beendet er sich ohne fehlermeldung usw... gruß



All times are GMT +1. The time now is 01:17.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.