Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Помогите с типом данных

-

Общение разработчиков

- Программирование для Perfect World, общение и обсуждене разработок

Ответ
 
Опции темы
Старый 02.10.2013, 11:50   #1
 Пехотинец
Аватар для Unheilig))
 
Unheilig)) на правильном путиUnheilig)) на правильном пути
Регистрация: 13.12.2012
Сообщений: 58
Популярность: 197
Сказал(а) спасибо: 23
Поблагодарили 31 раз(а) в 10 сообщениях
 
По умолчанию Помогите с типом данных

пытаюсь считать имя моба.
возникла проблемка - ошибку пишет. скорее всего из-за типа данных, потому что если mobname указать как dword то вместо имени моба пишет цифры. помогите разобраться пожалуйста.


Код



Последний раз редактировалось Unheilig)); 02.10.2013 в 11:56.
  Ответить с цитированием
Старый 02.10.2013, 12:29   #2
 Пехотинец
Аватар для sedrik1992
 
sedrik1992 никому не известный тип
Регистрация: 03.02.2013
Сообщений: 60
Популярность: 10
Сказал(а) спасибо: 12
Поблагодарили 26 раз(а) в 12 сообщениях
 
По умолчанию Re: Помогите с типом данных

Напиши плз, как ты до этого считываешь (до b3)
а к своему коду добавь строку
ReadProcessMemory(hProcess, ptr(mobname+$0), @mobname, SizeOf (mobname), nob);
и выводи таким макаром:
RealmobName:= WideCharToString(mobname);
lbl3.Caption:= RealmobName;
________________

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).

Последний раз редактировалось sedrik1992; 02.10.2013 в 12:34.
  Ответить с цитированием
Старый 02.10.2013, 13:28   #3
 Пехотинец
Аватар для Unheilig))
 
Unheilig)) на правильном путиUnheilig)) на правильном пути
Регистрация: 13.12.2012
Сообщений: 58
Популярность: 197
Сказал(а) спасибо: 23
Поблагодарили 31 раз(а) в 10 сообщениях
 
По умолчанию Re: Помогите с типом данных

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
lbl1: TLabel;
lbl2: TLabel;
tmr1: TTimer;
lbl3: TLabel;
procedure FormCreate(Sender: TObject);
procedure tmr1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
WndHndl:THandle;
PID,hProcess,BytesCountword;
i,MobIDword;
idWORD;
mobname:PWChar;
nobWORD;
realmobname:string;

const
BA=$00C38B6C;
GA=$00C392CC;

implementation

{$R *.dfm}



procedure TForm1.FormCreate(Sender: TObject);
begin
Tmr1.Enabled := True;
end;

procedure TForm1.tmr1Timer(Sender: TObject);
var b1,b2,b3,b4,b5,adress:integer;
begin

begin
WndHndl:=findwindow(nil, PChar('Perfect World')); //èùåì îêíî ïâ
GetWindowThreadProcessId(WndHndl,@PID); //ïîëó÷àåì èä îêíà
hProcess:=OpenProcess(PROCESS_ALL_ACCESS,False,PID ); //îòêðûâàåì ïðîöåññ äëÿ ÷òåíèÿ
//ïåðåáîð ìîáîâ
if (hProcess<>0)then //ïðîâåðêà ÷òî ïðîöåññ íàéäåí
begin

//äîëó÷àåì èä òàðãåòà
ReadProcessMemory (hProcess, Pointer(GA), @ID, sizeof(ID), NoB);
ReadProcessMemory (hProcess, Pointer(ID+$34), @ID, sizeof(ID), NoB);
ReadProcessMemory (hProcess, Pointer(ID+$0c88), @ID, sizeof(ID), NoB); //?????? ?? ????
lbl2.Caption := 'TARGET ID ' + inttostr(ID);//??????? ?? Integer


/// 000000000000000000000000 MOB & NIP
// BA+0x1C+0x1C+0x24+0x1?+(i*0x4)+0x4 /i = 0 - 0x300/

ReadProcessMemory(hProcess, ptr(BA), @i, SizeOf (i), NoB);
ReadProcessMemory(hProcess, ptr(i+$1C), @i, SizeOf (i), NoB);
ReadProcessMemory(hProcess, ptr(i+$1C), @i, SizeOf (i), NoB);
ReadProcessMemory(hProcess, ptr(i+$24), @i, SizeOf (i), NoB);
ReadProcessMemory(hProcess, ptr(i+$14), @b2, SizeOf (i), NoB); //êîë-âî ìîáîâ

