Autoit MemoryRead mit Offsets

10/10/2010 20:16 Dani1406#1
Hi Elitepvper!

Ich habe ein Problem mit meinem Kilroy bot und anderen (Autoit).
Ich habe schon alles versucht um die aktuelle Energie meines Charakters heraus zu finden, jedoch versteh ich das mit den Offsets nicht.
Ich hoffe ihr könnt mir ein Beispielscript schreiben.
Hier die aktuellen Memoryadressen:

PTR_HP_E = 0xd40410

;Hp E Offsets:
Offset1 = 0x104
Current_HP = 0x28
Current_E = 0x18
Max_HP = 0x2c
Max_Energie = 0x18

Würde mich über Hilfe freuen.

MfG Daniel!
10/10/2010 22:36 i4mSoH34Vy#2
$PID = WinGetProcess("Guild Wars")
Global $hprocess = _MemoryOpen($PID)
$energie= _memoryread(0xd40410,$hprocess)
$e2 = _memoryread($energie+0x104,$hprocess)
$e3 = _memoryread($e2 +0x18,$hprocess,'float')
$e4 = $e3
MsgBox(0,"Energie",$e4)

Der eine Offset ist aber falsch.

Current_E ist = 0x14 und nicht 0x18
10/10/2010 23:24 Dani1406#3
Danke sehr :P
Werde es gleich testen :)
10/10/2010 23:29 Dani1406#4
Danke sehr :P
Werde es gleich testen :)

Edit:
Das Ergebnis ist immer 1. Ich habe jedoch 35 :S

Code:
#include <nomadmemory.au3>
$PID = WinGetProcess("Guild Wars")
Global $hprocess = _MemoryOpen($PID)
$energie= _memoryread(0xd40410,$hprocess)
$e2 = _memoryread($energie+0x104,$hprocess)
$e3 = _memoryread($e2 +0x14,$hprocess,'float')
$e4 = $e3
MsgBox(0,"Energie",$e4)

Edit2:
Es funktioniert doch :P
Nur in Aussenposten taucht der Wert 1 auf ^^
10/11/2010 19:34 i4mSoH34Vy#5
1 ist = 100%
Der Wert wird in Prozenten angegeben.
10/12/2010 22:52 Dani1406#6
Quote:
Originally Posted by j199207 View Post
1 ist = 100%
Der Wert wird in Prozenten angegeben.
Erstmal danke für deine Hilfe :)
Nun mein nächstes Problem:
Leider stimmt der Offset für CurrentHP und CurrentMP.
Der CurrentMP offset zeigt nur wieviel Energie ich maximal habe und nicht den derzeitigen Stand meiner Energie.
Und der CurrentHPoffset ... Naja siehe Bild:

[Only registered and activated users can see links. Click Here To Register...]

Hoffe du kannst mir helfen.

MfG Daniel
10/13/2010 09:38 buFFy!#7
Quote:
Originally Posted by Dani1406 View Post
Erstmal danke für deine Hilfe :)
Nun mein nächstes Problem:
Leider stimmt der Offset für CurrentHP und CurrentMP.
Der CurrentMP offset zeigt nur wieviel Energie ich maximal habe und nicht den derzeitigen Stand meiner Energie.
Und der CurrentHPoffset ... Naja siehe Bild:

[Only registered and activated users can see links. Click Here To Register...]

Hoffe du kannst mir helfen.

MfG Daniel
_memoryread($mh2 + 0x28, $hProcess, 'float')

#moved
10/13/2010 12:29 Dani1406#8
Danke :P
Jetzt funktioniert wenigstens die HP anzeige :)
Aber leider funktioniert CurrentEnegie immer noch nicht ;(
[Only registered and activated users can see links. Click Here To Register...]

Edit:
Hat keiner eine Idee? :-/

Daniel
10/14/2010 12:59 Dani1406#9
ich brauche die Energielesefunktion dringend für mein Kirloy bot...
Wenn man bei Kilroy getötet wird, zählt das nicht als dead und kann deswegen die Deadmem nicht benutzen...
Weiß niemand wie das mit der Energie geht?
10/14/2010 16:23 ddl#10
Code:
$temp = _MemoryRead($PTR_HP_E,$hprocess)
$temp = _MemoryRead($temp+0x104,$hprocess)
$temp2 = _MemoryRead($temp+0x18,$hprocess)
$temp = _MemoryRead($temp+0x14,$hprocess,"float")
$temp2 = MAX_EP
$temp = Current_EP

MAX_EP*CurrentEP = Integer Current EP = Win!

Funktioniert wunderbar in Gebieten...
10/14/2010 18:05 Dani1406#11
danke ich werde es gleich versuchen ^^

Edit: Mensch war ich doof -.-
Ich habe schon wieder Current EP und Max EP vertauscht x)
Naja nun funktioniert es ^^ Thread pls closen.

Ahja das mit den Offsets könnte in irgendeinem Tut erklärt werden.
Dafür würde es viel thx geben ^^

MfG Daniel
10/14/2010 19:55 buFFy!#12
who carez 'bout thx?

#closed