AutoIT Bot Gedankengang richtig ?

01/04/2011 19:51 TurboGolom#1
Hi leuts 1 mal Sry für den wahrscheinlich unnötigen Post aber das muss für mich jetzt persönlich geklärt werden xD.
Also ich will/bin dabei nen Bot für ein Spiel zu schreiben und wollte jetzt den teil im Bot coden der sich mit dem Kampf beschäftigt. Jetzt hab ich die Hp-Leiste des Monsters und hab mir so ungefähr gedacht, dass ich ganz am anfang des Balkens einen PixelPointer reinbastel ( Farbe des Balkens ist rot) der die Farbe rot ausliest und guckt ob diese True ( Ja die Farbe ist rot) oder False ( Farbe ist nicht Rot) ist. Falls False kommt soll er Tab drücken und wieder checken ob der nächste Balken rot ist etc. Falls es True ist, soll er mit dem Kampf anfangen.
Jetzt hab ich ein bisschen schwierigkeiten und zwar soll er ca zum Ende des Hp-Balkens wieder einen Punkt auslesen der entweder bestätigt Mob ist tot oder Mob lebt noch setze Skill 1-2 nochmal ein. Dafür müsste ich ja ziemlich zum Ende des Hp-Balkens wieder nen Pointer setzen der wieder die Farbe rot ausliest. Bei True setze skill 1-2 nochmal ein und bei False, drücke die Aufsammelntaste oder ? Mit welcher Schleife sollte ich das am besten machen mit If und EndIf oder mit Do/ Until ???? Und würde das so im groben klappen und ist das genau genug damit der Bot keine Probleme hat ?

Desweiteren frage ich mich ob er rummeckern würde, wenn er zb mal kurzzeitig keine Hp-Leiste hat und er nen ganz andern Pixel hat ?

Sry für die blöde Frage aber hoffe ihr könnt mir helfen und evrsteht so ungefähr was ich sagen wollte xD.
01/04/2011 20:37 omer36#2
wenn du willst, versuch es über memory..ist genauer, und sicherer...

musst du bischen rumschauen, sind einige tut´s dazu hier..
NomadMemory.au3 brauchste dafür...
und bischen erfahrung mit cheat engine...


dann suchst du zb nach der adresse, die dir zeigt, ob du einen gegner anvisierst (zb 1) oder nicht (zb 0) ..
und/oder du könntest versuchen, die adresse für die HP deines gegners zu suchen...
und dann da einfach über if abfragen deine skills benutzen oder per tab weiter suchen...

ganz einfach gehalten würde es dann zb so aussehen:

aber mit pixelsearch gehts natürlich auch..

irgentwie so zb
[Only registered and activated users can see links. Click Here To Register...]
01/04/2011 21:38 TurboGolom#3
danke dir vielmals. ich werd mich mal ein bisschen in richtung memory umschauen und gucken obs klappt. und danke für das script wird mir sicher helfen xD
Edit: Ich glaub ich wage mich erstmal an Pixelsearch etc ran xD. Aber wie meinste das mit memory ist genauer und sicherer ?
könnte ich den bot auch im Hintergrund laufen lassen falls er eine Pixelsearch funktion benutzt?
01/06/2011 02:38 Stupid_Bitsh#4
Ganz ganz simpel ! Undzwar machst du FOLGENDES :
Du wartest ab wie lange es etwa dauert bis er die Leiste voll geladen hat bzw. bis dahin wo du möchtest ! (Zähle die sekunden)
Dann gehst du UNTER den teil , der das erfasst das es wieder rot ist und dan setzt du da meinet wegen einen Sleep ein von Sleep(12000) ! und dan den teil das er fighten soll !

AutoIt v3 (Script und Koda mit inbezogen) ist ein Programm das wie einen Brief nur in Computer sprache liest ;) Mit freundlichen Grüße : Lenamarie (loli) aus Köln xD (Mail mir ma per skype wende net weiter kommst ! Skypename : L3namarie)

______________