ReadProcessMemory(hProcess, ptr(i+$1C), @adress, SizeOf (i), NoB); //

b1:=0;
for b5:=0 to b2-1 do
begin
b3:=0;
while b3=0 do
begin
ReadProcessMemory(hProcess, ptr(adress+b1), @b3, SizeOf (i), NoB);
b1:=(b1+4);
end;
ReadProcessMemory(hProcess, ptr(b3+$4), @b3, SizeOf (i), NoB);

ReadProcessMemory(hProcess, ptr(b3+$120), @MobID, SizeOf (i), NoB); // ID
if MobID=ID then Break;
end;
ReadProcessMemory(hProcess, ptr(b3+$130), @mobid, SizeOf (mobid), nob); // ID
lbl1.Caption:= inttostr (mobid);
ReadProcessMemory(hProcess, ptr(b3+$274), @b3, SizeOf (i), NoB); // ID
ReadProcessMemory(hProcess, ptr(b3+$0), @mobname, SizeOf (mobname), nob);
RealmobName:= WideCharToString(mobname);
lbl3.Caption:= RealmobName;
end;


end;

end;
end.

все равно ошибка. походу я притомился и не вижу элементарного.

Последний раз редактировалось Unheilig)); 02.10.2013 в 13:57.
  Ответить с цитированием
Старый 02.10.2013, 15:10   #4
 Пехотинец
Аватар для sedrik1992
 
sedrik1992 никому не известный тип
Регистрация: 03.02.2013
Сообщений: 60
Популярность: 10
Сказал(а) спасибо: 12
Поблагодарили 26 раз(а) в 12 сообщениях
 
По умолчанию Re: Помогите с типом данных

А поясни, как ты цикл делаешь после нахождения числа мобов.
Насколько я понял, нужен цикл по i от единицы до счетчика мобов BA+0x1C+0x1C+0x24+0x14.
Нам нужно получить (i*0x4).
мб надо по циклу заносить сначала в какую-либо переменную значение из смещения $4 и затем умножать на i
либо i в 4 раза увеличивается....
пойду сам попробую намутить такое..
________________

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
|
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
  Ответить с цитированием
Старый 02.10.2013, 16:00   #5
 Пехотинец
Аватар для Unheilig))
 
Unheilig)) на правильном путиUnheilig)) на правильном пути
Регистрация: 13.12.2012
Сообщений: 58
Популярность: 197
Сказал(а) спасибо: 23
Поблагодарили 31 раз(а) в 10 сообщениях
 
По умолчанию Re: Помогите с типом данных

у меня просто перебор всех окружаюзих мобов идет со считыванием их ид. и если ид совпадает с ид таргета то считываются хп моба.

вопрос с отображением имени решил по подсказке LiLu:

В игре текст в формате UTF и каждый символ кодируется двумя байтами.

var
buft:array [0..50] of WideChar;
mobname:string;
.....

ReadProcessMemory(hProcess, ptr(b3+$274), @b7, 4, BytesCount);
ReadProcessMemory(hProcess, ptr(b7), @buft, 50, BytesCount); // NAME
mobname:=buft;
lbl3.Caption:= mobname;
  Ответить с цитированием
Старый 02.10.2013, 18:29   #6
-= Мастер Света =-
 Рыцарь-капитан
Аватар для Ginrey
 
Ginrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака Норриса
Регистрация: 14.06.2012
Сообщений: 511
Популярность: 7566
Сказал(а) спасибо: 4
Поблагодарили 181 раз(а) в 88 сообщениях
 
По умолчанию Re: Помогите с типом данных

ник в пв всегда был массивом байт с типом Char, как и многий текст
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо"
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).

Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
  Ответить с цитированием
Старый 02.10.2013, 19:14   #7
 Пехотинец
Аватар для Unheilig))
 
Unheilig)) на правильном путиUnheilig)) на правильном пути
Регистрация: 13.12.2012
Сообщений: 58
Популярность: 197
Сказал(а) спасибо: 23
Поблагодарили 31 раз(а) в 10 сообщениях
 
По умолчанию Re: Помогите с типом данных

ну а я то об этом не знал)
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] Помогите расшифровать базу данных SQL dreamscape412 Общение и обсуждение, архив Lineage 2 4 30.06.2012 18:59
[Помогите!] Помогите с решение данных Delphi задач. Stalkerr Вопросы и ответы, обсуждения 7 01.02.2012 20:04
Помогите узнать базу данных l2.by Gans1k Школа Читера 3 14.03.2011 10:15

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 15:09.

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net