|
You last visited: Today at 22:22
Advertisement
AutoIT Problem(e) mit meinem Bot Script
Discussion on AutoIT Problem(e) mit meinem Bot Script within the AutoIt forum part of the Coders Den category.
09/10/2013, 00:17
|
#1
|
elite*gold: 0
Join Date: Sep 2010
Posts: 1,068
Received Thanks: 174
|
AutoIT Problem(e) mit meinem Bot Script
Howdy,
Ich fange an AutoIT mit learning by doing zu lernen. Da ich schon immer über einen Farmbot für ein MMORPG nachdenke und niemand sowas releast hat, will ich ihn selbst schreiben, da er auch recht simpel aufgebaut sein soll.
Dieser in Zukunft 1. Bot von mir, soll zuerst mit einem Mausklick zu einer Monster-Route laufen, diese Monster töten, deren Gegenstände einsammeln, sich hinsetzen und regenerieren und dann das ganze von vorn.
Problem hierbei, das ich einfach nicht weiß, wie ich eine Endlosschleife erstelle, die den oben beschriebenen Bot immer und immer wieder so ausführt, wie oben beschrieben. Mein hier gezeigtes (versuchtes) Script:
Code:
HotKeySet("{F1}", "starten")
HotKeySet("{F2}", "pause")
HotKeySet("{F3}", "quit")
While 1
Controlsend("Fenstername","","", "{space}")
Controlsend("Fenstername","","", "{x}")
sleep(100)
WEnd
Func starten()
While 1
MouseClick ( "left" , 1151, 153 , 1 )
Controlsend("Fenstername","","", "{space}")
Controlsend("Fenstername","","", "{x}")
// Die beiden Controlsend Funktionen müssen unbedingt einen sleep timer von 100 haben, damit sie wie ein Bot agieren, der ständig tötet (mit space) und ständig aufsammelt (mit x)
// Alle Monster zu töten dauert 1 Minute, dann soll sich der Bot hinsetzen und Constrolsend "w" schicken, um Snacks zu benutzen, danach wieder aufstehen, weitertöten, usw.
// Nur fehlen mir hier leider die Funktionen, wie ich das ganze aufbauen soll..
sleep(5000)
Controlsend("Fenstername","","","{w}")
sleep(1000)
Controlsend("Fenstername","","","{w}")
sleep(1000)
Controlsend("Fenstername","","","{w}")
sleep(1000)
Controlsend("Fenstername","","","{w}")
sleep(5000)
WEnd
Endfunc
Func pause()
While True
Sleep(10000)
WEnd
Endfunc
Func quit()
Exit
Endfunc
Ich hoffe ihr könnt mir helfen. Habe sehr vieles ausprobiert mit meinem schwachen Knowledge, ein Forum meinte auch ich solle mit der Funktion AdlibEnable arbeiten, allerdings pausiert diese mein gesamtes Script und der Bot funktioniert nicht mehr.
Mfg. Myrt
|
|
|
09/10/2013, 00:23
|
#2
|
elite*gold: 3653
Join Date: Aug 2008
Posts: 30,854
Received Thanks: 529
|
würdest du in der func starten alles was er tun soll in eine while 1 schleife setzen, würde er es wiederholen bis du exit oder pause machst. controllsend funktioniert aber bei den meisten spielen nicht, außerdem gibt es dein befehl send w down, dann hält er die taste gedrückt für eine bestimmte zeit. wenn du bots für 3d games schreiben willst, ist es zu empfehlen sich in zukunft mal alles mit memory reading und writing anzusehen. ansonsten viel erfolg bei deinem projekt
|
|
|
09/10/2013, 11:40
|
#3
|
elite*gold: 0
Join Date: Sep 2010
Posts: 1,068
Received Thanks: 174
|
Also an sich funktioniert der Bot schon.. Er läuft zu der Route (Der Mausklick ist nur dafür da, das er auf die Minimap klickt), tötet alle Monster nach und nach (Sind nah beieinander, deswegen geht das so gut mit den Controlsends), hebt alles auf was gedropt wird, aber leider setzt er sich nicht hin bzw. nimmt die Snacks nicht (mit Controlsend "w") und läuft die Route dann nicht weiter bzw. nicht wieder von vorn..
|
|
|
09/10/2013, 14:51
|
#4
|
elite*gold: 56
Join Date: Oct 2010
Posts: 3,409
Received Thanks: 1,219
|
Ich kenne mich zwar nicht mit AutoIt aus, aber du brauchst ein paar Grundfunktionen, die dein Bot tun sollte.
Code:
Funktion 1: Position
if charakter not in (koordinaten) -> hinlaufen
Funktion 2: Leben
if charakter(HP) < 20% -> sitzen, essen
Funktion 3: Angreifen
attack enemie in radius from charakter
while True:
check Leben
check Position
check Angreifen
Als erstes überprüft er seine "HP" und regeneriert sich ggf., dann geht er zur Ausgangsposition.
Dann greift er einen Gegner an und looted den drop.
Jetzt beginnt die Schleife von vorn und er schaut nach seinen Leben, geht in die Ausgangsposition zurück und greift den nächsten an.
Der Radius in dem er die Gegner angreift ist also immer vom Ausgangsort gesehen.
Vielleicht hilft dir das ja weiter.
|
|
|
09/10/2013, 18:39
|
#5
|
elite*gold: 900
Join Date: Apr 2009
Posts: 14,981
Received Thanks: 11,403
|
General Coding -> AutoIt
moved
|
|
|
09/13/2013, 01:06
|
#6
|
elite*gold: 3653
Join Date: Aug 2008
Posts: 30,854
Received Thanks: 529
|
Quote:
Originally Posted by MrDami123
Ich kenne mich zwar nicht mit AutoIt aus, aber du brauchst ein paar Grundfunktionen, die dein Bot tun sollte.
Code:
Funktion 1: Position
if charakter not in (koordinaten) -> hinlaufen
Funktion 2: Leben
if charakter(HP) < 20% -> sitzen, essen
Funktion 3: Angreifen
attack enemie in radius from charakter
while True:
check Leben
check Position
check Angreifen
Als erstes überprüft er seine "HP" und regeneriert sich ggf., dann geht er zur Ausgangsposition.
Dann greift er einen Gegner an und looted den drop.
Jetzt beginnt die Schleife von vorn und er schaut nach seinen Leben, geht in die Ausgangsposition zurück und greift den nächsten an.
Der Radius in dem er die Gegner angreift ist also immer vom Ausgangsort gesehen.
Vielleicht hilft dir das ja weiter.
|
da hast du allgemein recht, aber die sachen die du hier beschreibst gehören zu nem memory reading bot, der liest sich die speichereinträge von hp koords etc aus, was er hier schreibt ist ein bot der stur wieder und wieder die selben köpfe sendet. das liegt welten auseinander, auch wenn jeder so anfängt
|
|
|
09/13/2013, 11:48
|
#7
|
elite*gold: 0
Join Date: Sep 2010
Posts: 1,068
Received Thanks: 174
|
Hm, Thread kann geschlossen werden, arbeite nun mit Pixelsearch und es funktioniert viel besser!
Danke für die Antworten.
Mfg. Myrt
|
|
|
 |