Hier bin ich xD
[Only registered and activated users can see links. Click Here To Register...]
01/06/2011 02:39 Stupid_Bitsh#5
xDDDDDDDDDDDD
01/06/2011 08:50 omer36#6
Quote:
Originally Posted by Stupid_Bitsh View Post
Ganz ganz simpel ! Undzwar machst du FOLGENDES :
Du wartest ab wie lange es etwa dauert bis er die Leiste voll geladen hat bzw. bis dahin wo du möchtest ! (Zähle die sekunden)
Dann gehst du UNTER den teil , der das erfasst das es wieder rot ist und dan setzt du da meinet wegen einen Sleep ein von Sleep(12000) ! und dan den teil das er fighten soll !

AutoIt v3 (Script und Koda mit inbezogen) ist ein Programm das wie einen Brief nur in Computer sprache liest ;) Mit freundlichen Grüße : Lenamarie (loli) aus Köln xD (Mail mir ma per skype wende net weiter kommst ! Skypename : L3namarie)
einfach klappe halten :facepalm:


Quote:
Originally Posted by TurboGolom View Post
Edit: Ich glaub ich wage mich erstmal an Pixelsearch etc ran xD. Aber wie meinste das mit memory ist genauer und sicherer ?
könnte ich den bot auch im Hintergrund laufen lassen falls er eine Pixelsearch funktion benutzt?
pixelsearch sucht nach dem, was du siehst...also nix mit hidden, über memory schon, (siehe beim bsp code ala ControlSend...)
genauer/sicherer im bezug auf die "treffsicherheit", da weiß er immer genau wann gegner gefunden ist/tot ist...
pixelsearch ist halt so ne sache... ^^
01/06/2011 09:15 | Moep |#7
Eigentlich brauchst du garnicht wissen wieviel hp dein gegner hat. Der Wert ist oftmals schwer zu finden. Such die memory für deine mp und hp raus. Dann suchst noch die für deine character motion raus. Ist im Grunde ne memory die wiederspiegelt welche bewegeung dein char gerade macht.
So könnte die mem z.B. folgende Werte haben:
- stehen = 0
- laufen = 1
- springen = 8
- kämpfen = 4
- schwimmen = 2
etc...

so jetzt folgender pseudocode:

Code:
while 1
	if $motion = 0 then
		send(tab)
		if $motion = 4 then
			do
			send(1)
			sleep(1000)
			send(2)
			until $motion = 0
		endif
	endif
wend
Und dazwischen baust dann noch nen hp und mp check ein um nicht zu sterben bzw. out of mana zu sein.
01/06/2011 18:21 TurboGolom#8
k Danke schonmal für die vielen Antworten xD
Hat vllt jemand ein Memory Tut (egal ob englisch oder deutsch) für online games ?
Und wie soll ich meine Hp, Mp auslesen wenn sich der Wert ständig ändert ? Bei anhaltenden Hp ( also hab zb 1000 hp und nach 2 min immernoch 1000) ist mir das klar wie das geht nur bei solchen Anzeigen die sich alle 5 sek verändern etc ist mir das nicht ganz bewusst.
Mal dazu gesagt ich habe für das Game jetzt bei Cheat Engine 2 .exe möglichkeiten einfach bei beiden mal das mit dem auslesen versuchen ja oder ?
01/07/2011 10:42 | Moep |#9
Quote:
Originally Posted by TurboGolom View Post
k Danke schonmal für die vielen Antworten xD
Hat vllt jemand ein Memory Tut (egal ob englisch oder deutsch) für online games ?
Und wie soll ich meine Hp, Mp auslesen wenn sich der Wert ständig ändert ? Bei anhaltenden Hp ( also hab zb 1000 hp und nach 2 min immernoch 1000) ist mir das klar wie das geht nur bei solchen Anzeigen die sich alle 5 sek verändern etc ist mir das nicht ganz bewusst.
Mal dazu gesagt ich habe für das Game jetzt bei Cheat Engine 2 .exe möglichkeiten einfach bei beiden mal das mit dem auslesen versuchen ja oder ?
Einfach mal hier umschauen, es gibt genug Tutorials zu dem Thema auf e*pvp.

Dann suchst du nach der 1000 und meinetwegen nach der 0 wenn du tot bist. Oder du legst verschiedene Waffen/ Rüstungen an, damit verändert sich meist auch deine HP/MP Dann sollten die werte irgendwann so wenig sein dass du auch innerhalb von 5 secs einen wert dazwischen findest. Bei manchen Spielen ist es jedoch anders, zb GW. Da liegt die HP als float im Arbeitspeicher. Dass heißt, wenn du 100% deiner HP hast steht im Arbeitspeicher eine 1,0 bei 50% ist es eine 0,5 usw.

