
Originally Posted by
mrhi01
I need help with like how to write it i have multiple pointers and i only know how to use one offset not multiple ones
so like WriteDMAFloat("Process", &HAddress, Offset:={&Hoffset}, Value:=textbox1.text, Level:=1, nsize:=4)
"i only know how to use one offset not multiple ones"
plz give an example of what you think the code should look like? I'm not sure what you mean exactly.
Using multiple offsets is exactly the same as using a single offset.
I'm picturing
Code:
Dim addr1 As Int32 = Memory.ReadInt(0xbaseaddress) + offset1 '' <--offset is optional! DEPENDS ON YOUR CASE.
Dim addr2 As Int32 = Memory.ReadInt(addr1) + offset2 '' <--offset optional. may also be inside the ( )'s ...
Dim finalAddress As Int32 = Memory.ReadInt(addr2)
'' we followed a pointerlist 3 times (levels).
----------------
ex:
address1 : 246AAB0
Offset1 : 24
Adress2 : 210017A0
Offset2 : 228
Address3 : 23C557A8
Offset3 : D4
Address4 : 1024803C
Offset4 : 5BC
Address5 : 10101010
Offset5 : 2BC
Do you mean you have 5 separate values you're trying to find (health,speed,etc), or is this a pointer list?
your example:
[246AAB0]+24 points to 0x210017A0
[210017A0]+228 points to 0x23C557A8
[23C557A8]+D4 points to 0x1024803C
[1024803C]+5BC points to 0x10101010
[10101010]+2BC == final address
[ ] can be read as .. "the value of the pointer", ie. read 4 bytes and pretend the result (a 4 byte number) is a valid memory address.
(4 bytes = 32 bit, 8 if you're on 64...)
Dereference a pointer (ie. read 4 bytes from some address)
Add an offset (ie. make the number a little higher...it wasn't the exact address we needed, just close)
Loop As Needed
Sry, apparently this is one of the hardest things ever to explain to people, hope it's helping a little.