Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Актуально. Закрытие диалогового окна с НПС

-

Общение разработчиков

- Программирование для Perfect World, общение и обсуждене разработок

Ответ
 
Опции темы
Старый 31.01.2012, 20:58   #1
 Разведчик
Аватар для krysun
 
krysun на правильном пути
Регистрация: 01.07.2009
Сообщений: 23
Популярность: 83
Сказал(а) спасибо: 33
Поблагодарили 14 раз(а) в 11 сообщениях
Отправить сообщение для krysun с помощью Skype™
 
По умолчанию Актуально. Закрытие диалогового окна с НПС

Нужен инжект, или функция на закрытие диалогового окна с НПС.
Посылка ESC не подходит, т.к. размораживает клиент.
  Ответить с цитированием
Старый 31.01.2012, 22:59   #2
-= Мастер Света =-
 Рыцарь-капитан
Аватар для krukovis
 
krukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нации
Регистрация: 07.10.2009
Сообщений: 496
Популярность: 2687
Сказал(а) спасибо: 64
Поблагодарили 325 раз(а) в 105 сообщениях
 
По умолчанию Re: Актуально. Закрытие диалогового окна с НПС

Цитата:
Сообщение от krysunПосмотреть сообщение
Нужен инжект, или функция на закрытие диалогового окна с НПС.

А ты можешь подсказать какая правильная структура окон?
________________
--------------------------------------------

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
- Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
- Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
- патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
  Ответить с цитированием
Старый 31.01.2012, 23:19   #3
 Разведчик
Аватар для krysun
 
krysun на правильном пути
Регистрация: 01.07.2009
Сообщений: 23
Популярность: 83
Сказал(а) спасибо: 33
Поблагодарили 14 раз(а) в 11 сообщениях
Отправить сообщение для krysun с помощью Skype™
 
По умолчанию Re: Актуально. Закрытие диалогового окна с НПС

Все что нашел по окнам (на ПвЛаб).
Если тут что-то неправильно, пробуйте эти.

Глобальный список
Код:
BA+1c+18+8+AC - список высокоуровневых окон (4б)
 BA+1c+18+8+8С - список вспомогательных окон (4б)
Внутри каждого окна по смещению +1C8 лежит указатель на список контролов данного окна.
Структура списка (одинакова):
Код:
+4 - указатель на следующий элемент списка или 0, если элемент последний
 +8 - PTR контрола
Структура контролов различна для каждого конкретного типа контрола (метки, кнопки, флажки и т.п.). Но есть и много общего, что совпадает для всех контролов:
Код:
+18 - класс контрола (указатель на ASCII-Z строку)
 +84 - x-координата (4б, int, может быть отрицательна)
 +88 - y-координата (4б, int, может быть отрицательна)
 +8C - width (ширина контрола, 4б, int)
 +90 - height (высота контрола, 4б, int)
Координаты контролов задаются относительно родительского окна (и могут быть отрицательными). Путём прямой модификации структуры контролов можно менять их состояние. Например, для меток (классы, начинающиеся с "Txt_"), по +B8 лежит указатель на текст метки. Для флажков (классы "Chk_") по +121 лежит 1-байтовое поле "чекнутости". Если там 1, флажок установлен.

инжект наиболее важной функции, которая играет для гуйщика ту же роль, что пакетная функция - для пакетчика.
Код:
809A00 - SendGUICommand.
 esi=ecx = PTR целевого окна
 1 арг. - указатель на символьную строку с командой
Код:
7FD4C0 - инжект установки активного окна
 ecx=BA+1c+18+8,
 1 арг. - PTR окна, которое должно стать активным
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
krukovis (01.02.2012), pw.lancer (13.05.2012)
Старый 01.02.2012, 22:38   #4
-= Мастер Света =-
 Рыцарь-капитан
Аватар для krukovis
 
krukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нации
Регистрация: 07.10.2009
Сообщений: 496
Популярность: 2687
Сказал(а) спасибо: 64
Поблагодарили 325 раз(а) в 105 сообщениях
 
По умолчанию Re: Актуально. Закрытие диалогового окна с НПС

Цитата:
Сообщение от krysunПосмотреть сообщение
Нужен инжект, или функция на закрытие диалогового окна с НПС.

Тут http://zhyk.ru/forum/showpost.php?p=...8&postcount=94
________________
--------------------------------------------

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
- Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
- Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
- патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
  Ответить с цитированием
