Code:
if (Memory.OpenProcessAndThread(SProcess.GetProcessFromProcessName("wow")))
{
uint playerBase = Memory.ReadUInt(Memory.ReadUInt(Memory.ReadUInt(0x010B65F4) + 0x34) + 0x24);
uint s_curMgr = Memory.ReadUInt(Memory.ReadUInt(0x1132F60) + 0x2C24);
uint curObj = Memory.ReadUInt(s_curMgr + 0xAC);
uint nextObj = 0;
uint curItems = 0;
while (curObj != 0 && (curObj & 1) == 0)
{
UInt64 type = Memory.ReadUInt(curObj + 0x14);
float objX = Memory.ReadFloat(Memory.ReadUInt(curObj + 0x08) + 0x7d4);
float objY = Memory.ReadFloat(Memory.ReadUInt(curObj + 0x08) + 0x7d8);
float objZ = Memory.ReadFloat(Memory.ReadUInt(curObj + 0x08) + 0x7dc);
if (type == 3/* monsters */)
{
test.Text += "X: " + objX.ToString() + " Y: " + objY.ToString() + " Z: " + objZ.ToString() + "\r\n";
curItems++;
}
nextObj = Memory.ReadUInt(curObj + 0x3C);
if (nextObj == curObj) break;
else curObj = nextObj;
}
}
As you can see I've blatantly copied the code. I won't disagree with that.
I've tried updating it (shynds blog) as much as I've could.
It seems like the objects are being looped out properly, but the XYZ are not.
Is there something I've done terribly wrong? (There must be.) Could you point me in the direction? I'm thinking I have the wrong offsets since the amount of looped objects are actually "right" but the returns are not (xyz).
I've been playing with this for a while now and can't seem to find the right answer.
Appreciate your answer, thanks. :wave: