Pick up loot injection - Общение разработчиков - Программирование для Perfect World, общение и обсуждене разработок
11.07.2015, 20:16
#1
Разведчик
Регистрация: 04.07.2015
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Pick up loot injection
Подскажите плз верный адрес pick up loot функции. Т.к. define F_GET_LOOT 0x487020 не подходит. Ставлю breakpoint на этом адресе - поднимаю лут - breakpoint не срабатывает.
Либо подскажите каким образом можно найти этот адрес? Последние 2 дня ищу - нашел 491de5, но там большой asm код со множеством переходов, пока не смог успешно воспользоваться им.
Заранее спасибо!! =)
11.07.2015, 20:25
#2
Разведчик
Регистрация: 04.07.2015
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Pick up loot injection
Всем доброго дня!
Три дня поиска возможности поднимать лут по WID с помощью injection не принесли результатов.
Возможно у кого-то есть рабочая функция инжекта для подбора лута для текущей версии руофф (1.5.2)?
Либо подскажите плз ,возможно ли получить source бота multiXBOT, чтобы посмотреть как там это реализовано?
Либо возможно у кого есть адрес функции подбора лута?
Заранее спасибо! =)
11.07.2015, 21:38
#3
Старший сержант
Регистрация: 09.04.2010
Сообщений: 204
Популярность: 5518
Сказал(а) спасибо: 49
Поблагодарили 512 раз(а) в 198 сообщениях
Re: [Руоф] Код для инжекта в память.
Код:
'PickWalk'=>0x4975A0,
А вот инжект собственно:
Код:
public void PickWalk(UInt32 WID, PickAction Type)
{
var asm = new ASM();
asm.Pushad();
asm.Mov_ECX(pwOffsets.BA);
asm.Mov_ECX_DWORD_Ptr_ECX();
asm.Mov_ECX_DWORD_Ptr_ECX_Add(pwOffsets.GA_Offset);
asm.Mov_ECX_DWORD_Ptr_ECX_Add(pwOffsets.HostPlayerStruct);
asm.Push((byte)Type);
asm.Push(WID);
asm.Mov_EBX(pwOffsets.PickWalk);
asm.Call_EBX();
asm.Popad();
asm.Ret();
PW.InjectCode(asm.GetCode());
}
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]-cофт и прочее для комфортной игры в PW.
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
11.07.2015, 21:46
#4
Разведчик
Регистрация: 23.06.2012
Сообщений: 43
Популярность: 427
Сказал(а) спасибо: 18
Поблагодарили 59 раз(а) в 35 сообщениях
Re: [Руоф] Код для инжекта в память.
колявкин,
Код из первого поста с адресами и офсетами под руоф 1.5.2:
Mine_Drop (© gen-ostr, перенос на Delphi и "универсализация" - Dinmaite)
Код:
procedure Mine_Drop(aPParams:PParams); stdcall;
var
addr,addr2:pointer;
x,y:dword;
begin
x:=aPParams^.param1;
y:=aPParams^.param2;
addr := Pointer($004975A0);
if y=2 then
asm
pushad
mov ecx, dword ptr[$00D2E444];
mov ecx, dword ptr[ecx+$1C];
mov ecx, dword ptr[ecx+$28];
push 1
push x
CALL addr
popad
end
else
asm
pushad
mov ecx, dword ptr[$00D2E444];
mov ecx, dword ptr[ecx+$1C];
mov ecx, dword ptr[ecx+$28];
push 0
push x
CALL addr
popad
end;
end;
Procedure TInjects.AutoDrop_Mining(hProcess,WID,_type:DWord);
var
aParams:TParams;
begin
aParams.Param1:=WID;
aParams.Param2:=_type;
InjectFunc(hProcess, @MineDrop, @aParams, sizeof(aParams));
end;
________________
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Пользователь сказал cпасибо:
14.07.2015, 22:58
#5
Разведчик
Регистрация: 04.07.2015
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Re: Pick up loot injection
Спасибо за функции, они работают отлично!
Но! Инвентарь быстро забивается хламом и мой бот начинает тупить, пытаясь поднять дроп, который не влазит.
Есть ли у структуры дропа какой-нить флаг, чтобы до поднятия определить, влезет он в инвентарь либо нет?
Либо посоветуйте какой-то еще способ плз.
Могу получить свой инвентарь, но как определить тогда макс вещей в ячейке?
14.07.2015, 23:32
#6
Рыцарь-лейтенант
Регистрация: 31.01.2011
Сообщений: 413
Популярность: 14489
Золото Zhyk.Ru: 300
Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
Re: Pick up loot injection
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3 .
P.S. Но я всё такой же добрый модератор раздела PW.
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 01:32 .