|
You last visited: Today at 14:33
Advertisement
Rus. server
Discussion on Rus. server within the Perfect World forum part of the MMORPGs category.
01/04/2010, 15:49
|
#1216
|
elite*gold: 0
Join Date: Sep 2009
Posts: 85
Received Thanks: 27
|
Кто нибудь умеет использовать предметы инвентаря?
Ну там, пить банки например. интересует адрес инжекта.
|
|
|
01/05/2010, 18:13
|
#1217
|
elite*gold: 0
Join Date: Nov 2009
Posts: 69
Received Thanks: 5
|
и покупать их у нпс
|
|
|
01/06/2010, 02:05
|
#1218
|
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
|
мужик: вроде как вот этот $005B7920
Но я сам инжект еще не имплементировал ![Frown](images/smilies/frown.gif) Времени нет... Если у тебя получится - скинь код плиз...
|
|
|
01/06/2010, 02:55
|
#1219
|
elite*gold: 0
Join Date: Nov 2009
Posts: 96
Received Thanks: 31
|
Quote:
Originally Posted by muzhig
использовать предметы инвентаря
|
вот эти адресса выкладывали на форуме - может они помогут..
Items for sale - $5DC430
Body Repair - $5DC4B0
Pick up items - $5B7B00
Discarded items - $5DBD80
The use of items - $5B7920
Collection items - $5DADD0
.. сам пока не пробывал.
|
|
|
01/06/2010, 10:26
|
#1220
|
elite*gold: 0
Join Date: Feb 2008
Posts: 244
Received Thanks: 42
|
In primul rand salut la toata lumea !
Robattle a deschis un server de Perfect World tinut de RDS , NOLAG , GM`s prietenosi , tot ce ne mai trebuie sunt playerii , terminarea siteului , si a sistemului de votare [ 1 vot = 100/500 cubi-gold ].
Deci cine vrea sa intre este bine venit si o mana de ajutor in popularea serverului deasemenea .
Probabil stiti ca Perfect World este unul dintre cele mai coplexe MMORPG-uri
In doar cateva zile este populat de cativa playeri si sunt convins ca va fi printre primele locuri in extremetop , sau alte siteuri .
Ratele serverului sunt :
Info Server:
Server Conectare: pw.game-area.ro:29000
Rate:
XP: 50x
Pet XP: La fel ca stapanul
SP: 50x
Drop: 100x
Gold: 50x
Screenshot:
Momentan operatorii serverului lucreaza la un sistem de votare prin care la fiecare vot castigi Cubi-Gold ceea ce este foarte rar si destul de complicat !
Site : ![](https://www.elitepvpers.com/forum/images/elitepvpers/buttons/hiddenlink.png) [ Nu este finalizat , momentan serverul apoi site ] Forum : ![](https://www.elitepvpers.com/forum/images/elitepvpers/buttons/hiddenlink.png) [ Aici gasiti instructiuni de conectare si multe tutoriale pentru questuri ]
Astept raspunsuri .
Multumesc anticipat !
First of all hello to everybody!
Robattle opened a server Perfect World held by RDS, NOLAG, GM `s friendly, all we need are Players, termination site, and the system of voting [1 vote = 100/500 cubic-gold].
So who wants to join is welcome and a helping hand in the popular server too.
You probably know that Perfect World is one of the complexes MMORPG's
In just a few days is populated by a few players and I am sure will be among the first places extremetop, or other sites.
Server rates are:
Info Server:
Server Login: pw.game-area.ro: 29,000
OS - Linux ubuntu
Online -NON STOP
Rate:
XP: 50x
Pet XP: Same as owner
SP: 50x
Drop: 100x
Gold: 50x
Screenshot:
Currently working on a server operators voting system whereby every vote win Cubi-Gold which is very rare and quite complicated!
Site: ![](https://www.elitepvpers.com/forum/images/elitepvpers/buttons/hiddenlink.png) [not completed, then the server temporarily Site] Forum: ![](https://www.elitepvpers.com/forum/images/elitepvpers/buttons/hiddenlink.png) [Here you find instructions to connect and more tutorials for quests]
Waiting for answers.
Thanks in advance!
|
|
|
01/06/2010, 15:32
|
#1221
|
elite*gold: 0
Join Date: May 2009
Posts: 66
Received Thanks: 6
|
класно в молдавии зажигают !!!
|
|
|
01/06/2010, 20:58
|
#1222
|
elite*gold: 0
Join Date: Sep 2009
Posts: 85
Received Thanks: 27
|
Пока дождался что ответят, сам сделал)))
Нашел адресок.
Взял китайский вариант и исправил его. (капец у них бред в асме порой)
Теперь банки пьет тока так)
Вот вам, держите:
Code:
const UseItemsCallAddr=$5DA4C0;
procedure UseItemsCall(aPParams:PParams); Stdcall;
var
Address: pointer;
P1,p2: dword;
begin
Address:=Pointer(UseItemsCallAddr);
P1:=aPParams^.Param1; // ItemID
p2:=aPParams^.Param2; // ItemPosition //номер ячейки
asm
pushad
push 1
push p1
push p2
push 0
call address
add esp, 10h
popad
end;
end;
|
|
|
01/08/2010, 12:22
|
#1223
|
elite*gold: 0
Join Date: Apr 2009
Posts: 237
Received Thanks: 403
|
Quote:
Пока дождался что ответят, сам сделал
|
Так ведь все нужные адреса для инъекции уже выложены…
P.S. Лучше пользоваться предшествующей функций, т.к. внутри нее идет проверка на наличие указанных элементов и т.д.:
Code:
PW_Call_ItemsUse : dword = $005B7920;
PW_Addr_Base : dword = $0098ADDC;
procedure Call_ItemsUse(Items: PParams); stdcall;
var
ID : dword;
ItemInvPos : dword;
PW_Call : pointer;
begin
PW_Call := pointer(PW_Call_ItemsUse);
ID := Items^.pDword1;
ItemInvPos := Items^.pDword2;
asm
pushad
mov ecx, PW_Addr_Base
mov ecx, dword ptr [ecx]
mov ecx, dword ptr [ecx + $20]
push $1
mov edx, ID
push edx
mov eax, ItemInvPos
push eax
push $0
add ECX, $EC
call PW_Call
popad
end;
end;
|
|
|
01/08/2010, 16:14
|
#1224
|
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
|
Оно конечно лучше, но я, например, все равно перед вызовом проверяю рюкзак. И если нету банки - то балун орет, что банки кончились и ессно ничего не вызывается. Но все равно биг сенкс!
Ребят. Не могу с чатом разобраться... Как отправить мессагу именно, например, в групчат, а не в тот, который активен? В чате ПВ, если не указываешь перед строкой "!!", то улетает в общий, пишешь "/", то идет в приват. А если из проги пишу - то идет "!!..." в активный...
|
|
|
01/09/2010, 19:00
|
#1225
|
elite*gold: 0
Join Date: Sep 2009
Posts: 85
Received Thanks: 27
|
Кстати, есть там проверки все. если банки кончается, ничего не крушится.
|
|
|
01/10/2010, 01:45
|
#1226
|
elite*gold: 0
Join Date: Apr 2009
Posts: 237
Received Thanks: 403
|
Если кому-то требуется нажимать кнопки в игре:
Code:
BtnAddr =
00933EB4 "IDCANCEL"
00956C1C "IDNO"
00956C24 "IDYES"
00941540 "IDOK"
00933A24 "confirm"
procedure BtnPress(Btn: PParams); stdcall;
var
PW_Call :pointer;
PW_BASE_ADDR : DWORD;
begin
PW_Call := pointer($00711BE0);
PW_BASE_ADDR := $98B47C;
asm
pushad
mov eax, BtnAddr
push eax
mov esi, PW_BASE_ADDR
mov esi, dword ptr [esi]
mov esi, dword ptr [esi+$4]
mov esi, dword ptr [esi+$8]
mov esi, dword ptr [esi+$18]
mov ecx, esi
call PW_Call
popad
end;
end;
По возможности, проверьте еще раз на работоспособность
«IDCANCEL», например, поможет закрыть окно торговца. Для последнего можно воспользоваться еще одним очень грубым методом – обнулить значения по адресам [BA] + $1C + $20 + $AEC, $AF9, чар сможет спокойно бегать, но на экране останется висеть диалог торговца.
Вот два архива с 25000 иконками из игры (предметы и т.п., но нет скиллов, иконок гильдий) для male/female игрока. Имя файла – ид предмета в игре.
1. ![](https://www.elitepvpers.com/forum/images/elitepvpers/buttons/hiddenlink.png) 2.
P.S. Никто не задавался целью написать парсер для перевода item_desc.txt и skillstr.txt, к примеру, в xml или в другой формат?
P.P.S.
Quote:
Кстати, есть там проверки все. если банки кончается, ничего не крушится.
|
А никто и не говорит, что клиент рухнет
|
|
|
01/10/2010, 12:32
|
#1227
|
elite*gold: 0
Join Date: Aug 2009
Posts: 5
Received Thanks: 0
|
Как понимаю у некоторых, или у многих, людей здесь, есть свои умные боты, готов пообщаться на предмет покупки 312156662
|
|
|
01/10/2010, 13:42
|
#1228
|
elite*gold: 0
Join Date: Sep 2009
Posts: 85
Received Thanks: 27
|
Quote:
P.S. Никто не задавался целью написать парсер для перевода item_desc.txt и skillstr.txt, к примеру, в xml или в другой формат?
|
Я skillstr.txt выкинул в базу на sqlite. По идее ее можно экспортировать в XML.
И вообще принялся составлять базу данных всех объектов. Мобов, лута итд. и их расположения.
То есть, пока я играю просто- прога пишет где какие мобы водятся, где какие ресы итд.))
пока только начал, так что выкладывать нет смысла наверное, позже выложу если вам надо.
Мне для счастья не хватает двух вещей:
1) Где взять OwnerID у лута? Это вообще реально узнать?
2) Реализавал кто нибудь диалог с НПС? а то открыть диалог все могут, а вот что дальше делать- без вариантов(
Quote:
Имя файла – ид предмета в игре.
1. Female icons
2. Male icons
|
Не могу скачать никак( можешь залить еще куда нибудь? например на ifolder.ru, depositfiles.com, rapidshare.com.. да хоть куда
ЗЫ: За кнопочки и иконки еще раз спасибо, dwar
|
|
|
01/10/2010, 14:42
|
#1229
|
elite*gold: 0
Join Date: Apr 2009
Posts: 237
Received Thanks: 403
|
С созданием локальной базы данных есть небольшая трудность. Часть описаний, параметры мобов и лут, падающий с них, все это в «elements.data», для которого нужно сделать собственный экстрактор…
Еще раз архивы
1. ![](https://www.elitepvpers.com/forum/images/elitepvpers/buttons/hiddenlink.png) 2.
|
|
|
01/10/2010, 18:15
|
#1230
|
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
|
> 1) Где взять OwnerID у лута? Это вообще реально узнать?
Судя по поведению игры это на стороне сервера решается... Но, конечно, могу и ошибаться.
> 2) Реализавал кто нибудь диалог с НПС? а то открыть диалог все могут, а вот что дальше делать- без вариантов(
Не поверишь пришлось маус_ивент пока юзать (
Code:
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// ~~~ Procedure to send mouse click to elementclient
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
procedure TaPWT.SendMouseClick(aWindowHandle: HWND; aButton: WideString;
X, Y: integer; RestoreActiveWindow: boolean);
var
Point: TPoint;
aPWRect: TRect;
ActiveWindowHandle: HWND;
modX, modY: integer;
begin
modX := 65535 div screen.Width;
modY := 65535 div screen.Height;
GetCursorPos(Point);
GetWindowRect(aWindowHandle, aPWRect);
ActiveWindowHandle := screen.ActiveForm.Handle;
SetForegroundWindow(aWindowHandle);
sleep(500);
mouse_event(MOUSEEVENTF_ABSOLUTE + MOUSEEVENTF_MOVE, modX * (aPWRect.Left + X)
, modY * (aPWRect.Top + Y), 0, 0);
if aButton = 'left' then
begin
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
sleep(100);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
sleep(100);
end;
if aButton = 'right' then
begin
mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0);
sleep(100);
mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);
sleep(100);
end;
if RestoreActiveWindow then
begin
SetForegroundWindow(ActiveWindowHandle);
sleep(100);
end;
mouse_event(MOUSEEVENTF_ABSOLUTE + MOUSEEVENTF_MOVE, modX * (Point.X), modY *
(Point.Y), 0, 0);
sleep(100);
end;
|
|
|
All times are GMT +2. The time now is 14:33.
|
|