|
U can read the game memory to get your x, y and z
working offsets on live servers
readmemory(0132894) + 2C = X
readmemory(0132894) + 34 = Y
readmemory(0132894) + 30 = Z
If you script in autoit you can do something like
Global $playerdma = 0x013A2894, $playerXoffset = 0x2C, $playerYoffset = 0x34, $playerZoffset =0x30, $playerSpeedoffset = 0x150
Global $playerNFDoffset = 0x184, $playerSJoffset = 0x17C, $PlayerHeadingoffset = 0x98
$Process = 'ageofconan.exe'
$PID = ProcessExists($Process)
$OpenProcess = MemOpen(0x38, False, $PID)
$playerX = Memread($OpenProcess,MemRead($OpenProcess, $playerdma , 'int', 4) + $playerXoffset, 'float',4)
$playerY = Memread($OpenProcess,MemRead($OpenProcess, $playerdma ,'int', 4) + $playerYoffset,'float',4)
$playerZ = MemRead($OpenProcess,MemRead($OpenProcess, $playerdma,'int', 4)+ $playerZoffset,'float',4)
$playerSpeed = MemRead($OpenProcess,MemRead($OpenProcess, $playerdma,'int', 4) + $playerSpeedoffset,'float',4)
$playerSJ = MemRead($OpenProcess,MemRead($OpenProcess, $playerdma,'int', 4) + $playerSJoffset,'int',4)
$playerNFD = MemRead($OpenProcess,MemRead($OpenProcess, $playerdma,'int', 4) + $playerNFDoffset,'int',4)
$playerHeading = MemRead($OpenProcess,MemRead($OpenProcess, $playerdma,'float', 4) + $PlayerHeadingoffset,'float',4)
MsgBox(0,"Test", "X: " & $playerX & ", Y: " & $playery & ", Z: " & $playerZ)
MemClose($OpenProcess)
Func MemRead($i_hProcess, $i_lpBaseAddress, $s_Type ,$i_nSize)
Local $hDll = DllOpen("kernel32.dll")
If @error Then
SetError(1)
Return 0
EndIf
Local $v_Struct = DllStructCreate ($s_Type&'[' & $i_nSize & ']')
Local $v_lpNumberOfBytesRead = ''
DllCall($hDll, 'int', 'ReadProcessMemory', 'int', $i_hProcess, 'int', $i_lpBaseAddress, 'int', DllStructGetPtr ($v_Struct, 1), 'int', $i_nSize, 'int', $v_lpNumberOfBytesRead)
If @error Then
SetError(1)
Return 0
EndIf
Local $v_Return = DllStructGetData ($v_Struct, 1)
$v_Struct=0
DllClose($hDll)
Return $v_Return
EndFunc
Func MemOpen($i_dwDesiredAccess, $i_bInheritHandle, $i_dwProcessId)
$ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', $i_dwDesiredAccess, 'int', $i_bInheritHandle, 'int', $i_dwProcessId)
If @error Then
SetError(1)
Return 0
EndIf
Return $ai_Handle[0]
EndFunc
Func MemClose($i_hProcess)
$av_CloseHandle = DllCall('kernel32.dll', 'int', 'CloseHandle', 'int', $i_hProcess)
Return $av_CloseHandle[0]
EndFunc
Func MemWrite($i_hProcess, $i_lpBaseAddress, $s_Type ,$v_Inject, $i_nSize)
Local $hDll = DllOpen("kernel32.dll")
If @error Then
SetError(1)
Return 0
EndIf
$v_lpNumberOfBytesRead = ''
Local $v_Struct = DllStructCreate ($s_Type&'[' & $i_nSize & ']')
DllStructSetData ($v_Struct, 1, $v_Inject)
$i_Call = DllCall($hDll, 'int', 'WriteProcessMemory', 'int', $i_hProcess, 'int', $i_lpBaseAddress, 'int', DllStructGetPtr ($v_Struct, 1), 'int', $i_nSize, 'int', $v_lpNumberOfBytesRead)
If @error Then
SetError(1)
Return 0
EndIf
$v_Struct=0
DllClose($hDll)
Return $i_Call[0]
EndFunc
| Attachments: |
- aoc sample.txt Register to unlock hidden link
- (2.74 KiB) Downloaded 40 times
|
Last edited by code2007 on May 29th, 2008, 4:42 pm, edited 4 times in total. |