|
|
|
Чтение из памяти |
|
|
DarkMaster |
17.3.2015, 17:04
|
Модератор UOPilot
Сообщений: 9.468
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 27737
Пользователь №: 11.279
|
А адрес то получается точно нужный вам? Для меня вообще не очень понятен смысл каждый раз складывать две константы. 0x0693AC00 + 0x6C - результат всегда будет одинаковый. В чем смысл сего действа? Скорее всего необходимо было считать адрес 0x0693AC00, получить из него указатель и к значению этого указателя прибавить 0x6C. Цитата readmem $target_pos_point_x #target_pos_point_x f Вы считываете флоат. Цитата set #target_pos_point_x1 $target_pos_point_x + #offset2 Тут вы считываете адрес, который указываете флоатом. Адрес не может быть числом с плавающей точкой. Адрес всегда только int и никак иначе. Если быть точнее, то беззнаковый инт, т.е. число положительное и целое. Учитывая, что у вас набор указателей, то вы ошибочно задали тип считываемого значения. Указатель не имеет ничего общего с итоговым вашим типом значения, у указателя всегда тип беззнакового int, он же dword. Вообще используйте для отладки вывод в лог получившихся значений. Чтобы перевести значения в шестнадцатиричный вид, используйте: log dec2hex(переменная)
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
DarkMaster |
19.3.2015, 13:42
|
Модератор UOPilot
Сообщений: 9.468
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 27737
Пользователь №: 11.279
|
Я не представляю, как с помощью writemem можно инициоравать поднятие предмета. Ну очень глубоко теоретически догадываюсь, но как это применить к реалиям не знаю.
Можно попробовать наводить мышкой на лут, читать смотреть, что изменилось в памяти. Потом без наведения мышки можно будет подставлять необходимые значения, и посылать клик. Но не факт, что предмет определяется при наведении, а не после клика.
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
ivanTu |
20.3.2015, 8:37
|
Apprentice
Сообщений: 128
Регистрация: 2.2.2015 Группа: Пользователи Наличность: 0
Пользователь №: 17.276
Возраст: 27
|
Понятно! )) Умно )) У меня сейчас проблема очередная, память читается из Dll процесса , К примеру : "Engine.dll"+00ADD81C получаем адрес на указатель , к которому прибавляем оффсет, который выведет нас на нужное значение, через PE tools можно расковырять* l2.bin и увидеть все Dll'ки процесса и их HEX адреса памяти, что нам позволяет в начале не использовать "Engine.dll"+00ADD81C а сразу приплюсовать два hex'a и получаем стартовый указатель, НО ловушка в чем, при перезагрузки (не всегда) hex адрес памяти Dll'ки может измениться, что уже обрывает правильность цепочки, но если б вы научили меня читать значение непосредственно из engine.dll к примеру эта проблема превратиться в Пух.
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|