Ah, sorry.. I didn't mean what I said there about that not being MY guid.
I get my GUID via the following:
Code:
uint g_clientConnection = (uint)Globals.memoryManager.ReadInt(0x1139F80);
uint s_curMgr = (uint)Globals.memoryManager.ReadInt((uint)g_clientConnection + 0x2C34);
// Pending your advice, I'm using s_curMgr + 0xC0
Globals.guid = (long)Globals.memoryManager.ReadLong((uint)s_curMgr + 0xC0);
But the Globals.guid I get there still doesn't look right at all.. It doesn't match my in-game one
...
That's my first issue, but then I begin an object loop, as so:
Code:
uint curObj = (uint)Globals.memoryManager.ReadInt((uint)s_curMgr + 0xAC);
uint nextObj = 0;
while (curObj != 0 && (curObj & 1) == 0)
{
// Current object GUID
UInt64 currentGUID = (ulong)Globals.memoryManager.ReadLong(curObj + 0x30);
// Info sector for this base, with HP etc..
int arrayAt8 = Globals.memoryManager.ReadInt(curObj + 0x08);
I then attempt to extract the object name like so:
Code:
uint namePtr = (uint)Globals.memoryManager.ReadInt(curObj + 0x1F4);
namePtr = (uint)Globals.memoryManager.ReadInt(namePtr + 0x078);
string oName = Globals.memoryManager.ReadString(namePtr);
Then I print it all out:
Code:
Console.WriteLine("name: " + oName);
// Float from arrayAt8 + 0x40
Console.WriteLine("Xpos: " + Globals.memoryManager.ReadFloat((uint)arrayAt8 + 0x40));
// Float from arrayAt8 + 0x7D4
Console.WriteLine("Ypos: " + Globals.memoryManager.ReadFloat((uint)arrayAt8 + 0x7D4));
// Float from arrayAt8 + 0x48
Console.WriteLine("Zpos: " + Globals.memoryManager.ReadFloat((uint)arrayAt8 + 0x48));
// Float from arrayAt8 + (0x17 * 4)
Console.WriteLine("hp: " + Globals.memoryManager.ReadFloat((uint)arrayAt8 + (0x17 * 4)));
to continue the loop I do this:
Code:
// Move onto next object by adding 0x3C onto the curObj
nextObj = (uint)Globals.memoryManager.ReadInt(curObj + 0x3C);
My output is as follows:
name: 4? 5?
Xpos: 0
Ypos: 545788281
Zpos: 0
hp: 0
name: ?
? ?
?
Xpos: 0
Ypos: 545789729
Zpos: 0
hp: 0
name: ?? ??
Xpos: 0
Ypos: 545791177
Zpos: 0
hp: 0
name: ,? -?
Xpos: 0
Ypos: 0
Zpos: 0
hp: 0
name: ?? ??
Xpos: 4294967295
Ypos: 0
Zpos: 0
hp: 0
name: ??????
Xpos: 0
Ypos: 0
Zpos: 0
hp: 80
name:
Xpos: -72054291208077312
Ypos: 43379891244105728
Zpos: 0
hp: 0
name:
Xpos: -72054291208077312
Ypos: 43379891244105728
Zpos: 0
hp: 0
name:
Xpos: -72054291208077312
Ypos: 43379891244105728
Zpos: 0
hp: 0
name: ????
Xpos: 0
Ypos: 2082954157159359428
Zpos: 0
hp: 55
name: ?"??"?
Xpos: 0
Ypos: 2082976250471135196
Zpos: 0
hp: 55
name: ?J??J?
Xpos: 0
Ypos: 2083020437094686732
Zpos: 0
hp: 42
name: ?^??^?
Xpos: 0
Ypos: 2083042530406462500
Zpos: 0
hp: 55
name: ????
Xpos: 0
Ypos: 2083086717030014036
Zpos: 0
hp: 8
name: 4??5??
Xpos: 0
Ypos: 2083108810341789804
Zpos: 0
hp: 55
name:
Xpos: -72052092184821760
Ypos: 43379891244105728
Zpos: 0
hp: 0
name: L??M??
Xpos: 0
Ypos: 2083130903653565572
Zpos: 0
hp: 86
As you can see, sometimes my HP is exactly right - I checked it to the NPCs around me. But sometimes I'm getting 0.... So obviously there's something not quite right. Also, the name is never working, and the coords seem a bit unpredicable.