Что нового

Помогите получить значение в игре используя указатель

sss

Продвинутый
Сообщения
332
Репутация
96
Всем привет!
У меня никак не получается считать (да и записать) значение в памяти игры (Might & Magic Heroes VI, знакомому делаю что-то наподобие трейнера). Адрес ячейки при перезапуске игры меняется, следовательно, надо искать указатель. Пользуюсь Cheat Engine 6.1, указатель нашел, но как прочитать и записать в него из АвтоИта? Вроде есть функция _MemoryPointerRead, но она возвращает либо абракадабру, либо 0.
Вот скриншот поисковика указателей CE:

Помогите пожалуйста!
P.S: темы искал, но все, что я находил, либо не работало, либо возвращало 0 (а CE говорил 15500, что правда).
 
Автор
sss

sss

Продвинутый
Сообщения
332
Репутация
96
Поднимаю тему. Пожалуйста, подскажите, как считывать и записывать значения используя указатели.
 

garlicf

Новичок
Сообщения
1
Репутация
1
вот пример кода чтения из памяти:
Код:
Global $BaseAdd = 10862540
Global $TargetIn_Offset[4]
$TargetIn_Offset[1]=32
$TargetIn_Offset[2]=4232
$TargetIn_Offset[3]=56
Global $pid = WinGetProcess ( "Название окна")
Global $ProcessInformation = _MemoryOpen($pid)
Func TargetIn_Status()
	$TagretIN = _MemoryPointerRead($BaseAdd, $ProcessInformation, $TargetIn_Offset)
	GUICtrlSetData($Target_Status, "Захват цели:" & $TagretIN[1]  )
	$T=$TagretIN[1]
EndFunc


пример кода записи в память:
Код:
Global $Unfreeze_Address = 10863676
Global $pid = WinGetProcess ( "Название окна")
Global $ProcessInformation = _MemoryOpen($pid)
_MemoryWrite($Unfreeze_Address, $ProcessInformation, 1 )
 
Автор
sss

sss

Продвинутый
Сообщения
332
Репутация
96
Благодарю! Нашел свою ошибку с помощью вашего кода - заполнял массив оффсетов, начиная с индекса 0 :smile:
 
Верх