Similar Threads
|
Problem mit meinem Script
06/17/2010 - AutoIt - 2 Replies
Hallo!
ICh habe vor ein kleines Script zu machen dass bei einem Tastendruck auf einen Buchstaben einen Buchstaben sendet aber halt einen andern das ist ja theoretisch ganz einfach zu realisieren:
HotKeySet("E","_Z")
Func _Z()
send("Z")
EndFunc
while 1
|
Kleines Problem mit meinem Script
02/05/2010 - General Coding - 3 Replies
Hallo,
Ich habe mir letzens ein kleines "Test-Script" gebastelt.
Funktion:
Durch anklicken drei verschiedener Checkboxen kann man zwischen "a", "b", und/oder "c" wählen. Nach dem Start werden dann die entsprechenden Buchstaben geschrieben, wie gewählt.
Hier das Script:
|
Kleines Problem mit meinem Script
02/03/2010 - AutoIt - 8 Replies
Kleines Problem mit meinem Script
Hallo,
Ich habe mir letzens ein kleines "Test-Script" gebastelt.
Funktion:
Durch anklicken drei verschiedener Checkboxen kann man zwischen "a", "b", und/oder "c" wählen. Nach dem Start werden dann die entsprechenden Buchstaben geschrieben, wie gewählt.
Hier das Script:
|
habe ein problem mit meinem script
09/18/2009 - AutoIt - 2 Replies
hallo :D
ich habe ein problem mit meinem script den es soll einen bereich nach einer farbe absuchen und sie dann via mouseclick anklicken und wenn er das getan hat soll er weiter suchen und wieder klicken bis diese pixel (items) alle angeklickt wurden aber das script reagiert garnicht wenn ein item gescannt wird und hier mal der code
HotKeySet ("{insert}","_start")
HotKeySet ("{esc}","_ende")
while 1
Sleep (2000)
WEnd
|
All times are GMT +1. The time now is 22:23.
|
|