Я проверял, запускал логин сервер без ворлд, список реалмов все равно показывает, да судя по коду клиента - коннект происходит только после выбора реалма
луа-функции, имеется в виду базовая связь клиента с его же интерфейсом, а именно мы шлем пакет например, активизируем луа эвент этим, луа эвент заранее зарегистрован в интерфейсе, и интерфейс уже нам создает и список реалмов каким мы его видим и всю отрисовку текста, кнопочки и т.д
Типа такого
Код:
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
Я сам в недоумении, думаю сериализация тут ни при чем, попробуйте сами собрать пакет, без сравнений с прочими работающими и отснифанными
В идеале надо дебажить клиент и смотреть почему он не принимает этот список и вообще смотреть всю процедуру принятия пакета, ясно одно, эвент, который я показал выше - не активируется