Пользователь сказал cпасибо:
krysun (03.02.2012)
Старый 01.04.2012, 00:28   #5
 Сержант
Аватар для gurin
 
gurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компании
Регистрация: 18.12.2009
Сообщений: 152
Популярность: 1075
Сказал(а) спасибо: 45
Поблагодарили 204 раз(а) в 67 сообщениях
Отправить сообщение для gurin с помощью Skype™
 
По умолчанию Re: Актуально. Закрытие диалогового окна с НПС

Нельзя ли привести пример читающий список всех caption (если он есть) control всех окон?

а то что-то ка не мудрю - все фигня выходит

Код:
procedure ReadWinControls(hProc: THandle);
const
  base_addr = $B27A04;
  HiWin: array [1..5] of dword = (base_addr, $1c, $18, $8, $AC);
  LoWin: array [1..5] of dword = (base_addr, $1c, $18, $8, $8C);
var
  wins_addr, win_addr, ctrls_addr, ctrl_addr, ctrl_class_addr: dword;
  ctrl_class: string;
begin
  // список высокоуровневых окон
  wins_addr := ChainRead32(hProc, @LoWin, High(LoWin));
  repeat
    if wins_addr <> 0 then
    begin
      // PTR структуры окна
      win_addr := ReadInt32(hProc, ReadInt32(hProc, wins_addr) + $8);
      // указатель на список контролов данного окна
      ctrls_addr := ReadInt32(hProc, ReadInt32(hProc, win_addr) + $1C8);
      if ctrls_addr <> 0 then
      repeat
        // PTR контрола
        ctrl_addr := ReadInt32(hProc, ReadInt32(hProc, ctrls_addr) + $8);
        // класс контрола (указатель на ASCII-Z строку)
        ctrl_class_addr := ReadInt32(hProc, ReadInt32(hProc, ctrl_addr) + $18);
        ctrl_class := ReadString(hProc, ctrl_class_addr);
        // указатель на слудующий контрол данного окна
        ctrls_addr := ReadInt32(hProc, ReadInt32(hProc, ctrls_addr) + $4);
      until ctrls_addr = 0;
      //указатель на следующий элемент списка или 0, если элемент последний
      wins_addr := ReadInt32(hProc, ReadInt32(hProc, wins_addr) + $0);
    end;
  until wins_addr = 0;
end;

Последний раз редактировалось gurin; 01.04.2012 в 01:16.
  Ответить с цитированием
Старый 01.04.2012, 13:20   #6
-= Мастер Света =-
 Рыцарь-капитан
Аватар для krukovis
 
krukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нации
Регистрация: 07.10.2009
Сообщений: 496
Популярность: 2687
Сказал(а) спасибо: 64
Поблагодарили 325 раз(а) в 105 сообщениях
 
По умолчанию Re: Актуально. Закрытие диалогового окна с НПС

Так можно получить указатели на все окна высокого или низкого уровня.
Код:
        'Перечисления 
        Public Enum winLvlStruct As Integer
            structHightLevel = 1
            structLowLevel = 2
        End Enum
        'Получает все окна в заданном списке Высокого уровня или Низкого 
        Public Function getWinList(winStructLevel As Integer) As ArrayList
            Dim WinStruct As Integer
            'Лист для сохранения найденных окон
            Dim winList As New ArrayList

            If winStructLevel = 1 Then 
                'Обяъвляем адрес начала структуры окон высокого уровня
                WinStruct = MemoryManager.ChainReadInt32(adrBaseAddress, &H1C, &H18, &H8,  &HAC)
            ElseIf winStructLevel = 2 Then
                'Обяъвляем адрес начала структуры окон низкого уровня
                WinStruct = MemoryManager.ChainReadInt32(adrBaseAddress, &H1C, &H18, &H8,  &H8C)
            Else
                Return Nothing
            End If

            'Указатель на текущую структуру окна
            Dim currentWinPtr As Integer = MemoryManager.ReadInt32(WinStruct + &H8)
            'Указатель на структуру следующего окна или 0, если это последнее окно
            Dim nextWinPtr As Integer = MemoryManager.ReadInt32(WinStruct + &H0)

            'Рассмотрим окна
            'Выходим если наткнемся на ноль
            Do Until nextWinPtr = 0
                winList.Add(currentWinPtr)
                'берем следующее окно 
                nextWinPtr = MemoryManager.ReadInt32(nextWinPtr + &H0)
                'И смотрим в его структуру
                currentWinPtr = MemoryManager.ReadInt32(nextWinPtr + &H8)
            Loop
            Return winList
        End Function
