ППЦ... прочитал за несоклько часов всю эту ветку... Поэтому задам вопрос, на который ответ не нашёл - как заинжектрировать функцию копки ресов? А то не хочется заниматься онанизмом через выборм моба и подмену ID.
Плохо искал
Code:
procedure CullCall(aPParams:PParams); Stdcall;
var
Address1: pointer;
P1,p2,p3: dword;
begin
Address1:=Pointer(W2I_Cull_Call);
P1:=aPParams^.Param1; // їуІщАаРН
p2:=aPParams^.Param6; //їуІщФЪ°ьё¤µДО»ЦГ
P3:=aPParams^.Param2; // Дї±кID
asm
pushad
push 0
push p1
push 0
push p2
push P3
call Address1
add esp,$14
popad
end;
end;
procedure TMan.Cull(a,b,c:Cardinal);
var
aParams : TParams;
aParamsSize: DWORD;
begin
aParams.Param1:=a; // їуІщАаРН callci_ID,callci_ID_wp,callci_wp_ID
aParams.Param2:=b;//їуІщФЪ°ьё¤µДО»ЦГ
aParams.Param3:=c;// Дї±кID
aParamsSize:=SizeOf(aParams);
if GHwnd<>0 then
begin
injectfunc(@CullCall, @aParams, aParamsSize);
end;
end;
Адрессочки тут тоже публиковались. Ровняй напильником и юзай
Очень все просто, но работает тока в диалоговом акне для выбора пункта ответа!!!! Код на Delphi
координаты берем так:
X=30
Y=300+i*20
X,Y относительно диалогового окна I номер строки (1я = 0)
К сожалению данный способ, как я уже писал выше, не работает для кнопок в трейд окне
На выходных проверю, прям похоже на фантастику. Хотя были у меня подозрения, что именно там читается не буфер директинпута, но я их даже проверять не стал )
Добрались таки до массива контролов (или окошек, не важно как называть) … Держите, если будет сие полезно (можно передвигать окна, получать описание предметов под курсором…).
В [BA] + $1C + $04 + $08 + $18 записан указатель на текущее активное окно (по которому кликнули). До параметров окна можно добраться и через wndPTR (например, инвентарь - $218), не важно, открыто оно или нет.
P.S. Надеюсь, после последнего апдейти в данном массиве ничего не поменялось и большая часть указанных адресов действительна
На выходных проверю, прям похоже на фантастику. Хотя были у меня подозрения, что именно там читается не буфер директинпута, но я их даже проверять не стал )
Работает сразу минуя все вопросы выполнил и все починено
Можно с помощью нее и починку из инвентаря сделать, все волшебство в волшебных пузырьках, кх то есть первых 3х пушах, если поковыряться можно найти что туда класть
Также работает и инжект выше, вызов функции происходит уже после нажатия "Да",тока я ёё полноценно запустить не могу, кстати ижект покупки как брат близнец, 1й пуш ХЗ что а 2й количество занятых ячеек при покупке/продаже.
Хм, забавные картинки (+ карты высот) получаются после распаковки файлов с картами (опираясь на наработки luke с
Остается лишь до конца понять, как клиент определяет пересечение с «непроходимыми» объектами (заборы, дома), можно будет смело забыть обо всех трудностях передвижения бота…
С чего бы мне прикалываться-то... В окне диалога с неписем 5 строк. А мне нужно нажать 6ю или 7ю. Или СендМессадж и туда дотягивается с помощью того же волшебства, что и до первых 5ти?
Или жто только к меня в диалоге видно только 5 строк?
Хм, забавные картинки (+ карты высот) получаются после распаковки файлов с картами (опираясь на наработки luke с
Остается лишь до конца понять, как клиент определяет пересечение с «непроходимыми» объектами (заборы, дома), можно будет смело забыть обо всех трудностях передвижения бота…
Кто бы дал код программулины, чтоб в нем покапать и понять как они эту картинку получили.
А программка, что на скрине, твоя или скрин с сайта?
нуууу, опять ... дать исходник программы, дать готового бота...
есть же алгоритм распаковки, - идеальное описание, больше ничего и не надо.
P.S. скомпилированную программу, может быть, в скором времени выложу, но никак не ее код.
я не просил прям все!! (хотя это и было бы замечательно).
Я бы может и сам написал эту программу, но вот знаний маловато, и самостоятельно разобраться вряд ли смогу.
Поэтому и просил хотя бы код чтоб так сказать на примере!
Хотя наверно и это слишком сложно будет
dwar. Раз уж все помощи просят, то и я попрошу...
Не могу разобраться как в чат писать... Особенно интересно, как писать в отдельные группы...
Есть идеи, как это сделать?