here's what i used in vgbuddy. Check out the attached file for vgbuddyX source code
req: T-search
working with VG (1871)
PlayerDMA (this offset changes everytime u zone so we need to inject this code to steal the dma)
//CHEAT ON
Offset 0x10123C16
JMP 10153FE0 // jump to our code cave
Offset 0x10153FE0
mov [0x1028AB40], ecx //copy ecx (dma) to our storage 1028AB40
mov eax, [ecx] //recreate what we have destroyed
Call [eax+0x30] recreate what we have destroyed
JMP 10123C1B //jump back to the game routine or it will crash
//CHEAT OFF
Offset 0x10123C16
mov eax,[ecx]
call [eax+0x30]
poke:
Poke 10123C16 E9 C5 03 03 00
Poke 10153FE0 89 0D 40 AB 28 10 8B 01 FF 50 30
Poke 10153FEB E9 2B FC FC FF
Playerstatsdma
//CHEAT ON
Offset 0x011AFCCC
JMP 10153FCC
nop
nop
Offset 0x10153FCC
lea eax,[esi] //copy [esi] (stats offset)) to eax
mov [0x1028AB45],eax //copy eax (stats offset) to our storage 1028AB45
mov [esi+0x50],edi //recreate what we have destroyed
mov byte ptr [ebp-0x11],0x1 //recreate what we have destroyed
JMP 11AFCD3 //jump back to the game routine or it will crash
//CHEAT OFF
Offset 0x011AFCCC
mov [esi+0x50],edi
mov byte ptr [ebp-0x11],0x1
POKE:
Poke 11AFCCC E9 FB 42 FA 0E 90 90
Poke 10153FCC 8D 46 50 A3 45 AB 28 10 89 7E 50
Poke 10153FD7 C6 45 EF 01 E9 F3 BC 05 F1
offsets: (static)
playerX = 1C8
playerY = 1C4
playerZ = 1CC
state = 39
speed = 7D0
chunkx = C28B8
chunky = C28BC
player hp (percentage) = 50
player mana (percentage) = 110
and a lot more ... u should go find out urself
e.g playerX coord offset = readmem(1028AB40) + 1C8
player state = readmem(1028AB40) + 39
player speed offset = readmem(1028AB40) + 7D0
player hp offset = readmem(1028AB45) + 50
player mana offset = readmem(1028AB45) + 110
chunk X offset = GetBaseAddress("SGOUIEngine.dll") + C28B8
chunk y offset = GetBaseAddress("SGOUIEngine.dll") + C28BC
have fun and gl