А наименование окна можно прочитать так:
Код:
'Параметр имени окна (ASCII строка) по указателю
        Public Function getWinNameOnPtr(winPtr As Int32) As String
            Return MemoryManager.ChainReadString_ASCII(winPtr + &H4C, 32, 0)
        End Function
Если в более привычной записи то это так: WinName = WinPtr + $4C +$0.
________________
--------------------------------------------

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
- Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
- Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
- патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
  Ответить с цитированием
Старый 01.04.2012, 15:19   #7
 Сержант
Аватар для gurin
 
gurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компании
Регистрация: 18.12.2009
Сообщений: 152
Популярность: 1075
Сказал(а) спасибо: 45
Поблагодарили 204 раз(а) в 67 сообщениях
Отправить сообщение для gurin с помощью Skype™
 
По умолчанию Re: Актуально. Закрытие диалогового окна с НПС

Получаю ту же фигню на китайском и окон 428 штук, мне кажется их там столько нету
Код:
procedure ReadWinAddrList(hProc: THandle; winList: TStrings);
const
  HiWin: array [1..5] of dword = (base_addr, $1c, $18, $8, $AC);
  LoWin: array [1..5] of dword = (base_addr, $1c, $18, $8, $8C);
var
  WinStruct, currentWinPtr, nextWinPtr: dword;
  WinType: Integer;
begin
  for WinType := 1 to 2 do
  begin
    // Обяъвляем адрес начала структуры окон высокого уровня
    if WinType = 1 then
      WinStruct := ChainReadInt32(hProc, @HiWin, High(HiWin))
    else
    if WinType = 2 then
      WinStruct := ChainReadInt32(hProc, @LoWin, High(LoWin));
    // Указатель на текущую структуру окна
    currentWinPtr := ReadInt32(hProc, WinStruct + $8);
    // Указатель на структуру следующего окна или 0, если это последнее окно
    nextWinPtr := ReadInt32(hProc, WinStruct + $0);
    // Рассмотрим окна
    // Выходим если наткнемся на ноль
    while nextWinPtr <> 0 do
    begin
      winList.Add(IntToHex(currentWinPtr, 8));
      // берем следующее окно
      nextWinPtr := ReadInt32(hProc, nextWinPtr + $0);
      // И смотрим в его структуру
      currentWinPtr := ReadInt32(hProc, nextWinPtr + $8);
    end;
  end;
end;

function getWinNameOnPtr(hProc: THandle; winPtr: dword): String;
begin
  Result := ReadString(hProc, ReadInt32(hProc, winPtr + $4C));
end;
и мне кажется что тут
Код:
                nextWinPtr = MemoryManager.ReadInt32(nextWinPtr + &H0)
                'И смотрим в его структуру
                currentWinPtr = MemoryManager.ReadInt32(nextWinPtr + &H8)
ошибка
nextWinPtr и так содержит указатель на следующее окно, мы получается через одно скачем. Мне кажется строки надо переставить местами, я уж не говорю о том что если nextWinPtr станет = 0, то в currentWinPtr будет чепуха
это не критично, т.к. дальше нигде использоваться не будет, но все-же

Добавлено через 57 минут
простая функция, возвращающая заголовок 1-го окна

Код:
function getFirstHiWinName(hProc: THandle): String;
const
  HiWin: array [1..7] of dword = ($B27A04, $1c, $18, $8, $AC, $8, $4C);
var
  addr: dword;
begin
  addr := ChainReadInt32(hProc, @HiWin, High(HiWin));
  Result := ReadString(hProc, addr);
end;
возвращает ровно ту же фигню на китайском что и пара функций выше

Последний раз редактировалось gurin; 01.04.2012 в 16:17. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 01.04.2012, 18:29   #8
 Разведчик
Аватар для vogel
 
vogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личностьvogel определенно авторитетная личность
Регистрация: 17.09.2009
Сообщений: 46
Популярность: 1187
Сказал(а) спасибо: 8
Поблагодарили 50 раз(а) в 13 сообщениях
 
По умолчанию Re: Актуально. Закрытие диалогового окна с НПС

Я закрываю диалог так :

Код:
procedure THostPlayer.CloseDialog();
var
  aParams : TParams;
