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

Я проверял, запускал логин сервер без ворлд, список реалмов все равно показывает, да судя по коду клиента - коннект происходит только после выбора реалма

луа-функции, имеется в виду базовая связь клиента с его же интерфейсом, а именно мы шлем пакет например, активизируем луа эвент этим, луа эвент заранее зарегистрован в интерфейсе, и интерфейс уже нам создает и список реалмов каким мы его видим и всю отрисовку текста, кнопочки и т.д

Типа такого
Код:
int __cdecl Lua_RequestRealmList(int a1)
{
  int v2; // eax@1

  v2 = FrameScript__GetParamValue(a1, 1, 0);
  CGlueMgr__GetRealmList(v2);
  return 0;
}
А это уже код интерфейса
Код:
function RealmList_OnLoad()
	this:RegisterEvent("OPEN_REALM_LIST");
	this.currentRealm = 0;
	this.offset = 0;
end

function RealmList_OnEvent()
	if ( event == "OPEN_REALM_LIST" ) then
		if ( this:IsVisible() ) then
			RealmListUpdate();
		else
			this:Show();
		end
	end
end
Вот как интерфейс запрашивает инфу о реалме

Код:
name, numCharacters, invalidRealm, realmDown, currentRealm, pvp, rp, load = GetRealmInfo(RealmList.selectedCategory, realmIndex);
Посмотрите сами, Interface/GlueXML/Realmlist.lua

Я сам в недоумении, думаю сериализация тут ни при чем, попробуйте сами собрать пакет, без сравнений с прочими работающими и отснифанными

В идеале надо дебажить клиент и смотреть почему он не принимает этот список и вообще смотреть всю процедуру принятия пакета, ясно одно, эвент, который я показал выше - не активируется
MaS0n вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Archon64 (26.10.2012)