Diskussionen über Memorys

04/13/2009 04:55 kknb#541
joa son error hatte ich heute schon unzählige male.
ich verstehe den sinn von dem array da nicht.
heilen tut der auch net, nach ner minute kommt der error.

noch ne frage zu deinem script, du rechnest ja $MAXHP_HERO*100, denn ham deine helden und dein charakter ja nur 100 hp wenn sie volle lebenspunkte haben, oder seh ich da jetzt was falsch?#
für die playerhp kannste ja zum auslesen $3_OwnHealthMAX nehmen. ansonsten hats mich heute auch schon gewundert warum mein gw bei normalen memwrites des öfteren abgekackt ist.

ich bin mir ziemlich sicher das das vor einer weile noch nicht so war, hab ja schon paarmal in bot schilder usw anwählen lassen, da lief alles problemlos.
04/13/2009 05:09 buFFy!#542
@USB & Term!nx, wäre es möglich diesen Thread hier umzubennen in iwas wie 'Memory Diskussionen'
oder so? Wäre sicher interessant, zumal man ja mit Memories verdammt viel machen kann :)
04/13/2009 11:46 USB Schnittstelle#543
Quote:
Originally Posted by eF_Hacks View Post
@USB & Term!nx, wäre es möglich diesen Thread hier umzubennen in iwas wie 'Memory Diskussionen'
oder so? Wäre sicher interessant, zumal man ja mit Memories verdammt viel machen kann :)

Da müsstet ihr bzw. ich erstmal fragen ob wadim damit einverstanden ist ;)
04/13/2009 11:49 buFFy!#544
Bestimmt, gibt doch schon einen neuen AutoUpdater Thread in dem er darum gebeten hat den Sticky zu machen und den hier zu deleten.
04/13/2009 14:04 __wadim#545
könnt gerne umbenennen
04/13/2009 23:06 buFFy!#546
[Only registered and activated users can see links. Click Here To Register...]

Auf keinen Fall Klosteraussichtspunkt antraveln, unter Umständen kommt ihr nichtmehr raus.
Ich wäre nicht rausgekommen wenn ich die Addresse nicht auf Zufallsarenen (188) geschrieben hätte und dann GW-Restart gemacht hätte.

Wenn man die Addresse nicht umschreibt bekommt man permanent einen Error, welcher oben auf dem Bild zu sehen ist.

Edit:

Quote:
noch ne frage zu deinem script, du rechnest ja $MAXHP_HERO*100, denn ham deine helden und dein charakter ja nur 100 hp wenn sie volle lebenspunkte haben, oder seh ich da jetzt was falsch?#
für die playerhp kannste ja zum auslesen $3_OwnHealthMAX nehmen. ansonsten hats mich heute auch schon gewundert warum mein gw bei normalen memwrites des öfteren abgekackt ist.
HP * 100 Da HP 1 zurückgibt.. wenn HP < 25 ;- 1/4.. eigentlich nur weils sich leichter rechnen lässt als mit iwelchen dezimalzahlen.
04/13/2009 23:44 __wadim#547
client neustarten und code 223 ist weg :)
04/14/2009 00:02 | Moep |#548
Müsste der Tread mit den neuen Namen jetzt nicht eigentlich in den Sticky Bereich der [Only registered and activated users can see links. Click Here To Register...] Sektion kommen?!

Mir eigentlich Schnitte.. aber wenn dann schon richtig oder nicht! ;)
04/14/2009 00:10 buFFy!#549
@Wadim, ich hab jetz ca. ne Stunde gesucht.. zum namen vom SelectObj. hab ich keinen Basepointer gefunden, bei 7 Pointern bin ich nichtmehr weitergekommen
04/14/2009 00:34 Gabba2#550
Eventuell kann es ja wer brauchen: PosX = 0xa055B8 PosY = PosX+4. Die 2 Adressen geben die Position der Karte unter den Füßen des Characters wieder. Im Grunde also die ganz Normalen X/Y Positions-Werte. Wenn man Sie jedoch freezt (mit AutoIT! Cheat Engine hat zu große Pausen zwischen den einzelnen Writes) geht man nicht zur angeklickten Stelle, sondern zur gefreezten Stelle (je nachdem wie weit der Klick vom „Ideal“ abweicht, weicht die Bewegung zum Ziel auch ab). Das Ganze geht um kleinere Ecken und auf mittlere Distanz auch um mittelgroße Hindernisse. Auch Helden lassen sich damit flaggen.
Probleme stellt jedoch der "Aufruf" dar. Der Wert muss während des Klicks halt gefreezt sein schreibt man den Wert jedoch zu schnell und zu lang (Schleife mit sleep(0) über X-XX Sekunden) um semmelt GW ab schreibt man ihn zu langsam um geht der Klick nicht dahin, wo man will. Für den Freeze braucht AutoIT auch recht viel CPU-Leistung. Bei einem PC, der allein durch X GWs zu 100% ausgelastet ist, wird der Wert nicht schnell genug überschrieben werden können. Somit denke ich nur für eine geringe Anzahl an Nutzern wirklich sinnvoll.

Ich habs grade nochmal getestet (hatte die Adressen das letzte mal vor bestimmt 2 Monaten "benutzt") und bei mir gings mit einem Sleep(10) gut. Alle Klicks kamen an die entsprechende Stelle und die CPU Auslastung blieb niedrig (ohne Sleep geht die CPU Auslastung auf das Maximum des Kernes auf dem das Prog halt läuft und Sleep(10) scheint der niedrigste Sleep zu sein den AutoIT ausführt)

Damit man möglichst genau an Stelle X kommt einfach die Kamera genau auf den Char gucken lassen (mit Course umschreiben), rauszoomen und dann halt in die GW Window Mitte klicken.

Falls es wer testen will, einfach die X und Y Werte ändern und unter den Char klicken.

Code:
#include <NomadMemory.au3>
opt("WinTitleMatchMode",3)

$name = "Guild Wars"
$PID  = WinGetProcess($name) 
$hprocess  = _MemoryOpen($PID)

$PosX_move_to = 0xa055B8
$PosY_move_to = $PosX_move_to+4

$moveto_X = 1629
$moveto_Y = 11521

for $i = 1 to 600
	_MemoryWrite ($PosX_move_to, $hprocess, $moveto_X, "float")
	_MemoryWrite ($PosY_move_to, $hprocess, $moveto_Y, "float")
	sleep(10)
next
04/14/2009 00:57 Jacob_G#551
NOP sollte doch gehen?
04/14/2009 01:13 Gabba2#552
Quote:
Originally Posted by xninja View Post
NOP sollte doch gehen?
NOP? No Operation Performed oder wat?
04/14/2009 01:17 Jacob_G#553
Ja :D. Damit hast du den 100% freez ohne CPU Probleme.
04/14/2009 01:20 Gabba2#554
Ich schätz mal GW semmelt ab wenn es den Wert nicht mehr selbst umschreiben kann, oder? Und die andere Frage: Wie mach ich das mit AutoIT?
04/14/2009 01:24 __wadim#555
memorywrite 0x90 :)