Interface, RecipeShopWnd, m_BookType

  • Автор темы Автор темы finfan
  • Дата начала Дата начала

finfan

Выдающийся
Проверенный
Старожил I степени
Сообщения
140
Розыгрыши
0
Репутация
633
Реакции
174
Баллы
1 355
Физкульт привет форуму и его знатокам!

Есть строка кода в interface

Код:
if (Event_ID == EV_RecipeShopShowWnd)
    {
        Clear();
      
        //Show
        class'UIAPI_WINDOW'.static.ShowWindow("RecipeShopWnd");
        class'UIAPI_WINDOW'.static.SetFocus("RecipeShopWnd");
      
        //enum RecipeBookClass
        //{
        //    RBC_DWARF  = 0,    //드워프용 레시피샵
        //    RBC_NORMAL        //개인 레시피샵
        //};
        ParseInt(param, "Type", m_BookType);
        if (m_BookType == 1)
        {
            class'UIAPI_WINDOW'.static.SetWindowTitle("RecipeShopWnd", 1212);
        }
        else
        {
            class'UIAPI_WINDOW'.static.SetWindowTitle("RecipeShopWnd", 1213);
        }
    }

Есть такая структура пакета в пакете RecipeShopManageList
1773903101775.webp

Подскажите знатоки, отвечает ли этот type в пакете за m_BookType? (этот же type эквивалентен записи isDwarven ? 0 : 1)
Если да, то по идее ParseInt должен отображть следуующее:
Если отправляем 1 - то Title для окна = General Manufacture
Если отправляет 0 - то Title для окна = Dwarf Manufacture

Но в моем случае, чтобы я там не отправил, всегда показывается Dwarf Manufacture.

P.S. Есть подозрение, что я вообще смотрю не тот пакет или не тот интерфейс))))

Спасибо за любые подсказки!
Дополню чтобы не вводить в заблуждение:

1773910216729.webp

Мне нужно изменять этот титульник окошка за счет того или иного параметра, он как-то должен понимать что там писать (например General Manufacture или Dwarf manufacture в зависимости от изготовления рецептов)
 
Последнее редактирование:
В пакете RecipeShopMsg есть передача параметра Type? Если нет, клиент получает этот пакет, вызывает EV_RecipeShopShowWnd, но в param приходит только имя магазина, а параметра Type там нет.Тебе нужно изменить пакет RecipeShopMsg, чтобы он передавал type магазина. Как я понял, я не силен в пакетах)
 
Короче это какой-то трешак))))
1773911428916.webp 1773911450784.webp
1773911515157.webp

RequestRecipeShopManageList содержит структуру: DDDD[DD]D[DDD] и реализация на aCis (и всех паблик сборках) выглядит так:
d=objectId()
d=adena
d=isDwarven ? 0 : 1
...
Когда в интерфейсе отрабатывает ParseInt(param, "Type", m_BookType) для RecipeShopWnd он получает от сервера первый параметр как тип... да, он получает objectId() вместо isDwarven ? 0 : 1 из-за чего отрабатывает всегда только это условие:
1773912034537.webp
т.к. objectId() после парса это 6-значное значение минимум, такие дела

но тогда остается вопрос: там где стояло isDwarven ? 0 : 1, кто ты? воин
1773912192580.webp

Странно что это вообще работает если не передавать objectId а вместо него пихать тип который распаршивается в интерфейсе как Title окошка для manufacture.

Пользуясь случаем (и чтобы не плодить темы):
1773913792132.webp
Кто-нибудь знает где меняется этот цвет? Скажите пожалуйста что не внутри engine.dll (T.T)
 
Последнее редактирование:
Назад
Сверху Снизу