Mein Structlogger Source + Pattern.
Pattern:
Code:
DWORD dwIndex = dwNoRecoil3 + 0x4C;
DWORD dwGravityX = dwIndex + 0x17;
DWORD dwGravityY = dwGravityX + 0x4;
DWORD dwGravityZ = dwGravityY + 0x4;
DWORD dwWeaponState = FindPattern((PBYTE)"\x8B\xB0\x00\x00\x00\x00\xE8\x00\x00\x00\x00\x3B\xC6","xx????x????xx",2,true);
DWORD dwPlayerSpeed = dwNoSpread - 0x4;
DWORD dwAutoPlant = FindPattern((PBYTE)"\x89\xB3\x00\00\x00\x00\x89\xB3\x00\00\x00\x00\x66\x89\x83\x00\x00\x00\x00\x66\x89\xBB","xx????xx????xxx????xxx",2,true);
DWORD dwAutoDefuse = dwAutoPlant + 0x4;
DWORD dwAutoShot = dwAutoDefuse + 0x12;
DWORD dwViewX = FindPattern((PBYTE)"\x8D\x8B\x00\x00\x00\x00\xD8\x21","xx????xx",2,true);
DWORD dwViewY = dwViewX + 0x4;
DWORD dwViewZ = dwViewY + 0x4;
DWORD dwPitch = FindPattern((PBYTE)"\xD9\x93\x00\x00\x00\x00\x66\x89\x83\x00\x00\x00\x00\xD9\x93\x00\x00\x00\x00\x88\x83\x00\x00\x00\x00\x33\xC0","xx????xxx????xx????xx????xx",2,true);
DWORD dwYaw = FindPattern((PBYTE)"\xD8\xA0\x00\x00\x00\x00\xDC\x35\x00\x00\x00\x00\xDC\x0D\x00\x00\x00\x00\xD9\x5C\x24\x14","xx????xx????xx????xxxx",2,true);
DWORD dwWeapon1 = FindPattern((PBYTE)"\x66\x8B\x80\x00\x00\x00\x00\x66\x3B\x46","xxx????xxx",3,true);
DWORD dwWeapon2 = dwWeapon1 + 0x2;
DWORD dwWeapon3 = dwWeapon2 + 0x2;
DWORD dwNoRecoil1 = FindPattern((PBYTE)"\x8B\x87\x00\x00\x00\x00\x7A","xx????x",2,true);
DWORD dwNoRecoil2 = dwNoRecoil1 + 0x4;
DWORD dwNoRecoil3 = dwNoRecoil2 + 0x4;
DWORD dwNoM134Idle = FindPattern((PBYTE)"\x39\xBB\x00\x00\x00\x00\x0F\x85\x00\x00\x00\x00\x0F\xB7\x83","xx????xx????xxx",2,true);
DWORD dwFastNadeBlast = dwNoSpread + 0x4;
DWORD dwXAchse = FindPattern((PBYTE)"\x8D\x87\x00\x00\x00\x00\xE8\x00\x00\x00\x00\xE8","xx????x????x",2,true);
DWORD dwYAchse = dwXAchse - 0x8;
DWORD dwZAchse = dwXAchse + 0x8;
DWORD dwNoSpread = FindPattern((PBYTE)"\xD9\x83\x00\x00\x00\x00\x0F\xB7\x85\x00\x00\x00\x00\xD9\xE8","xx????xxx????xx",2,true);
DWORD dwNoFallDamage = FindPattern((PBYTE)"\x8D\xB7\x00\x00\x00\x00\xD9\x1C\x24","xx????xxx",2,true);
Log Source:
Code:
Writelog("struct CPlayer");
Writelog("{");
Writelog(" char xUnknown1[%d];//0x00",dwNoRecoil1);
Writelog(" float NoRecoil1;//0x%X",dwNoRecoil1);
Writelog(" float NoRecoil2;//0x%X",dwNoRecoil2);
Writelog(" float NoRecoil3;//0x%X",dwNoRecoil3);
Writelog(" char xUnknown2[%d];//0x%X",dwIndex - dwNoRecoil3 - 0x4, dwNoRecoil3 + 0x4);
Writelog(" BYTE Index;//0x%X",dwIndex);
Writelog(" char xUnknown3[%d];//0x%X",dwGravityX - dwIndex - 0x1, dwIndex + 0x1);
Writelog(" float GravityX;//0x%X",dwGravityX);
Writelog(" float GravityY;//0x%X",dwGravityY);
Writelog(" float GravityZ;//0x%X",dwGravityZ);
Writelog(" char xUnknown4[%d];//0x%X",dwWeaponState - dwGravityZ - 0x4, dwGravityZ + 0x4);
Writelog(" int WeaponState;//0x%X",dwWeaponState);
Writelog(" char xUnknown5[%d];//0x%X",dwNoSpread - dwWeaponState - 0x4, dwWeaponState + 0x4);
Writelog(" float NoSpread;//0x%X",dwNoSpread);
Writelog(" float FastNadeBlast;//0x%X",dwFastNadeBlast);
Writelog(" char xUnknown6[%d];//0x%X",dwPitch - dwFastNadeBlast - 0x4, dwFastNadeBlast + 0x4);
Writelog(" float Pitch;//0x%X",dwPitch);
Writelog(" char xUnknown7[%d];//0x%X",dwYaw - dwPitch - 0x4, dwPitch + 0x4);
Writelog(" float Yaw;//0x%X",dwYaw);
Writelog(" char xUnknown8[%d];//0x%X",dwViewX - dwYaw - 0x4, dwYaw + 0x4);
Writelog(" float ViewX;//0x%X",dwViewX);
Writelog(" float ViewY;//0x%X",dwViewY);
Writelog(" float ViewZ;//0x%X",dwViewZ);
Writelog(" char xUnknown9[%d];//0x%X",dwWeapon1 - dwViewZ - 0x4, dwViewZ + 0x4);
Writelog(" WORD Weapon1;//0x%X",dwWeapon1);
Writelog(" WORD Weapon2;//0x%X",dwWeapon2);
Writelog(" WORD Weapon3;//0x%X",dwWeapon3);
Writelog(" char xUnknown10[%d];//0x%X",dwPlayerState - dwWeapon3 - 0x2, dwWeapon3 + 0x2);
Writelog(" BYTE PlayerState;//0x%X",dwPlayerState);
Writelog(" char xUnknown11[%d];//0x%X",dwNoFallDamage - dwPlayerState - 0x1, dwPlayerState + 0x1);
Writelog(" float NoFallDamage;//0x%X",dwNoFallDamage);
Writelog(" char xUnknown12[%d];//0x%X",dwXAchse - dwNoFallDamage - 0x4, dwNoFallDamage + 0x4);
Writelog(" float PosX;//0x%X",dwXAchse);
Writelog(" char xUnknown13[%d];//0x%X",dwYAchse - dwXAchse - 0x4, dwXAchse + 0x4);
Writelog(" float PosY;//0x%X",dwYAchse);
Writelog(" char xUnknown14[%d];//0x%X",dwZAchse - dwYAchse - 0x4, dwYAchse + 0x4);
Writelog(" float PosZ;//0x%X",dwZAchse);
Writelog(" char xUnknown15[%d];//0x%X",dwAutoPlant - dwZAchse - 0x4, dwZAchse + 0x4);
Writelog(" DWORD AutoPlant;//0x%X",dwAutoPlant);
Writelog(" DWORD AutoDefuse;//0x%X",dwAutoDefuse);
Writelog(" char xUnknown16[%d];//0x%X",dwAutoShot - dwAutoDefuse - 0x4, dwAutoDefuse + 0x4);
Writelog(" DWORD AutoShot;//0x%X",dwAutoShot);
Writelog(" char xUnknown17[%d];//0x%X",dwNoM134Idle - dwAutoShot - 0x4, dwAutoShot + 0x4);
Writelog(" float NoM134Idle;//0x%X",dwNoM134Idle);
Writelog("};");
Enjoy it, credits to me!