 |
Получение списка мобов вокруг - Общение разработчиков - Программирование для Perfect World, общение и обсуждене разработок |
08.01.2015, 19:56
|
#1
|
|
|
|
Разведчик
|
 Регистрация: 27.10.2010
 Сообщений: 4
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 1 сообщении
|
Получение списка мобов вокруг
Пытаюсь получить список мобов. делаю применрно так
Код:
DWORD WHP;
WideChar nm[32];
ReadProcessMemory(hProcess, LPCVOID(0xCCEFAC), LPVOID(&WHP), sizeof(DWORD(WHP)), LPDWORD(NULL));
ReadProcessMemory(hProcess, LPCVOID(WHP+0x20), LPVOID(&WHP), sizeof(DWORD(WHP)), LPDWORD(NULL));
//ReadProcessMemory(hProcess, LPCVOID(WHP+0x14), LPVOID(&WHP), sizeof(DWORD(WHP)), LPDWORD(NULL));
ReadProcessMemory(hProcess, LPCVOID(WHP+0x1C), LPVOID(&WHP), sizeof(DWORD(WHP)), LPDWORD(NULL));
ReadProcessMemory(hProcess, LPCVOID(WHP+0x24), LPVOID(&WHP), sizeof(DWORD(WHP)), LPDWORD(NULL));
ReadProcessMemory(hProcess, LPCVOID(WHP+0x4), LPVOID(&WHP), sizeof(DWORD(WHP)), LPDWORD(NULL));
ReadProcessMemory(hProcess, LPCVOID(WHP+0x288), &nm, 32, LPDWORD(NULL));
получается поидее должен получить имя ближайшего, но получаю просто иероглифы.
|
|
|
08.01.2015, 21:00
|
#2
|
|
|
|
Разведчик
|
 Регистрация: 05.09.2010
 Сообщений: 32
 Популярность: 1182
 Сказал(а) спасибо: 38
Поблагодарили 12 раз(а) в 10 сообщениях
|
Re: Получение списка мобов вокруг
Имя моба в кодировке Юникод. Попробуй считать в конце по 0х0 оффсету.
как-то так:
Код:
ReadProcessMemory(hProcess, LPCVOID(WHP+0x288), LPVOID(&WHP), sizeof(DWORD(WHP)), LPDWORD(NULL));
ReadProcessMemory(hProcess, LPCVOID(WHP+0x0), &nm, 32, LPDWORD(NULL));
Последний раз редактировалось Hilling; 08.01.2015 в 21:03.
|
|
|
08.01.2015, 21:16
|
#3
|
|
|
|
Разведчик
|
 Регистрация: 27.10.2010
 Сообщений: 4
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 1 сообщении
|
Re: Получение списка мобов вокруг
Проверил, всё тоже самое
Добавлено через 4 минуты
(не робит)
Последний раз редактировалось Adrev; 08.01.2015 в 21:20.
Причина: Добавлено сообщение
|
|
|
08.01.2015, 22:29
|
#4
|
|
|
|
Разведчик
|
 Регистрация: 05.09.2010
 Сообщений: 32
 Популярность: 1182
 Сказал(а) спасибо: 38
Поблагодарили 12 раз(а) в 10 сообщениях
|
Re: Получение списка мобов вокруг
Это весь код по поиску мобов?
Если весь, то конечно ничего не найдешь. Нужно по структуре ближайших мобов пробегать.
Когда-то она выглядела так: BA+0x1C +0x1C +0x20 +0x1C +(i*0x4) +0x4 /i = 0 - 0x300/
Какая актуальная - я хз, так как не играю на руоффе. Пробегаешься в цикле, и ищешь не нулевые структуры, из которых уже и получаешь нужные тебе данные о мобах: имя, координаты, расстояние и т.п.
Вот можешь глянуть: http://zhyk.ru/forum/showthread.php?t=422221
Последний раз редактировалось Hilling; 08.01.2015 в 22:36.
|
|
|
09.01.2015, 12:02
|
#5
|
|
|
|
Разведчик
|
 Регистрация: 27.10.2010
 Сообщений: 4
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 1 сообщении
|
Re: Получение списка мобов вокруг
Решил попробывать пока с лутом, в соседней теме было вот такие офсеты
// структура лута BA + D_GA + L_D1 + L_D2 +
#define L_STRUCT 0x1c
#define L_D3 0x04
// параметры лута L_STRUCT+
#define L_X 0x03C
#define L_Z 0x040
#define L_Y 0x044
#define L_TYPE 0x150
#define L_WID 0x110
#define L_DIST 0x15C
Получается что бы получить название ближайшего лута должно быть так:
 |
Цитата: |
 |
|
|
|
|
|
|
|
WideChar nm[32];
ReadProcessMemory(hProcess, LPCVOID(0xCCEFAC), LPVOID(&WHP), sizeof(DWORD(WHP)), LPDWORD(NULL));
ReadProcessMemory(hProcess, LPCVOID(WHP+0x1C), LPVOID(&WHP), sizeof(DWORD(WHP)), LPDWORD(NULL));
ReadProcessMemory(hProcess, LPCVOID(WHP+0x1C), LPVOID(&WHP), sizeof(DWORD(WHP)), LPDWORD(NULL));
ReadProcessMemory(hProcess, LPCVOID(WHP+0x24), LPVOID(&WHP), sizeof(DWORD(WHP)), LPDWORD(NULL));
ReadProcessMemory(hProcess, LPCVOID(WHP+0x1C), LPVOID(&WHP), sizeof(DWORD(WHP)), LPDWORD(NULL));
ReadProcessMemory(hProcess, LPCVOID(WHP+1*0x4), LPVOID(&WHP), sizeof(DWORD(WHP)), LPDWORD(NULL));
ReadProcessMemory(hProcess, LPCVOID(WHP+0x4/1), LPVOID(&WHP), sizeof(DWORD(WHP)), LPDWORD(NULL));
ReadProcessMemory(hProcess, LPCVOID(WHP+0x168), LPVOID(&WHP), sizeof(DWORD(WHP)), LPDWORD(NULL));
ReadProcessMemory(hProcess, LPCVOID(WHP+0x0), &nm, 32, LPDWORD(NULL)); |
|
 |
|
 |
|
но всё равно не робит
|
|
|
09.01.2015, 12:20
|
#6
|
|
|
|
Разведчик
|
 Регистрация: 13.08.2011
 Сообщений: 15
 Популярность: 10
 Сказал(а) спасибо: 6
Поблагодарили 1 раз в 1 сообщении
|
Re: Получение списка мобов вокруг
|
|
|
09.01.2015, 14:03
|
#7
|
|
|
|
Разведчик
|
 Регистрация: 27.10.2010
 Сообщений: 4
 Популярность: 10
 Сказал(а) спасибо: 0
Поблагодарили 2 раз(а) в 1 сообщении
|
Re: Получение списка мобов вокруг
т.е. получается если пробегу в цикле i=1->300 и вызову , то по идее там должно проскачить название лута?
Добавлено через 6 минут
А может кто скинет функцию, кто как получает список лута(мобов), с текущими оффсетами. А то вроде переделал , тот код где на С++ Builder 6 писали бота, но один фиг не робит.
Последний раз редактировалось Adrev; 09.01.2015 в 14:09.
Причина: Добавлено сообщение
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 21:34.
|
 |