Bsp :
01FA7778 2Bytes 400
01FA7778 4bytes 400
01FA7778 8Bytes 400
genau so steht es in cheat engine , der wert der angezeigt wird ist richtig , jedoch wenn ich alles in ein Autoit skript einbaue , wird mir immer eine ca 10-20 stellige Zahl angezeigt .
ich denke , dass es an dem variablentyp liegt , ich wüsste aber nicht welcher Typ der richtige ist .
Alle types , die ich kenne :
1. none: kein Wert (nur gültig für den Rückgabewert (äquivalent zu "void" in C)
2. byte: ein 8-Bit-Integer Bei CE= Byte
3. ubyte: ein unsigned 8-Bit-Integer
4. short: ein 16-Bit-Integer Bei CE=2Byte
5. ushort: ein unsigned 16-Bit-Integer
6. dword: ein 32-Bit-Integer Bei CE=4Byte
7. udword: ein unsigned 32-Bit-Integer
8. int: ein 32-Bit-Integer Bei CE=4Byte
9. uint: ein unsigned 32-Bit-Integer
10. long: ein 32-Bit-Integer Bei CE=4Byte
11. short_ptr: ein Pointer auf einen 16-Bit-Integer
12. int_ptr: ein Pointer auf einen 32-Bit-Integer
13. long_ptr: ein Pointer auf einen 32-Bit-Integer
14. str: ein String (Nicht mehr Zeichen als 65536) Bei CE=Text
15. wstr: ein "Wide Character"-String (wird während des Aufrufes von/in einen ANSI-String umgewandelt) (Nicht mehr Zeichen als 65536)
16. hwnd: ein Fensterhandle
17. ptr: ein allgemeiner Pointer (void *)
18. float: eine einfache genaue 32-bit-Gleitkommazahl "floating point number" Bei CE=Float
19. double: ein 64-Bit-Gleitkommazahl Bei CE=Double
kann mir bitte jemand helfen ?
Code:
$Process = WinGetProcess("NosTale") $MemOpen = _MemoryOpen ($Process) sleep(22) $haddresse = 0x020730EC ;leben $pointer = "0x" & Hex($haddresse + 0x00000060) $life = _MemoryRead ($pointer,$MemOpen,'uint') MsgBox(0,"hi",$life) sleep(22) $haddresse2 = 0x020730F0 ;mana $pointer2 = "0x" & Hex($haddresse2 + 0x0000004C) $mage = _MemoryRead ($pointer2,$MemOpen) MsgBox(0,"hi",$mage) sleep(22)
P.S. Ich beutze NomadMemory.au3