|
You last visited: Today at 16:58
Advertisement
Rus. server
Discussion on Rus. server within the Perfect World forum part of the MMORPGs category.
01/26/2010, 16:29
|
#1366
|
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
|
Quote:
Originally Posted by Shamanpovt
ППЦ... прочитал за несоклько часов всю эту ветку... Поэтому задам вопрос, на который ответ не нашёл - как заинжектрировать функцию копки ресов? А то не хочется заниматься онанизмом через выборм моба и подмену 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;
Адрессочки тут тоже публиковались. Ровняй напильником и юзай
|
|
|
01/26/2010, 16:40
|
#1367
|
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
|
Quote:
Originally Posted by Barmank
Очень все просто, но работает тока в диалоговом акне для выбора пункта ответа!!!! Код на Delphi
координаты берем так:
X=30
Y=300+i*20
X,Y относительно диалогового окна I номер строки (1я = 0)
К сожалению данный способ, как я уже писал выше, не работает для кнопок в трейд окне ![Frown](images/smilies/frown.gif)
|
На выходных проверю, прям похоже на фантастику. Хотя были у меня подозрения, что именно там читается не буфер директинпута, но я их даже проверять не стал )
Кстати, а как нажать, например, 7ю строчку?
|
|
|
01/27/2010, 01:34
|
#1368
|
elite*gold: 0
Join Date: Jan 2010
Posts: 1
Received Thanks: 0
|
Ребят, помогите плиз. Пытаюст на автоите сборщик ресов написать, какой адрес для инжектирования использовать? а то найти не могу(((
|
|
|
01/27/2010, 03:40
|
#1369
|
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
|
Quote:
Originally Posted by dwar
Добрались таки до массива контролов (или окошек, не важно как называть) ![Wink](images/smilies/wink.gif) … Держите, если будет сие полезно (можно передвигать окна, получать описание предметов под курсором…).
[BA] + $1C + $04:: controls
$08 - Controls, wnd Ptr ( PTR, 4b)
[BA] + $1C + $04 + $08:: Controls, wnd
$18 - Current Wnd ( PTR, 4b)
$D0 - Movements count ( float, 4b)
$D4 - Wnd under mouse ( PTR, 4b)
$D8 - Wnd object under mouse ( PTR, 4b)
$DC - Wnd object usable under mouse ( PTR, 4b)
$E0-E4 - Hint Pos XY ( dword, 4x2b)
$218 - Inv wnd ( PTR, 4b)
$264 - Dialog wnd ( PTR, 4b)
$310 - Trader wnd ( PTR, 4b)
[BA] + $1C + $04 + $08 + wnd PTR:: Wnd description
$54-58 - Wnd Pos XY ( dword, 4x2b)
$60 - If drag ( bool1b) (1: if dragging)
$61 - is draggable ( bool1b)(1: true)
$64-68 - Mouse point, drag point ( dword, 4x2b)
$6C - Is wnd opened ( dword, 4b)
$90 - Usable control ( PTR, 4b)
$94 - Wnd object under mouse ( PTR, 4b) (same as [BA] + $1C + $04 + $08 + $D8)
$168 - Dialog options ( PTR, 4b)
[BA] + $1C + $04 + $08 + $wnd PTR + $168:: Dialog options
$A0 - Dialogs count ( dword, 4b)
$B0 - Current dialogs line ( dword, 4b)
$E0 - Dialogs count ( dword, 4b)
В [BA] + $1C + $04 + $08 + $18 записан указатель на текущее активное окно (по которому кликнули). До параметров окна можно добраться и через wndPTR (например, инвентарь - $218), не важно, открыто оно или нет.
P.S. Надеюсь, после последнего апдейти в данном массиве ничего не поменялось и большая часть указанных адресов действительна
|
Sorry, but:
$6C - Is wnd opened: BYTE
|
|
|
01/27/2010, 06:02
|
#1370
|
elite*gold: 0
Join Date: Dec 2009
Posts: 31
Received Thanks: 3
|
Quote:
Originally Posted by AlexGD
На выходных проверю, прям похоже на фантастику. Хотя были у меня подозрения, что именно там читается не буфер директинпута, но я их даже проверять не стал )
Кстати, а как нажать, например, 7ю строчку? ![Wink](images/smilies/wink.gif)
|
I=6 ([номер строки] - 1)
Насчет кнопочек вот инжект починки
Quote:
procedure BtnReparAllCall (aPParams: PParams); stdcall;
var
address ointer;
BaseCallAddress : DWORD;
begin
address := Pointer(aPParams^.Param7);
asm
pushad
push $0FFFFFFFF
push 0
push 0
call address
add esp, $0C
popad
end;
end;
|
Работает сразу минуя все вопросы выполнил и все починено ![Smile](images/smilies/smile.gif)
Можно с помощью нее и починку из инвентаря сделать, все волшебство в волшебных пузырьках, кх то есть первых 3х пушах, если поковыряться можно найти что туда класть ![Smile](images/smilies/smile.gif)
Также работает и инжект выше, вызов функции происходит уже после нажатия "Да",тока я ёё полноценно запустить не могу, кстати ижект покупки как брат близнец, 1й пуш ХЗ что а 2й количество занятых ячеек при покупке/продаже.
|
|
|
01/27/2010, 06:38
|
#1371
|
elite*gold: 0
Join Date: Dec 2009
Posts: 31
Received Thanks: 3
|
Quote:
Originally Posted by Vasilij3
Ребят, помогите плиз. Пытаюст на автоите сборщик ресов написать, какой адрес для инжектирования использовать? а то найти не могу(((
|
Quote:
procedure MiningCall(aPParams: PParams); stdcall;
var
BaseCallAddress: DWORD;
MiningCall : Pointer;
ItemSn : DWORD;
Pos word;
begin
BaseCallAddress := aPParams^.Param0; // $0098ADDC
ItemSn := aPParams^.Param1;
Pos := aPParams^.Param2;
MiningCall := Pointer(aPParams^.Param7); // $005DADD0
asm
pushad
push 0
push $C01 // ID кирки
push Pos // номер Ячейка
push 0
push ItemSN // SN ресурса
call MiningCall
add esp, 14h
popad
end;
end;
|
надеюсь сам на автоит переработаешь!
|
|
|
01/27/2010, 06:58
|
#1372
|
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
|
Quote:
Originally Posted by Barmank
I=6 ([номер строки] - 1)
|
Так строк в окне ж тока 5
|
|
|
01/27/2010, 07:35
|
#1373
|
elite*gold: 0
Join Date: Dec 2009
Posts: 31
Received Thanks: 3
|
Quote:
Originally Posted by AlexGD
Так строк в окне ж тока 5 ![Wink](images/smilies/wink.gif)
|
Прикалываешься?
|
|
|
01/27/2010, 08:19
|
#1374
|
elite*gold: 0
Join Date: Jan 2010
Posts: 1
Received Thanks: 0
|
Quote:
Originally Posted by moob1
Пацаны прикиньте черти с ач взяли и с моего кряка копирайты убрали и запостили там . )))
Я мля в шоке как так ? ))
харе спать вы куда все подевались ? ))
|
они ещё и забанить могут чтоб втихую как своё выложить))
|
|
|
01/27/2010, 08:34
|
#1375
|
elite*gold: 0
Join Date: Apr 2009
Posts: 237
Received Thanks: 403
|
Хм, забавные картинки (+ карты высот) получаются после распаковки файлов с картами (опираясь на наработки luke с
Остается лишь до конца понять, как клиент определяет пересечение с «непроходимыми» объектами (заборы, дома), можно будет смело забыть обо всех трудностях передвижения бота…
|
|
|
01/27/2010, 08:43
|
#1376
|
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
|
Quote:
Originally Posted by Barmank
Прикалываешься?
|
С чего бы мне прикалываться-то... В окне диалога с неписем 5 строк. А мне нужно нажать 6ю или 7ю. Или СендМессадж и туда дотягивается с помощью того же волшебства, что и до первых 5ти?
Или жто только к меня в диалоге видно только 5 строк?
|
|
|
01/27/2010, 09:20
|
#1377
|
elite*gold: 0
Join Date: Dec 2009
Posts: 31
Received Thanks: 3
|
Тю дошло, нет это не прокатит, тока если ползунок прокрутить
А что с помощью эвент мауса можно?
|
|
|
01/27/2010, 09:24
|
#1378
|
elite*gold: 0
Join Date: Dec 2009
Posts: 31
Received Thanks: 3
|
Quote:
Originally Posted by dwar
Хм, забавные картинки (+ карты высот) получаются после распаковки файлов с картами (опираясь на наработки luke с
Остается лишь до конца понять, как клиент определяет пересечение с «непроходимыми» объектами (заборы, дома), можно будет смело забыть обо всех трудностях передвижения бота…
|
Кто бы дал код программулины, чтоб в нем покапать и понять как они эту картинку получили.
А программка, что на скрине, твоя или скрин с сайта?
|
|
|
01/27/2010, 10:54
|
#1379
|
elite*gold: 0
Join Date: Dec 2009
Posts: 31
Received Thanks: 3
|
Quote:
Originally Posted by dwar
нуууу, опять ... дать исходник программы, дать готового бота...
есть же алгоритм распаковки, - идеальное описание, больше ничего и не надо.
P.S. скомпилированную программу, может быть, в скором времени выложу, но никак не ее код.
|
я не просил прям все!! (хотя это и было бы замечательно).
Я бы может и сам написал эту программу, но вот знаний маловато, и самостоятельно разобраться вряд ли смогу.
Поэтому и просил хотя бы код чтоб так сказать на примере!
Хотя наверно и это слишком сложно будет
|
|
|
01/27/2010, 13:01
|
#1380
|
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
|
dwar. Раз уж все помощи просят, то и я попрошу...
Не могу разобраться как в чат писать... Особенно интересно, как писать в отдельные группы...
Есть идеи, как это сделать?
|
|
|
All times are GMT +2. The time now is 16:58.
|
|