Данные хранятся не упорядоченно, и если по адресу +i*$04 ноль, то грубо говоря данная ячейка пуста, т.е. i++ и повторяем
С последней версией руофа работает нормально
Возможно в виде кода будет понятнее =)
Code:
Base = [COLOR="DarkOrange"]$95BAA4[/COLOR];
ReadProcessMemory(Hdl,Pointer(Base), @BaseAdd, [COLOR="DarkOrange"]4[/COLOR] , BytesRead);
ReadProcessMemory(Hdl,Pointer(BaseAdd+[COLOR="DarkOrange"]$08[/COLOR]), @BaseAdd, [COLOR="DarkOrange"]4[/COLOR] , BytesRead);
ReadProcessMemory(Hdl,Pointer(BaseAdd+[COLOR="DarkOrange"]$20[/COLOR]), @BaseAdd, [COLOR="DarkOrange"]4[/COLOR] , BytesRead);
ReadProcessMemory(Hdl,Pointer(BaseAdd+[COLOR="DarkOrange"]$18[/COLOR]), @BaseAdd, [COLOR="DarkOrange"]4[/COLOR] , BytesRead);
[COLOR="Blue"][B]for[/B][/COLOR] i:= [COLOR="DarkOrange"]0[/COLOR] [COLOR="#0000ff"][B]to[/B][/COLOR] [COLOR="DarkOrange"]768[/COLOR] [COLOR="#0000ff"][B]do begin[/B][/COLOR]
ReadProcessMemory(Hdl,Pointer(BaseAdd+i*[COLOR="DarkOrange"]4[/COLOR]), @PlBase, [COLOR="DarkOrange"]4[/COLOR] , BytesRead);
[B][COLOR="#0000ff"]if[/COLOR][/B] PlBase>[COLOR="DarkOrange"]0[/COLOR] [B][COLOR="#0000ff"]then begin[/COLOR][/B]
ReadProcessMemory(Hdl,Pointer(PlBase+[COLOR="DarkOrange"]$4[/COLOR]), @PlBase, [COLOR="DarkOrange"]4[/COLOR] , BytesRead);
...
ReadProcessMemory(Hdl,Pointer(PlBase+[COLOR="DarkOrange"]$464[/COLOR]), @PlayerHP, [COLOR="DarkOrange"]4[/COLOR] , BytesRead);
...
[COLOR="Blue"][B]end;
end;[/B][/COLOR]
В качестве основы был взят код из соседней ветки
[Only registered and activated users can see links. Click Here To Register...] и исправлены смещения под PW-RU