struct objmgrobj
{
DWORD unk0; //0
int guid; // 4
char name[64]; // 8
DWORD unk1[4]; // 72
DWORD actorlink; // 88
DWORD unk2[21]; // 92
WoWPos pos; // 176
DWORD unk3[68]; // 188
DWORD data1; // 460
DWORD unk4[11];// 464
DWORD data2; // 508
DWORD unk5[138];
};
DWORD objmgr = 0x1543B9C;
DWORD offset_objmgr1 = 0x8b0; //2224
DWORD offset_objmgr2 = 0x148; //328
DWORD offset_objmgrcnt = 0x108; //264
DWORD objmgr1 = *(DWORD*)objmgr;
DWORD objmgr2 = *(DWORD*)(objmgr1 + offset_objmgr1);
DWORD objmgr3 = *(DWORD*)(objmgr2 + offset_objmgr2);
DWORD objmgr_liststart = *(DWORD*)(objmgr3);
DWORD objmgrcnt = *(DWORD*)(objmgr2+offset_objmgrcnt);
objmgrobj *objs = (objmgrobj*)objmgr_liststart;
for(int x=0; x<objmgrcnt; x++)
{
if(objs[x].guid != 0xffffffff)
{
..........
}
}
this seemed to work fine, i get guids and the names which looked ok
if i print them i get for example: guid:2008809472 nameemonhunter_Female-5 (this should be me)
but GetPlayerGUID() returns 2011299844
i tried calling GetActorPtrFromGUID with the guids i got from the object manager, it isn't working because it doesn't seem to find them
with the guid from GetPlayerGUID() it's working fine
then i hooked GetActorPtrFromGUID and saw that all guids the game calls the function with, are different from the guids which i get from the obect manager
what am i doing wrong or missing?
thanks for your help