begin
  aParams.Param1 := DlgCancelPush;
  self._process.InjectFunc(@DialogOperationCall, @aParams, SizeOf(aParams));
end;
Функция инжекта выглядит так :

Код:
procedure DialogOperationCall(aPParams : PParams); stdcall;
var
  address : Pointer;
  param : Cardinal;
begin
  address := Pointer(DialogOpAddr);   param := aPParams^.Param1;
  asm
      pushad
        push  param
        mov   esi, dword ptr [PW_BASE_ADDRESS]
        mov   esi, dword ptr [esi + PW_DYNAMIC_BASE_OFFSET]
        mov   esi, dword ptr [esi + PW_UIMANAGER_OFFSET]
        mov   esi, dword ptr [esi + PW_UIMANAGER_GAMEUI_OFFSET]
        mov   esi, dword ptr [esi + PW_UIMANAGER_CURRENT_DIALOG]
        mov   ecx, esi
        call  address
      popad
  end;
  address := nil;
end;
Вот необходимые константы для актуальной версии ру-оффа :
Код:
  DlgCancelPush     = $00ACB998;
  DialogOpAddr      = $00809A00;

  PW_BASE_ADDRESS   = $00b27a04;
  PW_DYNAMIC_BASE_OFFSET = $001c;       // [base] + 1c = CECGameRun
  PW_UIMANAGER_OFFSET = $0018;          // [base] + 1c + 18
  PW_UIMANAGER_GAMEUI_OFFSET  = $0008;   // [base] + 1c + 18 + 08 = CECGameUIMan
  PW_UIMANAGER_CURRENT_DIALOG = $0074;   // [base] + 1c + 18 + 08 + 74

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Помог ? Не будь жлобом - нажми "Спасибо" !
  Ответить с цитированием
Пользователь сказал cпасибо:
gurin (01.04.2012)
Старый 01.04.2012, 18:35   #9
 Сержант
Аватар для gurin
 
gurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компании
Регистрация: 18.12.2009
Сообщений: 152
Популярность: 1075
Сказал(а) спасибо: 45
Поблагодарили 204 раз(а) в 67 сообщениях
Отправить сообщение для gurin с помощью Skype™
 
По умолчанию Re: Актуально. Закрытие диалогового окна с НПС

Цитата:
Сообщение от vogelПосмотреть сообщение
DlgCancelPush

а адреса DlgOkPush нет случайно?
  Ответить с цитированием
Старый 01.04.2012, 21:20   #10
-= Мастер Света =-
 Рыцарь-капитан
Аватар для krukovis
 
krukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нации
Регистрация: 07.10.2009
Сообщений: 496
Популярность: 2687
Сказал(а) спасибо: 64
Поблагодарили 325 раз(а) в 105 сообщениях
 
По умолчанию Re: Актуально. Закрытие диалогового окна с НПС

Цитата:
Сообщение от gurinПосмотреть сообщение
а адреса DlgOkPush нет случайно?

Поставить брейк-поинт сюда 00809A02 и нажми ОК, в ESI загрузится адрес команды.

Добавлено через 3 минуты
Цитата:
Сообщение от gurinПосмотреть сообщение
и мне кажется что тут
Код:

nextWinPtr = MemoryManager.ReadInt32(nextWinPtr + &H0)
'И смотрим в его структуру
currentWinPtr = MemoryManager.ReadInt32(nextWinPtr + &H8)

ошибка

Я тебе выложил готовый код из своей программы и код абсолютно рабочий. Может просто переведешь и будешь юзать, вместо того, чтобы искать ошибки?
________________
--------------------------------------------

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
- Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
- Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
- патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------

Последний раз редактировалось krukovis; 01.04.2012 в 21:24. Причина: Добавлено сообщение
  Ответить с цитированием
Пользователь сказал cпасибо:
gurin (01.04.2012)
Старый 01.04.2012, 23:23   #11
 Сержант
Аватар для gurin
 
gurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компании
Регистрация: 18.12.2009
Сообщений: 152
Популярность: 1075
Сказал(а) спасибо: 45
Поблагодарили 204 раз(а) в 67 сообщениях
Отправить сообщение для gurin с помощью Skype™
 
По умолчанию Re: Актуально. Закрытие диалогового окна с НПС

я перевел и привел его выше в посте
он у меня не заработал, потому и начал искать где налажал, не нашел , но нашел то что написал. Сорри если не в тему.

