Показать сообщение отдельно
Старый 23.11.2010, 16:40   #49
MaS0n
Модератор
 
Регистрация: 09.03.2010
Адрес: dev/null
Сообщений: 126
Сказал(а) спасибо: 44
Поблагодарили 111 раз(а) в 47 сообщениях
MaS0n Скоро придёт к известностиMaS0n Скоро придёт к известности
Отправить сообщение для MaS0n с помощью ICQ
По умолчанию

Увы, по-моему это невозможно(без взломов и модификаций клиента), сейчас обьясню почему :
Покопался я тут минут 30 в клиенте, подебажил и вот что открылось
После анализа адресов возврата вызывающих функций - пришел к этому куску кода, в функции CGlueMgr__Resume

Код:
// метка, возвращающая нам в итоге адрес точной константы для определения адреса сервера - SERVER_ALERT_URL
.text:004DA983                 call    loc_6B0DF0
// ложим будущий аргумент функции(адрес) в стек
.text:004DA988                 push    eax
// вызываем вот эту функцию, которая занимается тем, что вытаскивает по таким константам 
// строки - GlueXML - GlueStrings.lua/GlueLocalization.lua, FrameXML - GlobalStrings.lua, возвращаемое значение 
// всегда лежит в eax, а возвращает эта функция нам адрес места хранения строки из файлов клиента, который она сама же и ложит в стек
.text:004DA989                 call    FrameScript__GetText
.text:004DA98E                 add     esp, 0Ch
// снова ложим будущий аргумент функции в стек для вызова функции
.text:004DA991                 push    eax
// эта функция, грубо говоря - делает интернет соединение по переданному адресу, там много нюансов, но это главное
.text:004DA992                 call    sub_870040
Вобщем, когда мы пишем в реалмлисте типа
Код:
set serverAlert "http://myserver.ru/alert"
то переход по метке возвращает в eax уже готовую строку - и при обработке GetText возвращается 0, соотв. никакого соединения не устанавливается

Скорее всего в БК этой функции не было и строка досылалсь напрямую из обработки, тогда установка константы в реалмлисте безусловно сработала бы

Цитата:
Сообщение от LordJZ Посмотреть сообщение
Interface/GlueXML/GlueStrings.lua
там лежит
Код:
SERVER_ALERT_URL = "http://launcher.worldofwarcraft.com/alert";
А вот в Interface/GlueXML/GlueLocalization.lua лежит как раз то, что нам нужно
Код:
SERVER_ALERT_URL = "http://status.wow-europe.com/en/alert"
Как раз этот урл клиент и использует

Последний раз редактировалось MaS0n; 23.11.2010 в 16:47.
MaS0n вне форума   Ответить с цитированием