Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Perfect World
You last visited: Today at 14:33

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Rus. server

Discussion on Rus. server within the Perfect World forum part of the MMORPGs category.

Reply
 
Old 01/04/2010, 15:49   #1216
 
muzhig's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 85
Received Thanks: 27
Кто нибудь умеет использовать предметы инвентаря?
Ну там, пить банки например. интересует адрес инжекта.
muzhig is offline  
Old 01/05/2010, 18:13   #1217
 
elite*gold: 0
Join Date: Nov 2009
Posts: 69
Received Thanks: 5
и покупать их у нпс
Novohyd is offline  
Old 01/06/2010, 02:05   #1218
 
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
мужик: вроде как вот этот $005B7920

Но я сам инжект еще не имплементировал Времени нет... Если у тебя получится - скинь код плиз...
AlexGD is offline  
Old 01/06/2010, 02:55   #1219
 
elite*gold: 0
Join Date: Nov 2009
Posts: 96
Received Thanks: 31
Quote:
Originally Posted by muzhig View Post
использовать предметы инвентаря
вот эти адресса выкладывали на форуме - может они помогут..

Items for sale - $5DC430
Body Repair - $5DC4B0
Pick up items - $5B7B00
Discarded items - $5DBD80
The use of items - $5B7920
Collection items - $5DADD0

.. сам пока не пробывал.
origmas is offline  
Thanks
1 User
Old 01/06/2010, 10:26   #1220
 
inkredibil's Avatar
 
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 : [ Nu este finalizat , momentan serverul apoi site ]
Forum : [ 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: [not completed, then the server temporarily Site]
Forum: [Here you find instructions to connect and more tutorials for quests]

Waiting for answers.
Thanks in advance!
inkredibil is offline  
Old 01/06/2010, 15:32   #1221
 
elite*gold: 0
Join Date: May 2009
Posts: 66
Received Thanks: 6
класно в молдавии зажигают !!!
Biga73 is offline  
Old 01/06/2010, 20:58   #1222
 
muzhig's Avatar
 
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;
muzhig is offline  
Thanks
6 Users
Old 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;
dwar is offline  
Thanks
6 Users
Old 01/08/2010, 16:14   #1224
 
elite*gold: 0
Join Date: Jan 2009
Posts: 137
Received Thanks: 19
Оно конечно лучше, но я, например, все равно перед вызовом проверяю рюкзак. И если нету банки - то балун орет, что банки кончились и ессно ничего не вызывается. Но все равно биг сенкс!

Ребят. Не могу с чатом разобраться... Как отправить мессагу именно, например, в групчат, а не в тот, который активен? В чате ПВ, если не указываешь перед строкой "!!", то улетает в общий, пишешь "/", то идет в приват. А если из проги пишу - то идет "!!..." в активный...
AlexGD is offline  
Old 01/09/2010, 19:00   #1225
 
muzhig's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 85
Received Thanks: 27
Кстати, есть там проверки все. если банки кончается, ничего не крушится.
muzhig is offline  
Old 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.
2.

P.S. Никто не задавался целью написать парсер для перевода item_desc.txt и skillstr.txt, к примеру, в xml или в другой формат?

P.P.S.
Quote:
Кстати, есть там проверки все. если банки кончается, ничего не крушится.
А никто и не говорит, что клиент рухнет
dwar is offline  
Thanks
5 Users
Old 01/10/2010, 12:32   #1227
 
elite*gold: 0
Join Date: Aug 2009
Posts: 5
Received Thanks: 0
Как понимаю у некоторых, или у многих, людей здесь, есть свои умные боты, готов пообщаться на предмет покупки 312156662
Kolimas is offline  
Old 01/10/2010, 13:42   #1228
 
muzhig's Avatar
 
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
muzhig is offline  
Old 01/10/2010, 14:42   #1229
 
elite*gold: 0
Join Date: Apr 2009
Posts: 237
Received Thanks: 403
С созданием локальной базы данных есть небольшая трудность. Часть описаний, параметры мобов и лут, падающий с них, все это в «elements.data», для которого нужно сделать собственный экстрактор…

Еще раз архивы
1.
2.
dwar is offline  
Old 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;
AlexGD is offline  
Thanks
2 Users
Reply




All times are GMT +2. The time now is 14:33.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.