спасибо за брейкпойнт (сейчас порою) - и за то что вообще даёшь информацию
  Ответить с цитированием
Старый 02.04.2012, 01:24   #12
 Сержант
Аватар для gurin
 
gurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компании
Регистрация: 18.12.2009
Сообщений: 152
Популярность: 1075
Сказал(а) спасибо: 45
Поблагодарили 204 раз(а) в 67 сообщениях
Отправить сообщение для gurin с помощью Skype™
 
По умолчанию Re: Актуально. Закрытие диалогового окна с НПС

Каждый раз там разные значения. Но даже если его взять за адрес, то если его подставить вместо BTN_CLOSE - ничего не происходит.

Перешерстил весь код клиента, нашел несколько ссылок на IDOK, наиболее вероятная мне показалась $AD4870, но... не пашет , как и все остальные, видимо в коте эта кнопка не IDOK
Изображения
Тип файла: jpg 1.jpg (94.1 Кб, 47 просмотров)
Тип файла: jpg 2.jpg (94.5 Кб, 26 просмотров)
  Ответить с цитированием
Старый 02.04.2012, 08:42   #13
-= Мастер Света =-
 Рыцарь-капитан
Аватар для krukovis
 
krukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нацииkrukovis гордость нации
Регистрация: 07.10.2009
Сообщений: 496
Популярность: 2687
Сказал(а) спасибо: 64
Поблагодарили 325 раз(а) в 105 сообщениях
 
По умолчанию Re: Актуально. Закрытие диалогового окна с НПС

Цитата:
Сообщение от gurinПосмотреть сообщение
Каждый раз там разные значения.

Функция работы с gui принимает ТЕКСТОВЫЕ команды. Т.е. клиент выделяет место в памяти в случайном месте и помещает туда ASCII строку, например для кнопки ОК у кота это слово "confirm", и загружает адрес этой команды в функцию. Для кнопки Отмена - текст будет "IDCANCAL". Для этой команды есть и постоянное значение в памяти - текст по адресу 0x00ACB998 (используется при закрытие на крестик). Название то же, только выделять место в памяти не нужно, т.к. это стандартная команда для всех окон, для нее сделали константу. Но для кнопки так же выделяется память и туда пишется команда.
________________
--------------------------------------------

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
- Совершенный автологин для Perfect World [RUOFF, PWI, Фришек 1.4.4 - 1.4.5]
--------------------------------------------

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
- Патч на Горны, Красный (да и любой) чат, Анфриз, Бесконечный зум, Моментальный разгон на полете для RUOFF, PWI и прочих 1.4.6 и фришек 1.4.4, 1.4.5.
--------------------------------------------

Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
- патчер для серверов 1.4.5 и 1.4.4 работающий с включенной игрой.
--------------------------------------------
  Ответить с цитированием
Пользователь сказал cпасибо:
gurin (02.04.2012)
Старый 02.04.2012, 13:11   #14
 Сержант
Аватар для gurin
 
gurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компании
Регистрация: 18.12.2009
Сообщений: 152
Популярность: 1075
Сказал(а) спасибо: 45
Поблагодарили 204 раз(а) в 67 сообщениях
Отправить сообщение для gurin с помощью Skype™
 
По умолчанию Re: Актуально. Закрытие диалогового окна с НПС

СПАСИБО!!! Нашёл, адрес кнопки ОК - 00ACB6C8
  Ответить с цитированием
Старый 27.02.2014, 23:38   #15
 Пехотинец
Аватар для tianddu
 
tianddu на правильном путиtianddu на правильном пути
Регистрация: 20.08.2009
Сообщений: 90
Популярность: 173
Сказал(а) спасибо: 14
Поблагодарили 26 раз(а) в 8 сообщениях
 
По умолчанию Re: Актуально. Закрытие диалогового окна с НПС

а живого закрытия диалога нет ни у кого?)
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] баг на закрытие профиля! /predator=- Общение и обсуждение 1 20.01.2012 00:56
Закрытие клиента Fuckker555 Вопросы и ответы: RF Online 2 29.11.2011 22:47
Закрытие игры sanekkka Общение и обсуждение S4 League 25 06.06.2011 13:54
[Помогите!] Закрытие формы CheaterNoob Вопросы и ответы, обсуждения 2 22.04.2011 03:18

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 10:31.

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net