Hello berlinermauer,
this is how i get the Player Base from the Player Static and Offset Pointers:
Code:
public enum BasePointer
{
PlayerStatic = 0x00CF8C50,
PlayerOffsetA = 0x34,
PlayerOffsetB = 0x24,
}
Code:
static BlackMagic Wow = new BlackMagic();
static public uint GetPlayerBase()
{
uint PlayerBase1, PlayerBase2, PlayerBase3;
PlayerBase1 = Wow.ReadUInt((uint)BasePointer.PlayerStatic);
PlayerBase2 = Wow.ReadUInt(PlayerBase1 + (uint)BasePointer.PlayerOffsetA);
PlayerBase3 = Wow.ReadUInt(PlayerBase2 + (uint)BasePointer.PlayerOffsetB);
return PlayerBase3;
}
i got the Player Static and Offsets from here: Player - WoW.Dev Wiki
So what you have to do is:
1. Read Value from PlayerStatic. (0x00cf8c50)
2. Add to the read Value PlayerOffsetA. (0x34)
3. Read again from the calculated address.
4. Add to the read Value PlayerOffsetB. (0x24)
5. Read the Player Base from the calculated address.
For example:
When i executed this code Address 0x00cf8c50 contained the Value 0x49bb3970
It adds PlayerOffsetA and gets 0x49BB39A4.
It reads from 0x49BB39A4 and gets 0x1AE23FE0.
It adds PlayeroffsetB and gets 0x1AE24004.
It reads from 0x1AE24004 and gets 0x219DEE10 whitch is the current Player Base for me.
Note that the only address that doesn't change is the Player Static. Every other Address will change as soon as you restart the game or even if you log out and back in.