Code:
_st3rdPlayerInfo * pPlayerInfo = (_st3rdPlayerInfo*)((ulCLTClientShell + 0xFD40)+ (i * 0x1C0));
this offset points to object change to 0xFD3C and you're done.
see this part to understand why i used 0xFD3C :
Code:
10007700 56 PUSH ESI
10007701 8BF1 MOV ESI,ECX
10007703 0FB686 3CFD0000 MOVZX EAX,BYTE PTR DS:[ESI+FD3C] // here is the base pointer of player class
1000770A 50 PUSH EAX
1000770B E8 B0851000 CALL CShell.1010FCC0
10007710 83C4 04 ADD ESP,4
10007713 84C0 TEST AL,AL
10007715 75 04 JNZ SHORT CShell.1000771B
10007717 0C FF OR AL,0FF
10007719 5E POP ESI
1000771A C3 RETN
1000771B 0FB68E 3CFD0000 MOVZX ECX,BYTE PTR DS:[ESI+FD3C] // here is the base pointer of player class
10007722 69C9 C0010000 IMUL ECX,ECX,1C0
10007728 8A8431 44FD0000 MOV AL,BYTE PTR DS:[ECX+ESI+FD44]
1000772F 5E POP ESI
you can notify it two times