Probier einfach beide aus. Meist ist es die letze in der Liste.

THX nicht vergessen ;)
01/07/2011 18:34 TurboGolom#10
k habs mal getestet nach ne Tut und ich habe jetzt trotzdem 11 Werte die alle die gleiche Value haben
Vorgehensweise
Meine MaxHp sind 3496 die gebe ich in Cheat Engine ein und klicke auf Scan. Danach nehm ich ein Item raus welches mir Hp gibt. Dann habe ich 3141 Hp die ich wieder in CE eingebe und auf next Scan klicke. Dann leg ich das Item wieder an und die Suche mach ich so lange bis keine Anzahl an Werten sich verändert ( in dem Falle 11 Ergebnisse)
Woher weiß ich jetzt welche dieser 11 Ergebnisse das ist welches ich brauche ? btw. Die Values von allen 11 Ergebnissen lassen sich nicht ändern, sie springen immer wieder auf 3496 zurück
01/07/2011 19:25 puzzlr#11
Quote:
Originally Posted by TurboGolom View Post
k habs mal getestet nach ne Tut und ich habe jetzt trotzdem 11 Werte die alle die gleiche Value haben
Vorgehensweise
Meine MaxHp sind 3496 die gebe ich in Cheat Engine ein und klicke auf Scan. Danach nehm ich ein Item raus welches mir Hp gibt. Dann habe ich 3141 Hp die ich wieder in CE eingebe und auf next Scan klicke. Dann leg ich das Item wieder an und die Suche mach ich so lange bis keine Anzahl an Werten sich verändert ( in dem Falle 11 Ergebnisse)
Woher weiß ich jetzt welche dieser 11 Ergebnisse das ist welches ich brauche ? btw. Die Values von allen 11 Ergebnissen lassen sich nicht ändern, sie springen immer wieder auf 3496 zurück
wieso willst du die values denn ändern?

versuch mal, deine hp anderweitig zu senken(um das value rauszukriegen), dh. wenn du das item ablegst und dann wieder anlegst, lass dir von einem mob hp abziehen und scan dann.
01/07/2011 19:40 | Moep |#12
Quote:
Originally Posted by TurboGolom View Post
k habs mal getestet nach ne Tut und ich habe jetzt trotzdem 11 Werte die alle die gleiche Value haben
Vorgehensweise
Meine MaxHp sind 3496 die gebe ich in Cheat Engine ein und klicke auf Scan. Danach nehm ich ein Item raus welches mir Hp gibt. Dann habe ich 3141 Hp die ich wieder in CE eingebe und auf next Scan klicke. Dann leg ich das Item wieder an und die Suche mach ich so lange bis keine Anzahl an Werten sich verändert ( in dem Falle 11 Ergebnisse)
Woher weiß ich jetzt welche dieser 11 Ergebnisse das ist welches ich brauche ? btw. Die Values von allen 11 Ergebnissen lassen sich nicht ändern, sie springen immer wieder auf 3496 zurück
Ist ein grüner Wert dabei, dann nimm den, der ändert sich für gewöhnlich nicht nach einem Neustart, is quase die Base. Ansonsten wechsel mal den Char, geh in ein anderes Gebiet, Map, Distrik, log dich aus und wieder ein. What else.
Wichtig ist das der Wert immer mit den von deiner hp übereinstimmt. Wenn mehrere passen dann ists Schnuppe mit welchen du arbeitest.
Wenn keiner von den werten alle anforderungen hat, dann musst du die pointer finden um zu deiner Base zu kommen.
01/07/2011 20:18 TurboGolom#13
@u_failed Das geht ja nicht da sich ja alle 2 sek oder so der Wert ändert von daher bräuchte ich feste Werte die ich Scannen kann. wollte die Values ändern da ich mir dachte das die geänderte Value mir dann als Hp angezeigt wird im Spiel ( nur angezeigt)

kk ich guck mal aber danke euch schonmal
01/07/2011 20:26 Jonas_93#14
Vielleicht sagst du uns mal das spiel dann können wir dir die Values einfach hier rien posten, oder mal gezielt zeigen wie das geht :D
01/08/2011 00:59 TurboGolom#15
Forsaken World heißt das Game xD