Вопрос о Multisellneededitem

Monokini2

Поклонник кармы
Местный
Победитель в номинации 2023
Сообщения
363
Розыгрыши
0
Решения
5
Репутация
269
Реакции
254
Баллы
723
Можно ли как-то на уровне интерфейса сюда выводить свои текстовые значения? Если передаю что-то символьное показывает 0, если число и знаки, то только число. Или для этого нужно сам класс потрошить и проще текст боксы подставлять?
Shot00103.png
 
тебе придется и структуру пакета мультисела и его обработку в клиенте переделывать, а то уже совершенно другой уровень
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
тебе только количество нужно изменить (циферки) - или в край все переделать "как я хочу" ??
 
Gaikotsu, Спасибо, так и думал,значит текстбоксы, делаю патчик под себя, поэтому ничего кроме интерфейса трогать нежелательно и не умею) Тему можно закрыть

*Immortal Pony*, передать ItemNum + (сколько у тебя есть в инвентаре).
 
число парсится тут

if( index >= 0 && index < m_MultiSellInfoList.Length )
{
for( i=0 ; i < m_MultiSellInfoList[index].InputItemInfoList.Length ; ++i )
{
param = "";
ParamAdd( param, "Name", m_MultiSellInfoList[index].InputItemInfoList.Name );
ParamAdd( param, "ID", string(m_MultiSellInfoList[index].InputItemInfoList.Id.ClassID ));
ParamAddINT64( param, "Num", m_MultiSellInfoList[index].InputItemInfoList.ItemNum);
ParamAdd( param, "Icon", m_MultiSellInfoList[index].InputItemInfoList.IconName );
ParamAdd( param, "Enchant", string(m_MultiSellInfoList[index].InputItemInfoList.Enchanted) );
ParamAdd( param, "CrystalType", string(m_MultiSellInfoList[index].InputItemInfoList.CrystalType) );
ParamAdd( param, "ItemType", string(m_MultiSellInfoList[index].InputItemInfoList.ItemType) );
ParamAdd( param, "IconPanel", m_MultiSellInfoList[index].InputItemInfoList.IconPanel ); // -- 판넬 추가 -_-;;
//debug("what the hell");

//debug("AddData " $ param );
class'UIAPI_MULTISELLNEEDEDITEM'.static.AddData("MultiSellWnd.NeededItem", param);
}


получение итемов в инвентаре можно узнать написав не служную интовую функцию в интерфейсе, которая будет возвращать число по ИД:
C#:
function int OwnItemCount(ItemID ID)
{
    local int IndexTmp;
    local iteminfo InfoTmp;
    //local itemID tmpID;
    //tmpID.ClassID = ID;

    IndexTmp = class'UIAPI_ITEMWINDOW'.static.FindItem( "InventoryWnd.InventoryItem", ID);

    if(IndexTmp > -1)
    {
        if(class'UIAPI_ITEMWINDOW'.static.GetItem( "InventoryWnd.InventoryItem", IndexTmp, InfoTmp))
        {
            return int64toint(InfoTmp.itemnum);
        }
    }

}

дальше вам просто нужно сделать условный "A @ B", зная оба значения
где А - дефолтный каунт итемов, а В - итемкаунт в инвентаре
 
Последнее редактирование:
Можно ли как-то на уровне интерфейса сюда выводить свои текстовые значения? Если передаю что-то символьное показывает 0, если число и знаки, то только число. Или для этого нужно сам класс потрошить и проще текст боксы подставлять?
Посмотреть вложение 26866
Вы бы поточнее описали - что вы хотите сделать. Подставить сюда можно что угодно- только смотреть надо структуру как она записывается в MultisellNeededItem. Далее записываете то что вам нужно. Если нужно чтобы выводилась часть текста - то написать функцию для обрезания текста- и далее по аналогии выводить.
 
BadStealth, default_npc, хотел сделать отображение по типу скольконужно (сколькоесть), проблема в том что сам multisell при отображении не выводит символьные значения, т.е. например "текст" он покажет 0, а "31 (1)" покажет 31. Делал свой iteminfo с полем Num типа string.
 
Чтобы так сделать нужно использовать TreeCtrl и его уже наполнять так как вам нужно.
 
Все заработало, всем спасибо!
Но возникло еще пара дилетантский вопросов)
1. Можно ли самому вызвать это окно. Хотелось бы переделать MSN на свое с возможностью инвайта из френдлиста.
Безымянный.png
2. Есть ли возможность из интерфейса открывать или запускать другие приложения? Кроме записи в ini ничего не нашел.
Хотелось бы сделать свое простенькое автозаполнение логина.
Пока видеться так: запуск л2 со скрипта который мониторит условный pass.ini, в логин меню по ПКМ показываю окно которое подгружает логины из pass.ini и при выборе логина пишет флаг, который подхватывает скрипт и отправляет нужный лог-пасс по SendKeys. Или есть способ поизящнее)
П.С. Темы плодить неудобно, а что-то вроде "Вопрос-ответ" я не нашел
 
Все заработало, всем спасибо!
Но возникло еще пара дилетантский вопросов)
1. Можно ли самому вызвать это окно. Хотелось бы переделать MSN на свое с возможностью инвайта из френдлиста.
Посмотреть вложение 26996
2. Есть ли возможность из интерфейса открывать или запускать другие приложения? Кроме записи в ini ничего не нашел.
Хотелось бы сделать свое простенькое автозаполнение логина.
Пока видеться так: запуск л2 со скрипта который мониторит условный pass.ini, в логин меню по ПКМ показываю окно которое подгружает логины из pass.ini и при выборе логина пишет флаг, который подхватывает скрипт отправляет нужный лог-пасс по SendKeys. Или есть способ поизящнее)
П.С. Темы плодить неудобно, а что-то вроде "Вопрос-ответ" я не нашел
вызвать можно,есть тупо функция вшитая: ToggleMsnWindow();
само окно френдов (как и логин) зашито в бинарники,только хекс лопатой

но можно сделать своё окно френдов,на основе примера френдлиста в окне почты (дам вам направление)

ЗЫ касательно автологина - копайте в l2ini,там есть огрызки [AutoLogOn]
пытливый ум дойдёт,как можно реализовать (не так легко)
 
default_npc, Зашит и сам список и окно френд чата? (интересует 2ое) Насчет своего я уже думал в том направлении, плюс в BBS вроде как-то выводиться. Хотелось бы совместить и чат и инвайт.
а насчет автологина нужно больше автозаполнение по выбору, и кроме подозрительного IsL2AutoLogOn=Ture там вроде ничего нет)
 
default_npc, Зашит и сам список и окно френд чата? (интересует 2ое) Насчет своего я уже думал в том направлении, плюс в BBS вроде как-то выводиться. Хотелось бы совместить и чат и инвайт.
а насчет автологина нужно больше автозаполнение по выбору, и кроме подозрительного IsL2AutoLogOn=Ture там вроде ничего нет)
список спарсить можно (вроде)

автоллогин дело такое,он как бы есть,но его как минимум нужно реверсить,ибо он ломанный в нескольких местах, насколько я помню
 
Назад
Сверху Снизу