Seafight Angriffsbot

10/04/2014 21:08 bs_destroyer#1
Hey Leuts,

Ich hab mich heute mal hingesetzt und nen Angriffsbot für das Spiel Seafight geschrieben, leider ist es doch etwas langsamer, ich denke das liegt daran das er den kompletten Bildschirm absucht...

Wie bekomme ich es ihn das er den Attackbutton einmal sucht und sich dann die position merkt und diese dann nimmt...

Außerdem hatte ich mal eine Version die die Variabeln und befehle schon beim Eintippen gezeigt hat, sprich habe habe z.B. wie unten im script $Attackbutton geschreiben und dann das nächste mal wenn ich irgendwas mit "$Att" geschrieben habe wurde mir eine Auswahl mit allen Variabeln die mit $Att angefangen haben angezeigt

Code stelle ich unten rein


Code:
HotKeySet("{F1}", "_StartBot")
HotKeySet("{F2}", "_PauseBot")
HotKeySet("{F3}", "_EndeBot")

Global $Active = 0
MsgBox (16,"Bot Handbuch"," Du kannst den Bot beenden indem du F3 drueckst!")
ToolTip ("Bot ist an",44,55,"Status",16)

Global $Attackbuttoninputbox = InputBox ("Angriffsknopf","bitte gib den Angriffsbutton ein")
Global $dmgrocketbuttoninputbox = InputBox ("Schadensrakete","auf welchem knopf ist deine Schadensrakete?")
Global $slowrocketbuttoninputbox = InputBox ("Bremsrakete"," auf welchem Knopf hast du deine Bremsrakete liegen?")

While 1
	$Attackbutton = PixelSearch (0,0,1599, 899,0xFF816C,15)
	$dmgrocket = PixelSearch (0,0,1599,899,0xD39E56,15)
	$slowrocket = PixelSearch (0,0,1599,899,0x7E7F75,15)

	If IsArray ($Attackbutton) Then
	   Send ($Attackbuttoninputbox)
	EndIf
	If IsArray ($dmgrocket) Then
	   Send ($dmgrocketbuttoninputbox)
	EndIf
	If IsArray ($slowrocket) Then
	   Send ($slowrocketbuttoninputbox)
	EndIf





WEnd

Func _StartBot()
	$Active = 1
EndFunc

Func _PauseBot()
	$Active = 0
EndFunc

Func _EndeBot()
   MsgBox (16,"Status","Bot aus")
	Exit
EndFunc
10/04/2014 22:44 berkay2578#2
While loop without a Sleep() ... ouch. If you can explain me your problem in English I might be able to help you. Google Translate gives funny results.
10/04/2014 23:12 Moneypulation#3
Abgesehen davon, dass deine Pausefunktion nicht funktioniert, kannst du dein Bot noch um einiges verbessern.
Ich schätze du benutzt Custom Client dafür also kannst du den Suchbereich um einiges (sogar auf einen einzigen Pixel) verkleinern, sodass der Bot auch schneller reagieren kann. Außerdem würde ich den ToolTip erst nach den Inputboxen anzeigen lassen, ansonsten macht es keinen Sinn.
10/05/2014 00:10 bs_destroyer#4
Quote:
Originally Posted by moneypulation View Post
Abgesehen davon, dass deine Pausefunktion nicht funktioniert, kannst du dein Bot noch um einiges verbessern.
Ich schätze du benutzt Custom Client dafür also kannst du den Suchbereich um einiges (sogar auf einen einzigen Pixel) verkleinern, sodass der Bot auch schneller reagieren kann. Außerdem würde ich den ToolTip erst nach den Inputboxen anzeigen lassen, ansonsten macht es keinen Sinn.

Hey, Dank dir für deine Antwort aber der Bot ist nicht für den Customclient...
Er soll für das alltägliche Kriegstreiben auf unseren Seafightkarten sein ;)

Und das die Pausefunktion nicht funktioniert habe ich auch schon festgestellt, beim Kriegfahren als ich wen aus meiner Gilde weggehauen habe ^^

Auch da bin ich für Tipps und Anregungen offen :)

Quote:
Originally Posted by berkay2578 View Post
While loop without a Sleep() ... ouch. If you can explain me your problem in English I might be able to help you. Google Translate gives funny results.
Hey, my problem is that my script slows my whole Clientwindow ´cause the search field is to big ( if he start the search each time) so i need a way that the script search the positon once and shot then when ever it finds the Color at this position...

could it may work with mousegetposition? if the user moves his mouse on the field where the Attackbutton is?
10/05/2014 02:22 Moneypulation#5
Wenn das so ist, würde ich nicht PixelSearch sondern KeyPressed benutzen. Der Benutzer soll dann mit der Maus auf die Position wo z.b. Attackbutton ist und dann einen Hotkey drücken. Somit kannst du den Farbwert auf dem Pixel speichern. Und solang der Farbwert gleich ist $Attackbuttoninputbox senden
10/05/2014 12:50 bs_destroyer#6
Öhm danke für den Tipp aber mein AutoIT kennt den befehl nicht....
10/05/2014 15:36 Moneypulation#7
[Only registered and activated users can see links. Click Here To Register...]
10/05/2014 22:26 bs_destroyer#8
Quote:
Originally Posted by moneypulation View Post
[Only registered and activated users can see links. Click Here To Register...]
danke ^^