|
You last visited: Today at 18:44
Advertisement
Woher weiß ein bot wo er gerade ist?
Discussion on Woher weiß ein bot wo er gerade ist? within the AutoIt forum part of the Coders Den category.
05/12/2010, 12:59
|
#1
|
elite*gold: 35
Join Date: May 2008
Posts: 476
Received Thanks: 35
|
Woher weiß ein bot wo er gerade ist?
Hallo,
ich hab mich bisschen mit autoit angefreundet und kann auch schon einige nützliche bots schreiben... jedoch gibt es ja auch soclhe bots welche z.b. ehre farmen. da frag ich mich, woher weiß ein bot wo er gerade ist, und woher weiß er, wo er laufen kann, ohne iwo gegen zu rennen?
mfg
|
|
|
05/12/2010, 14:14
|
#2
|
elite*gold: 1
Join Date: Feb 2009
Posts: 1,726
Received Thanks: 729
|
Entweder der Laufweg ist fest einprogrammiert (Makro Mäßig) oder er ließt seine Postion über den Arbeitsspeicher aus.
|
|
|
05/12/2010, 14:29
|
#3
|
elite*gold: 116
Join Date: Oct 2007
Posts: 677
Received Thanks: 248
|
Man könnte auch mit pixelsearch und so arbeiten.
So könnte man z.B. erkennen ob man stuckt.
Oder man hat eine Minimap auf und guck mit pixelsearch wo du dich auf der karte befindest.
Wäre aber die wohl aufwändigste Methode.
Aus dem Memory auslesen ist für soetwas die einfachste Methode mit AutoIT.
|
|
|
05/12/2010, 16:48
|
#4
|
elite*gold: 0
Join Date: Apr 2008
Posts: 1,079
Received Thanks: 438
|
Vergiss dass mit den Pixeln, viel zu aufwändig und fehler anfällig.
Such dir die x/y coordinaten mit cheat engine heraus. Mit ein bisschen Mathe Kenntnissen kannst du dir dann in jeden Game eine Moveto Basteln.
|
|
|
05/12/2010, 16:57
|
#5
|
elite*gold: 20
Join Date: Dec 2009
Posts: 1,850
Received Thanks: 484
|
Mit Packetsniffen müsste das auch gehn.
|
|
|
05/12/2010, 19:22
|
#6
|
elite*gold: 35
Join Date: May 2008
Posts: 476
Received Thanks: 35
|
also mit cheatengine kann man den arbeitsspeicher auslesen?... und wie genau geht das bzw brauche ich nur cheatengine dafür? gibts ne aktuelle version davon iwo?
mfg
|
|
|
05/12/2010, 19:34
|
#7
|
elite*gold: 0
Join Date: Dec 2008
Posts: 45
Received Thanks: 3
|
hier die neuste Version
bei YouTube findest du gute Videos dazu
|
|
|
05/12/2010, 19:34
|
#8
|
elite*gold: 0
Join Date: Apr 2008
Posts: 1,079
Received Thanks: 438
|
|
|
|
05/12/2010, 19:35
|
#9
|
elite*gold: 20
Join Date: Dec 2009
Posts: 1,850
Received Thanks: 484
|
Du müsstest mim Cheatengine an die Adresse rankommen, in der deine Positionen gespeichert sind.
Wenn es ne statische Adresse ist, hast du Glück, dann musst du nur den Wert
per MemoryRead auslesen und wüsstest, wo du bist. Wenn es ne dynamische Adresse
ist, muss du erstmal den Pointer finden und dann über den Pointer in deinem Programm
die Adresse kriegen, um dann wieder den Wert (deine Position) mit MemoryRead auszulesen.
|
|
|
05/13/2010, 12:40
|
#10
|
elite*gold: 35
Join Date: May 2008
Posts: 476
Received Thanks: 35
|
...
|
|
|
05/13/2010, 12:47
|
#11
|
elite*gold: 20
Join Date: Dec 2009
Posts: 1,850
Received Thanks: 484
|
Les dir einfach mal ein paar CE Tuts durch und dann mach dich ans Scannen^^
|
|
|
05/13/2010, 22:43
|
#12
|
elite*gold: 35
Join Date: May 2008
Posts: 476
Received Thanks: 35
|
kannst du mirn bestimmtes empfehlen, vllt. das womit du es auch gelernt hast?
btw wie kann ich ce dnan mit autoit verbinden?
mfg
|
|
|
05/13/2010, 23:37
|
#13
|
elite*gold: 20
Join Date: Dec 2009
Posts: 1,850
Received Thanks: 484
|
Ich habs ohne Tut gelernt 
Aber ein paar Posts vor mir hat dir jemand schon ein Tutorial aufgelistet^^
Und Cheatengine und deinen Trainer musst du garnicht verbinden, du benutzt
in deinem Trainer nur die Values & Adressen, die du mithilfe von CE herausgefunden hast^^
|
|
|
05/14/2010, 12:27
|
#14
|
elite*gold: 240
Join Date: Dec 2006
Posts: 1,579
Received Thanks: 1,609
|
Aus dem Arbeitsspeicher die Positionen herauslesen, funktioniert zB so:
Code:
//-----------------------------------------------------------------------------
QVector3D uUnits::unitPosition(unsigned int aUnit)
{
float x,y,z;
DWORD bytesRead;
x = 0; y = 0; z = 0;
ReadProcessMemory(handle(), ((void*)(aUnit + Offsets::UnitX)), &x, sizeof(float), &bytesRead);
ReadProcessMemory(handle(), ((void*)(aUnit + Offsets::UnitY)), &y, sizeof(float), &bytesRead);
ReadProcessMemory(handle(), ((void*)(aUnit + Offsets::UnitZ)), &z, sizeof(float), &bytesRead);
return QVector3D(x,y,z);
}
Du musst nur das prinzip von "ReadProcessMemory" verstehen, dafür gibt es auch genug AutoIT portierungen, die auch leichter sind. ;-)
Du brauchst allerdings die Offsets, die du mit CheatEngine ermitteln könntest, wie einige Vorposter bereits erwähnt haben.
|
|
|
05/14/2010, 14:18
|
#15
|
elite*gold: 0
Join Date: Sep 2008
Posts: 9,484
Received Thanks: 3,109
|
Quote:
Originally Posted by Dtex
...
|
Spam
#Reported
Zum Topic:
Es gibt immer so genannte " Speicheradressen " in diesen sind deine X und Y Koordinaten gespeichert..
Daher weis dein Bot, wo du gerade bist.
|
|
|
Similar Threads
|
Server gerade off??
08/10/2010 - Metin2 - 4 Replies
-.-
|
ist jsp gerade down
02/21/2010 - Diablo 2 - 8 Replies
kann mal jemanden versuchen auf jsp.org zu kommen?
ich komm schon seit 15min nicht mehr drauf..
|
Woher..?!
10/07/2009 - Metin2 Private Server - 4 Replies
Kurz und Knapp..
Woher kommen die ganzen Metin2 Values?! Wer hat diese erstellt & wie. Ich frage mich seit paar Tagen schon wie man auf soetwas kommt Values.. Im Prinzip konnte man sich eine eigene Value aussuchen..
?!.. Wenn ihr wisst was ich mein, bitte postet nicht "von Metin2".. Das ist mir im Prinzip schon klar das diese von Gameforce sprich Metin2 kommen, jedoch wie/woher/wieso? :D
|
Woher Hmk ssp?
05/23/2009 - Metin2 Private Server - 18 Replies
Hi leute hab gestern jemanden mit einer Hmk und nenn spp gesehen.
Da wohl niemand(außer ein GM) den Sensi legt wollte ich fragen ob jemand weiß woher man die bekommt?(Außer den tausi killn :<)
|
All times are GMT +1. The time now is 18:46.
|
|