CO2 Memory Addresses and Examples

12/11/2006 00:04 blinko#46
Quote:
Originally posted by Christoph_@Dec 5 2006, 17:57
For Archers ;)

0051970C (4 Byte), Number of Speedarrowpacks in Inventory.
01540620 (4 Byte), Number of equipped Arrows.

I think both are static. Someone test them and see if they work for him.
i've tested them both, they both return a value of 0, however at address 004FE7DD
using an array of bytes (13) i've seen changes everytime i scatter. so i'm thinking that might be the arrow count address.
12/11/2006 00:55 Christoph_#47
Ah ok, then there must be a pointer. Strange, it used to work for me. After the patch I look for the real ones.

I have been busy with other mem functions (those that hold either data of objects on screen and/or deal with rendering them on screen).
12/11/2006 02:24 blinko#48
i know nothin of pointers and what not lol hence the reason i can't read the characters hp.

I've tried to use a example
hpa = ReadProcessMemory phandle,byval '&Haddress here', 4,lenB(retval),0%

then
ReadProcessMemory phandle,byval hpa + 24,retval,0%

and adding a address + some more didn't work for me =\
12/11/2006 13:57 Christoph_#49
Pointers are nothing but addresses that store the actual address.

So you need:
1) Read Value of the pointer (which is eg 0xAA22DD).
2) Goto the address AA22DD, read it's value.

Those things with pointer + X are usually parts of structures (think of a small database in memory, first offsets are name; +10 offsets is hp, +20 offsets is mana etc..).
Sometimes the pointer just points at the Name and all other data is just retrieved with something like pointer+10.

Pointers are simple; they are just locations that store a address where the code finds some data or other pointers.
12/14/2006 04:55 DM2000#50
#un-pinned
#close - new memory address after 4331.